:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Sora", "Plus Jakarta Sans", sans-serif;--color-bg:#fafbff;--color-surface:#fff;--color-text:#0f172a;--color-muted:#475569;--color-subtle:#64748b;--color-line:#4338ca1f;--color-line-soft:#0f172a12;--color-brand:#4338ca;--color-brand-light:#6366f1;--color-brand-strong:#312e81;--color-brand-soft:#eef2ff;--color-brand-mid:#c7d2fe;--color-accent:#f59e0b;--color-accent-soft:#fffbeb;--color-accent-strong:#b45309;--color-focus:#4338ca;--color-success:#16a34a;--color-error:#dc2626;--color-warning:#d97706;--color-info:#2563eb;--color-soft:#eef2ff;--color-info-soft:#eff6ff;--color-success-soft:#f0fdf4;--color-error-soft:#fef2f2;--color-warning-soft:#fffbeb;--radius:10px;--radius-sm:6px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 2px 8px #4338ca14;--shadow:0 8px 32px #4338ca1f, 0 2px 8px #0f172a0d;--shadow-colored:0 4px 20px #4338ca4d;--shadow-card:0 1px 3px #0f172a0f, 0 4px 16px #4338ca12;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.75rem;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 60% at 20% -10%, #6366f11a 0%, transparent 60%), radial-gradient(ellipse 60% 40% at 80% 110%, #4338ca12 0%, transparent 60%), var(--color-bg);color:var(--color-text);min-height:100vh;margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.skip-link{background:var(--color-text);color:#fff;z-index:50;border-radius:6px;padding:10px 14px;font-weight:700;text-decoration:none;position:absolute;top:-56px;left:12px}.skip-link:focus-visible{top:12px}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-line);z-index:30;background:#fafbffe0;justify-content:space-between;align-items:center;gap:24px;max-width:100%;margin:0 auto;padding:0 clamp(16px,4vw,40px);display:flex;position:sticky;top:0;left:0;right:0}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1200px;margin:0 auto;padding:14px 0;display:flex}.brand{background:linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-light) 100%);color:#0000;font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;-webkit-background-clip:text;background-clip:text;align-items:center;gap:8px;font-size:1.05rem;font-weight:800;text-decoration:none;display:flex}.brand-icon{background:linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-light) 100%);color:#fff;border-radius:7px;place-items:center;width:28px;height:28px;font-size:.9rem;display:grid}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a{border-radius:var(--radius-sm);color:var(--color-muted);white-space:nowrap;padding:6px 10px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.site-nav a:hover{background:var(--color-brand-soft);color:var(--color-brand)}.site-footer{border-top:1px solid var(--color-line-soft);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:20px clamp(16px,4vw,40px);font-size:.85rem;display:flex}.site-footer a{color:var(--color-muted);text-decoration:none}.site-footer a:hover{color:var(--color-brand)}main{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 48px}.app-hero{text-align:center;padding:40px 0 20px}.hero-badge{margin:0 auto 16px;display:inline-flex}.hero-badge span{background:var(--color-brand-soft);border:1px solid var(--color-brand-mid);color:var(--color-brand);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:5px 12px;font-size:.76rem;font-weight:700}.hero-title{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(2rem,5vw,3.6rem);font-weight:800;line-height:1.05}.hero-title em{background:linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-light) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hero-sub{color:var(--color-muted);max-width:560px;margin:0 auto;font-size:clamp(1rem,2vw,1.12rem);line-height:1.6}.app-tabs-wrap{margin-top:24px}.tab-bar{border-bottom:2px solid var(--color-line);scrollbar-width:none;gap:2px;margin-bottom:24px;padding-bottom:0;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-2px;padding:10px 16px;font:500 .875rem/1 Plus Jakarta Sans,sans-serif;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--color-brand)}.tab-btn.active{border-bottom-color:var(--color-brand);color:var(--color-brand);font-weight:700}.tab-panes{min-height:400px}.tab-pane{flex-direction:column;gap:28px;display:flex}.pane-header{max-width:660px}.pane-intro{color:var(--color-muted);margin:0;font-size:1rem;line-height:1.6}.eyebrow{color:var(--color-brand);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:700}h1,h2,h3{font-family:var(--font-display);margin-top:0}h1{letter-spacing:-.025em;margin:0;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05}h2{letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:800;line-height:1.1}h3{margin-bottom:10px;font-size:1rem;font-weight:700}p{margin-top:0}.tool-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:24px;display:grid}.tool-form-side,.tool-score-side{flex-direction:column;gap:16px;display:flex}.workbench-form{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow);gap:14px;padding:22px;display:grid}.form-header{border-bottom:1px solid var(--color-line-soft);padding-bottom:14px}.form-header h2{margin-bottom:6px;font-size:1.15rem}.form-intro{color:var(--color-muted);margin:0;font-size:.875rem;line-height:1.5}label{color:var(--color-muted);gap:6px;font-size:.875rem;font-weight:500;display:grid}input,textarea,button{border-radius:var(--radius-sm);font:inherit}input,textarea{background:var(--color-bg);border:1px solid var(--color-line);color:var(--color-text);width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #4338ca1a}textarea{resize:vertical;min-height:140px}button[type=submit],button.primary-btn{background:linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-light) 100%);border-radius:var(--radius-sm);box-shadow:var(--shadow-colored);color:#fff;cursor:pointer;text-align:center;border:0;padding:12px 18px;font-weight:700;transition:opacity .15s,transform .1s,box-shadow .15s}button[type=submit]:hover,button.primary-btn:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 24px #4338ca66}button[type=submit]:active,button.primary-btn:active{transform:translateY(0)}.secondary-action{border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-brand);cursor:pointer;background:0 0;width:fit-content;padding:9px 14px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}.secondary-action:hover{background:var(--color-brand-soft);border-color:var(--color-brand-mid)}.form-status{color:var(--color-muted);min-height:1.4em;font-size:.875rem}.score-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:20px;display:flex}.score-badge{background:linear-gradient(135deg, var(--color-brand-strong) 0%, var(--color-brand) 100%);border-radius:var(--radius);color:#fff;align-items:baseline;gap:3px;width:fit-content;padding:14px 18px;display:inline-flex}.score-num{font-family:var(--font-display);font-size:2.4rem;font-weight:800;line-height:1}.score-denom{color:#ffffffa6;font-size:1rem;font-weight:600}.score-meta{flex-direction:column;gap:4px;display:flex}.score-verdict{color:var(--color-text);font-size:1.05rem;font-weight:700}.score-role{color:var(--color-muted);font-size:.82rem}.score-date{background:var(--color-accent-soft);color:var(--color-accent-strong);border:1px solid #f59e0b4d;border-radius:4px;margin-top:4px;padding:3px 8px;font-size:.78rem;font-weight:600;display:inline-block}.score-checks{border-top:1px solid var(--color-line-soft);flex-direction:column;gap:6px;padding-top:14px;display:flex}.check-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.check-topic{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;line-height:1.3;overflow:hidden}.risk-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:.7rem;font-weight:700}.risk-badge.risk-high{background:var(--color-error-soft);color:var(--color-error)}.risk-badge.risk-medium{background:var(--color-warning-soft);color:var(--color-warning)}.risk-badge.risk-low{background:var(--color-success-soft);color:var(--color-success)}.result-surface{gap:24px;display:grid}.result-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.result-summary{color:var(--color-muted);max-width:640px;font-size:.95rem;line-height:1.6}.score-dial{background:linear-gradient(135deg, var(--color-brand-strong) 0%, var(--color-brand) 100%);border-radius:var(--radius);color:#fff;align-items:baseline;gap:3px;padding:14px 18px;display:flex}.score-value{font-family:var(--font-display);font-size:2.2rem;font-weight:800;line-height:1}.score-label{color:#ffffffa6}.result-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.metric-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);border-top:3px solid var(--color-brand);box-shadow:var(--shadow-sm);min-height:120px;padding:16px;transition:box-shadow .15s,transform .15s}.metric-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.metric-label{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:600;display:block}.metric-card strong{color:var(--color-brand-strong);font-family:var(--font-display);margin-bottom:6px;font-size:1.1rem;display:block}.supplier-block,.action-block{gap:16px;display:grid}.supplier-table{background:var(--color-surface);border:1px solid var(--color-line);border-collapse:separate;border-radius:var(--radius);border-spacing:0;box-shadow:var(--shadow-sm);width:100%;overflow:hidden}.supplier-table th,.supplier-table td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:11px 13px}.supplier-table th{background:var(--color-brand-soft);color:var(--color-brand-strong);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.supplier-table td{color:var(--color-muted);font-size:.875rem;line-height:1.5}.supplier-table tr:last-child td{border-bottom:0}.supplier-table tr[data-risk=high] td:nth-child(3){color:var(--color-error);font-weight:700}.supplier-table tr[data-risk=medium] td:nth-child(3){color:var(--color-warning);font-weight:700}.supplier-table tr[data-risk=low] td:nth-child(3){color:var(--color-success);font-weight:700}.result-actions{gap:8px;padding-left:20px;display:grid}.result-actions li{color:var(--color-muted);font-size:.9rem;line-height:1.5}.export-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.note-block{background:var(--color-brand-soft);border:1px solid var(--color-brand-mid);border-radius:var(--radius);gap:10px;padding:16px 18px;display:grid}.note-block p{color:var(--color-muted);margin:0;font-size:.875rem;line-height:1.6}.text-link{color:var(--color-brand);font-weight:600;text-decoration:underline}.timeline-wrap{flex-direction:column;gap:0;padding-left:24px;display:flex;position:relative}.timeline-wrap:before{background:linear-gradient(to bottom, var(--color-brand-mid) 0%, #c7d2fe33 100%);content:"";width:2px;position:absolute;top:8px;bottom:0;left:11px}.timeline-entry{gap:16px;padding-bottom:24px;display:flex;position:relative}.timeline-dot{background:var(--color-brand-soft);border:2px solid var(--color-brand);border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px;margin-left:-30px}.timeline-entry.future .timeline-dot{background:var(--color-accent);border-color:var(--color-accent-strong)}.timeline-content{flex-direction:column;gap:4px;padding-bottom:4px;display:flex}.timeline-date{background:var(--color-brand-soft);color:var(--color-brand);letter-spacing:.04em;border-radius:4px;width:fit-content;padding:2px 8px;font-size:.78rem;font-weight:700}.timeline-entry.future .timeline-date{background:var(--color-accent-soft);color:var(--color-accent-strong)}.timeline-label{color:var(--color-text);font-size:1rem;font-weight:700}.timeline-detail{color:var(--color-muted);max-width:560px;margin:0;font-size:.875rem;line-height:1.55}.obligations-block{border-top:1px solid var(--color-line);padding-top:24px}.obligation-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.obligation-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:16px;transition:box-shadow .15s;display:flex}.obligation-card:hover{box-shadow:var(--shadow)}.obligation-art{background:var(--color-brand-soft);color:var(--color-brand);letter-spacing:.04em;border-radius:4px;width:fit-content;padding:2px 7px;font-size:.72rem;font-weight:700}.obligation-title{color:var(--color-text);font-size:.95rem;font-weight:700}.obligation-desc{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.5}.source-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.source-card{background:var(--color-surface);border:1px solid var(--color-line);border-left:3px solid var(--color-brand);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:inherit;flex-direction:column;gap:6px;padding:16px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;position:relative}.source-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.source-version{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:600}.source-title{color:var(--color-brand-strong);font-size:.95rem;font-weight:700;display:block}.source-note{color:var(--color-muted);margin:0;font-size:.82rem;line-height:1.5}.source-arrow{color:var(--color-brand-light);margin-top:4px;font-size:1.1rem;font-weight:700}.methodology-section{border-top:1px solid var(--color-line);padding-top:24px}.steps-list{flex-direction:column;gap:12px;padding-left:22px;display:flex}.step-item{color:var(--color-muted);line-height:1.5}.step-item strong{color:var(--color-text);margin-bottom:3px;font-size:.95rem;display:block}.step-item p{margin:0;font-size:.875rem}.disclaimer-block{background:var(--color-brand-soft);border:1px solid var(--color-brand-mid);border-left:3px solid var(--color-brand);border-radius:var(--radius);padding:14px 16px}.disclaimer-block p{color:var(--color-muted);margin:0;font-size:.875rem;line-height:1.6}.ad-slot{border:1px dashed var(--color-line);border-radius:var(--radius);color:var(--color-muted);min-height:100px;margin-top:8px;padding:12px}.ad-slot[data-configured=false]{display:none}.legal-page{max-width:820px;padding:36px 0}.legal-block,.methodology-block{gap:12px;margin-top:28px;display:grid}.timeline-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.timeline-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);border-top:3px solid var(--color-accent);box-shadow:var(--shadow-sm);min-height:120px;padding:16px}.insight-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.insight{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-height:120px;padding:16px}.metric-card strong,.insight strong,.timeline-card strong,.source-card strong{color:var(--color-brand-strong);margin-bottom:6px;font-size:1.05rem;display:block}.metric-label,.insight span{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:600;display:block}@media (width<=820px){.site-header{padding:0 16px}.tool-layout,.result-header{grid-template-columns:1fr}.supplier-table{white-space:nowrap;display:block;overflow-x:auto}.tab-btn{padding:8px 12px;font-size:.8rem}}@media (width<=480px){.site-footer{flex-direction:column;gap:12px}}
