:root{color-scheme:light dark;--bg:#fbfcfd;--bg-subtle:#f5f7f9;--surface:#fff;--surface-hover:#f7f9fb;--border:#e3e7ec;--border-strong:#cfd6de;--text:#171a21;--text-muted:#626b78;--text-subtle:#8b95a3;--accent:#3d6fe0;--accent-hover:#2e5bc4;--accent-soft:#eaf0fd;--accent-text:#2c54b3;--danger:#c0392b;--danger-soft:#fdecea;--success:#1e8449;--warning:#a16207;--shadow-sm:0 1px 2px #1018280a;--shadow-md:0 6px 24px #10182814;--shadow-lg:0 18px 50px #10182824;--radius:10px;--radius-sm:6px;--radius-lg:14px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--score-0:#1a9850;--score-1:#66bd63;--score-2:#e8b923;--score-3:#ef8a17;--score-4:#d73027}:root[data-theme=dark]{color-scheme:dark;--bg:#0e1116;--bg-subtle:#151920;--surface:#171b22;--surface-hover:#1d222b;--border:#2a313c;--border-strong:#3a4351;--text:#e8ecf2;--text-muted:#9ca6b4;--text-subtle:#6f7a89;--accent:#6b9bff;--accent-hover:#89b0ff;--accent-soft:#1c2a47;--accent-text:#a8c5ff;--danger:#f87171;--danger-soft:#3a1f22;--success:#4ade80;--warning:#fbbf24;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 6px 24px #00000059;--shadow-lg:0 18px 50px #00000080;--score-0:#3ddc84;--score-1:#86d98a;--score-2:#f0c94a;--score-3:#f59b42;--score-4:#f05a52}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.6}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.container{width:100%;max-width:980px;margin:0 auto;padding:0 20px}@media (width<=640px){.container{padding:0 14px}}.site-header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 80%, transparent);backdrop-filter:blur(8px);z-index:20;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:12px;min-height:58px;display:flex}.brand{color:var(--text);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:9px;font-size:15px;font-weight:650;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{flex:none;width:26px;height:26px;display:block}.header-actions{align-items:center;gap:6px;display:flex}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:13.5px;font-weight:550;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex}.btn:hover{background:var(--surface-hover);border-color:var(--text-subtle)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .btn-primary:hover{color:#0e1116}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-hover);border-color:var(--border);color:var(--text)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-lg{padding:11px 20px;font-size:14.5px}.btn-block{width:100%}.btn .icon{flex:none;width:15px;height:15px}.icon-btn{border-radius:var(--radius-sm);width:34px;height:34px;padding:0}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.hero{padding:40px 0 26px}@media (width<=640px){.hero{padding:26px 0 18px}}.hero h1{letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(26px,5vw,36px);font-weight:700;line-height:1.2}.hero p{max-width:720px;color:var(--text-muted);margin:0;font-size:15.5px}.meta-badge{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:100px;align-items:center;gap:6px;margin-bottom:16px;padding:3px 10px;font-size:12px;display:inline-flex}.badge-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-body{padding:18px}@media (width<=640px){.card-body{padding:14px}}.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;font-size:12.5px;font-weight:650;display:flex}.input-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.char-counter{font-family:var(--mono);color:var(--text-subtle);font-variant-numeric:tabular-nums;font-size:12px}.char-counter.warn{color:var(--warning)}.char-counter.error{color:var(--danger)}.text-input{resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);width:100%;min-height:260px;color:var(--text);tab-size:4;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 15px;font-size:14.5px;line-height:1.65;display:block}.text-input::placeholder{color:var(--text-subtle)}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.text-input.invalid{border-color:var(--danger)}.text-input::selection,.text-input.quote-flash::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}.text-input.quote-flash{border-color:var(--accent)}.form-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.form-hint{color:var(--text-subtle);margin:10px 0 0;font-size:12.5px}.form-hint.error{color:var(--danger)}.notice{border:1px solid var(--border);background:var(--bg-subtle);border-radius:var(--radius);color:var(--text-muted);gap:10px;margin-top:14px;padding:11px 13px;font-size:12.8px;line-height:1.55;display:flex}.notice svg{color:var(--accent);flex:none;margin-top:2px}.notice strong{color:var(--text);font-weight:600}.settings-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-top:16px;overflow:hidden}.settings-panel>summary{cursor:pointer;user-select:none;align-items:center;gap:10px;padding:13px 16px;font-size:14px;font-weight:600;list-style:none;display:flex}.settings-panel>summary::-webkit-details-marker{display:none}.settings-panel>summary:hover{background:var(--surface-hover)}.settings-panel>summary .chevron{color:var(--text-subtle);margin-left:auto;transition:transform .15s}.settings-panel[open]>summary .chevron{transform:rotate(180deg)}.settings-panel[open]>summary{border-bottom:1px solid var(--border)}.settings-body{padding:16px}@media (width<=640px){.settings-body{padding:13px}}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.field-grid{grid-template-columns:1fr}}.field{min-width:0}.field label{color:var(--text-muted);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.field .control{align-items:center;display:flex;position:relative}.field input[type=text],.field input[type=password],.field input[type=url],.field select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);padding:9px 11px;font-size:13.5px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field input::placeholder{color:var(--text-subtle)}.field input[type=password]{font-family:var(--mono)}.field .help{color:var(--text-subtle);margin:5px 0 0;font-size:11.8px;line-height:1.45}.toggle-visibility{color:var(--text-subtle);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:5px 6px;font-size:11px;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.toggle-visibility:hover{background:var(--surface-hover);color:var(--text)}.field:has(.toggle-visibility) input{padding-right:62px}.presets{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.preset-chip{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;border-radius:100px;padding:3px 9px;font-size:11.5px}.preset-chip:hover{border-color:var(--accent);color:var(--accent)}.settings-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:14px;display:flex}.checkbox-label{color:var(--text-muted);cursor:pointer;user-select:none;align-items:center;gap:7px;font-size:13px;display:inline-flex}.checkbox-label input{accent-color:var(--accent);width:15px;height:15px}.settings-status{border-radius:var(--radius-sm);margin-top:12px;padding:9px 11px;font-size:12.8px;line-height:1.5;display:none}.settings-status.visible{display:block}.settings-status.ok{background:color-mix(in srgb, var(--success) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--success) 35%, var(--border));color:var(--text)}.settings-status.err{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--text)}.settings-status code{font-family:var(--mono);font-size:11.5px}.cors-note{border-top:1px solid var(--border);color:var(--text-muted);margin-top:14px;padding-top:14px;font-size:12.5px}.cors-note h3{color:var(--text);margin:0 0 6px;font-size:13px}.cors-note p{margin:0 0 6px}.cors-note code{font-family:var(--mono);background:var(--bg-subtle);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:11.5px}.samples-section{margin-top:22px}.samples-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.samples-head h2{margin:0;font-size:15px;font-weight:650}.samples-head span{color:var(--text-subtle);font-size:12.5px}.samples-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.sample-card{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;padding:11px 12px;transition:border-color .12s,background .12s}.sample-card:hover{border-color:var(--accent);background:var(--surface-hover)}.sample-card strong{margin-bottom:3px;font-size:13px;font-weight:600;line-height:1.35;display:block}.sample-card span{color:var(--text-subtle);font-size:11.8px;line-height:1.4;display:block}.sample-card em{color:var(--accent-text);margin-top:6px;font-size:11px;font-style:normal;display:block}.report{margin-top:28px;scroll-margin-top:70px}.report[hidden]{display:none}.report-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.report-header h2{letter-spacing:-.02em;margin:0;font-size:21px}.report-sub{color:var(--text-subtle);margin-top:3px;font-size:12.5px}.overall-card{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;display:grid}@media (width<=640px){.overall-card{grid-template-columns:1fr;gap:12px}}.overall-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin-bottom:6px;font-size:12px;font-weight:650}.overall-value{letter-spacing:-.02em;margin-bottom:6px;font-size:20px;font-weight:700}.overall-explanation{color:var(--text-muted);margin:0;font-size:13.5px;line-height:1.6}.stat-grid{grid-template-columns:repeat(2,minmax(110px,1fr));gap:8px;display:grid}.stat{border:1px solid var(--border);background:var(--bg-subtle);border-radius:var(--radius);text-align:center;min-width:100px;padding:10px 12px}.stat-num{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.2}.stat-caption{color:var(--text-subtle);margin-top:2px;font-size:11.5px}.score-legend{color:var(--text-subtle);flex-wrap:wrap;gap:10px 14px;margin:14px 0 16px;font-size:11.8px;display:flex}.legend-item{align-items:center;gap:5px;display:inline-flex}.legend-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.category-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);align-items:center;gap:8px;margin:22px 0 10px;font-size:12.5px;font-weight:650;display:flex}.category-group-title:after{content:"";background:var(--border);flex:1;height:1px}.cat-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);margin-bottom:8px;overflow:hidden}.cat-card>summary.cat-head{list-style:none}.cat-card>summary.cat-head::-webkit-details-marker{display:none}.cat-card>summary.cat-head::marker{content:""}.cat-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:flex-start;gap:12px;width:100%;padding:13px 14px;display:flex}.cat-head:hover{background:var(--surface-hover)}.cat-num{border:1px solid var(--border);width:22px;height:22px;font-size:11px;font-family:var(--mono);color:var(--text-subtle);border-radius:5px;flex:none;place-items:center;margin-top:1px;display:grid}.cat-main{flex:1;min-width:0}.cat-title-row{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;display:flex}.cat-name{font-size:14px;font-weight:600;line-height:1.35}.cat-score{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--score-color);font-size:15px;font-weight:700}.cat-bar{background:var(--bg-subtle);border:1px solid var(--border);border-radius:100px;height:6px;overflow:hidden}.cat-bar-fill{background:var(--score-color);border-radius:100px;height:100%;transition:width .35s}.cat-meta{color:var(--text-subtle);flex-wrap:wrap;gap:6px 12px;margin-top:7px;font-size:11.8px;display:flex}.cat-summary{color:var(--text-muted);margin:7px 0 0;font-size:12.8px;line-height:1.5}.cat-chevron{color:var(--text-subtle);flex:none;margin-top:3px;transition:transform .15s}.cat-card[open] .cat-chevron,.cat-card.expanded .cat-chevron{transform:rotate(180deg)}.cat-body{border-top:1px solid var(--border);background:var(--bg-subtle);padding:14px}.cat-body:empty{display:none}.cat-block{margin-bottom:14px}.cat-block:last-child{margin-bottom:0}.cat-block h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);margin:0 0 6px;font-size:12px;font-weight:650}.cat-block p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.quote{border-left:3px solid var(--accent);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px;padding:9px 12px;font-size:13px;line-height:1.6}.quote-text{display:block}.quote.rejected{border-left-color:var(--warning)}.quote-why{color:var(--text-muted);margin-top:6px;font-size:12px;display:block}.quote-flag{color:var(--warning);align-items:center;gap:4px;margin-top:6px;font-size:11px;display:inline-flex}.empty-note{color:var(--text-subtle);font-size:12.8px;font-style:italic}.two-col{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}@media (width<=720px){.two-col{grid-template-columns:1fr}}.panel-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);padding:16px}.panel-card h3{margin:0 0 10px;font-size:14px;font-weight:650}.rec-item{border-left:2px solid var(--border-strong);margin-bottom:12px;padding:0 0 0 10px}.rec-item:last-child{margin-bottom:0}.rec-tag{text-transform:uppercase;letter-spacing:.04em;background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;margin-bottom:4px;padding:1px 6px;font-size:10.5px;font-weight:650;display:inline-block}.rec-tag.legal_review{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.rec-tag.promotional{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 35%, var(--border))}.rec-tag.ambiguous,.rec-tag.low_confidence{color:var(--accent-text);border-color:var(--accent)}.rec-item p{color:var(--text-muted);margin:0;font-size:12.8px;line-height:1.55}.rec-item .rec-evidence{color:var(--text-subtle);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px;font-size:12px}.caveats-list{color:var(--text-muted);margin:0;padding-left:18px;font-size:12.8px;line-height:1.6}.caveats-list li{margin-bottom:7px}.raw-details{margin-top:12px}.raw-details summary{cursor:pointer;color:var(--text-subtle);font-size:12.5px}.raw-details pre{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:320px;font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;padding:11px;font-size:11.5px;line-height:1.5;overflow:auto}.progress{border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);border-radius:var(--radius);align-items:center;gap:10px;margin-top:14px;padding:11px 13px;font-size:13.5px;display:flex}.progress[hidden]{display:none}.error-box{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--border));background:var(--danger-soft);border-radius:var(--radius);margin-top:14px;padding:13px 14px;font-size:13.5px}.error-box[hidden]{display:none}.error-box strong{color:var(--danger);margin-bottom:5px;display:block}.error-box p{margin:0 0 6px;line-height:1.55}.error-box p:last-child{margin-bottom:0}.error-box details{margin-top:8px;font-size:12px}.error-box pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:5px;max-height:200px;padding:8px;font-size:11.5px;overflow:auto}@media (width<=640px){.header-inner .btn-text{display:none}}.site-footer{border-top:1px solid var(--border);color:var(--text-subtle);margin-top:48px;padding:26px 0 44px;font-size:12.5px}.footer-grid{grid-template-columns:1.4fr 1fr;gap:24px;display:grid}@media (width<=720px){.footer-grid{grid-template-columns:1fr;gap:16px}}.site-footer h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 7px;font-size:12.5px}.site-footer p{margin:0 0 8px;line-height:1.6}.doc-list{margin:0;padding:0;list-style:none}.doc-list li{margin-bottom:5px;line-height:1.45}.doc-list small{color:var(--text-subtle);font-size:11.5px;display:block}.footer-bottom{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:20px;padding-top:14px;display:flex}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--mono)}.text-muted{color:var(--text-muted)}
