:root{color-scheme:dark;--ink:#f3f1ed;--muted:#a1a6b8;--teal:#a1bff8;--teal-light:#212b43;--line:#ffffff1b;--canvas:#0a0d14}
body{background:#080b11;color:var(--ink)}.header{height:76px;background:#080b11;border-color:#ffffff0d;padding:0 40px;position:relative;z-index:5}.brand h1{font-size:27px;letter-spacing:1px;font-weight:600}.brand-mark{width:25px;height:25px;gap:0;position:relative}.brand-mark i{position:absolute;width:12px!important;height:12px!important;border-radius:50%!important;background:#83a7d7}.brand-mark i:nth-child(1){left:0;top:0;background:#ef91a7}.brand-mark i:nth-child(2){left:13px;top:3px;background:#c9d7ed}.brand-mark i:nth-child(3){left:5px;top:15px;background:#518aeb}.tagline{display:none}.nav{color:#a3a9b8;font-size:21px;border-radius:0;padding:10px 14px}.nav.active{background:transparent;color:#fff;border-bottom:1px solid #ef91a7}.nav:not(.active):hover{background:transparent;color:white}
.workspace{height:calc(100dvh - 76px);min-height:660px;display:block;position:relative;overflow:hidden}.map-panel{height:100%;width:100%;display:block}.graph-scroll{position:absolute;inset:0;background:#080b11;overflow:hidden;touch-action:none}.graph-scroll::before{display:none}#graph{height:100%;width:100%;min-width:0;cursor:grab;touch-action:none;overflow:hidden}#graph.dragging{cursor:grabbing}.space-intro{position:absolute;top:8%;left:5.2%;z-index:2;pointer-events:none;max-width:540px}.space-intro h2{font-family:"Noto Serif CJK SC","Songti SC","SimSun",serif;font-weight:500;font-size:114px;line-height:1.35;letter-spacing:1px;margin:0 0 22px;text-shadow:0 3px 28px #080b11}.space-intro h2 i{color:#f64e50;font-style:normal}.space-intro p{max-width:355px;font-size:25.5px;line-height:1.95;color:#b1b5c3;margin:0 0 14px;text-shadow:0 2px 12px #080b11}.space-intro p strong{color:#e5e7ed;font-weight:500}.space-intro .small{font-size:19.5px;color:#848d9e;max-width:320px}.map-caption{position:absolute;top:51%;left:5.2%;z-index:2;padding:0;background:none;border:0;display:block;max-width:300px;font-size:21px;pointer-events:none}.map-caption button{pointer-events:auto;display:block;color:#c1cee5;margin-top:10px;min-height:34px;border-bottom:1px solid #586276;font-size:19.5px;padding:0}.toolbar{position:absolute;bottom:94px;left:5.2%;width:285px;display:flex;flex-direction:column;align-items:stretch;gap:14px;background:#10141edb;border:1px solid #262c39;border-radius:12px;padding:18px;backdrop-filter:blur(12px)}.filters{display:flex;flex-direction:column;gap:0}.filter{display:flex;align-items:center;gap:10px;font-size:21px;border:0;background:none!important;border-radius:0;min-height:35px;padding:4px 0;text-align:left;color:#959eb1}.filter::before{content:'';height:10px;width:10px;border-radius:50%;background:#dededc}.filter[data-phase=intro]::before{background:#ef7196}.filter[data-phase=develop]::before{background:#6495ed}.filter[data-phase=calculate]::before{background:#aebcea}.filter.active{color:#fff;font-weight:600;border:0}.filter.active::after{content:'✓';margin-left:auto;color:#b7c9ed}.filter:hover{color:white}.search-wrap{width:100%;max-width:none;margin:0;flex:initial;min-width:0}.search-wrap>span{font-size:34.5px;top:0;color:#9aa5b9}.search-wrap input{min-height:36px;background:#090d16;border-color:#2d3443;color:#f5f6fa}.search-results{top:auto;bottom:45px;width:300px;background:#151b28;color:#eef1f7;border-color:#343e50;box-shadow:0 10px 40px #0009}.search-results button:hover{background:#27334b}.map-bottom{position:absolute;bottom:28px;left:5.2%;right:35px;background:none;border:0;padding:0;pointer-events:none}.map-bottom>*{pointer-events:auto}.legend{font-size:18px;color:#8c96aa;gap:12px}.legend-dot.current{background:#c2d4f9}.legend-line{background:#7583a1}.zoom{background:#10141e;border-color:#343b4b;border-radius:7px;gap:4px;padding:4px}.zoom button{color:#c9d2e5;font-size:27px}.zoom button:hover{background:#222b3e}.zoom #motion-toggle{font-size:18px;min-width:72px;border-right:1px solid #353d4f}.zoom output{color:#9eaabd}.map-footnote{position:absolute;bottom:4px;left:5.2%;font-size:16.5px;color:#737e92;padding:0;z-index:2}.map-footnote button{color:#a2b3d1;font-size:16.5px}.space-hint{position:absolute;bottom:88px;right:38px;color:#7b869b;font-size:18px;pointer-events:none}.age-guide{position:absolute;right:22px;top:18%;bottom:22%;display:flex;flex-direction:column;justify-content:space-between;z-index:1;pointer-events:none;color:#8290a7;font-size:18px;border-right:1px solid #222b3a;padding-right:12px}.age-guide span:first-child::before{content:'参考年龄';display:block;font-size:15px;color:#56627a;position:absolute;top:-26px;right:10px;white-space:nowrap}.space-edge{fill:none}.space-core{stroke:#080b11;stroke-width:2}.space-node{cursor:pointer;outline:none}.space-halo{fill:none;stroke:#f4f3ed;stroke-width:1;stroke-dasharray:3 4;pointer-events:none}.space-node:focus-visible .space-halo{opacity:1!important;stroke-width:3}.space-label{font-family:var(--font);font-size:19.5px;font-weight:500;fill:#d6dce8;stroke:#080b11;stroke-width:4px;paint-order:stroke;pointer-events:none}.space-node.selected .space-label{fill:white}.space-age{font-size:16.5px;fill:#94a5c3;stroke:#080b11;stroke-width:3px;paint-order:stroke;pointer-events:none}.space-check{fill:#111724;font-size:22.5px;font-weight:bold;pointer-events:none}
.inspector{display:none;position:absolute;right:24px;top:18px;bottom:92px;width:390px;padding:22px 25px;background:#121722f5;backdrop-filter:blur(18px);border:1px solid #333b4b;border-radius:14px;z-index:6;box-shadow:0 24px 80px #0007;max-height:none}.inspector.open{display:block}.inspector h2{font-size:40.5px}.mobile-close{display:block;color:#9aa7bb}.detail-top{font-size:19.5px}.detail-top strong{font-size:22.5px;color:#bacff6}.description{font-size:22.5px}.fraction-demo,.detail-section details{background:#1b2332}.fraction-strip{border-color:#8eabc9}.fraction-strip i{border-color:#8eabc9}.fraction-strip i.filled{background:#7c9ad4}.example{color:#c9d8f2}.detail-section p{font-size:21px;color:#b9c2d4}.primary{background:#a7bfed;color:#101929}.primary:hover{background:#c3d4f5}.status-btn,.secondary{background:#151c2a;border-color:#39455a;color:#c2cde2}.status-btn[aria-pressed=true]{background:#334361;color:#fff;border-color:#a0b8e4;box-shadow:none}.status-btn:hover,.secondary:hover{background:#283650}.link-row:hover{background:#202c41}.plan-item,.plan-empty{background:#101621;border-color:#30394b}.plan-item-header{background:#171f2d}.plan-step{border-color:#283346}.plan-step select{background:#121a28;color:#c5d1e8;border-color:#39465d}.plan-done{background:#1c3440}.plan-heading h2{font-family:"Songti SC","SimSun",serif;font-weight:500}.plan-view{padding-top:55px}.plan-step-content p{color:#a0aec4}.step-number{background:#233451;color:#cad9f5}dialog,.dialog-header{background:#151b27;color:#ecedf2;border-color:#344055}.dialog-body{color:#b5bfd0}.dialog-header{box-shadow:none}.toast{background:#c2d3ef;color:#15233e}.workspace:has(.inspector.open) .space-intro{opacity:.35}.workspace:has(.inspector.open) .map-caption{opacity:.4}.workspace:has(.inspector.open) .age-guide{display:none}.space-intro,.map-caption{transition:opacity .25s}
@media(max-width:1150px){.space-intro h2{font-size:90px}.space-intro{left:4%;max-width:410px}.toolbar{left:4%;width:245px}.map-caption{left:4%}.inspector{width:355px}.space-intro p{font-size:22.5px;max-width:290px}}
@media(max-width:700px){.header{height:68px;padding:0 17px;gap:0;flex-wrap:nowrap;align-content:normal}.brand{gap:10px}.brand h1{font-size:22.5px;letter-spacing:0}.brand-mark{transform:scale(.8)}nav{width:auto;margin-left:auto;padding:0;gap:0}.nav{font-size:18px;padding:8px 8px;min-height:36px}.nav.help{display:none}.workspace{height:calc(100dvh - 68px);min-height:720px}.space-intro{top:22px;left:22px;max-width:90%}.space-intro h2{font-size:64.5px;line-height:1.25;margin-bottom:13px}.space-intro h2 br{display:none}.space-intro p{font-size:19.5px;line-height:1.7;max-width:305px}.space-intro .small{display:none}.graph-scroll{top:155px;bottom:180px}#graph{width:100%;height:100%}.map-caption{top:126px;left:22px;max-width:100%;font-size:18px;display:flex;align-items:center;gap:14px}.map-caption button{margin:0;display:inline-block;min-height:28px;font-size:16.5px}.toolbar{left:16px;right:16px;bottom:84px;width:auto;padding:10px 12px;gap:8px;border-radius:9px;flex-direction:column}.filters{flex-direction:row;gap:10px;justify-content:space-between}.filter{flex:initial;font-size:18px;min-height:26px;gap:5px;padding:0}.filter::before{width:7px;height:7px}.filter.active::after{display:none}.search-wrap input{min-height:33px;font-size:18px}.search-results{width:100%;bottom:39px}.map-bottom{left:16px;right:16px;bottom:29px;justify-content:space-between}.legend{font-size:15px;gap:7px}.legend span:nth-child(2){display:none}.zoom{padding:2px;gap:0}.zoom button{min-width:26px;min-height:32px;padding:0 5px}.zoom #motion-toggle{font-size:16.5px;min-width:64px}.zoom #zoom-reset{font-size:16.5px}.zoom output{font-size:15px}.space-hint{right:22px;bottom:205px;font-size:15px}.age-guide{top:185px;bottom:260px;right:8px;font-size:15px;padding-right:5px}.age-guide span:first-child::before{display:none}.map-footnote{left:17px;font-size:15px;bottom:3px}.map-footnote button{font-size:15px}.inspector{position:fixed;left:8px;right:8px;bottom:8px;top:auto;width:auto;max-height:78dvh;border-radius:16px;padding:18px 22px}.inspector h2{font-size:39px}.status-grid{grid-template-columns:repeat(4,1fr)}.status-btn{font-size:18px}.space-label{font-size:18px}.plan-view{padding-top:28px}.plan-heading h2{font-size:40.5px}.dialog-body{font-size:21px}.workspace:has(.inspector.open) .space-intro{opacity:1}}
@media(prefers-reduced-motion:reduce){.space-intro,.map-caption{transition:none}}
.age-guide{font-size:27px;font-weight:700;line-height:1.5;color:#dce5f5;text-shadow:0 1px 5px #080b11;white-space:nowrap;border-right-color:#45536b}
.age-guide span:first-child::before{font-size:21px;font-weight:600;color:#b9c9e2;top:-32px}
@media(max-width:700px){.age-guide{font-size:21px;padding-right:8px}}
.space-edge{vector-effect:non-scaling-stroke}
