/* Radix Slate dark surfaces with starlight accents. */
:root{color-scheme:dark;--bg:#030711;--surface:#101826;--surface2:#182332;--line:#8b9bb52c;--text:#edf2fa;--muted:#9ba8bb;--faint:#738198;--gold:#e7c57e;--ease-out:cubic-bezier(.23,1,.32,1);font:14px/1.6 Inter,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.65}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #cfba85;outline-offset:4px}button{touch-action:manipulation}input,select{min-height:40px}button{min-height:40px}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:.5px solid #9daac31d;position:relative;z-index:3;background:#060b16c9}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;letter-spacing:.12em;font-size:18px;font-weight:650}.brand img{width:37px;height:40px;object-fit:contain}.brand-sub{font-size:12px;font-weight:400;color:#a7b1c0;letter-spacing:.14em;margin-left:12px;border-left:.5px solid var(--line);padding-left:12px}.header nav{display:flex;align-self:stretch;gap:38px}.nav{border:0;background:none;font-size:14px;color:var(--muted);position:relative;padding:0 4px}.nav.active{color:#f7e4b5}.nav.active:after{content:"";position:absolute;bottom:0;height:2px;background:#dec185;left:4px;right:4px}.header-right{display:flex;align-items:center;gap:20px}.demo-tag{font-size:12px;color:#a6afbe}.identity{border:.5px solid #bca4785e;background:#e4c68b0c;padding:5px 14px;border-radius:8px;color:#e7d6b4;font-size:12px}.identity span{margin-left:8px}.universe-stage{height:max(620px,calc(100svh - 80px));max-height:1100px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 54% 49%,#1322388a,transparent 52%)}#universe{position:absolute;inset:0;z-index:-1}#universe canvas{width:100%;height:100%;display:block;touch-action:none}.nebula{position:absolute;z-index:-2;pointer-events:none;filter:blur(65px);border-radius:50%;opacity:.14}.n1{width:52%;height:40%;left:28%;top:20%;background:radial-gradient(ellipse,#3c6597,transparent 70%);transform:rotate(-30deg)}.n2{width:40%;height:36%;left:40%;top:42%;background:radial-gradient(ellipse,#42604a,transparent 75%)}.intro-copy{position:absolute;left:4.5%;top:19%;pointer-events:none;max-width:340px}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:500;color:#a1acbc}.eyebrow i,.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#d9c48e;box-shadow:0 0 10px #ddc791;margin-right:10px}.intro-copy h1{font-size:clamp(38px,4vw,62px);line-height:1.23;font-weight:450;letter-spacing:.07em;margin:28px 0 22px}.intro-copy h1 span{background:linear-gradient(100deg,#f9e7bc,#b9a17a);background-clip:text;color:transparent}.hero-description{color:#9daabc;line-height:2;font-size:14px}.subject-pill{display:inline-flex;align-items:center;gap:13px;margin-top:25px;color:#bdc8d6;font-size:12px}.subject-pill>span:first-child{font-size:24px;color:#ddc792}.subject-pill b{font-size:14px;font-weight:500}.pill-line{width:24px;height:.5px;background:#8e9bb455}.text-link{display:block;background:none;border:0;color:#cfbb94;font-size:12px;padding:0;text-align:left}.intro-copy .text-link{pointer-events:auto;margin-top:29px}.text-link span{padding-left:15px}.universe-heading{text-align:center;position:absolute;top:33px;left:28%;right:24%;pointer-events:none}.universe-heading h2{font-size:18px;font-weight:400;color:#d9dfe9;letter-spacing:.09em;margin:10px 0 4px}.universe-heading>span:last-child{font-size:12px;color:#738199}.domain-panel{position:absolute;right:4%;top:25%;width:210px}.panel-overline{font-size:12px;letter-spacing:.07em;color:#79889f;border-bottom:.5px solid var(--line);padding-bottom:12px;margin-bottom:10px;display:flex;justify-content:space-between}.domain-button{width:100%;display:flex;align-items:center;gap:13px;background:linear-gradient(90deg,#101b2a87,#101b2a00);border:0;border-bottom:.5px solid #92a1ba17;text-align:left;padding:15px 5px;min-height:75px}.domain-button:hover,.domain-button.active{background:linear-gradient(90deg,#26324599,transparent)}.domain-sigil{width:27px;height:27px;border:.5px solid var(--domain-color);border-radius:50%;color:var(--domain-color);box-shadow:inset 0 0 12px color-mix(in srgb,var(--domain-color),transparent 85%),0 0 14px color-mix(in srgb,var(--domain-color),transparent 92%);display:grid;place-items:center;font-size:14px}.domain-button b{display:block;font-size:14px;font-weight:450;color:#d8deea}.domain-button small{display:block;font-size:12px;color:#7f8da3}.domain-button .arrow{margin-left:auto;color:#8997ab}.domain-caption{margin-top:16px;font-size:12px;color:#63738b}.explore-tools{position:absolute;left:4.5%;right:4.5%;bottom:106px;display:flex;align-items:center;gap:6px;border:.5px solid #94a4c12b;background:#0b1421c9;backdrop-filter:blur(18px);padding:8px 10px;border-radius:12px;box-shadow:0 10px 30px #0002}.tool-button{border:0;background:none;color:#aebbd0;padding:0 10px;white-space:nowrap;font-size:12px}.tool-button:hover{color:#f0dbad;background:#ffffff07;border-radius:7px}.tool-button small{font-size:12px;margin-left:7px;color:#e4c78a}.tool-separator{height:20px;width:.5px;background:var(--line);margin:0 7px}.explore-tools select{border:0;background:#121d2c;color:#bac6d8;border-radius:7px;font-size:12px;padding:0 26px 0 10px;max-width:168px;outline-offset:0}.search-wrap{margin-left:auto;position:relative;display:flex;align-items:center;gap:10px;width:260px;padding:0 10px}.search-wrap>span{font-size:24px;line-height:1;color:#8999b0}.search-wrap input{width:100%;min-width:0;border:0;background:none;color:#d7e1ef;outline:none;font-size:12px}.search-wrap kbd{border:.5px solid var(--line);padding:1px 6px;border-radius:4px;color:#7b8aa0;font-size:12px}#search-results{position:absolute;bottom:55px;right:0;width:min(410px,85vw);max-height:360px;overflow:auto;padding:6px;background:#101a2a;border:.5px solid #9baac644;border-radius:12px;box-shadow:0 -12px 40px #0008;z-index:9}#search-results button{width:100%;text-align:left;border:0;background:none;padding:10px 12px;border-radius:7px}#search-results button:hover,#search-results button:focus{background:#283447}#search-results b{font-size:14px;font-weight:500}#search-results small{display:block;color:var(--muted);font-size:12px}.stage-footer{position:absolute;bottom:35px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between}.real-stats{display:flex;gap:35px}.real-stats>div{display:flex;align-items:baseline;gap:9px}.real-stats strong{font-size:24px;font-weight:400;letter-spacing:.04em;color:#d2d9e5;font-variant-numeric:tabular-nums}.real-stats span{font-size:12px;color:#7c8ba0}.galaxy-controls{display:flex;align-items:center;gap:6px}.galaxy-controls>span{font-size:12px;color:#6f8099;margin-right:12px}.galaxy-controls button{width:37px;border:.5px solid #91a1bd30;background:#14203270;border-radius:7px;font-size:18px;color:#b5c1d1}.galaxy-controls #skip{font-size:12px;width:auto;padding:0 12px}.corner-note{position:absolute;bottom:8px;left:4.5%;right:4.5%;display:flex;align-items:center;color:#64748c;font-size:12px}.corner-note .status-dot{width:4px;height:4px;background:#84b39d;box-shadow:none}.corner-note button{margin-left:auto;border:0;background:none;color:#6e7f99;font-size:12px;min-height:24px}.star-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.star-label{position:absolute;left:0;top:0;margin:12px 0 0 7px;pointer-events:auto;border:0;background:#07101bc9;color:#c7d5e7;font-size:12px;min-height:28px;padding:2px 6px;border-radius:4px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.star-label:hover{background:#293549;color:#fff}.star-tooltip{position:absolute;display:none;pointer-events:none;background:#152033eb;border:.5px solid var(--line);padding:7px 12px;border-radius:7px;color:#e8d3a2;max-width:210px;font-size:12px;z-index:4}.learning-paths{padding:65px 4.5% 70px;border-top:.5px solid #8597b21c;background:linear-gradient(#080f1c,#060a12)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.section-heading h2{font-size:24px;font-weight:450;margin:10px 0 0;letter-spacing:.03em}.section-heading p{font-size:12px;color:#7b8ca6}.chain-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.chain-card{border:.5px solid #9aaac52c;background:linear-gradient(120deg,#15213166,transparent);border-radius:10px;padding:23px;text-align:left;position:relative}.chain-card:hover{border-color:#c0a56b80;background:#19263880}.chain-card h3{font-size:18px;font-weight:450;margin:12px 0 8px}.chain-card p,.chain-card small{font-size:12px;color:#8d9eb5;margin:0}.chain-card .chain-stage{font-size:12px;color:#c5b58e}.chain-card .arrow{position:absolute;right:22px;top:22px;color:#baaa86}.chain-card .chain-number{font-size:12px;letter-spacing:.13em;color:#596a84;margin-top:20px}dialog{color:var(--text);background:#111a29;border:.5px solid #91a4c339;border-radius:14px;padding:28px;box-shadow:0 30px 100px #0009;max-height:92svh;overflow:auto}dialog::backdrop{background:#01061199;backdrop-filter:blur(4px)}dialog h2{font-size:24px;font-weight:450;line-height:1.4}.login-dialog{width:390px;margin:auto auto auto 5%;padding:34px;background:#0c1422e8;backdrop-filter:blur(20px)}.login-dialog::backdrop{background:#02061232;backdrop-filter:none}.login-mark{display:block;width:40px;height:45px;object-fit:contain;margin-bottom:26px}.login-dialog h2{font-size:30px;margin:10px 0}.login-dialog p{font-size:12px;color:#92a2ba;margin:0 0 25px}.login-dialog .eyebrow{font-size:12px;letter-spacing:.08em}.role-picker{display:flex;gap:10px;margin:18px 0 24px}.role-picker label{flex:1;cursor:pointer}.role-picker input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.role-picker span{display:block;padding:10px;border:.5px solid var(--line);border-radius:8px;text-align:center;color:#8798b1}.role-picker input:checked+span{color:#ebd4a3;background:#d1b27512;border-color:#d1b27566}.role-picker input:focus-visible+span{outline:2px solid #d1b275}.field-label{display:block;font-size:12px;color:#afbed2;margin-bottom:9px}.field,#nickname{width:100%;background:#0b1320;border:.5px solid #9aabc539;border-radius:8px;padding:11px 13px;color:#dce5f1}.primary{background:linear-gradient(110deg,#e9d3a7,#bd9e64);color:#221b10;border:0;border-radius:8px;padding:12px 18px;font-weight:550}.primary span{float:right}.login-dialog .primary{width:100%;margin-top:24px}.login-dialog small{display:block;color:#73859d;font-size:12px;line-height:1.8;margin-top:17px}.login-dialog #logout{margin-top:14px}.login-dialog:open~*{}.drawer{position:fixed;inset:0 0 0 auto;margin:0;width:480px;height:100svh;max-height:100svh;border-radius:0;padding:27px 26px 40px}.drawer.left{inset:0 auto 0 0;width:460px}.drawer-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.drawer-head h2{margin:4px 0}.close{width:38px;min-height:38px;border:.5px solid var(--line);border-radius:50%;background:none;font-size:24px;color:#9dabc0;flex:none}.drawer p,.about-dialog p{color:#a7b5c9;line-height:1.9}.node-path{font-size:12px;color:#788ba5;margin:24px 0 9px;line-height:1.8}.node-title{margin:10px 0 16px;font-size:26px!important}.node-summary{font-size:16px;color:#d6e0ed!important}.chip{display:inline-block;font-size:12px;color:#aab8cb;padding:3px 8px;background:#849dbe10;border:.5px solid var(--line);border-radius:5px}.detail-section{border-top:.5px solid var(--line);padding-top:19px;margin-top:23px}.detail-section h3{font-size:14px;font-weight:500;margin:0 0 12px;color:#c9d4e4}.relation-list{display:flex;gap:8px;flex-wrap:wrap}.relation-list button,.secondary{border:.5px solid var(--line);border-radius:7px;background:#6e86aa0d;padding:8px 11px;color:#bdcadd;font-size:12px}.relation-list button:hover,.secondary:hover{background:#28374b}.muted{color:#8495af;font-size:12px;line-height:1.8}.detail-actions{display:flex;gap:10px;margin-top:25px}.detail-actions button{flex:1}.catalogue-book{margin:18px 0;border-bottom:.5px solid var(--line);padding-bottom:10px}.catalogue-book>summary{cursor:pointer;padding:10px 0;font-size:14px;color:#d1dced}.catalogue-book summary small{font-size:12px;color:#8495ac;margin-left:10px}.catalogue-chapter{margin:8px 0}.catalogue-chapter>summary{padding:7px;cursor:pointer;color:#aebcd2;font-size:12px}.catalogue-node{width:100%;display:flex;align-items:center;gap:10px;border:0;background:none;padding:9px 10px;text-align:left;color:#bdcadd;font-size:12px;border-radius:6px}.catalogue-node:hover{background:#253247}.catalogue-node i{width:5px;height:5px;border-radius:50%;background:var(--domain-color);flex:none}.catalogue-node span:last-child{margin-left:auto;color:#637c9e}.diagnostic-dialog{width:min(980px,94vw);padding:30px 36px;max-height:93svh}.diagnostic-dialog h2{margin:12px 0 10px}.diagnostic-dialog .chain-cards{grid-template-columns:repeat(2,1fr)}.diag-intro{color:#94a5bd;font-size:14px;line-height:1.9}.diag-settings{display:flex;align-items:center;gap:15px;margin:22px 0}.diag-settings select{background:#172538;border:.5px solid var(--line);color:#d1dcee;padding:8px 15px;border-radius:7px}.diag-progress{display:flex;justify-content:space-between;gap:12px;color:#96a9c3;font-size:12px}.progress-track{height:3px;border-radius:3px;background:#849bc322;margin:14px 0 26px}.progress-track span{display:block;height:100%;background:#d3ba83}.question-title{font-size:24px;line-height:1.6;font-weight:450}.choices{display:grid;gap:10px;margin:25px 0}.choice{border:.5px solid #9bafcd40;background:#0c1523;border-radius:8px;text-align:left;padding:14px 16px;font-size:14px;color:#d2deed}.choice:hover:not(:disabled){border-color:#cfb985}.choice .option-index{display:inline-block;color:#8598b4;margin-right:15px}.choice.correct{border-color:#8dcbb4;background:#86c3a614}.choice.wrong{border-color:#cf8a98;background:#ce809012}.answer-feedback{border:.5px solid var(--line);background:#9db4d00b;border-radius:8px;padding:15px;color:#bccbe0;font-size:14px;line-height:1.9}.diag-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.diag-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.result-stat{border:.5px solid var(--line);border-radius:9px;padding:16px;background:#7e99bf0b}.result-stat strong{font-size:24px;font-weight:450;display:block}.result-stat span{font-size:12px;color:#95a6bf}.result-node{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:.5px solid var(--line)}.result-node span{font-size:12px;color:#9cafc9}.result-node button{background:none;border:0;color:#d8c295;text-align:left;font-size:14px}.about-dialog{width:min(780px,95vw)}.about-dialog table{border-collapse:collapse;font-size:12px;width:100%}.about-dialog td,.about-dialog th{border-bottom:.5px solid var(--line);padding:8px;text-align:left}.about-dialog th{color:#bdc9dc}.about-dialog a{color:#c9b789}.about-dialog h3{font-size:18px;font-weight:450;margin-top:26px}.performance{border:.5px solid var(--line);padding:14px;border-radius:8px;margin-top:20px}.performance p{font-size:12px}#toast{position:fixed;z-index:20;bottom:22px;left:50%;transform:translateX(-50%);padding:10px 20px;border:.5px solid #b2bfce44;background:#1b2739;border-radius:9px;color:#e4d1aa;font-size:12px;pointer-events:none;opacity:0;transition:opacity 160ms ease}#toast.show{opacity:1}#webgl-fallback{position:absolute;inset:140px 25% 170px;display:flex;flex-direction:column;align-items:center;justify-content:center}#webgl-fallback img{height:80%;max-width:100%;opacity:.8}#webgl-fallback p{font-size:12px;color:#b1c0d4}.domain-focused .intro-copy{opacity:0;pointer-events:none}.domain-focused .domain-panel{top:15%}.domain-focused .universe-heading{left:5%;right:5%}body:has(#login[open]) .intro-copy{visibility:hidden}
@media(min-width:1600px){.intro-copy{top:23%}.domain-panel{top:30%}}
@media(max-width:1100px){.intro-copy{max-width:240px;top:18%}.intro-copy h1{font-size:38px}.intro-copy .eyebrow{font-size:12px;max-width:180px}.hero-description{font-size:12px}.domain-panel{right:3%;width:175px}.header{padding:0 3%}.header nav{gap:25px}.brand-sub{display:none}.explore-tools{left:3%;right:3%}.search-wrap{width:220px}.real-stats{gap:20px}.real-stats>div{display:block}.real-stats span{display:block}.galaxy-controls>span{display:none}}
@media(max-width:1000px){.header{height:66px;padding:0 18px}.brand{font-size:16px;gap:8px}.brand img{width:27px;height:31px}.header nav{gap:18px}.nav{font-size:12px}.header-right{gap:0}.demo-tag{display:none}.identity{padding:3px 10px;min-height:34px;max-width:105px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.universe-stage{height:900px;min-height:calc(100svh - 66px);max-height:none}.intro-copy{top:26px;left:22px;max-width:270px}.intro-copy h1{font-size:34px;margin:12px 0 10px;line-height:1.17}.intro-copy h1 br{display:none}.intro-copy .eyebrow{max-width:none;font-size:12px;letter-spacing:.07em}.hero-description{font-size:12px;line-height:1.8;margin:0}.subject-pill{margin-top:9px}.intro-copy .text-link{display:none}.universe-heading{top:206px;left:6%;right:6%}.universe-heading h2{font-size:14px;margin:6px 0}.universe-heading .eyebrow{display:none}.domain-panel{top:auto;bottom:245px;left:20px;right:20px;width:auto}.panel-overline,.domain-caption{display:none}#domain-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.domain-button{padding:8px 10px;min-height:58px;background:#101c2b9c;border:.5px solid #8d9db625;border-radius:8px;gap:9px}.domain-sigil{width:20px;height:20px;font-size:12px}.domain-button b{font-size:12px}.domain-button small{font-size:12px}.domain-button .arrow{font-size:12px}.explore-tools{left:18px;right:18px;bottom:107px;flex-wrap:wrap;padding:8px;gap:4px}.tool-separator{display:none}.explore-tools select{flex:1;max-width:none;width:100px;font-size:12px;padding-right:20px}.tool-button{padding:0 8px;min-height:37px}.search-wrap{order:10;width:100%;margin:0;border-top:.5px solid var(--line);padding:0 7px}.search-wrap input{font-size:16px}.search-wrap kbd{display:none}.stage-footer{bottom:39px;left:20px;right:20px}.real-stats{gap:17px}.real-stats strong{font-size:18px}.real-stats span{font-size:12px}.galaxy-controls{gap:4px}.galaxy-controls button{width:30px;min-height:33px;font-size:14px}.galaxy-controls #skip{position:absolute;right:0;bottom:45px}.corner-note{left:20px;right:20px;bottom:8px;font-size:12px}.corner-note button{font-size:12px}.corner-note #view-count{font-size:12px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-paths{padding:35px 20px 40px}.section-heading{display:block}.section-heading h2{font-size:22px}.section-heading p{margin-top:8px}.chain-cards{grid-template-columns:1fr}.chain-card{padding:18px}.drawer,.drawer.left{width:100%;padding:22px;height:100svh}.login-dialog{width:calc(100vw - 36px);max-width:400px;margin:auto;padding:26px}.login-dialog h2{font-size:26px}.login-dialog input:not([type=radio]){font-size:16px}.diagnostic-dialog{padding:22px;width:calc(100vw - 20px);max-height:96svh}.diagnostic-dialog .chain-cards{grid-template-columns:1fr}.diagnostic-dialog h2,.question-title{font-size:22px}.diag-result-grid{grid-template-columns:repeat(2,1fr)}.diag-progress{font-size:12px}.diag-actions button{flex:1}.field{font-size:16px}.about-dialog{padding:20px}.about-dialog table{display:block;overflow:auto;max-width:100%}.domain-focused .universe-heading{top:25px}.domain-focused .domain-panel{top:auto;bottom:245px}.star-label{max-width:130px;font-size:12px}#webgl-fallback{inset:270px 15% 380px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
#universe{inset:65px 9% 145px 12%}.domain-focused #universe{inset:65px 14% 145px 4%}@media(max-width:1000px){#universe,.domain-focused #universe{inset:240px 10px 380px}.domain-focused #universe{top:90px}}

@media(min-width:1001px){.domain-panel{top:22%}.domain-button{min-height:64px;padding-top:11px;padding-bottom:11px}}

.domain-focused .intro-copy{visibility:hidden}
@media(max-width:1000px){.intro-copy{max-width:calc(100% - 40px)}.intro-copy h1{font-size:28px;letter-spacing:.03em;white-space:nowrap}}

@media(min-width:651px) and (max-width:1000px){#universe,.domain-focused #universe{inset:200px 5% 350px}.domain-panel,.domain-focused .domain-panel{bottom:245px}#domain-buttons{grid-template-columns:repeat(4,1fr)}.domain-button{padding:8px 5px}.domain-sigil{display:none}.intro-copy h1{font-size:34px}}
@media(max-width:1000px){.galaxy-controls #skip{position:fixed;top:80px;right:18px;bottom:auto;z-index:5}}
@media(min-width:651px) and (max-width:1000px){#universe,.domain-focused #universe{top:230px}}
