:root{color-scheme:dark;--bg:#071421;--panel:#0b2031;--panel-2:#0d293c;--line:#23465b;--text:#eaf5f9;--muted:#9db7c5;--subtle:#6d92a6;--teal:#7fe5d6;--gold:#eec891;--pink:#e89bd7;--blue:#93c9f9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.site-shell{min-width:320px}.topbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 25px;border-bottom:1px solid var(--line);background:#0a1c2b}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand-symbol{width:47px;height:47px;flex:none;position:relative;border:1px solid #78dacd78;border-radius:50%;background:radial-gradient(circle at 50% 50%,#2f8e9d70,#13344a 57%,#0b2031 70%);box-shadow:0 0 25px #67d8cd2b}.brand-core{position:absolute;left:19px;top:19px;width:8px;height:8px;border-radius:50%;background:#d8fff4;box-shadow:0 0 10px #8cf9e6}.brand-ring{position:absolute;border:1px solid #77dbcf;border-radius:50%;inset:9px;transform:rotateX(64deg) rotateZ(-35deg)}.brand-ring.two{inset:4px;transform:rotateY(64deg) rotateZ(35deg);opacity:.7}.eyebrow,.section-label{margin:0;color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.16em}.brand h1{margin:4px 0 0;font-size:22px;line-height:1.14;font-weight:700;white-space:nowrap}.topbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.top-stat{border:1px solid #37566a;border-radius:999px;padding:7px 10px;color:#bad1dc;font-size:11px;white-space:nowrap}.top-stat strong{color:#fff;font-size:12px}.method-link{margin-left:8px;color:#85e5d3;text-decoration:none;font-size:11px;font-weight:650;white-space:nowrap}.method-link:hover{text-decoration:underline}
.explorer{height:calc(100vh - 84px);min-height:660px;display:grid;grid-template-columns:250px minmax(0,1fr) 305px}.rail,.inspector{min-height:0;overflow-y:auto;background:var(--panel);scrollbar-color:#3b6074 transparent;scrollbar-width:thin}.rail{border-right:1px solid var(--line);padding:19px 16px 22px}.inspector{border-left:1px solid var(--line)}.rail-intro h2{font-size:17px;line-height:1.24;margin:8px 0}.rail-intro p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.rail-block{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.block-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;color:#c5dce5;font-size:10px;font-weight:800;letter-spacing:.1em}.text-action{padding:0;border:0;background:none;color:var(--teal);font-size:10px;letter-spacing:0}.text-action:hover{text-decoration:underline}.layer-list{display:grid;gap:4px}.layer-button{width:100%;padding:8px 9px;border:1px solid transparent;border-radius:8px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;text-align:left;background:transparent;color:#c4dbe5}.layer-button:hover{background:#15354a}.layer-button[aria-pressed=true]{background:#153b4c;border-color:#72ccbd88;color:white}.layer-code{font-size:10px;font-weight:800;color:var(--teal)}.layer-name{min-width:0;font-size:11px;line-height:1.2}.layer-count{color:#7298aa;font-size:10px}.layer-button[aria-pressed=true] .layer-count{color:#b5d8df}.search-block input{width:100%;border:1px solid #416579;background:#081a29;color:white;border-radius:8px;padding:10px 11px;font-size:12px;outline:0}.search-block input::placeholder{color:#7396a8}.search-block input:focus{border-color:var(--teal)}.search-results{display:none;max-height:240px;overflow:auto;margin-top:6px;border:1px solid #315369;border-radius:8px;background:#0b2637}.search-results.has-results{display:block}.result{display:block;width:100%;padding:8px 9px;border:0;border-bottom:1px solid #24465b;background:none;color:#dcecf2;text-align:left;font-size:11px}.result:last-child{border-bottom:0}.result:hover,.result:focus-visible{background:#1c4054}.result b{color:var(--teal);margin-right:5px}.result small{display:block;margin-top:3px;color:#8eacbb}.domain-list{display:grid;gap:6px}.domain-button{display:flex;align-items:center;gap:7px;width:100%;padding:6px 7px;border:1px solid #315165;border-radius:7px;background:#0f2a3c;color:#d8e9ee;text-align:left;font-size:10.5px;line-height:1.28}.domain-button:hover{border-color:#77cbbb}.domain-button[aria-pressed=false]{opacity:.43;background:transparent}.domain-swatch{width:8px;height:8px;flex:none;border-radius:50%;background:var(--domain-color);box-shadow:0 0 9px var(--domain-color)}.domain-count{margin-left:auto;color:#84a6b4}.rail-source{margin-top:20px;color:#7e9caa;font-size:10px;line-height:1.65}.source-dot{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--teal)}
.visual{min-width:0;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 45%,#123a51 0%,#0b263a 34%,#071421 78%)}.visual-toolbar{min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid #29485b66;background:#091c2cbb}.segmented{display:flex;border:1px solid #355b70;border-radius:8px;padding:3px;background:#0c2638;gap:2px;flex:none}.segmented button{border:0;border-radius:5px;padding:7px 10px;background:none;color:#9ab7c4;font-size:11px;white-space:nowrap}.segmented button[aria-pressed=true]{color:#06202b;background:var(--teal);font-weight:750}.toolbar-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.tool{border:1px solid #386176;border-radius:7px;background:#123449;color:#deedf2;padding:8px 9px;font-size:10.5px;white-space:nowrap}.tool:hover{background:#1e4960}.tool[aria-pressed=true]{border-color:#6dcdbf;color:#9cf3df}.stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none}.stage:before{position:absolute;content:"";inset:0;pointer-events:none;background-image:radial-gradient(#b6e6f624 1px,transparent 1px);background-size:39px 39px;opacity:.34}.stage canvas{position:relative;display:block;width:100%;height:100%;cursor:grab;touch-action:none}.stage canvas.dragging{cursor:grabbing}.stage canvas.over-node:not(.dragging){cursor:pointer}.stage-orbit-label{position:absolute;left:50%;top:50%;transform:translate(-50%,54px);color:#d6f7f0;font-size:9px;font-weight:800;letter-spacing:.13em;text-shadow:0 1px 6px #031220;pointer-events:none;opacity:.8}.stage-orbit-label span{margin-left:4px;color:#8adbcf}.stage-hint,.stage-count{position:absolute;bottom:12px;background:#0a2334dc;color:#a5c3cf;border-radius:5px;padding:6px 8px;font-size:10px;pointer-events:none}.stage-hint{left:13px}.stage-count{right:13px}.hover-tip{position:absolute;z-index:5;max-width:235px;padding:9px 11px;border-radius:8px;background:#f4fbff;color:#0b293a;font-size:11px;line-height:1.35;box-shadow:0 8px 25px #0007;pointer-events:none}.hover-tip b{display:block;font-size:12px}.hover-tip small{display:block;color:#426879;margin-top:3px}.visual-footer{padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #27495a80;background:#091c2a}.legend{display:flex;gap:10px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:5px;color:#b8d0db;font-size:10px}.legend-line{width:15px;height:0;border-top:2px solid #77b5cc}.legend-line.path{border-color:#baf3df;border-width:3px}.legend-line.helix{border-color:#eec891;border-style:dashed}.legend-shape{width:8px;height:8px;transform:rotate(45deg);border:1px solid #c89adf;background:#6a3487}.visual-note{max-width:230px;text-align:right;font-size:9px;color:#6f96a8;line-height:1.3}
.inspector-section{padding:18px 18px 20px;border-bottom:1px solid var(--line)}.inspector h2{margin:5px 0 8px;font-size:18px}.detail-code{display:inline-block;margin-top:9px;padding:5px 8px;border-radius:5px;background:#163d4a;color:var(--teal);font-size:11px;font-weight:750}.detail-title{margin:10px 0 7px;font-size:20px;line-height:1.22;overflow-wrap:anywhere}.detail-en{margin:0;color:#91b0bf;font-size:12px}.detail-copy{margin:14px 0;color:#b9d2db;font-size:12px;line-height:1.55}.detail-path{padding:10px 11px;margin:14px 0;border-left:2px solid #8be2d1;background:#102f40;color:#cde3e8;font-size:11px;line-height:1.65}.detail-path b{color:#fff}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}.detail-meta div{padding:9px;background:#123244;border:1px solid #2c5364;border-radius:7px}.detail-meta small{display:block;color:#7fa5b4;font-size:10px}.detail-meta strong{display:block;margin-top:3px;color:#e4f4f7;font-size:12px}.detail-link{display:inline-block;margin-top:15px;color:#8fe9d9;font-size:11px;text-decoration:none}.detail-link:hover{text-decoration:underline}.lens-section{background:#0d2435}.lens-heading{display:flex;align-items:center;justify-content:space-between}.lens-symbol{color:#c896de;font-size:25px}.lens-intro{font-size:11px;line-height:1.55;color:var(--muted);margin:8px 0 12px}.facet-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.facet-buttons button{padding:7px 4px;border:1px solid #426075;border-radius:6px;background:#112e42;color:#bfdae4;font-size:11px;font-weight:700}.facet-buttons button[aria-pressed=true]{border-color:#cc9ee5;background:#503365;color:white}.facet-buttons button:hover{border-color:#c491db}.facet-detail{margin-top:12px}.facet-detail h3{font-size:15px;margin:0 0 6px}.facet-detail p{color:#acc8d3;font-size:11px;line-height:1.55;margin:7px 0}.facet-detail .facet-limit{border-left:2px solid #bd91d8;padding-left:8px;color:#d8c5e1}.facet-detail ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:5px}.facet-detail li{padding:8px;border-radius:6px;border:1px solid #36546b;background:#0b2233}.facet-detail li b{display:block;font-size:11px;color:#e6f4f7}.facet-detail li span{display:block;margin-top:3px;font-size:10px;line-height:1.4;color:#8eaebe}.facet-detail a{color:#a6e8db;font-size:10px;text-decoration:none}
.method-section{padding:54px max(25px,calc((100vw - 1430px)/2));background:#091b2a;border-top:1px solid #315266}.method-heading{max-width:760px}.method-heading h2{font-size:28px;margin:9px 0}.method-heading p:last-child{color:#acc7d2;font-size:13px;line-height:1.6}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:25px}.method-grid article{min-height:172px;padding:18px;border:1px solid #315267;border-radius:10px;background:#102b3d}.method-grid article span{color:#82ddce;font-size:10px;font-weight:800;letter-spacing:.1em}.method-grid h3{margin:10px 0 7px;font-size:15px}.method-grid p{margin:0;color:#a7c2cd;font-size:11px;line-height:1.6}.formula{margin-top:17px;border:1px solid #315267;border-radius:10px;background:#0e2839}.formula summary{padding:14px 18px;font-size:12px;font-weight:700;cursor:pointer}.formula-body{padding:0 18px 18px;color:#b6d0da;font-size:12px;line-height:1.7}.formula-body code{color:#c4f4e6;background:#173d49;border-radius:3px;padding:2px 4px}.method-sources{display:flex;gap:18px;margin-top:19px}.method-sources a{font-size:12px;color:#8ae5d6;text-decoration:none}.method-sources a:hover{text-decoration:underline}.site-footer{padding:17px 25px;border-top:1px solid #254459;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#7fa1af;font-size:10px}
@media(max-width:1220px){.explorer{grid-template-columns:215px minmax(0,1fr) 265px}.rail{padding:15px 11px}.inspector-section{padding:15px 13px}.topbar{padding:12px 17px}.top-stat:last-of-type{display:none}.visual-note{display:none}.stage-count{display:none}}
@media(max-width:980px){.explorer{height:auto;min-height:0;grid-template-columns:215px minmax(0,1fr)}.visual{min-height:680px}.inspector{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;overflow:visible;border-left:0;border-top:1px solid var(--line)}.inspector-section{border-bottom:0}.inspector-section:first-child{border-right:1px solid var(--line)}.method-grid{grid-template-columns:repeat(2,1fr)}.topbar-right .top-stat{display:none}}
@media(max-width:700px){.topbar{align-items:flex-start}.brand h1{font-size:17px;white-space:normal}.brand-symbol{width:38px;height:38px}.brand-core{left:15px;top:15px}.method-link{margin:0}.explorer{display:flex;flex-direction:column}.visual{order:1;min-height:620px}.rail{order:3;overflow:visible;border-right:0;border-top:1px solid var(--line)}.inspector{order:2;display:block}.inspector-section:first-child{border-right:0;border-bottom:1px solid var(--line)}.rail-intro{display:none}.layer-list{grid-template-columns:repeat(2,1fr)}.domain-list{grid-template-columns:repeat(2,1fr)}.visual-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{justify-content:flex-start}.stage{min-height:500px}.stage-orbit-label{display:none}.stage-hint{right:12px;text-align:center}.method-section{padding:38px 17px}.method-grid{grid-template-columns:1fr 1fr}.method-grid article{min-height:0}}
@media(max-width:480px){.topbar-right{display:none}.visual{min-height:570px}.stage{min-height:445px}.visual-toolbar{padding:7px}.segmented button{padding:6px 8px}.tool{padding:6px 7px;font-size:10px}.visual-footer{display:block}.legend{gap:7px}.legend span{font-size:9px}.layer-list,.domain-list{grid-template-columns:1fr 1fr}.layer-button{grid-template-columns:23px minmax(0,1fr);gap:5px;padding:6px}.layer-count{display:none}.method-grid{grid-template-columns:1fr}}
/* The amber helix is a continuous guide across the model shells. */
.legend-line.helix{border-top:3px solid #ffd391;border-top-style:solid;box-shadow:0 0 7px #ffc978}
