:root{--ground: #0e0a0c;--surface: #181214;--surface-2: #211a1d;--surface-3: #2c2226;--rule: #3a2d31;--rule-lit: #584447;--ink: #fcf8f7;--ink-soft: #e4d9db;--muted: #bfadb1;--faint: #a28f93;--pulse: #f87f94;--pulse-deep: #8e3c4b;--signal: #63ccab;--signal-deep: #2e6656;--warn: #ebb673;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--body: "Archivo", "Helvetica Neue", Arial, sans-serif;--display: "Fraunces", "Iowan Old Style", Georgia, serif;--s1: .5rem;--s2: 1rem;--s3: 1.5rem;--s4: 2.25rem;--s5: 3.25rem}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font-family:inherit;font-size:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--pulse);outline-offset:3px}canvas{display:block;width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.mono{font-family:var(--mono)}.tabular{font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--mono);font-size:.79rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0}.shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}@media(max-width:1000px){.shell{grid-template-columns:minmax(0,1fr)}}.side{background:var(--surface);border-right:1px solid var(--rule);padding:var(--s3) var(--s2) var(--s3) var(--s3);padding-bottom:var(--s4);display:flex;flex-direction:column;gap:var(--s2);position:sticky;top:0;height:100vh;overflow:hidden}@media(max-width:1000px){.side{position:static;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--rule)}}.logo{display:flex;align-items:center;gap:12px}.logo .mark{width:38px;height:38px;flex:none;border-radius:50%;position:relative;background:radial-gradient(circle at 50% 45%,var(--pulse) 0%,var(--pulse-deep) 55%,#4a2229 100%);box-shadow:0 0 0 1px var(--rule-lit),0 0 18px #f87f9440}.logo .mark:after{content:"";position:absolute;inset:10px;border-radius:50%;border:1.5px solid rgba(252,248,247,.55)}.logo .wm{display:flex;flex-direction:column;line-height:1}.logo .co{font-family:var(--mono);font-size:.74rem;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.logo .pr{font-family:var(--display);font-weight:400;font-size:1.62rem;letter-spacing:-.01em}.navlist{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable}@media(max-width:1000px){.navlist{flex:none;overflow:visible}}.navlist button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:0;border-left:2px solid transparent;color:var(--muted);padding:8px 12px;font-size:.95rem;font-weight:500;transition:background .14s,color .14s}.navlist button .n{font-family:var(--mono);font-size:.78rem;color:var(--faint);width:20px;flex:none}.navlist button:hover{color:var(--ink);background:var(--surface-2)}.navlist button[aria-current=page]{color:var(--ink);border-left-color:var(--pulse);background:var(--surface-2)}.navlist button[aria-current=page] .n{color:var(--pulse)}.navsep{font-family:var(--mono);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);padding:11px 12px 5px;border-top:1px solid var(--rule);margin-top:6px}.caps{display:flex;flex-direction:column;gap:5px;flex:none;padding-top:var(--s1)}.cap{font-family:var(--mono);font-size:.78rem;color:var(--faint);display:flex;align-items:center;gap:8px}.cap:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rule-lit);flex:none}.cap.on{color:var(--signal)}.cap.on:before{background:var(--signal)}.cap.warn{color:var(--warn)}.cap.warn:before{background:var(--warn)}.sidefoot{font-size:.79rem;color:var(--faint);line-height:1.45;border-top:1px solid var(--rule);padding-top:var(--s1);margin:0;flex:none}main{padding:var(--s4) var(--s4) var(--s5);max-width:1240px;width:100%}@media(max-width:640px){main{padding:var(--s3) var(--s2) var(--s4)}}.vh{margin-bottom:var(--s3);max-width:70ch}.vh h1{font-family:var(--display);font-weight:300;font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.06;letter-spacing:-.022em;margin:.3em 0 .25em}.vh h1 em{font-style:italic;color:var(--pulse)}.vh p{color:var(--ink-soft);font-size:1.06rem;margin:0;max-width:64ch}h2{font-family:var(--display);font-weight:400;font-size:1.68rem;letter-spacing:-.015em;line-height:1.2;margin:0 0 var(--s2)}h3{font-size:1.06rem;font-weight:600;margin:0 0 .3em;line-height:1.35}p{margin:0 0 var(--s2)}.card{background:var(--surface);border:1px solid var(--rule);padding:var(--s3)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--s2);align-items:start}.stack{display:flex;flex-direction:column;gap:var(--s2)}.row{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap}.btnrow{display:flex;gap:10px;flex-wrap:wrap}.pill{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.3em .65em;border:1px solid currentColor;white-space:nowrap}.pill.ok{color:var(--signal)}.pill.bad{color:var(--pulse)}.pill.mid{color:var(--warn)}.pill.off{color:var(--faint)}.btn{display:inline-block;background:var(--pulse);color:#2a0c13;border:0;padding:14px 26px;font-family:var(--mono);font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:filter .15s}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:disabled{background:var(--surface-3);color:var(--faint);cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--rule-lit)}.btn.ghost:hover:not(:disabled){background:var(--surface-2);filter:none;color:var(--ink)}.btn.danger{background:transparent;color:var(--pulse);border:1px solid var(--pulse-deep)}.btn.wide{display:block;width:100%;text-align:center}.stat .k{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block}.stat .v{font-family:var(--mono);font-size:1.85rem;font-weight:500;font-variant-numeric:tabular-nums;display:block;margin-top:5px;line-height:1.1}.stat .u{font-size:.82rem;color:var(--muted);margin-left:4px}.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}.trio>div{background:var(--surface);padding:14px 16px 16px}.plainwrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s4);align-items:center}@media(max-width:900px){.plainwrap{grid-template-columns:1fr}}.plain{max-width:34ch;font-family:var(--display);font-weight:300;font-size:clamp(1.5rem,2.9vw,2.1rem);line-height:1.32;letter-spacing:-.015em}.plain p{margin:0 0 .85em}.plain b{font-weight:500;color:var(--pulse);font-style:italic}.steps{counter-reset:st;display:flex;flex-direction:column;gap:var(--s2)}.step{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.step .num{counter-increment:st;font-family:var(--mono);font-size:.86rem;color:var(--pulse);border:1px solid var(--rule-lit);width:32px;height:32px;display:grid;place-items:center;flex:none}.step .num:before{content:counter(st)}.step p{margin:0;color:var(--ink-soft)}.step b{color:var(--ink);font-weight:600}.tog{display:flex;gap:16px;align-items:flex-start;padding:var(--s2) 0;border-bottom:1px solid var(--rule)}.tog:last-child{border-bottom:0}.tog .sw{flex:none;width:46px;height:26px;border-radius:13px;background:var(--surface-3);border:1px solid var(--rule-lit);position:relative;transition:background .18s,border-color .18s;cursor:pointer;margin-top:3px;padding:0}.tog .sw:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--muted);transition:left .18s,background .18s}.tog .sw[aria-checked=true]{background:var(--signal-deep);border-color:var(--signal)}.tog .sw[aria-checked=true]:after{left:22px;background:var(--signal)}.tog .sw:disabled{opacity:.5;cursor:wait}.tog .txt{flex:1}.tog .txt b{display:block;font-size:1.03rem;font-weight:600;margin-bottom:3px}.tog .txt span{display:block;font-size:.95rem;color:var(--muted);line-height:1.55}.tog .txt .earn{font-family:var(--mono);font-size:.8rem;color:var(--signal);margin-top:6px}.tones{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:var(--s2) 0 10px}.tones button{aspect-ratio:1 / 1.45;border:1px solid var(--rule-lit);border-radius:3px;padding:0;transition:transform .12s}.tones button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px;transform:translateY(-4px)}.tonelab{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.8rem;color:var(--muted)}.lst .it{display:flex;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--rule)}.lst .it:last-child{border-bottom:0}.lst .when{font-family:var(--mono);font-size:.82rem;color:var(--faint);width:92px;flex:none}.lst .main{flex:1;min-width:0}.lst .main b{font-family:var(--mono);font-size:1.05rem;font-variant-numeric:tabular-nums}.lst .main span{display:block;font-size:.87rem;color:var(--muted)}.route{border:1px solid var(--rule);border-left:3px solid var(--pulse);padding:var(--s2);background:var(--surface)}.route.calm{border-left-color:var(--signal)}.route.info{border-left-color:var(--rule-lit)}.route .plat{font-family:var(--mono);font-size:.79rem;letter-spacing:.09em;text-transform:uppercase;color:var(--signal);display:block;margin-bottom:7px}.route p{margin:0;font-size:.95rem;color:var(--muted);line-height:1.55}.scanstage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s2)}@media(max-width:800px){.scanstage{grid-template-columns:minmax(0,1fr)}}.viewport{position:relative;background:#0a0709;border:1px solid var(--rule);overflow:hidden}.viewport video{display:block;width:100%;height:290px;object-fit:cover;transform:scaleX(-1)}.viewport canvas{height:290px}.viewport .overlay{position:absolute;inset:0;width:100%;height:290px;pointer-events:none}.trace{height:96px;background:#0a0709;border:1px solid var(--rule);margin-top:var(--s1)}.advice{font-size:.92rem;margin:var(--s1) 0 0;line-height:1.55}.advice.ok{color:var(--signal)}.advice.warn{color:var(--warn)}.advice.bad{color:var(--pulse)}.diag{width:100%;border-collapse:collapse;font-size:.9rem}.diag th{text-align:left;font-family:var(--mono);font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:400;padding:0 0 6px;border-bottom:1px solid var(--rule)}.diag td{padding:7px 0;border-bottom:1px solid var(--rule);color:var(--ink-soft)}.diag td+td,.diag th+th{text-align:right}.kv{margin:12px 0 0;display:grid;gap:6px}.kv>div{display:flex;justify-content:space-between;gap:var(--s1);font-size:.88rem}.kv dt{color:var(--faint);margin:0}.kv dd{color:var(--ink-soft);margin:0}.twin{height:290px;background:#0a0709;border:1px solid var(--rule)}.trend{height:170px;background:#0a0709;border:1px solid var(--rule)}.con{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s2)}.span12{grid-column:span 12}.span8{grid-column:span 8}.span6{grid-column:span 6}.span4{grid-column:span 4}@media(max-width:1100px){.span8,.span6,.span4{grid-column:span 12}}.panel{background:var(--surface);border:1px solid var(--rule)}.panel>.ph{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 18px;border-bottom:1px solid var(--rule);background:var(--surface-2)}.panel>.ph .t{font-family:var(--mono);font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft)}.panel>.ph .x{font-family:var(--mono);font-size:.8rem;color:var(--muted)}.pb{padding:18px}.bigstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--rule)}.bigstats>div{background:var(--surface);padding:20px 18px 22px}.bigstats .v{font-family:var(--display);font-weight:300;font-size:2.4rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;display:block;line-height:1}.bigstats .k{font-family:var(--mono);font-size:.79rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-top:9px}.bigstats .d{font-size:.88rem;color:var(--faint);display:block;margin-top:5px;line-height:1.45}table{border-collapse:collapse;width:100%;font-size:.95rem;min-width:620px}th,td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--rule);vertical-align:top}th{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:500}td.n{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}tr:last-child td{border-bottom:0}.tscroll{overflow-x:auto}.feed{max-height:330px;overflow-y:auto}.feed .f{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);font-size:.95rem}.feed .f:last-child{border-bottom:0}.feed .sw{width:16px;height:16px;flex:none;border:1px solid var(--rule-lit)}.feed time{font-family:var(--mono);font-size:.82rem;color:var(--faint);margin-left:auto;white-space:nowrap}.legend{display:flex;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:.8rem;color:var(--muted);margin-bottom:14px}.legend i{display:inline-block;width:15px;height:3px;margin-right:7px;vertical-align:3px}.chart{height:340px;background:#0a0709}.chart.short{height:250px}.notice{border:1px solid var(--rule-lit);padding:16px 18px;margin-bottom:var(--s3);background:var(--surface)}.notice p{margin:0;font-size:.97rem;color:var(--ink-soft);line-height:1.6}.notice b{font-family:var(--mono);font-size:.79rem;letter-spacing:.11em;text-transform:uppercase;display:block;margin-bottom:6px}.notice.warn{background:#ebb6731a;border-color:#ebb67359}.notice.warn b{color:var(--warn)}.notice.bad{background:#f87f941a;border-color:#f87f9459}.notice.bad b{color:var(--pulse)}.why{border-left:3px solid var(--pulse);padding-left:var(--s2);margin-top:var(--s3);max-width:66ch}.why .eyebrow{margin-bottom:7px}.why p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.6}.why strong{color:var(--ink-soft)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--mono);font-size:.79rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field input{background:var(--surface-3);border:1px solid var(--rule-lit);color:var(--ink);padding:12px 14px}.field input::placeholder{color:var(--faint)}.foot{margin-top:var(--s4);border-top:1px solid var(--rule);padding-top:var(--s3);color:var(--muted);font-size:.95rem;max-width:80ch;line-height:1.65}.foot strong{color:var(--ink-soft)}.foot code{font-family:var(--mono);font-size:.9em;color:var(--ink-soft);background:var(--surface-2);padding:.12em .4em;border:1px solid var(--rule)}.skeleton{color:var(--faint);font-family:var(--mono);font-size:.9rem}.sideact{width:100%;margin-top:0;font-size:.8rem;padding:10px 14px;flex:none}.linkbtn{background:none;border:0;padding:0;color:var(--signal);text-decoration:underline;cursor:pointer;font:inherit}.linkbtn:hover{color:var(--ink)}.langpick{display:flex;align-items:center;gap:8px;flex:none}.langpick label{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);flex:none}.langpick select{background:var(--surface-2);color:var(--ink);border:1px solid var(--rule-lit);padding:6px 8px;font-size:.9rem;flex:1;min-width:0}.langpick select:hover{border-color:var(--muted)}.diagtoggle{display:flex;width:100%;justify-content:space-between;align-items:center;gap:var(--s2)}.skip{position:absolute;left:-9999px;top:0;z-index:50;background:var(--pulse);color:#2a0c13;padding:12px 18px;font-family:var(--mono);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}.skip:focus{left:8px;top:8px}html:not([lang=en]) .eyebrow,html:not([lang=en]) .stat .k,html:not([lang=en]) .navsep,html:not([lang=en]) .pill,html:not([lang=en]) .btn,html:not([lang=en]) .diag th,html:not([lang=en]) .langpick label,html:not([lang=en]) .cap,html:not([lang=en]) .tonelab,html:not([lang=en]) .skip{text-transform:none;letter-spacing:.04em}html:not([lang=en]) .eyebrow,html:not([lang=en]) .stat .k,html:not([lang=en]) .navsep,html:not([lang=en]) .pill,html:not([lang=en]) .diag th,html:not([lang=en]) .langpick label,html:not([lang=en]) .cap,html:not([lang=en]) .tonelab{font-family:var(--body);font-size:.84rem}html:not([lang=en]) .mono{font-family:var(--body);font-variant-numeric:tabular-nums}html:not([lang=en]) .stat .v{font-family:var(--body)}.con .note{font-size:.86rem;color:var(--faint);line-height:1.6;margin:var(--s2) 0 0;padding-top:var(--s1);border-top:1px solid var(--rule)}.con .note b{color:var(--muted);font-weight:600}.viewswitch{display:flex;gap:2px;margin-top:var(--s2);padding:2px;background:var(--surface-2, rgba(255, 255, 255, .04));border:1px solid var(--rule);border-radius:8px;width:fit-content;max-width:100%}.viewbtn{flex:0 1 auto;background:none;border:0;border-radius:6px;padding:6px 14px;font:inherit;font-size:.88rem;color:var(--muted);cursor:pointer;white-space:nowrap}.viewbtn:hover{color:var(--ink)}.viewbtn[aria-pressed=true]{background:var(--rule);color:var(--ink);font-weight:600}.viewbtn:focus-visible{outline:2px solid var(--pulse);outline-offset:1px}.floorfig{margin:var(--s2) 0 0}.floor{display:block;width:100%;height:132px;border:1px solid var(--rule);border-radius:8px;background:#0000002e}.floorfig figcaption{margin-top:8px;font-size:.88rem;line-height:1.55;color:var(--muted)}.clinlede{margin:var(--s2) 0 0;font-size:.98rem;line-height:1.55;color:var(--ink-soft)}.gates{margin-top:var(--s2)}.gates th[scope=row]{font-weight:500;text-align:left;color:var(--ink-soft)}.gatemark{display:inline-block;width:1.1em;font-family:var(--mono, monospace);color:var(--signal)}.gatefail th[scope=row],.gatefail .gatemark{color:var(--pulse)}.gateskip th[scope=row],.gateskip .gatemark{color:var(--faint)}.gatenote{display:block;margin-left:1.1em;font-size:.8rem;font-style:normal;color:var(--faint)}.clinconv{margin:var(--s2) 0 0;font-size:.92rem;line-height:1.6;color:var(--muted)}.clindisc{margin:var(--s2) 0 0;font-size:.82rem;line-height:1.55;color:var(--faint)}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tscroll{overflow-x:auto;margin-top:var(--s2)}.tscroll>table{margin-top:0}.gates th[scope=row],.gatenote{white-space:normal}.expect{margin:var(--s2) 0 0;padding-left:12px;border-left:2px solid var(--rule);font-size:.94rem;line-height:1.6;color:var(--muted);max-width:62ch}.expect.warn{border-left-color:var(--pulse);color:var(--ink-soft)}
