:root{--bg:#07101b;--bg2:#0b1724;--panel:#0d1c2c;--panel2:#11243a;--text:#eef7ff;--muted:#98aec3;--line:#213a52;--brand:#42d5a3;--brand2:#79d7ff;--good:#4de2a0;--warn:#ffd166;--bad:#ff7182;--shadow:0 24px 70px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 18% -10%,#173c60 0,transparent 33%),radial-gradient(circle at 88% 20%,rgba(66,213,163,.08),transparent 24%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(1160px,calc(100% - 36px));margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;padding:19px 0;gap:24px}.brand{font-weight:900;letter-spacing:-.045em;font-size:22px}.brand span{color:var(--brand)}.navlinks{display:flex;gap:20px;color:var(--muted);font-size:14px}.navlinks a:hover{color:var(--text)}.hero{padding:66px 0 34px;text-align:center}.eyebrow{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);background:rgba(13,28,44,.72);padding:7px 12px;border-radius:999px;color:var(--brand2);font-size:13px}.hero h1{font-size:clamp(42px,6.7vw,72px);line-height:1;letter-spacing:-.06em;margin:21px auto 17px;max-width:980px}.hero>p{max-width:780px;margin:0 auto;color:var(--muted);font-size:18px}.tool-shell{margin:36px auto 0;max-width:1020px;background:linear-gradient(180deg,rgba(17,36,58,.98),rgba(8,22,37,.98));border:1px solid var(--line);border-radius:27px;padding:17px;box-shadow:var(--shadow);text-align:left}.dropzone{border:1.5px dashed #315978;border-radius:20px;padding:42px 24px;cursor:pointer;transition:.2s;background:rgba(7,16,27,.35);text-align:center}.dropzone:hover,.dropzone.drag{border-color:var(--brand);transform:translateY(-1px);background:rgba(66,213,163,.055)}.dropicon{font-size:35px;color:var(--brand)}.dropzone h2{margin:7px 0 4px}.dropzone p{margin:0;color:var(--muted)}.privacyline{display:flex;gap:17px;justify-content:center;flex-wrap:wrap;margin:15px 0 2px;color:var(--muted);font-size:13px}.privacyline b{color:var(--brand)}.result{display:none;margin-top:18px}.result.show{display:block}.result-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 4px 18px}.file-meta h3{margin:0 0 3px;font-size:19px}.file-meta p{margin:0;color:var(--muted);font-size:13px}.score-wrap{display:flex;align-items:center;gap:12px}.confidence{text-align:right}.confidence small{display:block;color:var(--muted)}.confidence b{font-size:12px;letter-spacing:.08em;color:var(--brand2)}.score{--score:0;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:6px solid var(--brand);font-weight:850;font-size:19px;background:#081827}.score[data-level=warn]{border-color:var(--warn)}.score[data-level=bad]{border-color:var(--bad)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.metric,.card,.chart-card{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:15px}.metric small{color:var(--muted);display:block}.metric strong{font-size:19px;display:block;margin-top:3px}.statusline{font-size:13px;color:var(--muted);margin:13px 2px}.quick-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:780;cursor:pointer;background:var(--brand);color:#032218;transition:.15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn.secondary{background:#183149;color:var(--text);border:1px solid #2a4d69}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.btn:disabled{opacity:.38;cursor:not-allowed}.tabs{display:flex;gap:7px;overflow:auto;padding:4px 0 13px;margin-top:4px}.tabs button{border:1px solid var(--line);background:#091827;color:var(--muted);padding:9px 13px;border-radius:10px;cursor:pointer;white-space:nowrap}.tabs button.active{color:var(--text);border-color:#356281;background:#122a41}.panel{display:none}.panel.active{display:block}.two{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.checks{display:grid;gap:7px}.check{display:grid;grid-template-columns:17px 1fr;gap:9px;padding:10px 11px;border-radius:11px;background:#091827}.status-dot{width:9px;height:9px;border-radius:50%;margin-top:6px}.status-dot.good{background:var(--good)}.status-dot.warn{background:var(--warn)}.status-dot.bad{background:var(--bad)}.check b{display:block;font-size:14px}.check span{display:block;color:var(--muted);font-size:12px;margin-top:1px}.section{padding:70px 0}.section h2{font-size:clamp(30px,4vw,47px);letter-spacing:-.045em;margin:0 0 13px}.lead{color:var(--muted);max-width:780px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:27px}.card h3{margin:6px 0}.card p{color:var(--muted);font-size:14px}.tag{font-size:11px;letter-spacing:.08em;color:var(--brand2)}.route-box{min-height:330px;background:#06131f;border:1px solid var(--line);border-radius:15px;overflow:hidden}.route-box svg{display:block;width:100%;height:360px}.route-grid{fill:none;stroke:#173047;stroke-width:1}.route-line{fill:none;stroke:var(--brand2);stroke-width:4;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.route-start{fill:var(--brand)}.route-end{fill:var(--bad)}.route-tools{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.route-tools button{width:29px;height:27px;border-radius:7px;background:#10263a;border:1px solid var(--line);color:var(--text);cursor:pointer}.route-tools span{margin-left:auto}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chart-card h4{margin:0 0 5px}.chart{height:190px}.chart svg{width:100%;height:100%}.chart-line{fill:none;stroke:var(--brand);stroke-width:2.5;vector-effect:non-scaling-stroke}.axis{stroke:#2a435a;stroke-width:1}.chart-label{fill:#8fa8bf;font-size:11px}.chart-empty,.empty-state{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:20px}.empty-state b{color:var(--text);margin-bottom:4px}.anomaly{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:#091827;border:1px solid #17334b;border-radius:13px;padding:12px;margin-bottom:8px}.anomaly b{display:block;margin-top:5px}.anomaly p{margin:2px 0 0;color:var(--muted);font-size:12px}.pill{display:inline-block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 7px;background:#17324a;color:var(--brand2)}.pill.bad{color:#ffc1c8;background:rgba(255,113,130,.12)}.fixflag{font-size:11px;white-space:nowrap;padding-top:3px}.fixflag.yes{color:var(--good)}.fixflag.no{color:var(--muted)}.stream{display:grid;grid-template-columns:90px 1fr 45px;align-items:center;gap:10px;margin:11px 0;font-size:12px}.bar{height:7px;background:#071420;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:999px}.stream b{text-align:right}.repair-list{display:grid;gap:8px}.repair-card{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#091827;color:var(--text);border-radius:13px;padding:12px;cursor:pointer}.repair-card:hover:not(:disabled){border-color:#376787}.repair-card:disabled{opacity:.4;cursor:not-allowed}.repair-card b,.repair-card span{display:block}.repair-card span{font-size:12px;color:var(--muted);margin-top:2px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.table th,.table td{text-align:left;padding:9px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-weight:650}.notice{padding:12px 14px;border-radius:11px;background:rgba(255,209,102,.07);border:1px solid rgba(255,209,102,.23);color:#ffe6a6;font-size:13px}.notice.danger{background:rgba(255,113,130,.07);border-color:rgba(255,113,130,.23);color:#ffc8cf}.editor-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.select{background:#081827;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 12px;min-width:230px}.content{max-width:850px;margin:auto}.content h1{font-size:clamp(40px,6vw,58px);letter-spacing:-.05em}.content h2{margin-top:36px}.content p,.content li{color:#c1d0df}.content a{color:var(--brand2)}.muted{color:var(--muted);font-size:13px}.faq{border-top:1px solid var(--line);padding:18px 0}.faq h3{margin:0 0 6px}.faq p{margin:0}.footer{border-top:1px solid var(--line);padding:33px 0 50px;color:var(--muted);font-size:13px}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-links{display:flex;gap:15px;flex-wrap:wrap}.hidden{display:none!important}.toast{position:fixed;right:18px;bottom:18px;max-width:380px;background:#10243a;border:1px solid var(--line);padding:12px 15px;border-radius:12px;box-shadow:var(--shadow);transform:translateY(80px);opacity:0;transition:.2s;z-index:50;font-size:13px}.toast.show{transform:none;opacity:1}.toast.bad{border-color:rgba(255,113,130,.5)}.busy{display:none;position:fixed;inset:0;background:rgba(3,10,17,.7);backdrop-filter:blur(4px);z-index:40;place-items:center}.is-busy .busy{display:grid}.spinner{width:42px;height:42px;border:4px solid #27445e;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin:auto auto 12px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:860px){.navlinks{display:none}.grid{grid-template-columns:repeat(2,1fr)}.cards,.three,.two,.charts-grid{grid-template-columns:1fr}.hero{padding-top:42px}.route-tools span{display:none}}
@media(max-width:540px){.grid{grid-template-columns:1fr 1fr}.container{width:min(100% - 22px,1160px)}.tool-shell{padding:9px}.dropzone{padding:32px 12px}.hero h1{font-size:42px}.result-head{align-items:flex-start}.score{width:60px;height:60px}.confidence{display:none}.grid .metric strong{font-size:16px}.route-box svg{height:290px}}

/* v3.1 operations */
.form-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;margin:28px 0}.form-card label{display:block;margin:14px 0}.form-card label>span,.form-card label>small{display:block}.form-card label>span{font-weight:700;font-size:13px;margin-bottom:6px}.form-card small{color:var(--muted);margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-card input,.form-card textarea,.form-card select{width:100%;background:#081827;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:11px 12px;outline:none}.form-card textarea{resize:vertical;min-height:120px}.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:#3a7497;box-shadow:0 0 0 3px rgba(121,215,255,.07)}.consent{display:grid!important;grid-template-columns:19px 1fr;gap:9px;align-items:start}.consent input{width:auto!important;margin-top:4px}.consent span{font-weight:500!important;color:#b9cada}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.form-status{font-size:13px;color:var(--muted)}.form-status.good{color:var(--good)}.form-status.bad{color:var(--bad)}.feedback-card{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(120deg,#0e2639,#0d1d30);border:1px solid var(--line);border-radius:19px;padding:22px}.feedback-card h2{font-size:26px;margin:5px 0}.feedback-card .lead{margin:0}.feedback-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.compact-section{padding-top:22px}.turnstile-slot{margin:12px 0}.backend-warning{padding:11px 13px;border-radius:10px;border:1px solid rgba(255,209,102,.25);color:#ffe5a5;background:rgba(255,209,102,.06);font-size:13px}.sample-consent.disabled{opacity:.55}.btn.ghost{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.feedback-card{display:block}.feedback-actions{justify-content:flex-start;margin-top:16px}}
