:root{color-scheme:dark;--panel: rgba(28, 24, 38, .72);--panel-border: rgba(255, 255, 255, .08);--text: #ece8f2;--muted: #a49cb4;--accent: #7fb2ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#2a2340;color:var(--text)}canvas#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#leaders,#labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#leaders{width:100%;height:100%}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.topbar{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:12px;display:flex;gap:10px}.brand{padding:9px 14px;font-size:13px;letter-spacing:.18em;color:var(--muted)}.brand b{color:var(--text);font-weight:600}.btn{padding:8px 12px;font-size:13px}.phases{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px 8px}.phases button{padding:8px 14px;font-size:14px;letter-spacing:.14em;font-weight:600;color:#d8d2e2}.phases button.active{color:var(--accent)}.phases[data-phase=blow] button.active{color:#ff7a59}.controls{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px;width:260px;padding:6px 6px 6px 14px}.controls-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.16em;color:#d8d2e2}.icon{width:26px;height:26px;border-radius:6px;background:#ffffff14;font-size:16px}.controls-body[hidden]{display:none}.controls-body{padding:10px 8px 6px 0;display:grid;gap:10px;font-size:13px}.controls-body label{display:grid;gap:4px}.controls-body label.check{display:flex;align-items:center;gap:8px}.controls-body output{float:right;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--accent)}.caption{position:fixed;left:16px;bottom:120px;max-width:min(640px,calc(100vw - 32px));padding:10px 14px;font-size:16px;transition:opacity .3s}.caption:empty{opacity:0}.transport{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(740px,calc(100vw - 24px));padding:10px 14px 8px}.row{display:flex;align-items:center;gap:10px}.spacer{flex:1}.btn.dark{background:#00000073;border-radius:7px;padding:8px 14px}.btn.square{padding:8px 10px;font-size:11px}.btn.outline{border:1px solid rgba(127,178,255,.5);border-radius:7px}.btn.outline.active{background:#7fb2ff1f}.clock{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.speeds{display:flex;background:#0000004d;border-radius:7px;overflow:hidden}.speeds button{padding:8px 10px;font-size:12px;color:var(--muted)}.speeds button.active{background:#ffffff1f;color:var(--text)}.scrub{position:relative;margin-top:10px}.scrub input{margin:0}.ticks{position:relative;height:18px}.ticks span{position:absolute;top:2px;transform:translate(-50%);font-size:10px;letter-spacing:.12em;color:var(--muted)}.ticks span.first{transform:none}.label{opacity:0;position:absolute;top:0;left:0;padding:6px 9px;border-radius:6px;background:#16121ed1;border:1px solid var(--panel-border);white-space:nowrap;transition:opacity .25s}.label .t{font-size:11px;font-weight:700;letter-spacing:.12em}.label .s{font-size:11px;color:#cfc8da;margin-top:2px}.label .s i{color:var(--muted);font-style:normal}.label.small .t{font-size:10px;font-weight:600;color:#cfc8da}.inspector{position:fixed;left:12px;top:64px;width:290px;padding:12px 14px}.inspector[hidden]{display:none}.inspector h3{margin:0 28px 6px 0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.inspector p{margin:0;font-size:13px;line-height:1.45;color:#d9d3e3}.inspector .icon{position:absolute;top:8px;right:8px}.hint{position:fixed;right:16px;bottom:120px;font-size:11px;color:#ffffff8c;pointer-events:none}@media(max-width:720px){.inspector{left:12px;right:12px;width:auto;top:auto;bottom:170px}.hint{display:none}.controls{width:auto}.controls-head span{display:none}.phases{top:56px}.phases button{padding:6px 8px;font-size:12px}.speeds,.clock{display:none}.caption{bottom:110px;font-size:14px}.label .s{display:none}}.modes{display:flex;padding:3px;gap:2px}.modes button{padding:6px 12px;font-size:13px;border-radius:7px;color:var(--muted)}.modes button.active{background:#7fb2ff2e;color:var(--text)}body[data-mode=tour] .explore-only,body[data-mode=explore] .tour-only,body[data-mode=tour] .parts{display:none}.row.wrap{flex-wrap:wrap;row-gap:8px;font-size:13px}.row label.check{display:flex;align-items:center;gap:6px}.row label.slider{display:flex;align-items:center;gap:8px;flex:1;min-width:160px}.row label.slider input{flex:1}.parts{position:fixed;left:12px;top:64px;width:210px;max-height:calc(100vh - 230px);overflow:auto;padding:10px 8px 8px}.parts h4{margin:0 6px 6px;font-size:11px;letter-spacing:.16em;color:#d8d2e2}.parts h4 span{color:var(--muted);letter-spacing:.04em;font-weight:400;margin-left:4px}.parts ol{list-style:none;margin:0;padding:0;counter-reset:p}.parts li button{width:100%;text-align:left;padding:6px 8px;border-radius:6px;font-size:13px;color:#d9d3e3;display:flex;gap:8px;align-items:baseline}.parts li button:before{counter-increment:p;content:counter(p,decimal-leading-zero);font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.parts li button:hover{background:#ffffff0f}.parts li button.active{background:#7fb2ff2e;color:var(--text)}body[data-mode=explore] .inspector{left:234px}.inspector-nav{display:flex;gap:6px;margin-top:12px}.inspector-nav .btn{padding:6px 10px;font-size:12px}.inspector-nav #zoom-part{flex:1}@media(max-width:720px){.modes button{padding:5px 8px;font-size:12px}.parts{top:auto;bottom:200px;width:auto;right:12px;max-height:120px}.parts ol{display:flex;flex-wrap:wrap;gap:4px}.parts li button{width:auto;padding:4px 8px;font-size:12px}.parts li button:before{display:none}body[data-mode=explore] .inspector{left:12px;bottom:330px}}.inspector{max-height:calc(100vh - 260px);overflow:auto}.facts{margin:10px 0 0;padding-left:16px;display:grid;gap:6px;font-size:12.5px;line-height:1.4;color:#e4dfec}.facts sup{color:var(--accent);font-size:10px}.sources h4{margin:12px 0 4px;font-size:10px;letter-spacing:.16em;color:var(--muted)}.sources ol{margin:0;padding-left:18px;display:grid;gap:3px;font-size:12px}.sources a{color:var(--accent);text-decoration:none}.sources a:hover,.sources a:focus-visible{text-decoration:underline}.controls-body select{width:100%;padding:5px 6px;border-radius:6px;border:1px solid var(--panel-border);background:#00000059;color:var(--text);font:inherit}:root{--viz-t: #eb6834;--viz-p: #3987e5;--viz-surface: #1d1828;--good: #4cc38a;--warn: #f2c14e;--crit: #ff6b5e}.rightcol{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px;width:300px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 150px);pointer-events:none}.rightcol>*{pointer-events:auto}.rightcol .controls{position:static;width:auto}.dock{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:4px}.dock button{padding:6px 4px;font-size:12px;border-radius:6px;color:#d8d2e2}.dock button:hover{background:#ffffff0f}.dock button.active,.dock .sound[aria-pressed=true]{background:#7fb2ff2e;color:var(--text)}.tool{padding:10px 12px 12px;overflow:auto;min-height:0;flex:0 1 auto;display:grid;gap:8px;font-size:13px}.tool[hidden]{display:none}.tool h4{margin:4px 0 0;font-size:11px;letter-spacing:.16em;color:#d8d2e2}.tool label{display:grid;gap:4px}.tool select,.tool textarea{width:100%;padding:6px;border-radius:6px;border:1px solid var(--panel-border);background:#00000059;color:var(--text);font:inherit}.tool textarea{resize:vertical}.seg{display:flex;flex-wrap:wrap;gap:2px;background:#0000004d;border-radius:7px;padding:2px}.seg button{flex:1;padding:6px;font-size:12px;border-radius:6px;color:var(--muted)}.seg button.active{background:#ffffff1f;color:var(--text)}.stack{display:grid;gap:4px}.stack .btn{text-align:left}.stack .btn.active{outline:1px solid var(--accent)}.row2{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.btn.wide{width:100%}.btn.file{cursor:pointer}.readout{margin:0;font-size:12.5px;color:#e4dfec;font-variant-numeric:tabular-nums}.note{margin:0;font-size:11.5px;line-height:1.4;color:var(--muted)}.gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.gauge{margin:0;text-align:center}.gauge svg{width:100%;max-width:86px}.gauge-track{fill:none;stroke:#ffffff1f;stroke-width:5;stroke-linecap:round}.gauge-arc{fill:none;stroke:var(--text);stroke-width:5;stroke-linecap:round}.gauge-needle{stroke:var(--text);stroke-width:2;stroke-linecap:round}.gauge-red{stroke:#e5484d;stroke-width:2.5;stroke-linecap:round}.gauge figcaption{margin-top:-10px;display:grid;font-variant-numeric:tabular-nums}.gauge figcaption b{font-size:15px;font-weight:600}.gauge figcaption span{font-size:10px;letter-spacing:.1em;color:var(--muted)}.digital{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 12px;margin:6px 0 0}.digital div{display:flex;justify-content:space-between;border-top:1px solid var(--panel-border);padding-top:3px}.digital dt{font-size:11px;color:var(--muted)}.digital dd{margin:0;font-size:12.5px;font-variant-numeric:tabular-nums}.digital i{font-style:normal;color:var(--muted);font-size:10.5px}.stations{position:relative;display:grid;gap:6px}.viz-head{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted)}.viz-toggle{font-size:11px;padding:2px 8px;border:1px solid var(--panel-border);border-radius:5px;color:var(--muted)}.viz-charts{display:grid;gap:4px}.viz-charts[hidden]{display:none}svg.viz{width:100%;height:auto;display:block}svg.viz .grid{stroke:#ffffff14;stroke-width:1}svg.viz .tick{fill:var(--muted);font-size:8.5px;font-variant-numeric:tabular-nums}svg.viz .title{fill:#e4dfec;font-size:9.5px;font-weight:600}svg.viz .unit{fill:var(--muted);font-weight:400}svg.viz .peak{fill:var(--text);font-size:9px;font-variant-numeric:tabular-nums}svg.viz .hit{fill:transparent;cursor:crosshair}svg.viz .alert-band{fill:#ff6b5e1f}svg.viz .cursor{stroke:#ffffff80;stroke-width:1;stroke-dasharray:2 2}.viz-table{width:100%;border-collapse:collapse;font-size:11.5px;font-variant-numeric:tabular-nums}.viz-table th,.viz-table td{text-align:right;padding:3px 4px;border-bottom:1px solid var(--panel-border)}.viz-table th:nth-child(2),.viz-table td:nth-child(2),.viz-table th:first-child,.viz-table td:first-child{text-align:left}.viz-tip{position:absolute;z-index:2;pointer-events:none;padding:5px 8px;border-radius:6px;background:#0a0810f2;border:1px solid var(--panel-border);font-size:11.5px;line-height:1.35;white-space:nowrap}.legend{display:grid;gap:4px}.legend[hidden]{display:none}.legend .bar{height:10px;border-radius:3px}.legend .ticks{position:relative;height:14px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.legend .ticks span{position:absolute;transform:translate(-50%);white-space:nowrap}.legend .ticks span:first-child{transform:none}.legend .ticks span:last-child{transform:translate(-100%)}.legend .cap{font-size:11px;color:var(--muted)}.event-info{font-size:12.5px;line-height:1.45;color:#e4dfec;display:grid;gap:6px}.event-info ol{margin:0;padding-left:18px;font-size:12px}.event-info a,.compare a,.tutor-a a{color:var(--accent)}.alerts{display:grid;gap:4px}.alert{display:flex;gap:8px;align-items:baseline;padding:6px 8px;border-radius:6px;background:#ffffff0a;font-size:12px;border-left:3px solid var(--good)}.alert.warn{border-left-color:var(--warn)}.alert.crit{border-left-color:var(--crit)}.alert b{font-size:11px;letter-spacing:.06em}.tutor-a{font-size:12.5px;line-height:1.45;color:#e4dfec;white-space:pre-wrap}.compare{overflow-x:auto}.compare table{width:100%;border-collapse:collapse;font-size:11.5px;font-variant-numeric:tabular-nums}.compare th,.compare td{padding:4px;border-bottom:1px solid var(--panel-border);text-align:right;white-space:nowrap}.compare th:first-child,.compare td:first-child{text-align:left;color:var(--muted)}.compare th.current{color:var(--accent)}body.borescope #scene{-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 34vmin,transparent 35vmin);mask-image:radial-gradient(circle at 50% 50%,#000 34vmin,transparent 35vmin)}body.borescope{background:#000}body.borescope #labels,body.borescope #leaders,body.borescope #caption{display:none}@media(max-width:720px){.rightcol{width:auto;left:12px;max-height:55vh}.dock{grid-template-columns:repeat(4,1fr)}}.tutor{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--panel-border);font-size:12px}.tutor[hidden]{display:none}.tutor label{color:var(--muted);font-size:11px;letter-spacing:.06em}.tutor textarea{width:100%;padding:6px;border-radius:6px;border:1px solid var(--panel-border);background:#00000059;color:var(--text);font:inherit;resize:vertical}.disclaimer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0c0914b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.disclaimer[hidden]{display:none}.disclaimer-card{max-width:560px;width:100%;padding:22px 24px;display:grid;gap:10px;font-size:14px;line-height:1.5;background:#1c1826f5}.disclaimer-kicker{margin:0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--warn)}.disclaimer-card h2{margin:0;font-size:20px;line-height:1.25;text-wrap:balance}.disclaimer-card p{margin:0;color:#e4dfec}.disclaimer-card ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#e4dfec}.disclaimer-card b{color:var(--text)}.disclaimer-card .btn{justify-self:start;margin-top:4px;padding:8px 16px}.badge{padding:8px 12px;font-size:12px;color:var(--warn);border-color:#f2c14e59}.badge:hover,.badge:focus-visible{background:#f2c14e1a}@media(max-width:720px){.badge{position:fixed;left:12px;top:calc(100px + env(safe-area-inset-top,0px));font-size:11px;padding:6px 10px}.disclaimer-card{padding:18px;font-size:13px}.disclaimer-card h2{font-size:17px}}
