:root{--bg: #f7f4ee;--bg-panel: #fffdf8;--ink: #1e1b16;--ink-soft: #4a453c;--ink-faint: #8a8177;--rule: #ddd5c4;--rule-strong: #b9ae97;--teal: #4e7a77;--teal-dim: #e4ebe9;--amber: #a85f1d;--amber-dim: #f5e8d4;--cyan: #0e7c8c;--cyan-dim: #dff0f3;--danger: #b3261e;--danger-dim: #f9e4e2;--radius: 2px;--font-head: "IBM Plex Sans", "Helvetica Neue", sans-serif;--font-body: "IBM Plex Sans", "Helvetica Neue", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--canvas-bg: #efe9dc;--qubit: #4e7a77;--accent: #a85f1d;--edge: #b9ae97;--pulse: #1e1b16;--grid: #d8d0bd;--surface: #4e7a77;--label-bg: rgba(247, 244, 238, .92);--label-text: #1e1b16}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--ink);background-color:var(--bg);background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:28px 28px;background-position:-1px -1px;font-size:17px;line-height:1.55}.app{max-width:1120px;margin:0 auto;padding:28px 24px 60px}.instrument-head{border:1px solid var(--rule-strong);background:var(--bg-panel);padding:20px 24px 16px;margin-bottom:0;border-bottom:none}.instrument-head h1{font-family:var(--font-head);font-size:26px;font-weight:600;letter-spacing:.01em;margin:0 0 2px}.instrument-head .track{font-family:var(--font-mono);font-size:14px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px}.status-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-family:var(--font-mono);font-size:13.5px;color:var(--ink-soft)}.status-chip{border:1px solid var(--rule-strong);padding:2px 8px;border-radius:var(--radius);background:var(--bg);white-space:nowrap}.status-chip.live{border-color:var(--teal);color:var(--teal)}.status-chip.warn{border-color:var(--amber);color:var(--amber)}.research-q{border:1px solid var(--rule-strong);border-top:1px solid var(--rule);background:var(--bg-panel);padding:14px 24px;margin-bottom:20px;font-family:var(--font-head);font-size:17px;font-weight:500}.research-q .q-label{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);display:block;margin-bottom:4px}nav.tabs{display:flex;gap:0;margin-bottom:20px;border:1px solid var(--rule-strong);background:var(--bg-panel);width:fit-content;max-width:100%}nav.tabs button{font-family:var(--font-mono);font-size:14px;letter-spacing:.05em;text-transform:uppercase;background:transparent;color:var(--ink-soft);border:none;border-right:1px solid var(--rule);padding:10px 20px;cursor:pointer;border-radius:0}nav.tabs button:last-child{border-right:none}nav.tabs button:hover{background:var(--teal-dim);color:var(--ink)}nav.tabs button.active{background:var(--ink);color:var(--bg-panel)}nav.tabs button:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}.panel{background:var(--bg-panel);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:20px 24px;margin-bottom:20px}.panel>h2,.panel>h3{margin-top:0}.panel h2{font-family:var(--font-head);font-size:18px;font-weight:600;margin-bottom:4px}.panel h3{font-family:var(--font-head);font-size:15px;font-weight:600;margin-bottom:8px}.panel .sub{font-size:15px;color:var(--ink-soft);margin:0 0 14px}.mono{font-family:var(--font-mono)}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--rule-strong);background:var(--bg-panel);margin-bottom:20px}.metric-cell{padding:12px 16px;border-right:1px solid var(--rule)}.metric-cell:last-child{border-right:none}.metric-cell .k{font-family:var(--font-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);display:block;margin-bottom:2px}.metric-cell .v{font-family:var(--font-mono);font-size:20px;font-weight:600}.metric-cell .u{font-family:var(--font-mono);font-size:13px;color:var(--ink-faint);margin-left:4px}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th,table.data td{padding:8px 10px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:baseline}table.data th{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:600;border-bottom:1px solid var(--rule-strong)}table.data td.num,table.data th.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--teal-dim)}.btn{font-family:var(--font-mono);font-size:14px;letter-spacing:.05em;text-transform:uppercase;background:var(--bg-panel);color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:8px 16px;cursor:pointer}.btn:hover{border-color:var(--ink);background:var(--teal-dim)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--ink);color:var(--bg-panel);border-color:var(--ink)}.btn.primary:hover{background:#33302a}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.form-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.form-row label{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.form-row select,.form-row input{font-family:var(--font-mono);font-size:15px;background:var(--bg-panel);color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:8px 10px}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-size:15px!important}.check input{width:15px;height:15px;accent-color:var(--teal)}.bar-group{margin-bottom:14px}.bar-label{font-family:var(--font-mono);font-size:15px;font-weight:600;margin-bottom:4px}.bar-row{display:flex;align-items:center;gap:10px;margin:3px 0}.bar-cond{width:90px;font-family:var(--font-mono);font-size:13.5px;color:var(--ink-soft)}.bar-track{flex:1;background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius);height:16px}.bar-fill{height:100%;border-radius:1px}.bar-val{width:52px;text-align:right;font-family:var(--font-mono);font-size:14px;font-variant-numeric:tabular-nums}.doi-banner{display:flex;gap:10px;align-items:center;background:var(--amber-dim);border:1px solid var(--amber);border-left:4px solid var(--amber);border-radius:var(--radius);padding:10px 14px;margin:12px 0 0;font-size:15px}.doi-banner a{color:var(--ink);font-weight:600}.muted{color:var(--ink-soft);font-size:14.5px}.small{font-size:14px}.explanation{background:var(--bg);border-left:3px solid var(--teal);padding:10px 14px;border-radius:0 var(--radius) var(--radius) 0;font-size:15px}.error{background:var(--danger-dim);border:1px solid var(--danger);padding:12px 16px;border-radius:var(--radius);font-size:15px}.tag{display:inline-block;font-family:var(--font-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--rule-strong);border-radius:var(--radius);padding:1px 7px;color:var(--ink-soft);margin-right:6px}.tag.req{border-color:var(--teal);color:var(--teal)}.tag.supp{border-color:var(--amber);color:var(--amber)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px}footer.site{margin-top:36px;padding-top:16px;border-top:1px solid var(--rule-strong);font-family:var(--font-mono);font-size:14px;color:var(--ink-soft);display:flex;gap:20px;flex-wrap:wrap}footer.site a{color:var(--teal)}footer.site a:hover{color:var(--ink)}.topo3d{background:var(--canvas-bg);border:1px solid var(--rule)}.topo3d:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.topo3d-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.topo3d-head h3{margin:0}.q3d-label{font-family:var(--font-mono);font-size:13px;font-weight:600;padding:1px 7px;border-radius:10px;white-space:nowrap;border:1px solid var(--accent)}.topo-svg{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius)}@media (max-width: 640px){.app{padding:16px 12px 40px}.topo3d{min-height:340px}.grid-2{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-cell:nth-child(2n){border-right:none}.metric-cell{border-bottom:1px solid var(--rule)}nav.tabs{width:100%}nav.tabs button{flex:1;padding:10px 8px;font-size:13px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
