
:root{
  --bg:#03070b;--bg2:#020508;--panel:rgba(6,13,18,.9);--panel2:rgba(3,8,12,.96);
  --line:rgba(133,181,202,.15);--line2:rgba(133,181,202,.075);--line3:rgba(154,211,232,.32);
  --text:#e7f1f5;--soft:#aabfc9;--muted:#78929f;--deep:#526a76;
  --accent:#7dc9df;--accent-rgb:125,201,223;--cyan:#91e4ff;--orange:#e6a056;--warning:#e4b66b;
  --magnet:#5f9fe8;--cryo:#91e4ff;--gradient:#f3a04d;--shim:#e3cf7d;--rfTx:#a38bf2;--rfRx:#53e3c4;--elec:#aab7c3;--patient:#9eb2bf;
  --sans:"Helvetica Neue","Arial Narrow","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --cn:"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  --mono:"SFMono-Regular","Cascadia Mono",Menlo,Consolas,monospace;
  --topbar:68px;--left:292px;--right:338px;--gap:20px;--console:128px;--console-bottom:18px;
  --panel-bottom:calc(var(--console) + var(--console-bottom) + 18px);
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark}
body{margin:0;min-width:320px;height:100vh;height:100dvh;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,select,input{font:inherit}button{cursor:pointer}
button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
::selection{background:rgba(var(--accent-rgb),.25);color:#fff}
.stage-canvas{position:fixed;inset:0;z-index:2;touch-action:none;cursor:grab}
.stage-canvas.is-dragging{cursor:grabbing}.stage-canvas.is-part-hover{cursor:pointer}
.stage-canvas canvas{display:block;width:100%;height:100%;outline:none}
.scene-backdrop{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 63% 58% at 49% 45%,rgba(24,53,66,.3),transparent 70%),radial-gradient(ellipse 35% 50% at 87% 58%,rgba(91,53,27,.09),transparent 73%),linear-gradient(180deg,#060c11,#04090e 48%,#020508)}
.scene-backdrop__grid{position:absolute;inset:-10%;opacity:.22;background-image:linear-gradient(rgba(120,168,189,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(120,168,189,.09) 1px,transparent 1px);background-size:58px 58px;transform:perspective(600px) rotateX(62deg) translateY(4%);transform-origin:50% 60%;-webkit-mask-image:radial-gradient(ellipse 65% 72% at 50% 54%,black,transparent 78%);mask-image:radial-gradient(ellipse 65% 72% at 50% 54%,black,transparent 78%)}
.scene-backdrop__vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,9,.62),transparent 20%,transparent 79%,rgba(2,6,9,.65)),linear-gradient(180deg,rgba(2,5,8,.6),transparent 17%,transparent 75%,rgba(1,4,6,.82))}
.scene-backdrop__noise{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:soft-light}
.app-shell{position:relative;z-index:5;height:100%;pointer-events:none}
.topbar,.side-panel,.bottom-console,.lab-overlay,.modal-root,.boot-screen{pointer-events:auto}
.micro-label,.console-label,.panel-kicker,.physics-hud__kicker,.scene-state,.science-chip,.level-badge{font-family:var(--mono);font-size:8px;letter-spacing:.12em;font-weight:500}
.micro-label{color:var(--muted)}.micro-label b{color:var(--accent);font-weight:400}
.icon-button,.panel-close,.mini-close,.scene-small-button,.console-button,.console-icon-button,.text-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:1px;background:rgba(9,18,24,.6);color:var(--soft);transition:border-color .16s,background .16s,color .16s,opacity .16s}
.icon-button:hover,.panel-close:hover,.mini-close:hover,.scene-small-button:hover,.console-button:hover,.console-icon-button:hover,.text-button:hover{border-color:var(--line3);color:var(--text);background:rgba(30,57,69,.38)}
.icon-button svg,.panel-close svg,.scene-small-button svg,.console-icon-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.icon-button{width:32px;height:32px;padding:0}
.text-button{width:auto;padding:5px 7px;font-family:var(--mono);font-size:7px;letter-spacing:.08em}.text-button.compact{height:27px}
.panel-close,.mini-close{width:27px;height:27px;padding:0;background:transparent}.mini-close{width:22px;height:22px;font-size:15px;color:var(--muted)}
.mobile-close,.mobile-menu-button{display:none}
.topbar{position:fixed;z-index:40;top:0;left:0;right:0;height:var(--topbar);display:flex;align-items:center;gap:22px;padding:0 22px;border-bottom:1px solid var(--line2);background:linear-gradient(180deg,rgba(4,10,14,.95),rgba(4,10,14,.45) 75%,transparent)}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand-mark{position:relative;width:32px;height:32px;border:1px solid rgba(145,200,221,.26);border-radius:50%}
.brand-mark__ring{position:absolute;inset:6px;border:1px solid rgba(145,200,221,.6);border-radius:50%}
.brand-mark__bore{position:absolute;left:12px;top:12px;width:6px;height:6px;border:1px solid var(--cyan);border-radius:50%;background:rgba(145,228,255,.18)}
.brand-mark__axis{position:absolute;left:15px;top:-4px;width:1px;height:40px;background:linear-gradient(transparent,rgba(145,228,255,.45),transparent)}
.brand-title{color:var(--text);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.115em;white-space:nowrap}
.brand-title span{color:var(--cyan)}.brand-title i{color:var(--muted);font-style:normal}
.brand-sub{margin-top:4px;color:var(--muted);font-family:var(--cn);font-size:8px;letter-spacing:.08em;white-space:nowrap}
.mode-tabs{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:3px;border:1px solid var(--line);background:rgba(4,10,14,.72)}
.mode-tab{position:relative;display:flex;align-items:center;gap:8px;min-width:132px;height:38px;padding:0 12px;border:0;color:var(--muted);background:transparent;text-align:left;transition:.18s}
.mode-tab::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:1px;background:transparent}
.mode-tab:hover{color:var(--soft);background:rgba(120,180,201,.035)}
.mode-tab.is-active{color:var(--text);background:rgba(117,194,217,.075)}
.mode-tab.is-active::after{background:var(--accent);box-shadow:0 0 12px rgba(var(--accent-rgb),.55)}
.mode-tab__index{color:var(--deep);font-family:var(--mono);font-size:7px}.mode-tab.is-active .mode-tab__index{color:var(--accent)}
.mode-tab__title{font-family:var(--cn);font-size:11px;letter-spacing:.08em;white-space:nowrap}
.mode-tab__en{color:var(--deep);font-family:var(--mono);font-size:6px;letter-spacing:.08em}.mode-tab.is-active .mode-tab__en{color:var(--muted)}html[lang="en"] .mode-tab__en{display:none}
.top-actions{display:flex;align-items:center;gap:9px;margin-left:auto}
.field-switch,.lang-switch{display:flex;align-items:center;gap:3px;height:28px;padding:3px;border:1px solid var(--line);background:rgba(5,11,15,.48)}
.field-switch .micro-label{padding:0 5px}
.field-btn,.lang-btn{height:20px;padding:0 7px;border:0;color:var(--muted);background:transparent;font-family:var(--mono);font-size:8px}
.field-btn.is-active,.lang-btn.is-active{background:rgba(var(--accent-rgb),.1);color:var(--accent)}
.field-btn:hover,.lang-btn:hover{color:var(--text)}
.question-mark{font-family:var(--mono);font-size:12px;color:var(--muted)}
.top-action-button{width:30px;height:30px}.top-action-button:hover .question-mark{color:var(--text)}
.side-panel{position:fixed;z-index:22;top:84px;bottom:var(--panel-bottom);display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:2px;background:linear-gradient(135deg,rgba(31,61,75,.12),transparent 34%),linear-gradient(180deg,var(--panel),var(--panel2));box-shadow:0 26px 70px -36px rgba(0,0,0,.9),inset 0 1px 0 rgba(213,244,255,.025);backdrop-filter:blur(22px) saturate(.9);-webkit-backdrop-filter:blur(22px) saturate(.9)}
.left-panel{left:var(--gap);width:var(--left)}.right-panel{right:var(--gap);width:var(--right)}
.panel-chrome{position:absolute;z-index:2;width:10px;height:10px;pointer-events:none}
.panel-chrome--tl{top:-1px;left:-1px;border-top:1px solid rgba(var(--accent-rgb),.75);border-left:1px solid rgba(var(--accent-rgb),.75)}
.panel-chrome--br{right:-1px;bottom:-1px;border-right:1px solid rgba(var(--accent-rgb),.6);border-bottom:1px solid rgba(var(--accent-rgb),.6)}
.panel-header{position:relative;flex:0 0 auto;display:flex;justify-content:space-between;gap:10px;padding:17px 17px 14px;border-bottom:1px solid var(--line2)}
.panel-kicker{display:flex;align-items:center;gap:9px;color:var(--accent)}
.panel-rule{display:inline-block;width:28px;height:1px;background:linear-gradient(90deg,var(--line3),transparent)}
.panel-header h1{margin:10px 0 0;color:var(--text);font-family:var(--cn);font-size:20px;font-weight:500;letter-spacing:.08em}
.panel-subtitle{margin:6px 0 0;color:var(--muted);font-family:var(--cn);font-size:9px;line-height:1.6;letter-spacing:.025em}
.panel-scroll{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(130,187,210,.27) transparent}
.panel-scroll::-webkit-scrollbar{width:3px}.panel-scroll::-webkit-scrollbar-thumb{background:rgba(130,187,210,.27)}
.panel-footer{flex:0 0 auto;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 17px;border-top:1px solid var(--line2);background:rgba(2,7,10,.24)}
.panel-footer #left-footer-note,.panel-footer #right-footer-label{color:var(--deep);font-family:var(--mono);font-size:7px;letter-spacing:.06em}
.panel-footer .science-chip{font-size:6px;padding:3px 5px}
.tree-group{border-bottom:1px solid var(--line2)}.tree-group:last-child{border-bottom:0}
.tree-category{display:flex;align-items:center;gap:8px;width:100%;height:29px;padding:0 17px;border:0;color:var(--muted);background:transparent;text-align:left}
.tree-category:hover{color:var(--soft);background:rgba(120,180,201,.025)}
.tree-category__bar{width:3px;height:11px;flex:0 0 auto;border-radius:2px;background:var(--cat-color,var(--accent));opacity:.8}
.tree-category__label{flex:1;min-width:0;overflow:hidden;font-family:var(--mono);font-size:7px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis}
.tree-category__count{color:var(--deep);font-family:var(--mono);font-size:7px;flex:0 0 auto}
.tree-category__chevron{width:11px;height:11px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;opacity:.55;transition:transform .18s}
.tree-group.is-collapsed .tree-category__chevron{transform:rotate(-90deg)}
.science-chip{display:inline-flex;align-items:center;padding:3px 5px;border:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:6px;letter-spacing:.08em}
.science-chip.level-b{color:#e2c17a;border-color:rgba(226,193,122,.26);background:rgba(226,193,122,.045)}
.text-link{border:0;background:transparent;color:var(--accent);font-family:var(--mono);font-size:7px;letter-spacing:.06em;padding:4px 0;transition:color .15s}
.text-link:hover{color:var(--text)}
.action-button svg{width:12px;height:12px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media(hover:none){.eye-button{opacity:1}}
.tree-items{padding-bottom:3px}.tree-group.is-collapsed .tree-items{display:none}
.tree-item{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 34px;align-items:center;gap:7px;width:100%;min-height:38px;padding:5px 14px 5px 17px;border:0;border-left:2px solid transparent;color:var(--soft);background:transparent;text-align:left;transition:.15s}
.tree-item:hover{background:rgba(110,177,200,.05);color:var(--text)}
.tree-item.is-active{border-left-color:var(--accent);background:linear-gradient(90deg,rgba(var(--accent-rgb),.1),rgba(var(--accent-rgb),.01) 76%,transparent);color:var(--text)}
.tree-item.is-hidden{opacity:.45}
.tree-item__index{align-self:start;padding-top:4px;color:var(--deep);font-family:var(--mono);font-size:7px;letter-spacing:.06em}
.tree-item__copy{min-width:0}
.tree-item__copy b{display:block;overflow:hidden;color:inherit;font-family:var(--cn);font-size:10px;font-weight:500;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.tree-item__copy span{display:block;overflow:hidden;margin-top:3px;color:var(--deep);font-family:var(--mono);font-size:6.5px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.tree-item.is-active .tree-item__copy span{color:var(--muted)}
.tree-item__tail{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.level-dot{width:4px;height:4px;border-radius:50%;background:var(--level-color,var(--muted))}
.eye-button{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;color:var(--deep);background:transparent;opacity:0;transition:.14s}
.tree-item:hover .eye-button,.eye-button.is-hidden{opacity:1}.eye-button:hover{color:var(--text)}
.eye-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.4}
.tree-note{margin:12px 17px 15px;padding:10px;border-left:1px solid rgba(var(--accent-rgb),.34);background:rgba(var(--accent-rgb),.03);color:var(--muted);font-family:var(--cn);font-size:8px;line-height:1.7}
.tree-note b{color:var(--soft);font-weight:500}
.tree-legend{display:flex;flex-wrap:wrap;gap:7px 10px;padding:12px 17px 14px}
.tree-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--deep);font-family:var(--mono);font-size:6.5px}
.tree-legend i{width:4px;height:4px;border-radius:50%}
.dossier-scroll{padding:17px 17px 24px}
.eyebrow{display:flex;align-items:center;gap:8px;color:var(--accent);font-family:var(--mono);font-size:7px;letter-spacing:.1em;line-height:1.4}
.eyebrow::before{content:"";width:15px;height:1px;background:var(--accent);opacity:.6}
.empty-kicker{margin-bottom:16px}
.empty-title{margin:0;font-family:var(--sans);font-size:28px;font-weight:500;line-height:1.1;letter-spacing:-.02em}
.empty-title span{display:block;margin-top:7px;color:var(--muted);font-family:var(--cn);font-size:9px;font-weight:400;letter-spacing:.18em}
.empty-copy{margin:15px 0 0;color:var(--soft);font-family:var(--cn);font-size:10px;line-height:1.8}
.architecture-summary{margin-top:20px;border-top:1px solid var(--line2)}
.arch-row{display:flex;justify-content:space-between;align-items:center;min-height:31px;border-bottom:1px solid var(--line2);color:var(--muted);font-family:var(--cn);font-size:9px}
.arch-row span:first-child{display:inline-flex;align-items:center;gap:7px}.arch-row i{width:5px;height:5px;border-radius:50%;background:var(--row-color,var(--muted))}
.arch-row span:last-child{color:var(--deep);font-family:var(--mono);font-size:7px}
.coord-panel{position:relative;margin-top:18px;padding:12px;border:1px solid var(--line2);background:rgba(2,7,10,.35)}
.coord-title{color:var(--muted);font-family:var(--mono);font-size:7px;letter-spacing:.1em}
.coord-grid{display:grid;grid-template-columns:26px 1fr 1fr;gap:7px 8px;margin-top:10px;align-items:center}
.coord-grid span{color:var(--deep);font-family:var(--mono);font-size:7px}.coord-grid b{color:var(--soft);font-family:var(--mono);font-size:7px;font-weight:400}.coord-grid .coord-highlight{color:var(--accent)}
.howto-panel{margin-top:18px;padding:13px;border-left:1px solid rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.025)}
.howto-panel p{margin:0 0 7px;color:var(--muted);font-family:var(--cn);font-size:8px;line-height:1.7}.howto-panel p:last-child{margin-bottom:0}.howto-panel b{color:var(--soft);font-weight:500}
.model-note{margin-top:16px;color:var(--deep);font-family:var(--mono);font-size:6.5px;line-height:1.7}
.dossier-hero{position:relative;padding-bottom:16px;border-bottom:1px solid var(--line)}
.dossier-hero::after{content:"";position:absolute;left:0;bottom:-1px;width:58px;height:1px;background:var(--accent)}
.dossier-cat{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dossier-cat__name{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-family:var(--mono);font-size:7px;letter-spacing:.1em}
.dossier-cat__name i{width:5px;height:5px;border-radius:50%;background:var(--part-color,var(--accent))}
.level-badge{display:inline-flex;align-items:center;padding:4px 6px;border:1px solid rgba(var(--accent-rgb),.2);color:var(--accent);background:rgba(var(--accent-rgb),.04);font-size:6px}
.level-badge.level-a{color:#7cded0;border-color:rgba(124,222,208,.28);background:rgba(124,222,208,.055)}
.level-badge.level-b{color:#e2c17a;border-color:rgba(226,193,122,.26);background:rgba(226,193,122,.045)}
.level-badge.level-c{color:#d4a57b;border-color:rgba(212,165,123,.25);background:rgba(212,165,123,.04)}
.dossier-index{margin-top:16px;color:var(--deep);font-family:var(--mono);font-size:7px;letter-spacing:.08em}
.dossier-title{margin:8px 0 0;color:var(--text);font-family:var(--cn);font-size:23px;font-weight:500;line-height:1.25;letter-spacing:.045em}
.dossier-title-en{margin:7px 0 0;color:var(--muted);font-family:var(--mono);font-size:8px;line-height:1.4;letter-spacing:.1em}
.dossier-subtitle{margin:13px 0 0;color:var(--soft);font-family:var(--cn);font-size:10px;line-height:1.75}
.dossier-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}
.action-button{display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:0 8px;border:1px solid var(--line);color:var(--muted);background:rgba(3,9,12,.35);font-family:var(--mono);font-size:7px;transition:.14s}
.action-button:hover{color:var(--text);border-color:var(--line3)}.action-button.is-active{color:var(--accent);border-color:rgba(var(--accent-rgb),.38);background:rgba(var(--accent-rgb),.06)}
.dossier-section{margin-top:18px}.dossier-section__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.dossier-section__head .eyebrow{color:var(--muted)}.dossier-section__head .eyebrow::before{background:var(--deep)}
.dossier-section p{margin:0;color:var(--soft);font-family:var(--cn);font-size:9.5px;line-height:1.8}.dossier-section p+p{margin-top:8px}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line2);background:var(--line2)}
.spec-cell{min-height:56px;padding:9px 10px;background:rgba(3,9,13,.65)}
.spec-cell span{display:block;color:var(--deep);font-family:var(--mono);font-size:6.5px}.spec-cell strong{display:block;margin-top:7px;color:var(--soft);font-family:var(--mono);font-size:10px;font-weight:400;line-height:1.3}.spec-cell em{display:block;margin-top:3px;color:var(--deep);font-family:var(--mono);font-size:6px;font-style:normal}
.relation-list{display:flex;flex-wrap:wrap;gap:5px}
.relation-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--line2);color:var(--muted);background:rgba(3,10,14,.3);font-family:var(--cn);font-size:8px;transition:.14s}
.relation-chip:hover{border-color:var(--line3);color:var(--soft)}.relation-chip i{width:4px;height:4px;border-radius:50%;background:var(--deep)}
.impact-note{padding:11px 12px;border-left:1px solid rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.025)}
.impact-note p{color:var(--muted);font-size:9px;line-height:1.75}
.safety-note{margin-top:17px;padding:11px 12px;border:1px solid rgba(232,173,91,.18);background:rgba(199,133,54,.035)}
.safety-note__head{display:flex;align-items:center;gap:6px;color:#dbad6e;font-family:var(--mono);font-size:7px;letter-spacing:.08em}
.safety-note__head i{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center;border:1px solid rgba(232,173,91,.4);border-radius:50%;font-size:8px;font-style:normal}
.safety-note p{margin:7px 0 0;color:var(--muted);font-family:var(--cn);font-size:8.5px;line-height:1.7}
.source-list{display:flex;flex-direction:column;gap:6px}
.source-link{display:flex;gap:7px;color:var(--muted);font-family:var(--mono);font-size:7px;line-height:1.4;text-decoration:none;transition:.14s}.source-link:hover{color:var(--accent)}.source-link span{color:var(--deep)}.source-link b{font-weight:400}
.level-disclaimer{margin-top:17px;padding-top:12px;border-top:1px solid var(--line2);color:var(--deep);font-family:var(--cn);font-size:7.5px;line-height:1.7}.level-disclaimer b{color:var(--muted);font-weight:500}
.dossier-footnote{margin-top:16px;color:var(--deep);font-family:var(--mono);font-size:6.5px;line-height:1.7}
.viewport-ui{position:fixed;inset:0;z-index:15;pointer-events:none}
.viewport-ui button,.viewport-ui select,.viewport-ui input,.viewport-ui a,.callout{pointer-events:auto}
.scene-topline{position:fixed;z-index:16;top:84px;left:calc(var(--gap) + var(--left) + 16px);right:calc(var(--gap) + var(--right) + 16px);display:flex;align-items:center;justify-content:space-between;gap:12px}
.scene-state{display:flex;align-items:center;gap:8px;height:26px;padding:0 9px;border:1px solid var(--line2);color:var(--soft);background:rgba(4,10,14,.52);backdrop-filter:blur(10px)}
.scene-state__dot{width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px rgba(var(--accent-rgb),.6)}
.scene-state__divider{width:1px;height:9px;background:var(--line)}.scene-state__detail{color:var(--deep);font-size:7px;letter-spacing:.06em}
.scene-actions{display:flex;gap:4px}
.scene-small-button{height:26px;padding:0 7px;color:var(--muted);background:rgba(4,10,14,.48);font-family:var(--mono);font-size:7px;backdrop-filter:blur(10px)}.scene-small-button svg{width:12px;height:12px}
.scene-small-button[aria-pressed="false"]{opacity:.65}
.isocenter-tag{position:fixed;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;color:rgba(var(--accent-rgb),.45);font-family:var(--mono);font-size:6px;letter-spacing:.1em;opacity:.8;pointer-events:none}
.isocenter-tag__cross{position:relative;width:13px;height:13px;border:1px solid rgba(var(--accent-rgb),.33);border-radius:50%}
.isocenter-tag__cross::before,.isocenter-tag__cross::after{content:"";position:absolute;background:rgba(var(--accent-rgb),.4)}
.isocenter-tag__cross::before{left:-4px;right:-4px;top:5px;height:1px}.isocenter-tag__cross::after{top:-4px;bottom:-4px;left:5px;width:1px}
.interaction-hint{position:fixed;z-index:11;left:calc(var(--gap) + var(--left) + 18px);bottom:calc(var(--console) + var(--console-bottom) + 26px);display:flex;align-items:center;gap:8px;color:var(--deep);font-family:var(--cn);font-size:8px;pointer-events:none}
.interaction-hint__mouse{width:16px;height:21px;border:1px solid var(--line);border-radius:8px;position:relative}.interaction-hint__mouse::after{content:"";position:absolute;left:7px;top:4px;width:1px;height:5px;background:var(--muted)}
.axis-readout{position:fixed;z-index:11;right:calc(var(--gap) + var(--right) + 18px);bottom:calc(var(--console) + var(--console-bottom) + 24px);width:166px;pointer-events:none}
.axis-readout>div{display:flex;justify-content:space-between;gap:10px;padding:2px 0;color:var(--deep);font-family:var(--mono);font-size:6px}
.axis-readout>div span{color:var(--muted)}.axis-readout>div b{color:var(--deep);font-weight:400}
.axis-readout__iso{margin-top:7px;padding-top:7px!important;border-top:1px solid var(--line2);align-items:center;justify-content:flex-start!important}.axis-readout__iso i{width:4px;height:4px;border-radius:50%;background:var(--accent)}.axis-readout__iso span{font-size:6px}
.callout-layer{position:fixed;inset:0;z-index:13;pointer-events:none}
.leader-layer{position:fixed;inset:0;z-index:12;width:100%;height:100%;overflow:visible;pointer-events:none}
.leader-layer path{fill:none;stroke:rgba(var(--accent-rgb),.38);stroke-width:1;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}.leader-layer circle{fill:var(--accent);opacity:.6}
.leader-layer g.is-active path{stroke:rgba(var(--accent-rgb),.72);stroke-dasharray:none}.leader-layer g.is-active circle{opacity:1;filter:drop-shadow(0 0 3px rgba(var(--accent-rgb),.7))}
.callout{position:fixed;width:170px;padding:6px 8px 6px 9px;border:1px solid rgba(148,200,219,.18);border-left:1px solid rgba(var(--accent-rgb),.55);background:linear-gradient(90deg,rgba(7,17,23,.91),rgba(4,11,16,.72));color:var(--soft);font-family:var(--cn);text-align:left;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s,border-color .16s;backdrop-filter:blur(8px);pointer-events:none;will-change:left,top}
.callout.is-visible{opacity:1;transform:none;pointer-events:auto}.callout:hover,.callout.is-active{border-color:rgba(var(--accent-rgb),.44);background:linear-gradient(90deg,rgba(12,29,36,.96),rgba(5,14,20,.84))}
.callout{overflow:hidden}.callout__row{display:flex;align-items:baseline;gap:6px;min-width:0;overflow:hidden}.callout__index{color:var(--accent);font-family:var(--mono);font-size:7px;flex:0 0 auto}.callout__name{overflow:hidden;color:var(--text);font-size:9px;font-weight:500;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis}
.callout__en{overflow:hidden;margin:3px 0 0 17px;color:var(--deep);font-family:var(--mono);font-size:6px;text-overflow:ellipsis;white-space:nowrap}.callout__meta{overflow:hidden;margin:4px 0 0 17px;color:var(--muted);font-family:var(--mono);font-size:6px;text-overflow:ellipsis;white-space:nowrap}
.callout::after{content:"";position:absolute;top:50%;width:5px;height:1px;background:var(--accent);opacity:.7}.callout[data-side="left"]::after{right:-6px}.callout[data-side="right"]::after{left:-6px}
.focus-reticle{position:fixed;z-index:14;width:100px;height:100px;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:opacity .18s;will-change:left,top,width,height}.focus-reticle.is-visible{opacity:1}
.reticle-corner{position:absolute;width:12px;height:12px;border-color:rgba(var(--accent-rgb),.7);border-style:solid;filter:drop-shadow(0 0 4px rgba(var(--accent-rgb),.25))}
.reticle-corner--tl{left:0;top:0;border-width:1px 0 0 1px}.reticle-corner--tr{right:0;top:0;border-width:1px 1px 0 0}.reticle-corner--bl{left:0;bottom:0;border-width:0 0 1px 1px}.reticle-corner--br{right:0;bottom:0;border-width:0 1px 1px 0}
.reticle-cross{position:absolute;left:50%;top:50%;background:rgba(var(--accent-rgb),.26);transform:translate(-50%,-50%)}.reticle-cross--h{width:16px;height:1px}.reticle-cross--v{width:1px;height:16px}
.reticle-caption{position:absolute;left:0;bottom:-16px;color:rgba(var(--accent-rgb),.65);font-family:var(--mono);font-size:6px;letter-spacing:.06em;white-space:nowrap}
.physics-hud{position:fixed;z-index:13;top:124px;left:calc(var(--gap) + var(--left) + 22px);width:305px;padding:11px 12px;border:1px solid var(--line2);background:rgba(4,11,15,.62);backdrop-filter:blur(12px);pointer-events:none}
.physics-hud__kicker{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}
.physics-formula{margin-top:10px;color:var(--text);font-family:var(--mono);font-size:15px;line-height:1.4}.physics-caption{margin-top:7px;color:var(--muted);font-family:var(--cn);font-size:8px;line-height:1.6}
.physics-legend{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:9px}.physics-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--deep);font-family:var(--mono);font-size:6.5px}.physics-legend i{width:12px;height:2px;background:var(--legend-color,var(--accent))}.physics-legend .legend-gradient{width:120px;height:5px;background:linear-gradient(90deg,#5f8fff,#dfeaf0 50%,#ff9c55)}
.section-legend{position:fixed;z-index:13;left:calc(var(--gap) + var(--left) + 22px);top:124px;width:194px;padding:10px;border:1px solid var(--line2);background:rgba(4,10,14,.72);backdrop-filter:blur(12px);pointer-events:auto}
.section-legend__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.section-legend__row{display:flex;align-items:center;gap:7px;min-height:21px;border-top:1px solid var(--line2);color:var(--muted);font-family:var(--mono);font-size:6.5px;line-height:1.2}.section-legend__row:first-child{border-top:0}.section-legend__row i{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--row-color)}.section-legend__row span:last-child{margin-left:auto;color:var(--deep)}
.toast{position:fixed;z-index:70;left:50%;bottom:calc(var(--console) + var(--console-bottom) + 24px);transform:translate(-50%,5px);padding:6px 10px;border:1px solid rgba(var(--accent-rgb),.25);color:var(--accent);background:rgba(3,10,14,.9);font-family:var(--mono);font-size:7px;opacity:0;pointer-events:none;transition:.16s;white-space:nowrap}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.bottom-console{position:fixed;z-index:35;left:var(--gap);right:var(--gap);bottom:var(--console-bottom);height:var(--console);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:2px;background:linear-gradient(135deg,rgba(31,60,74,.12),transparent 28%),rgba(4,10,14,.9);box-shadow:0 22px 55px -24px rgba(0,0,0,.85),inset 0 1px 0 rgba(214,245,255,.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.console-row{display:flex;align-items:stretch;min-width:0}
.console-row--main{flex:1 1 auto;padding:10px 13px 8px;gap:18px;border-bottom:1px solid var(--line2);overflow:hidden}
.console-block{display:flex;flex-direction:column;justify-content:center;min-width:0}.display-block{flex:1.15 1 auto}.transport-block{flex:1 1 340px;min-width:280px}
.console-label{display:flex;align-items:center;gap:5px;margin-bottom:7px;color:var(--deep);font-size:7px;white-space:nowrap}.console-label b{color:var(--accent);font-weight:400}
.display-modes{display:flex;flex-wrap:wrap;gap:3px}
.mode-chip{display:inline-flex;align-items:center;gap:5px;height:25px;padding:0 8px;border:1px solid var(--line2);color:var(--muted);background:rgba(8,16,21,.5);font-family:var(--cn);font-size:8px;white-space:nowrap;transition:.15s}.mode-chip span{color:var(--deep);font-family:var(--mono);font-size:6px}.mode-chip:hover{border-color:var(--line3);color:var(--soft)}.mode-chip.is-active{border-color:rgba(var(--accent-rgb),.38);color:var(--text);background:rgba(var(--accent-rgb),.075)}.mode-chip.is-active span{color:var(--accent)}
.transport-controls{display:flex;align-items:center;gap:5px}
.transport-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:25px;padding:0;border:1px solid var(--line2);color:var(--muted);background:rgba(7,14,19,.65)}.transport-btn:hover{color:var(--text);border-color:var(--line3)}.transport-btn svg{width:12px;height:12px;fill:currentColor}
.transport-btn--play{color:var(--text);border-color:rgba(var(--accent-rgb),.25)}.transport-btn--play .pause-icon{display:none}.transport-btn--play.is-playing .play-icon{display:none}.transport-btn--play.is-playing .pause-icon{display:block}
.timeline-wrap{position:relative;flex:1 1 auto;min-width:110px;height:27px;display:flex;align-items:center;gap:9px;padding:0 2px}
.timeline-ticks{position:absolute;left:0;right:58px;top:17px;display:flex;justify-content:space-between;padding:0 1px;pointer-events:none}.timeline-ticks i{width:1px;height:3px;background:rgba(129,180,201,.25)}
.timeline-range{position:relative;z-index:2;width:100%;height:18px;margin:0;background:transparent;-webkit-appearance:none;appearance:none}
.timeline-range::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.7) var(--fill,0%),rgba(111,152,169,.18) var(--fill,0%))}
.timeline-range::-moz-range-track{height:2px;background:rgba(111,152,169,.18)}.timeline-range::-moz-range-progress{height:2px;background:rgba(var(--accent-rgb),.7)}
.timeline-range::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:1px solid rgba(var(--accent-rgb),.8);border-radius:50%;background:#0b1c22;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.06);-webkit-appearance:none;appearance:none}
.timeline-range::-moz-range-thumb{width:9px;height:9px;border:1px solid rgba(var(--accent-rgb),.8);border-radius:50%;background:#0b1c22}
.timeline-value{flex:0 0 45px;text-align:right;color:var(--accent);font-family:var(--mono);font-size:8px}
.console-row--sub{flex:0 0 42px;align-items:center;gap:20px;padding:0 13px;overflow-x:auto;scrollbar-width:none}.console-row--sub::-webkit-scrollbar{display:none}
.console-group{display:flex;align-items:center;gap:9px;flex:0 0 auto;white-space:nowrap}.console-group--slider{min-width:147px}.console-group--last{margin-left:auto}
.console-group .micro-label{margin:0;font-size:7px}.console-group .micro-label b{color:var(--soft);margin-left:4px}
.mini-range{width:86px;height:16px;-webkit-appearance:none;appearance:none;background:transparent}
.mini-range::-webkit-slider-runnable-track{height:1px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.7) var(--fill,100%),rgba(111,152,169,.2) var(--fill,100%))}
.mini-range::-webkit-slider-thumb{width:7px;height:7px;margin-top:-3px;border:1px solid var(--accent);border-radius:50%;background:#07141a;-webkit-appearance:none;appearance:none}
.mini-range::-moz-range-track{height:1px;background:rgba(111,152,169,.2)}.mini-range::-moz-range-progress{height:1px;background:rgba(var(--accent-rgb),.7)}.mini-range::-moz-range-thumb{width:6px;height:6px;border:1px solid var(--accent);border-radius:50%;background:#07141a}
.console-select{height:25px;max-width:182px;padding:0 23px 0 7px;border:1px solid var(--line2);border-radius:0;color:var(--muted);background-color:rgba(4,11,15,.64);font-family:var(--mono);font-size:7px;cursor:pointer}.console-select:hover{color:var(--soft);border-color:var(--line3)}.console-select option{background:#071017;color:var(--text)}
.segmented{display:inline-flex;height:25px;border:1px solid var(--line2);background:rgba(4,10,14,.55)}.segmented button{height:23px;padding:0 8px;border:0;color:var(--deep);background:transparent;font-family:var(--mono);font-size:6px}.segmented button.is-active{color:var(--accent);background:rgba(var(--accent-rgb),.075)}
.console-button{height:25px;padding:0 8px;color:var(--muted);font-family:var(--mono);font-size:6.5px}.console-button[aria-pressed="false"]{color:var(--deep)}
.toggle-row{display:flex;gap:3px}.console-icon-button{width:25px;height:25px;padding:0;color:var(--muted)}.console-icon-button.is-active{color:var(--accent);border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.07)}
.physics-console__main{flex:1 1 auto;display:flex;align-items:center;gap:22px;padding:10px 16px 8px;border-bottom:1px solid var(--line2);overflow-x:auto;scrollbar-width:none}.physics-console__main::-webkit-scrollbar{display:none}
.physics-console-name{color:var(--soft);font-family:var(--mono);font-size:8px}
.physics-console-status{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-family:var(--mono);font-size:6.5px}.physics-console-status i{width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}
.physics-subrow{min-height:40px}
.lab-control{display:flex;flex-direction:column;gap:6px;min-width:135px}.lab-control__label{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-family:var(--mono);font-size:7px;white-space:nowrap}.lab-control__label b{color:var(--text);font-weight:400}.lab-control__hint{color:var(--deep);font-family:var(--mono);font-size:6px}
.lab-slider{width:130px;height:16px;-webkit-appearance:none;appearance:none;background:transparent}
.lab-slider::-webkit-slider-runnable-track{height:1px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.7) var(--fill,50%),rgba(111,152,169,.2) var(--fill,50%))}
.lab-slider::-webkit-slider-thumb{width:9px;height:9px;margin-top:-4px;border:1px solid var(--accent);border-radius:50%;background:#07141a;-webkit-appearance:none;appearance:none}
.lab-slider::-moz-range-track{height:1px;background:rgba(111,152,169,.2)}.lab-slider::-moz-range-progress{height:1px;background:rgba(var(--accent-rgb),.7)}.lab-slider::-moz-range-thumb{width:8px;height:8px;border:1px solid var(--accent);border-radius:50%;background:#07141a}
.lab-choice-row{display:flex;gap:3px;flex-wrap:wrap}.lab-choice{height:25px;padding:0 7px;border:1px solid var(--line2);color:var(--muted);background:rgba(4,11,15,.52);font-family:var(--mono);font-size:6.5px}.lab-choice.is-active{border-color:rgba(var(--accent-rgb),.4);color:var(--accent);background:rgba(var(--accent-rgb),.08)}
.lab-play{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;border:1px solid rgba(var(--accent-rgb),.3);color:var(--accent);background:rgba(var(--accent-rgb),.06)}.lab-play svg{width:13px;height:13px;fill:currentColor}
.lab-readout-inline{display:flex;flex-direction:column;gap:3px;padding-left:14px;border-left:1px solid var(--line2)}.lab-readout-inline span{color:var(--deep);font-family:var(--mono);font-size:6px}.lab-readout-inline b{color:var(--text);font-family:var(--mono);font-size:11px;font-weight:400}
.physics-lab-only{display:flex;gap:14px;align-items:center}
.lab-overlay{position:fixed;z-index:30;left:calc(var(--gap) + var(--left) + 16px);right:calc(var(--gap) + var(--right) + 16px);bottom:calc(var(--console) + var(--console-bottom) + 12px);max-height:248px;min-height:158px;display:flex;flex-direction:column;border:1px solid var(--line);background:rgba(4,10,14,.88);box-shadow:0 16px 44px -20px rgba(0,0,0,.8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.lab-overlay__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:31px;padding:0 10px;border-bottom:1px solid var(--line2)}.lab-overlay__head>div{display:flex;align-items:center;gap:9px}.lab-overlay__title{color:var(--soft);font-family:var(--mono);font-size:7px;letter-spacing:.06em}
.lab-overlay__body{flex:1 1 auto;min-height:0;overflow:auto;padding:10px 12px}
.sequence-layout{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;height:146px;min-height:0;overflow:hidden}.sequence-labels{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:0;padding:3px 0 15px}.sequence-labels span{color:var(--muted);font-family:var(--mono);font-size:6px}.sequence-canvas{width:100%;height:100%;min-height:0;display:block}
.kspace-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 220px;gap:12px;height:185px}.kspace-panel{display:flex;flex-direction:column;min-width:0;gap:5px}.kspace-panel__label{display:flex;justify-content:space-between;color:var(--muted);font-family:var(--mono);font-size:6px}
.kspace-canvas{width:100%;flex:1 1 auto;min-height:0;display:block;background:#03090d;border:1px solid var(--line2);image-rendering:pixelated}
.kspace-info{display:flex;flex-direction:column;justify-content:space-between;padding:2px 0}.kspace-info h4{margin:0;color:var(--soft);font-family:var(--mono);font-size:8px;font-weight:400;letter-spacing:.05em}.kspace-info p{margin:6px 0 0;color:var(--muted);font-family:var(--cn);font-size:8px;line-height:1.65}
.kspace-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.kspace-metrics div{padding:6px 7px;border:1px solid var(--line2);background:rgba(5,12,16,.5)}.kspace-metrics span{display:block;color:var(--deep);font-family:var(--mono);font-size:5.5px}.kspace-metrics b{display:block;margin-top:3px;color:var(--soft);font-family:var(--mono);font-size:8px;font-weight:400}.kspace-warning{margin-top:8px;color:var(--orange);font-family:var(--mono);font-size:6px;line-height:1.5}
.modal-root{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.modal-backdrop{position:absolute;inset:0;background:rgba(1,4,6,.78);backdrop-filter:blur(7px)}.modal-window{position:relative;width:min(880px,100%);max-height:min(760px,86vh);display:flex;flex-direction:column;border:1px solid rgba(136,190,210,.22);background:linear-gradient(150deg,rgba(11,23,30,.98),rgba(3,9,13,.99));box-shadow:0 35px 100px rgba(0,0,0,.65)}
.modal-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 0}.modal-tabs{display:flex;flex-wrap:wrap;gap:3px;padding:12px 16px 0}.modal-tab{height:29px;padding:0 10px;border:1px solid var(--line2);color:var(--muted);background:transparent;font-family:var(--cn);font-size:9px}.modal-tab:hover{color:var(--soft);border-color:var(--line)}.modal-tab.is-active{color:var(--text);border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.07)}
.modal-title{margin:16px 20px 0;color:var(--text);font-family:var(--sans);font-size:27px;font-weight:500;letter-spacing:-.01em}.modal-content{padding:16px 20px 24px;overflow-y:auto;color:var(--soft);font-family:var(--cn);font-size:10px;line-height:1.8}
.modal-content h3{margin:19px 0 7px;color:var(--text);font-family:var(--mono);font-size:8px;font-weight:500;letter-spacing:.1em}.modal-content h3:first-child{margin-top:0}.modal-content p{margin:0 0 9px;color:var(--muted)}.modal-content p:last-child{margin-bottom:0}.modal-content ul{margin:0 0 10px;padding-left:16px;color:var(--muted)}.modal-content li{margin-bottom:5px}.modal-content b{color:var(--soft);font-weight:500}.modal-content a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(var(--accent-rgb),.22)}.modal-content a:hover{border-bottom-color:var(--accent)}
.modal-source{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:11px 0;border-top:1px solid var(--line2)}.modal-source:first-child{border-top:0}.modal-source__key{color:var(--accent);font-family:var(--mono);font-size:7px}.modal-source__title{color:var(--soft);font-family:var(--mono);font-size:8px}.modal-source__meta{color:var(--deep);font-family:var(--mono);font-size:6.5px;margin-top:3px}.modal-source p{color:var(--muted);font-size:9px;margin-top:5px}
.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.safety-card{padding:12px;border:1px solid rgba(204,157,92,.17);background:rgba(130,82,31,.035)}.safety-card h4{margin:0 0 6px;color:#e0b373;font-family:var(--mono);font-size:8px;font-weight:400}.safety-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.7}
.glossary-row{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--line2)}.glossary-row:first-child{border-top:0}.glossary-term{color:var(--accent);font-family:var(--mono);font-size:8px}.glossary-desc{color:var(--muted);font-size:9px}
.assumption-list{margin:7px 0 0;padding:0;list-style:none}.assumption-list li{position:relative;margin:0 0 6px;padding-left:13px;color:var(--muted);font-size:9px;line-height:1.65}.assumption-list li::before{content:"—";position:absolute;left:0;color:var(--deep)}
.boot-screen{position:fixed;z-index:200;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse 55% 50% at 50% 48%,rgba(18,45,57,.48),transparent 70%),#020508;transition:opacity .7s,visibility .7s}.boot-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.boot-core{width:min(420px,calc(100vw - 48px));text-align:center}.boot-orbit{position:relative;width:64px;height:64px;margin:0 auto 28px;border:1px solid rgba(145,228,255,.22);border-radius:50%}.boot-orbit i{position:absolute;left:50%;top:50%;border:1px solid rgba(145,228,255,.38);border-radius:50%;transform:translate(-50%,-50%)}.boot-orbit i:nth-child(1){width:42px;height:42px;border-color:rgba(125,201,223,.4)}.boot-orbit i:nth-child(2){width:22px;height:22px;border-color:rgba(145,228,255,.55);animation:bootPulse 1.8s ease-in-out infinite}.boot-orbit i:nth-child(3){width:5px;height:5px;border:0;background:var(--cyan);box-shadow:0 0 14px rgba(145,228,255,.8)}
.boot-orbit::before,.boot-orbit::after{content:"";position:absolute;left:50%;top:-7px;bottom:-7px;width:1px;background:linear-gradient(transparent,rgba(145,228,255,.25),transparent);transform:translateX(-50%)}.boot-orbit::after{transform:translateX(-50%) rotate(90deg)}
@keyframes bootPulse{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(.9)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
.boot-brand{color:var(--text);font-family:var(--mono);font-size:15px;letter-spacing:.11em}.boot-brand span{color:var(--cyan)}.boot-sub{margin-top:9px;color:var(--muted);font-family:var(--mono);font-size:7px;letter-spacing:.08em}.boot-progress{height:1px;margin-top:34px;background:rgba(137,181,201,.18);overflow:hidden}.boot-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,rgba(93,162,188,.3),var(--cyan));box-shadow:0 0 12px rgba(145,228,255,.4);transition:width .24s}.boot-status{display:flex;justify-content:space-between;margin-top:10px;color:var(--muted);font-family:var(--mono);font-size:6.5px;letter-spacing:.06em}.boot-status b{color:var(--cyan);font-weight:400}.boot-disclaimer{margin-top:56px;color:var(--deep);font-family:var(--mono);font-size:6px;letter-spacing:.08em}
body.is-booting .app-shell>header,body.is-booting .side-panel,body.is-booting .bottom-console,body.is-booting .viewport-ui{opacity:0}body.is-ready .app-shell>header,body.is-ready .side-panel,body.is-ready .bottom-console,body.is-ready .viewport-ui{opacity:1;transition:opacity .7s}
.noscript{position:fixed;z-index:300;inset:0;display:grid;place-items:center;background:#020508;color:var(--text);font-family:var(--mono)}
[hidden]{display:none!important}
.mobile-scrim{display:none}
@media(max-width:1279px){:root{--left:264px;--right:312px;--gap:16px;--console:130px}.brand-sub{max-width:250px;overflow:hidden;text-overflow:ellipsis}.topbar{gap:14px;padding:0 16px}.mode-tab{min-width:118px;padding:0 9px}.mode-tab__en{display:none}.console-row--main{gap:12px;padding-left:10px;padding-right:10px}.console-row--sub{gap:12px;padding-left:10px;padding-right:10px}.physics-hud{width:275px}}
@media(max-width:1080px){:root{--console:142px;--console-bottom:12px;--topbar:60px;--panel-bottom:calc(var(--console) + var(--console-bottom))}.topbar{height:60px;padding:0 14px}.brand-title{font-size:10px}.brand-sub{display:none}.mode-tab{min-width:102px;height:34px}.mode-tab__index{display:none}.mobile-menu-button,.mobile-close{display:inline-flex}.side-panel{top:0;bottom:0;z-index:80;transition:transform .28s cubic-bezier(.22,.7,.25,1);box-shadow:0 30px 100px rgba(0,0,0,.7)}.left-panel{left:0;width:min(310px,calc(100vw - 48px));transform:translateX(-105%);border-left:0}.right-panel{right:0;width:min(340px,calc(100vw - 48px));transform:translateX(105%);border-right:0}body.left-open .left-panel{transform:none}body.right-open .right-panel{transform:none}.mobile-scrim{display:block;position:fixed;z-index:70;inset:0;background:rgba(1,4,6,.66);opacity:0;visibility:hidden;pointer-events:none;transition:.22s}body.left-open .mobile-scrim,body.right-open .mobile-scrim{opacity:1;visibility:visible;pointer-events:auto}
.scene-topline{left:14px;right:14px;top:76px}.physics-hud,.section-legend{left:14px;top:110px}.interaction-hint{left:14px;bottom:calc(var(--console) + var(--console-bottom) + 22px)}.axis-readout{right:14px;bottom:calc(var(--console) + var(--console-bottom) + 20px)}.lab-overlay{left:14px;right:14px;bottom:calc(var(--console) + var(--console-bottom) + 10px)}.field-switch{display:none}
.console-row--main{flex-direction:column;gap:6px;justify-content:center}.console-block{width:100%}.display-modes{flex-wrap:nowrap;overflow-x:auto;padding-bottom:1px;scrollbar-width:none}.display-modes::-webkit-scrollbar{display:none}.transport-block{min-width:0}.console-label{margin-bottom:5px}.bottom-console{left:12px;right:12px}.console-row--sub{flex-wrap:nowrap;overflow-x:auto}.console-group--last{margin-left:0}}
@media(max-width:760px){:root{--console:156px;--console-bottom:8px;--topbar:88px}.topbar{flex-wrap:wrap;align-content:center;height:88px;gap:8px;padding:7px 12px 8px}.brand{flex:1 1 auto;gap:8px}.brand-mark{width:26px;height:26px}.brand-mark__ring{inset:5px}.brand-mark__bore{left:9px;top:9px;width:5px;height:5px}.brand-mark__axis{left:12px;height:32px;top:-3px}.brand-title{font-size:9px;letter-spacing:.07em}.brand-title i{display:none}.brand-copy{flex:0 1 auto;overflow:hidden}.top-actions{gap:4px}.lang-switch{height:25px;padding:2px}.lang-btn{height:18px;padding:0 4px;font-size:7px}.top-action-button{width:27px;height:27px}.top-action-button svg{width:13px;height:13px}.mode-tabs{position:static;transform:none;order:3;width:100%;height:32px;gap:2px;border-left:0;border-right:0}.mode-tab{flex:1;justify-content:center;min-width:0;height:30px;padding:0 8px}.mode-tab__title{font-size:10px}
.scene-topline{top:100px;left:8px;right:8px}.scene-state{height:24px;padding:0 7px;font-size:7px;gap:6px}.scene-state__detail,.scene-state__divider{display:none}.scene-small-button{height:24px;padding:0 6px}.scene-small-button span{display:none}.physics-hud,.section-legend{left:8px;top:134px;width:min(285px,calc(100vw - 16px))}.physics-formula{font-size:12px}.interaction-hint,.axis-readout{display:none}.bottom-console{left:8px;right:8px;bottom:var(--console-bottom);height:var(--console)}.console-row--main{padding:9px 8px 6px;gap:7px}.console-row--sub{flex:0 0 34px;gap:11px;padding:0 8px}.console-label{font-size:6px;margin-bottom:4px}.mode-chip{height:23px;font-size:8px}.transport-btn{width:25px;height:23px}.timeline-value{flex-basis:35px;font-size:7px}.timeline-ticks{right:46px;top:15px}.console-group--slider{display:none}.console-select{max-width:155px}.console-group .micro-label{font-size:6px}.lab-overlay{left:8px;right:8px;bottom:calc(var(--console) + var(--console-bottom) + 8px);max-height:240px}.sequence-layout{height:150px;grid-template-columns:41px minmax(0,1fr)}.kspace-layout{height:155px;grid-template-columns:1fr 1fr}.kspace-info{grid-column:1/-1;display:none}.modal-root{padding:10px}.modal-window{max-height:calc(100dvh - 20px)}.modal-title{margin-left:14px;margin-right:14px;font-size:22px}.modal-content{padding-left:14px;padding-right:14px}.safety-grid{grid-template-columns:1fr}.modal-source{grid-template-columns:70px 1fr}.boot-sub{font-size:6px}}
@media(max-width:760px){
.section-legend{width:174px;padding:8px 9px;cursor:pointer}
.section-legend.is-collapsed{width:auto;padding:6px 8px}
.section-legend.is-collapsed #section-legend-content{display:none}
.section-legend.is-collapsed .section-legend__head{margin-bottom:0}
.section-legend.is-collapsed .micro-label::after{content:"  +";color:var(--accent)}
.section-legend.is-collapsed .mini-close{pointer-events:none;opacity:.55}
}
@media(max-width:420px){.brand-title{max-width:120px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mode-tab__title{font-size:9px}.modal-tab{font-size:8px;padding:0 7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ==========================================================================
   LEGIBILITY PASS — larger interface type and touch-friendly control sizing
   ========================================================================== */
:root {
  --left: 318px;
  --right: 374px;
  --console: 150px;
}

.micro-label,
.console-label,
.panel-kicker,
.physics-hud__kicker,
.scene-state,
.science-chip,
.level-badge {
  font-size: 9.5px;
  letter-spacing: .09em;
}

.brand-title { font-size: 13px; letter-spacing: .10em; }
.brand-sub { font-size: 10px; line-height: 1.45; }
.mode-tab { min-width: 142px; height: 42px; }
.mode-tab__index { font-size: 8px; }
.mode-tab__title { font-size: 13px; }
.mode-tab__en { font-size: 7.5px; }
.field-switch, .lang-switch { height: 30px; }
.field-btn, .lang-btn { height: 22px; padding: 0 8px; font-size: 9px; }
.top-action-button { width: 32px; height: 32px; }
.question-mark { font-size: 14px; }
.panel-close { width: 30px; height: 30px; }

.panel-header { padding: 19px 18px 16px; }
.panel-kicker { font-size: 9px; }
.panel-header h1 { margin-top: 11px; font-size: 24px; }
.panel-subtitle { margin-top: 7px; font-size: 10.5px; line-height: 1.65; }
.panel-footer { min-height: 48px; padding: 0 18px; }
.panel-footer #left-footer-note,
.panel-footer #right-footer-label { font-size: 8px; line-height: 1.4; }
.panel-footer .science-chip { font-size: 7px; padding: 4px 6px; }
.text-link { font-size: 8px; padding: 6px 0; }

.tree-category { height: 34px; padding: 0 18px; }
.tree-category__bar { height: 13px; }
.tree-category__label { font-size: 9px; }
.tree-category__count { font-size: 8px; }
.tree-category__chevron { width: 12px; height: 12px; }
.tree-item {
  grid-template-columns: 27px minmax(0, 1fr) 38px;
  min-height: 48px;
  padding: 7px 14px 7px 16px;
  gap: 7px;
}
.tree-item__index { padding-top: 5px; font-size: 8.5px; }
.tree-item__copy b { font-size: 13px; line-height: 1.35; }
.tree-item__copy span { margin-top: 3px; font-size: 9px; line-height: 1.25; }
.tree-item__tail { gap: 5px; }
.level-dot { width: 5px; height: 5px; }
.eye-button { width: 26px; height: 26px; }
.eye-button svg { width: 15px; height: 15px; }
.tree-note { padding: 11px; font-size: 9.5px; line-height: 1.75; }
.tree-legend { gap: 8px 12px; padding: 13px 18px 15px; }
.tree-legend span { font-size: 8px; }

.dossier-scroll { padding: 18px 18px 28px; }
.eyebrow { font-size: 8.5px; letter-spacing: .08em; }
.empty-title { font-size: 30px; }
.empty-title span { font-size: 10.5px; }
.empty-copy { font-size: 11px; line-height: 1.8; }
.arch-row { min-height: 35px; font-size: 10.5px; }
.arch-row span:last-child { font-size: 8px; }
.coord-panel { padding: 13px; }
.coord-title { font-size: 8.5px; }
.coord-grid { gap: 8px 9px; margin-top: 11px; }
.coord-grid span, .coord-grid b { font-size: 8.5px; }
.howto-panel { padding: 14px; }
.howto-panel p { font-size: 10px; line-height: 1.75; }
.model-note { font-size: 8px; line-height: 1.75; }
.dossier-cat__name { font-size: 8.5px; }
.level-badge { padding: 5px 7px; font-size: 7.5px; }
.dossier-index { margin-top: 17px; font-size: 8.5px; }
.dossier-title { font-size: 26px; }
.dossier-title-en { font-size: 9.5px; }
.dossier-subtitle { margin-top: 14px; font-size: 11.5px; line-height: 1.75; }
.dossier-actions { gap: 6px; margin-top: 15px; }
.action-button { min-height: 31px; padding: 0 10px; gap: 6px; font-size: 9px; }
.action-button svg { width: 13px; height: 13px; }
.dossier-section { margin-top: 20px; }
.dossier-section p { font-size: 11px; line-height: 1.78; }
.spec-cell { min-height: 65px; padding: 10px 11px; }
.spec-cell span { font-size: 7.5px; }
.spec-cell strong { margin-top: 7px; font-size: 11.5px; line-height: 1.4; }
.spec-cell em { font-size: 7px; }
.relation-chip { padding: 6px 8px; font-size: 9.5px; }
.impact-note { padding: 12px 13px; }
.impact-note p { font-size: 10.5px; line-height: 1.75; }
.safety-note { padding: 12px 13px; }
.safety-note__head { font-size: 8.5px; }
.safety-note p { font-size: 10px; line-height: 1.72; }
.source-link { font-size: 8.5px; line-height: 1.5; }
.level-disclaimer { font-size: 8.5px; line-height: 1.75; }
.dossier-footnote { font-size: 7.5px; line-height: 1.7; }

.scene-state { height: 28px; padding: 0 10px; font-size: 9px; }
.scene-state__detail { font-size: 8px; }
.scene-small-button { height: 28px; padding: 0 9px; font-size: 8px; }
.scene-small-button svg { width: 13px; height: 13px; }
.isocenter-tag { font-size: 7px; }
.interaction-hint { font-size: 9.5px; }
.axis-readout > div { font-size: 7.5px; }
.axis-readout__iso span { font-size: 7.5px; }
.physics-hud { width: 340px; padding: 14px; }
.physics-hud__kicker { font-size: 9px; }
.physics-formula { font-size: 17px; }
.physics-caption { font-size: 9.5px; line-height: 1.65; }
.physics-legend span { font-size: 8px; }
.section-legend { width: 220px; padding: 12px; }
.section-legend__row { min-height: 25px; font-size: 8px; }
.callout { width: 184px; padding: 8px 10px; }
.callout__index { font-size: 8.5px; }
.callout__name { font-size: 11px; }
.callout__en { margin: 4px 0 0 19px; font-size: 7.5px; }
.callout__meta { margin: 4px 0 0 19px; font-size: 7.5px; }
.reticle-caption { font-size: 7.5px; }
.toast { padding: 7px 12px; font-size: 8.5px; }

.console-row--main { padding: 12px 16px 9px; gap: 20px; }
.console-label { margin-bottom: 8px; font-size: 9px; }
.display-modes { gap: 4px; }
.mode-chip { height: 30px; padding: 0 10px; font-size: 10px; }
.mode-chip span { font-size: 7.5px; }
.transport-btn { width: 30px; height: 29px; }
.transport-btn svg { width: 14px; height: 14px; }
.timeline-wrap { height: 30px; }
.timeline-range { height: 20px; }
.timeline-value { flex-basis: 48px; font-size: 9px; }
.text-button { font-size: 8px; }
.text-button.compact { height: 29px; }
.console-row--sub { flex: 0 0 46px; gap: 22px; padding: 0 16px; }
.console-group { gap: 10px; }
.console-group .micro-label { font-size: 8.5px; }
.console-select { height: 30px; max-width: 210px; font-size: 8.5px; }
.segmented { height: 30px; }
.segmented button { height: 28px; padding: 0 10px; font-size: 7.5px; }
.console-button { height: 30px; padding: 0 10px; font-size: 7.5px; }
.console-icon-button { width: 28px; height: 28px; }
.mini-range { width: 96px; }

.physics-console__main { gap: 22px; padding: 11px 16px 9px; }
.physics-console-name { font-size: 9px; }
.physics-console-status { font-size: 8px; }
.lab-control { min-width: 155px; gap: 7px; }
.lab-control__label { font-size: 8.5px; }
.lab-control__hint { font-size: 7px; line-height: 1.5; }
.lab-slider { width: 145px; height: 18px; }
.lab-choice { height: 28px; padding: 0 8px; font-size: 7.5px; }
.lab-play { width: 34px; height: 32px; }
.lab-play svg { width: 14px; height: 14px; }
.lab-readout-inline { padding-left: 15px; }
.lab-readout-inline span { font-size: 7px; }
.lab-readout-inline b { font-size: 12.5px; }
.lab-overlay { max-height: 260px; min-height: 170px; }
.lab-overlay__title { font-size: 8.5px; }
.lab-overlay__head { min-height: 35px; padding: 0 12px; }
.sequence-labels span { font-size: 8px; }
.kspace-panel__label { font-size: 7.5px; }
.kspace-info h4 { font-size: 9px; }
.kspace-info p { font-size: 9px; line-height: 1.65; }
.kspace-metrics span { font-size: 6.5px; }
.kspace-metrics b { font-size: 9px; }
.kspace-warning { font-size: 7.5px; }
.modal-tab { height: 32px; padding: 0 12px; font-size: 10.5px; }
.modal-title { font-size: 30px; }
.modal-content { font-size: 11.5px; line-height: 1.82; }
.modal-content h3 { font-size: 9.5px; }
.modal-source__key { font-size: 8px; }
.modal-source__title { font-size: 9.5px; }
.modal-source__meta { font-size: 7.5px; }
.modal-source p { font-size: 10.5px; }
.safety-card h4 { font-size: 9.5px; }
.safety-card p { font-size: 10.5px; }
.glossary-term { font-size: 9.5px; }
.glossary-desc { font-size: 10.5px; }
.assumption-list li { font-size: 10.5px; }
.boot-brand { font-size: 16px; }
.boot-sub { font-size: 8px; }
.boot-status { font-size: 8px; }
.boot-disclaimer { font-size: 7px; }

/* Intermediate screens */
@media (max-width: 1279px) {
  :root { --left: 288px; --right: 340px; --console: 152px; }
  .brand-title { font-size: 12px; }
  .brand-sub { font-size: 9px; }
  .mode-tab { min-width: 126px; height: 38px; }
  .mode-tab__title { font-size: 12px; }
  .mode-tab__en { display: none; }
  .panel-header h1 { font-size: 22px; }
  .tree-item__copy b { font-size: 12px; }
  .physics-hud { width: 320px; }
  .console-row--main { gap: 14px; }
  .console-row--sub { gap: 16px; }
}

@media (max-width: 1080px) {
  :root { --console: 172px; --console-bottom: 12px; }
  .brand-title { font-size: 12px; }
  .mode-tab { min-width: 112px; height: 34px; }
  .mode-tab__title { font-size: 11.5px; }
  .mode-tab__index { display: none; }
  .left-panel { width: min(336px, calc(100vw - 48px)); }
  .right-panel { width: min(370px, calc(100vw - 32px)); }
  .panel-header h1 { font-size: 24px; }
  .panel-subtitle { font-size: 10.5px; }
  .console-row--sub { flex: 0 0 44px; }
  .physics-hud { width: 330px; }
}

@media (max-width: 760px) {
  :root { --console: 204px; --console-bottom: 8px; --topbar: 96px; }
  .topbar { height: 96px; }
  .scene-topline { top: 106px; }
  .brand-title { max-width: 140px; font-size: 11px; }
  .brand-mark { width: 28px; height: 28px; }
  .mode-tabs { height: 34px; }
  .mode-tab { height: 31px; }
  .mode-tab__title { font-size: 11px; }
  .top-action-button { width: 29px; height: 29px; }
  .lang-btn { font-size: 8px; }
  .scene-state { height: 26px; font-size: 8px; }
  .physics-hud, .section-legend { top: 142px; width: min(300px, calc(100vw - 16px)); }
  .physics-formula { font-size: 14px; }
  .physics-caption { font-size: 9px; }
  .console-row--main { padding: 10px 8px 7px; gap: 8px; }
  .console-label { font-size: 8px; margin-bottom: 5px; }
  .mode-chip { height: 28px; font-size: 9.5px; }
  .transport-btn { width: 28px; height: 27px; }
  .timeline-value { flex-basis: 38px; font-size: 8.5px; }
  .console-row--sub { flex: 0 0 42px; gap: 13px; padding: 0 8px; }
  .console-group .micro-label { font-size: 7.5px; }
  .console-select { max-width: 180px; font-size: 8px; }
  .segmented button { font-size: 7px; }
  .console-button { font-size: 7px; }
  .lab-overlay { max-height: 270px; }
  .modal-title { font-size: 25px; }
  .modal-content { font-size: 11px; }
  .side-panel .tree-item__copy b { font-size: 13px; }
}

@media (max-width: 420px) {
  .brand-title { max-width: 120px; font-size: 10.5px; }
  .mode-tab__title { font-size: 10.5px; }
  .modal-tab { font-size: 9px; }
  .side-panel .tree-item__copy b { font-size: 12.5px; }
}

/* Readability floor: no meaningful label below ~9px, larger secondary and mobile text */
.micro-label,
.console-label,
.panel-kicker,
.physics-hud__kicker,
.scene-state,
.level-badge {
  font-size: 10px;
}
.level-badge { font-size: 8px; }
.science-chip { font-size: 8px; }
.panel-kicker { font-size: 9.5px; }
.field-btn, .lang-btn { font-size: 9.5px; }
.mode-tab__index, .mode-tab__en { font-size: 8.5px; }
.panel-subtitle { font-size: 11px; }
.tree-category__label { font-size: 9.5px; }
.tree-category__count { font-size: 8.5px; }
.tree-item { min-height: 50px; }
.tree-item__index { font-size: 9px; }
.tree-item__copy span { font-size: 9.5px; }
.tree-note { font-size: 10px; }
.tree-legend span { font-size: 8.5px; }
.eyebrow { font-size: 9px; }
.empty-copy { font-size: 11.5px; }
.arch-row { font-size: 11px; }
.howto-panel p { font-size: 10.5px; }
.action-button { font-size: 9.5px; }
.dossier-section p { font-size: 11.5px; }
.spec-cell span { font-size: 8px; }
.spec-cell strong { font-size: 12px; }
.spec-cell em { font-size: 7.5px; }
.impact-note p { font-size: 11px; }
.safety-note p { font-size: 10.5px; }
.safety-note__head { font-size: 9px; }
.source-link { font-size: 9px; }
.level-disclaimer { font-size: 9px; }
.dossier-footnote { font-size: 8px; }
.scene-state { font-size: 9.5px; }
.scene-state__detail { font-size: 9px; }
.section-legend__row { font-size: 9px; }
.physics-caption { font-size: 10px; }
.callout { width: 190px; }
.callout__index { font-size: 9px; }
.callout__name { font-size: 11.5px; }
.callout__en, .callout__meta { font-size: 8.5px; }
.console-label { font-size: 9.5px; }
.mode-chip { font-size: 10.5px; }
.mode-chip span { font-size: 8px; }
.timeline-value { font-size: 9.5px; }
.console-select { font-size: 9px; }
.segmented button { font-size: 8.5px; }
.console-button { font-size: 8.5px; }
.console-group .micro-label { font-size: 9px; }
.lab-overlay__title { font-size: 9.5px; }
.sequence-labels span { font-size: 9px; }
.kspace-info p { font-size: 9.5px; }
.kspace-warning { font-size: 8.5px; }
.modal-content { font-size: 12px; }
.modal-content h3 { font-size: 10px; }
.panel-footer #left-footer-note,
.panel-footer #right-footer-label { font-size: 8px; }
.panel-footer .science-chip { font-size: 8px; }
