:root{color-scheme:dark;--bg:#0a0b10;--panel:#111218;--line:#26272f;--text:#eeeef3;--muted:#92939f;--accent:#c9bef2;--mono:Consolas,'Courier New',monospace;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:none;border:1px solid var(--line);border-radius:7px}button:hover{background:#25232f;border-color:#666174}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,#viewport:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit}button[aria-pressed=true]{background:#302a41;border-color:#7d6d9e;color:#e2d6ff}[hidden]{display:none!important}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:23px;background:#0e0f14}.brand{text-decoration:none;font-size:12px;font-weight:650;letter-spacing:2px;display:flex;align-items:center;gap:13px}.brand-mark{font-size:28px;font-weight:400;color:var(--accent)}.header-divider{height:20px;width:1px;background:var(--line)}.workspace-name{font-size:12px;color:#adaeba}.local-badge{margin-left:auto;font:10px var(--mono);letter-spacing:1.3px;color:#9a9ba6;display:flex;gap:8px;align-items:center}.local-badge i{width:5px;height:5px;background:#a3c2a6;border-radius:50%}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;height:calc(100dvh - 70px);min-height:620px}.scene-panel{position:relative;overflow:hidden;background:radial-gradient(ellipse at 47% 47%,#171520 0%,#0c0d13 47%,#090a0e 80%)}.scene-panel:before{position:absolute;inset:0;content:'';background-image:radial-gradient(#6c647533 .65px,transparent .65px);background-size:24px 24px;pointer-events:none}.scene-heading{position:absolute;top:30px;left:34px;pointer-events:none;z-index:2}.eyebrow{font:9px var(--mono);letter-spacing:1.8px;color:var(--muted)}h1{font-size:36px;font-weight:400;letter-spacing:-1.7px;margin:10px 0 7px}h1 span{color:var(--accent)}.scene-heading p{font-size:12px;color:#92919f;margin:0}#viewport{position:absolute;inset:0;outline-offset:-3px!important;touch-action:none}#viewport canvas{display:block;width:100%;height:100%}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.node-label{position:absolute;left:0;top:0;pointer-events:auto;transform:translate(-50%,-50%);border:0;background:transparent!important;border-radius:50%;font:22px Georgia,serif;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#f0eef8;text-shadow:0 1px 8px #000;will-change:transform}.node-label.selected{color:#fff;outline:1px solid #ded0ff77;outline-offset:5px}.gate-label{font:11px var(--mono);width:27px;height:27px;color:#c5c3cc}.scene-tools{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:3px;background:#14151de8;border:1px solid #35333e;border-radius:10px;padding:5px;box-shadow:0 8px 40px #0004;backdrop-filter:blur(12px)}.scene-tools button{border:0;width:36px;height:34px;font-size:21px}.scene-tools #flat-view{font:11px var(--mono)}.scene-tools span{height:18px;width:1px;margin:0 3px;background:var(--line)}.scene-bottom{position:absolute;left:25px;right:25px;bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:15px;pointer-events:none;color:#777987;font:8px var(--mono);letter-spacing:1px}.scene-bottom>span:first-child{display:flex;align-items:center;gap:7px}.legend-dot{width:6px;height:6px;border-radius:50%;background:#c9bef2}.legend-line{width:12px;height:2px;background:#b3afc0;margin-left:12px}.legend-gate{width:6px;height:6px;border:1px solid #8e899c;border-radius:50%;margin-left:12px}.gesture-hint{font:10px 'Segoe UI',sans-serif;letter-spacing:0}.view-status{position:absolute;right:25px;top:33px;font:8px var(--mono);letter-spacing:1.8px;color:#797584}.sidebar{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 20px;flex-shrink:0;gap:20px}.tabs button{border:0;border-radius:0;height:57px;font-size:12px;color:#898a97;padding:0 4px;background:none}.tabs button.active{color:#e4dcf6;border-bottom:2px solid var(--accent)}.panel{padding:25px;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#393543 transparent}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.muted{color:var(--muted);font-size:12px;line-height:1.7}.section-heading .muted{font:10px var(--mono)}.zone-index{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.zone-index button{height:38px;font:15px var(--mono);background:#17181f}.selection-card{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.selection-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.selection-title h2{font-size:24px;font-weight:450;margin:6px 0 15px;letter-spacing:-.5px}.zone-large{font:54px Georgia,serif;color:#c9bef2;line-height:1}.pair-equation{font:18px var(--mono);color:#ccc4df;background:#1a1822;border:1px solid #332e3f;padding:16px;margin:15px 0;border-radius:7px}.inspector-note{color:#9a99a7;font-size:12px;line-height:1.7}.connection-list{display:flex;flex-direction:column;gap:7px}.connection-list button{padding:10px 12px;text-align:left;display:flex;align-items:center;justify-content:space-between;font-size:11px}.connection-list button span{color:#bdb0d5;font:11px var(--mono)}h3{font-size:12px;font-weight:500;margin:22px 0 12px}.layer-controls{border-top:1px solid var(--line);margin-top:25px}.layer-controls label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#a8a8b4;margin:15px 0;cursor:pointer}.layer-controls input{accent-color:#b4a0dd;width:15px;height:15px}.formula-note{border-top:1px solid var(--line);margin-top:24px;padding-top:23px}.formula-note p{font:16px var(--mono);color:#aaa3bb}.formula-note p span{color:#ddd4ef}.text-button{border:0;padding:0;background:none!important;text-decoration:none;font-size:11px;color:#bdb0d5}.sidebar-footer{display:flex;justify-content:space-between;padding:16px 25px;border-top:1px solid var(--line);font:8px var(--mono);letter-spacing:1.3px;color:#636470}.panel h2{font-size:23px;font-weight:450;letter-spacing:-.5px}.reference-image{display:block;background:#000;margin-top:20px;border:1px solid #302e37;border-radius:8px;overflow:hidden;text-align:center}.reference-image img{display:block;max-width:100%;height:auto;margin:auto}.reference-caption{font-size:11px;line-height:1.7;color:#9693a1}#scene-error{position:absolute;inset:160px 25px 120px;text-align:center;overflow:auto;background:#14121b;padding:20px;z-index:3}#scene-error img{max-width:100%;max-height:350px}#error-message{color:#b4adbf;font-size:12px}
.alphabet-heading{margin:0 0 12px}.alphabet-note{font-size:11px;color:#9795a4;line-height:1.7;margin:10px 0 18px}.alphabet-calculator{margin-top:24px}.alphabet-label{display:block;font-size:11px;color:#cbc6d7;margin:15px 0 9px}.alphabet-input{font:13px 'Segoe UI',sans-serif;color:#eee7f7;background:#0d0e14;border:1px solid #36323f;border-radius:7px;padding:12px;width:100%;resize:vertical}.alphabet-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.alphabet-value{display:flex;flex-direction:column;gap:8px;padding:12px;background:#1b1824;border:1px solid #342b42;border-radius:7px}.alphabet-value-label{font:9px var(--mono);color:#a99abf;letter-spacing:1px}.alphabet-value-number{font:20px var(--mono);color:#e3d7fa;overflow-wrap:anywhere}.alphabet-summary{cursor:pointer;font-size:12px;padding:16px 0}.alphabet-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.alphabet-table-wrap{overflow:auto;max-height:300px;scrollbar-width:thin}.alphabet-table{border-collapse:collapse;width:100%;font:11px var(--mono)}.alphabet-table th,.alphabet-table td{padding:10px 7px;text-align:right;border-bottom:1px solid #292630}.alphabet-table th:first-child{text-align:left;color:#d7c9e9}.alphabet-table thead th{position:sticky;top:0;background:#1a1821;font-size:9px;color:#9c93a8}.alphabet-caption{font:10px 'Segoe UI',sans-serif;text-align:left;color:#8e8799;padding:10px 0}.alphabet-demons{margin-top:25px}.alphabet-subheading{font-size:18px;font-weight:450;margin:0 0 9px}.alphabet-badge{font:9px var(--mono);color:#bea7df;border:1px solid #453951;border-radius:4px;padding:5px 7px;display:inline-block}.alphabet-counts{display:block;font-size:11px;line-height:1.8;color:#c6b8dd;margin-top:12px}.alphabet-names-input{min-height:105px}.scene-panel:fullscreen{height:100dvh;width:100vw}.scene-panel:fullscreen .scene-heading{top:25px}
@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 390px}.scene-heading{top:40px;left:45px}h1{font-size:42px}}@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 320px}.panel{padding:20px}.gesture-hint{display:none}.scene-heading{left:22px}h1{font-size:30px}.view-status{top:auto;bottom:115px;right:20px}}@media(max-width:720px){.topbar{height:58px;padding:0 18px;gap:12px}.brand{font-size:10px;letter-spacing:1.5px}.workspace-name,.header-divider,.local-badge{display:none}.workspace{display:flex;flex-direction:column;height:auto;min-height:0}.scene-panel{height:74dvh;min-height:580px}.sidebar{border-left:0;border-top:1px solid var(--line);min-height:460px}.panel{overflow:visible}.scene-heading{top:22px}.scene-heading p{font-size:11px}.scene-tools{bottom:52px}.scene-bottom{bottom:17px;left:20px}.sidebar-footer{margin-top:auto}.tabs{position:sticky;top:0;background:#111218;z-index:5}.reference-image img{max-height:600px;width:auto}.alphabet-table-wrap{max-height:340px}}
/* Static CCRU legend; the 3D engine remains unchanged. */
.workspace{grid-template-columns:minmax(0,1fr) minmax(380px,1fr)}
.legend-dossiers{margin-top:30px;border-top:1px solid var(--line);padding-top:26px}
.legend-heading p{margin:8px 0 18px;color:#aaa3b3;font-size:13px;line-height:1.65}
.legend-dossier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.legend-dossier{display:flex;align-items:center;gap:14px;min-height:84px;padding:14px 15px;text-align:left;text-decoration:none;background:#17151e;border:1px solid #302b39;border-radius:7px}
.legend-dossier:hover{border-color:#77628f;background:#211c2b}
.legend-dossier-number{font:30px Georgia,serif;color:#c9bef2;line-height:1}
.legend-dossier-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.legend-dossier-copy strong{font:15px Georgia,serif;font-weight:500;color:#e5ddf2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legend-dossier-copy em,.legend-dossier-copy small{font:10px var(--mono);font-style:normal;color:#aaa0b6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legend-dossier-copy small{color:#c3b2d9}
@media(max-width:1050px) and (min-width:721px){.workspace{grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr)}.legend-dossier-grid{grid-template-columns:1fr}}
@media(max-width:720px){.workspace{display:flex}.panel{padding:20px}.legend-dossier-grid{grid-template-columns:1fr}.sidebar{min-height:460px}}

/* Reference-inspired region rail and red/blue numogram palette. */
:root{--blue:#3f8cff;--red:#ff4f68}
.scene-panel{background:radial-gradient(ellipse at 50% 38%,#17234a 0%,#101528 34%,#0b0d18 66%,#080a10 100%)}
.region-rail{position:absolute;z-index:2;left:26px;top:12%;bottom:12%;width:145px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;color:#b9bbc8;font:10px var(--mono);letter-spacing:1.3px;text-transform:uppercase}
.region-rail:after{content:'';position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,#6a67ff 17%,#3f8cff 47%,#ff4f68 84%,transparent)}
.region-rail-block{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px 18px 10px 0;text-align:right}
.region-rail-block:after{content:'';position:absolute;right:-6px;top:16px;width:12px;height:1px;background:currentColor}
.region-rail-block strong{font-size:10px;font-weight:600}
.region-rail-block span{font-size:9px;letter-spacing:.6px;color:#858b9e;text-transform:none}
.region-warp{color:#777aff}.region-torque{color:#4f9aff}.region-plex{color:#ff7485}
@media(max-width:720px){.region-rail{left:10px;width:88px;top:15%;bottom:15%;font-size:8px}.region-rail-block{padding-right:10px;gap:4px}.region-rail-block strong{font-size:8px}.region-rail-block span{font-size:7px}.region-rail:after{right:-1px}}

/* Match the reference plate: vertical region annotations beside the graph. */
.region-rail{left:auto;right:26px;width:70px;top:12%;bottom:12%;border-left:1px solid #596078;background:linear-gradient(to bottom,transparent,#1b2345 18%,#10152c 50%,#24131e 82%,transparent)}
.region-rail:after{display:none}
.region-rail-block{writing-mode:vertical-rl;transform:rotate(180deg);align-items:flex-start;justify-content:center;gap:8px;height:33.333%;padding:12px 0 12px 13px;text-align:left;border-bottom:1px solid #596078}
.region-rail-block:last-child{border-bottom:0}
.region-rail-block:after{right:auto;left:-1px;top:auto;bottom:-1px;width:70px;height:1px;background:#596078}
.region-rail-block:last-child:after{display:none}
.region-rail-block strong{font-size:10px}.region-rail-block span{font-size:9px}
@media(max-width:720px){.region-rail{left:auto;right:10px;width:46px;top:15%;bottom:15%}.region-rail-block{padding-left:8px;gap:5px}.region-rail-block:after{width:46px}.region-rail-block strong{font-size:8px}.region-rail-block span{font-size:7px}}

/* Final placement: horizontal region labels on the left of the Numogram. */
.region-rail{left:26px;right:auto;width:145px;border-left:0;border-right:1px solid #596078;background:linear-gradient(to bottom,transparent,#1b2345 18%,#10152c 50%,#24131e 82%,transparent)}
.region-rail-block{writing-mode:horizontal-tb;transform:none;align-items:flex-end;justify-content:center;gap:6px;height:33.333%;padding:10px 18px 10px 0;text-align:right;border-bottom:1px solid #596078}
.region-rail-block:after{right:-6px;left:auto;top:16px;bottom:auto;width:12px;height:1px;background:currentColor}
.region-rail-block:last-child:after{display:block}
@media(max-width:720px){.region-rail{left:10px;right:auto;width:88px}.region-rail-block{padding-right:10px;gap:4px}.region-rail-block:after{right:-1px;width:8px}.region-rail-block strong{font-size:8px}.region-rail-block span{font-size:7px}}
@media(min-width:721px){.legend-dossiers{padding-top:30px}.legend-heading p{font-size:14px}.legend-dossier{min-height:96px;padding:16px 17px;gap:16px}.legend-dossier-number{font-size:34px}.legend-dossier-copy{gap:6px}.legend-dossier-copy strong{font-size:17px}.legend-dossier-copy em,.legend-dossier-copy small{font-size:11px}}
