:root {
  color-scheme: dark;
  --bg:#101312; --panel:#181d1b; --line:#2b3430; --text:#edf1ed;
  --muted:#93a199; --green:#a8e8b9; --yellow:#e0bd70; --red:#eb8c88;
  font-family:Inter,"Segoe UI","Microsoft YaHei UI",system-ui,sans-serif;
}
* { box-sizing:border-box }
[hidden] { display:none!important }
body { margin:0; background:radial-gradient(ellipse at 85% 0%,#21312955,transparent 45%),var(--bg); color:var(--text); font-size:14px; line-height:1.6 }
button,input,select,textarea { font:inherit }
button { cursor:pointer; transition:background .15s,border-color .15s,transform .15s }
button:disabled { opacity:.4; cursor:not-allowed }
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--green); outline-offset:3px }
button:not(:disabled):active { transform:translateY(1px) }
.app-header { height:88px; padding:0 36px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #27332c; background:#101713cc }
.brand { display:flex; align-items:center; gap:12px }.brand strong { display:block; font-size:28px; line-height:1.1; font-weight:750; letter-spacing:-1px }.brand small { font-size:9px; letter-spacing:2.5px; color:var(--muted) }
.brand-mark { width:42px; height:42px; padding:4px; fill:none; stroke:var(--green); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round }
.version-badge { margin-left:16px; font:10px ui-monospace,monospace; letter-spacing:1px; color:#acbdb1; border:1px solid var(--line); border-radius:5px; padding:5px 8px }
.header-meta { display:flex; gap:20px; align-items:center; font-size:11px; color:var(--muted) }.preview-label { border:1px solid #756844; border-radius:20px; padding:3px 10px; color:#ddcfa7 }
main { max-width:1512px; margin:auto; padding:46px 48px 80px 254px }
.tabs { position:fixed; top:125px; left:max(24px,calc((100vw - 1512px)/2 + 24px)); width:188px; display:flex; flex-direction:column; gap:7px }
.nav-caption { margin:0 14px 15px; font-size:10px; letter-spacing:2px; color:#6c7c72 }.tabs button { border:1px solid transparent; background:transparent; color:var(--muted); padding:12px 15px; text-align:left; border-radius:9px; display:flex; gap:12px; align-items:center;font-size:13px }.tabs button>span:first-child { font-size:19px; width:20px;text-align:center }.tabs button:hover { color:var(--text); background:#1c2620 }.tabs button[aria-current=page] { background:#26372c; border-color:#354b3c; color:#c7f0d1 }.nav-foot { margin:40px 14px; padding-top:20px; border-top:1px solid var(--line); font-size:10px; color:var(--muted) }.nav-foot small { display:block; margin-top:8px; color:#677c6d }.local-dot { width:5px; height:5px; background:var(--green); border-radius:50%; display:inline-block; margin-right:7px }
.intro { margin-bottom:34px }.intro h1 { margin:8px 0 12px; font-size:34px; line-height:1.25; letter-spacing:-1px }.intro p { color:var(--muted); margin:0; max-width:660px; font-size:14px }.eyebrow { color:#97b09e; font-size:9px; letter-spacing:2px; font-weight:600 }.step-guide { display:flex; gap:20px; margin-top:27px; align-items:center; font-size:11px; color:var(--muted) }.step-guide span { display:flex; align-items:center; gap:8px }.step-guide b { color:#b6cebd; font-size:10px; font-weight:500 }.step-guide i { color:#53645a; font-style:normal }
.detection-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:24px; align-items:start }.setup-column { min-width:0 }.panel { background:linear-gradient(145deg,#1b231f 0%,#171e1a 100%); border:1px solid var(--line); border-radius:14px; padding:26px; margin:0 0 22px; box-shadow:0 8px 28px #0000000d }.panel h2 { font-size:16px; line-height:1.35; font-weight:600; margin:0 0 17px; letter-spacing:-.3px }.panel>p,.muted { color:var(--muted); font-size:12px }.section-heading { display:flex; gap:13px; align-items:flex-start; margin-bottom:22px }.section-heading h2 { margin:0 0 4px }.section-heading p { margin:0; font-size:11px; color:var(--muted) }.step-number { display:grid; place-items:center; flex:0 0 29px; height:29px; border:1px solid #3b4d40; border-radius:8px; font-size:11px; color:var(--green) }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px }.wide { grid-column:1/-1 }.connection-fields { margin-top:18px }label { display:grid; gap:7px; font-size:11px; color:#b8c6bb; letter-spacing:.1px }label small { color:#7f9185; font-size:10px; line-height:1.6; letter-spacing:0 }input,select,textarea { width:100%; min-width:0; background:#111813; border:1px solid #344139; border-radius:7px; color:var(--text); padding:11px 12px; font-size:12px; transition:border-color .15s }input:hover,select:hover,textarea:hover { border-color:#526a58 }input::placeholder,textarea::placeholder { color:#627769 }textarea { resize:vertical }input:disabled { opacity:.6 }select { padding-right:25px; cursor:pointer }
.mode-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:23px }.mode-cards button { position:relative; padding:16px 12px; text-align:left; border-radius:9px; border:1px solid #354139; background:#131b16; color:#d4dfd6 }.mode-cards strong { display:block; font-size:14px; font-weight:550 }.mode-cards small { display:block; font-size:8px; color:#889b8c; margin-top:5px; white-space:normal; line-height:1.5 }.mode-cards button[aria-pressed=true] { background:#283f2f; border-color:#789b7f; box-shadow:inset 0 0 0 1px #729e7840 }.mode-dot { position:absolute; top:14px; right:12px; width:5px;height:5px;border-radius:50%; background:#3a4e40 }.mode-cards button[aria-pressed=true] .mode-dot { background:var(--green) }
.context-note { border-left:2px solid #759d7d; padding:9px 12px; margin:15px 0 0; background:#28392c44; color:#a4b8ab; font-size:11px; line-height:1.8 }.context-note:empty { display:none }.text-button { border:0; padding:10px 0; background:none; color:#b5d9bd; font-size:11px; text-align:left }.text-button:hover { color:#e7ffec }.panel button.text-button { margin-top:8px }.advanced-panel { background:transparent; padding:18px 22px; box-shadow:none }.advanced-panel summary { display:flex; justify-content:space-between; align-items:center; gap:8px; cursor:pointer; color:#b6c7bc; font-size:12px }.advanced-panel summary small { font-size:10px; color:#768d7c }.advanced-panel[open] summary { margin-bottom:20px }.check { display:flex; align-items:flex-start; gap:9px; margin:17px 0; font-size:11px; line-height:1.65 }.check input,input[type=checkbox] { width:14px; flex:0 0 14px; margin-top:3px; accent-color:var(--green) }
.run-column { position:sticky; top:24px }.run-card { background:linear-gradient(145deg,#27392c,#1a281f); border-color:#3c5542; padding:26px }.run-card h2 { margin:0 0 8px; font-size:22px; font-weight:500 }.run-card>p { margin:0 0 20px; font-size:11px;color:#a3b9a9 }.run-card label { margin-top:24px }.request-metric { display:flex; align-items:baseline; gap:10px; padding:24px 0 4px }.request-metric strong { font-size:48px; line-height:1.1; font-weight:400; letter-spacing:-2px;color:#e2f8e6; font-variant-numeric:tabular-nums }.request-metric span { color:#8fa799; font-size:11px }.run-card #detect-estimate { font-size:10px; line-height:1.9; color:#8da694; margin:10px 0 24px }.readiness { border-top:1px solid #3b5141; padding:15px 0; font-size:11px; color:#d8e5dc; line-height:1.8 }.primary { width:100%; background:#b1edbf; color:#16311f; border:1px solid #c3f7ce; border-radius:7px; padding:13px 15px; font-size:13px; font-weight:650;box-shadow:0 4px 14px #071f1133 }.primary:hover:not(:disabled) { background:#c9f6d3 }.primary:disabled { opacity:.43 }.secondary-stop { width:100%; margin-top:9px; padding:8px; background:none; border:1px solid #465b4b; border-radius:7px; color:#c5d5c8; font-size:11px }.privacy-note { display:flex; align-items:flex-start; gap:8px; margin-top:18px; color:#779584; font-size:10px; line-height:1.8 }.privacy-note>span:first-child { font-size:17px; line-height:1.1 }.legend-card { margin:26px 12px; font-size:11px;color:#a6b8ab }.legend-card h3 { font-size:11px; font-weight:600; color:#c3d3c8; margin:0 0 15px }.legend-card p { display:flex;align-items:center;gap:9px; margin:9px 0 }.legend-card b { font-weight:400 }.legend-card small { display:block; margin-top:16px; font-size:10px; color:#728b7b }.legend-dot { display:inline-block;width:6px;height:6px;border-radius:50%; flex:0 0 6px }.legend-dot.green { background:var(--green) }.legend-dot.yellow { background:var(--yellow) }.legend-dot.red { background:var(--red) }
.result-panel { margin-top:10px }.empty-result { text-align:center; padding:23px 10px 34px;color:#7b9383 }.fingerprint-icon { display:inline-block; font-size:58px; font-weight:200; line-height:1.2; color:#577560 }.empty-result h3 { margin:14px 0 5px; color:#aabeb0; font-weight:450; font-size:14px }.empty-result p { margin:0; font-size:11px;color:#6e8978 }.status { font-size:11px; color:var(--muted) }.meter { height:4px; background:#101914; border-radius:4px; margin-top:12px;overflow:hidden }.meter span { display:block;height:100%;width:0;background:var(--green);transition:width .3s }.verdict { margin-top:20px;border-left:3px solid var(--yellow);padding:14px 16px;background:#35302266;color:var(--yellow);border-radius:0 7px 7px 0;font-size:17px }.verdict.green { border-color:var(--green);color:var(--green);background:#29463155 }.verdict.red { border-color:var(--red);color:var(--red);background:#4d292655 }.verdict.yellow { border-color:var(--yellow) }.match-row { display:grid;grid-template-columns:110px 1fr 48px;gap:12px;align-items:center;margin:10px 0;font-size:11px }.match-row progress { width:100%;height:5px;accent-color:var(--green) }.match-row strong { text-align:right;font-weight:450;color:#b4c8ba;font-variant-numeric:tabular-nums }.match-disclaimer { color:#7b9382;font-size:10px!important }.evidence-actions { margin-top:15px;font-size:11px;color:#8fa697 }.evidence-actions summary { cursor:pointer }.history-panel>h2 { margin-bottom:6px }.history-panel>p { margin:0 0 18px }.package-row { padding:14px 0;border-bottom:1px solid var(--line) }.package-row:last-child { border-bottom:0 }.package-row p { color:var(--muted);overflow-wrap:anywhere;font-size:11px }.package-row button { background:transparent;border:0;color:#b0c8b8;padding:8px 0;font-size:11px;text-align:left;margin-right:20px }.package-row button:hover { color:var(--green) }
.actions { display:flex;gap:10px;margin:18px 0;flex-wrap:wrap }.actions button,button:not([class]):not(.tabs button):not(.mode-cards button) { border:1px solid #3c4d41;border-radius:7px;background:#223028;color:#cbd9ce;padding:9px 13px;font-size:11px }.actions button:hover { background:#2f4435 }.table-scroll { overflow:auto }table { width:100%;border-collapse:collapse;font-size:11px }th,td { text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 8px }th { color:#829e8c;font-weight:500;font-size:10px }td:nth-child(2) { min-width:240px;width:40% }td:nth-child(3) { min-width:145px }td input,td textarea { font-size:11px;margin-bottom:6px }.tier-inputs { display:flex;gap:4px;min-width:148px }.tier-inputs input { width:48px;padding:6px }details { color:var(--muted);font-size:11px }summary { cursor:pointer }details[open]>summary { margin-bottom:14px }pre { max-height:430px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#a8bdaf;font:10px/1.7 ui-monospace,monospace;background:#0d1610;padding:15px;border-radius:7px }.file-button { display:flex;gap:8px;align-items:center }.file-button input { max-width:220px }#make-notice,#library-notice { position:sticky;bottom:12px;background:#233629;padding:13px 18px;border:1px solid #54765b;border-radius:9px;overflow-wrap:anywhere;font-size:12px }#make-notice:empty,#library-notice:empty { display:none }.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }
@media(min-width:1440px) { .detection-layout { grid-template-columns:minmax(0,1fr) 320px } }
@media(max-width:1100px) { main { padding:35px 26px 65px 214px }.tabs { width:164px;left:20px }.detection-layout { grid-template-columns:minmax(0,1fr) 250px;gap:16px }.panel { padding:21px }.run-card { padding:21px }.mode-cards { gap:7px }.mode-cards button { padding:14px 10px }.mode-dot { right:8px } }
@media(max-width:930px) { .app-header { height:76px;padding:0 22px }.header-meta .preview-label { display:none }.version-badge { margin-left:3px;font-size:8px }main { padding:0 22px 60px }.tabs { position:static;width:auto;display:flex;flex-direction:row;gap:3px;border-bottom:1px solid var(--line);margin:0 -22px 28px;padding:10px 17px;overflow-x:auto }.tabs button { white-space:nowrap;font-size:11px;padding:9px 10px;gap:7px }.tabs button>span:first-child { font-size:14px;width:auto }.nav-caption,.nav-foot { display:none }.detection-layout { grid-template-columns:minmax(0,1fr) 260px }.run-column { top:18px } }
@media(max-width:700px) { .detection-layout { display:flex;flex-direction:column }.setup-column,.run-column { width:100% }.run-column { position:static }.run-card { display:grid;grid-template-columns:1fr 1fr;gap:0 20px }.run-card .retention-choice,.run-card h2,.run-card>p,.run-card .readiness,.run-card .primary,.run-card .secondary-stop,.run-card .privacy-note { grid-column:1/-1 }.run-card label { margin-top:0 }.request-metric { padding:8px 0;justify-content:flex-end;align-items:center }.request-metric strong { font-size:35px }.run-card #detect-estimate { margin:14px 0 }.legend-card { display:none }.panel { margin-bottom:16px }.step-guide { gap:12px;font-size:10px;margin-top:22px }.brand strong { font-size:24px }.brand-mark { width:35px;height:35px }.brand { gap:7px }.brand small { font-size:7px;letter-spacing:2px }.header-meta { font-size:9px } }
@media(max-width:430px) { .app-header { padding:0 15px }.version-badge { display:none }main { padding:0 15px 45px }.tabs { margin:0 -15px 24px;padding:9px 10px }.tabs button { padding:9px 7px;font-size:10px;gap:5px }.step-guide { gap:9px }.step-guide span { gap:5px }.panel { padding:18px }.grid { grid-template-columns:1fr }.wide { grid-column:auto }.mode-cards button { padding:14px 9px }.mode-cards strong { font-size:13px }.mode-cards small { font-size:7px }.advanced-panel summary small { font-size:9px }.match-row { grid-template-columns:80px 1fr 44px }.preview-label { display:none } }
@media(prefers-reduced-motion:reduce) { * { transition:none!important } }
.run-card .retention-choice { grid-column:1/-1; margin:2px 0 16px }
.run-card { scroll-margin-top:24px }
.retention-choice small { display:block; margin-top:3px }
.jump-to-start { position:fixed; right:20px; bottom:20px; z-index:10; padding:9px 13px; border:1px solid #526d5a; border-radius:9px; background:#253a2d; color:#c9eed2; font-size:12px; box-shadow:0 3px 14px #0004 }
.jump-to-start:hover { background:#334d3c }
.header-update { padding:5px 9px; border:1px solid var(--line); border-radius:6px; background:transparent; color:var(--text); font-size:11px; white-space:nowrap }
.header-update:hover { background:#26372c }
.source-badge { display:inline-block; padding:2px 7px; margin:0 8px 4px 0; border:1px solid #5a7498; border-radius:5px; background:#203044; color:#b7d5ff; font-size:10px }
.action-error { color:var(--red); border:1px solid var(--red); border-radius:7px; padding:12px; overflow-wrap:anywhere; grid-column:1/-1 }
.action-error:empty { display:none }
#selection-result { margin-top:24px; overflow-wrap:anywhere }
#similar-result { overflow-wrap:anywhere }
.workspace,.panel { min-width:0 }
.match-row { grid-template-columns:minmax(80px,120px) minmax(30px,1fr) 128px }
.match-row>span { overflow-wrap:anywhere }
.match-row strong small { display:block; color:var(--muted); font-size:10px; font-weight:400 }
.match-row progress { height:14px; appearance:none; border:0; border-radius:7px; overflow:hidden; background:#293b48; accent-color:#69caff }
.match-row progress::-webkit-progress-bar { background:#293b48; border-radius:7px }
.match-row progress::-webkit-progress-value { background:#69caff; border-radius:7px }
.match-row progress::-moz-progress-bar { background:#69caff; border-radius:7px }
#report-summary { white-space: pre-line; overflow-wrap: anywhere; }
