:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#e9e9ee;background:#08090a;font-synthesis:none;--panel:#0f1011;--line:rgba(255,255,255,.09);--muted:#85868f;--accent:#9290ff;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{touch-action:manipulation}button{color:inherit;cursor:pointer}button{border:0;background:none}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #a6a4ff;outline-offset:4px}a{color:inherit;text-decoration:none}button:hover:not(:disabled){color:#fff}button:active:not(:disabled){transform:translateY(1px)}.mono,.eyebrow,.edition-no,.section-label,.pill{font-family:var(--mono)}.muted{color:var(--muted)}.site-header{height:77px;padding:0 3.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;letter-spacing:1px}.brand svg{width:32px;height:36px;fill:none;stroke:#b6b4ff;stroke-width:1.25}.brand-en{font-family:var(--mono);font-size:10px;letter-spacing:1px;margin-left:10px;color:#777881;font-weight:400}.edition{display:flex;align-items:center;gap:9px;font-size:11px;color:#a2a2ab}.edition-no{margin-left:23px;color:#6e6e78}.status-dot,.live-dot{width:5px;height:5px;border-radius:50%;background:#a6a4ff;display:inline-block;box-shadow:0 0 10px #7170ff50}main{max-width:1800px;margin:auto;padding:36px 3.3% 0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.9px;color:#85848f}.page-heading h1{font-size:clamp(27px,2.5vw,38px);font-weight:550;letter-spacing:1.5px;margin:11px 0 10px}.title-dot{color:#777481;margin:0 5px}.page-heading p{font-size:13px;letter-spacing:.5px;color:#8b8b95;margin:0}.heading-note{display:flex;gap:15px;align-items:center;color:#777781;font-size:11px;line-height:1.9;letter-spacing:2px}.small-pyramid{font-size:37px;color:#53515f}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:20px;align-items:stretch}.viewer{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.scene{position:relative;flex:1;min-height:500px;background:radial-gradient(ellipse at 53% 46%,#1c1d28,#101116 40%,#0d0e10 75%);isolation:isolate}canvas{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none;outline-offset:-5px!important}.scene-caption{position:absolute;top:24px;left:25px;display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1px;pointer-events:none;color:#a4a4af}.caption-divider{margin:0 5px;color:#45454d}.scene-count{position:absolute;top:63px;left:25px;pointer-events:none}.scene-count>div{display:flex;align-items:baseline;gap:12px}.scene-count strong{font-family:var(--mono);font-size:65px;line-height:1.1;letter-spacing:-5px;font-weight:400;color:#f2f1ff}.scene-count span{font-size:12px;color:#b0afbd}.scene-count p{font-size:10px;color:#73737e;margin:9px 0}.view-tools{position:absolute;right:20px;top:20px;display:flex;flex-direction:column;background:#101116cc;border:1px solid var(--line);border-radius:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.view-tools button{width:44px;height:44px;font-size:24px;font-weight:300;color:#b5b5bf;display:grid;place-items:center}.view-tools button:hover{background:#ffffff08}.view-tools>span{height:1px;background:var(--line);margin:0 9px}.view-tools svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.4;fill:none}.scene-bottom{position:absolute;left:25px;right:25px;bottom:21px;display:flex;justify-content:space-between;gap:10px;pointer-events:none;font-size:10px;letter-spacing:.4px;color:#777783}.clip-note{font-family:var(--mono);font-size:9px;color:#676772}.touch-instruction{display:none}.axis-key{position:absolute;bottom:57px;left:22px;width:64px;height:64px;pointer-events:none}.axis-key svg{width:64px;stroke:#666674;stroke-width:1;fill:none}.axis-key span{position:absolute;font:9px var(--mono)}.axis-z{top:0;left:28px;color:#aaa6fd}.axis-x{bottom:7px;right:0;color:#eab29d}.axis-y{bottom:7px;left:0;color:#8ac8c2}.timeline{padding:12px 25px 15px;border-top:1px solid var(--line);background:#111214}.timeline-heading,.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.section-label{font-size:10px;color:#747482;letter-spacing:1px;font-weight:400;margin:0}.section-label>span{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:12px;font-weight:500;color:#d4d3dc;letter-spacing:1px;margin-left:9px}.text-button{min-height:44px;font-size:10px;color:#a6a2e9;padding:0 0 0 8px}.text-button>span:first-child{font-size:17px;margin-right:4px}.stage-track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);margin-top:3px}.stage-track:before{content:"";position:absolute;top:10px;left:8.3%;right:8.3%;height:1px;background:#34333d}.stage-track button{display:flex;flex-direction:column;align-items:center;position:relative;padding:3px 0 0;gap:10px;font-size:10px;color:#86858f;min-height:72px}.stage-marker{border:1px solid #53515e;background:#141417;box-shadow:0 0 0 5px #111214;border-radius:50%;width:9px;height:9px;margin:3px 0}.stage-track button.completed .stage-marker{background:#827ce6;border-color:#827ce6}.stage-track button[aria-pressed=true] .stage-marker{background:#b4adff;border:2px solid #111214;box-shadow:0 0 0 1px #a6a0ff,0 0 14px #7170ff70;width:11px;height:11px;margin:2px 0}.stage-track button[aria-pressed=true]{color:#d9d5ff}.stage-track small{font:10px var(--mono);color:#6e6c7c;margin-top:-3px}.stage-track button[aria-pressed=true] small{color:#b3adff}.timeline-foot{display:flex;justify-content:space-between;color:#676672;font-size:9px;border-top:1px solid #ffffff05;padding-top:11px;margin-top:5px}.sidebar{display:flex;flex-direction:column;gap:15px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:17px 20px}.panel-heading{min-height:25px;margin-bottom:10px}.panel-heading>.mono{font-size:9px;letter-spacing:1.4px}.toggle-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;position:relative;cursor:pointer;font-size:12px;color:#c4c4ce}.toggle-row>span:first-child{display:flex;align-items:center;gap:10px}.legend-icon{width:12px;height:12px;display:inline-block;opacity:.9}.plane-icon{border:1px solid #8d86cc;transform:skewY(-20deg);background:#7170ff16}.region-icon{border:1px solid #72c8c1;background:#72c8c125;transform:rotate(30deg);border-radius:2px}.pyramid-icon{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid #eddab4;position:relative;transform:scale(.9)}.toggle-row input{position:absolute;right:0;opacity:0;width:44px;height:44px;margin:0;cursor:pointer}.switch{width:29px;height:16px;background:#303039;border:1px solid #44434e;border-radius:20px;pointer-events:none;position:relative;transition:.2s}.switch:before{content:"";position:absolute;width:10px;height:10px;left:2px;top:2px;border-radius:100%;background:#92909f;transition:.2s}.toggle-row input:checked+.switch{background:#6f68d9;border-color:#8078ee}.toggle-row input:checked+.switch:before{transform:translate(12px);background:#e9e6ff}.toggle-row input:focus-visible+.switch{outline:2px solid #c6bfff;outline-offset:4px}.range-row{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:15px;padding-top:10px;border-top:1px solid #ffffff06;gap:1px}.range-row label{font-size:11px;color:#9e9da9}.range-row output{font:10px var(--mono);color:#aaa5d3}.range-row input{grid-column:1/-1;width:100%;height:30px;margin:0;accent-color:#8c83ef;cursor:pointer}.range-row input[type=range]{-webkit-appearance:none;background:transparent}.range-row input::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#8a82dc 0 var(--value,24%),#2b2a34 var(--value,24%) 100%);border-radius:3px}.range-row input::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:100%;background:#bbb2ff;margin-top:-3.5px;box-shadow:0 0 0 3px #18171f}.range-row input::-moz-range-track{height:3px;background:#34313f}.range-row input::-moz-range-progress{background:#8a82dc;height:3px}.range-row input::-moz-range-thumb{width:10px;height:10px;border:0;background:#bbb2ff}.pill{font-size:8px;color:#a09caf;border:1px solid #ffffff10;padding:4px 6px;border-radius:4px;letter-spacing:.6px}.panel-help{font-size:11px;color:#85838f;margin:5px 0 18px}.region-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.region-chip{height:36px;min-height:44px;min-width:0;padding:0;border:1px solid color-mix(in srgb,var(--chip) 22%,transparent);border-radius:5px;background:color-mix(in srgb,var(--chip) 7%,transparent);color:color-mix(in srgb,var(--chip) 80%,white);font:10px var(--mono);transition:background .15s,border-color .15s}.region-chip:hover{background:color-mix(in srgb,var(--chip) 20%,transparent);border-color:var(--chip)}.region-chip[aria-pressed=true]{color:#fff;background:color-mix(in srgb,var(--chip) 27%,transparent);border-color:var(--chip);box-shadow:0 0 14px color-mix(in srgb,var(--chip) 12%,transparent)}.selection-info{margin-top:17px;border-top:1px solid var(--line);padding-top:5px}.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.selection-heading .text-button{font-size:10px}.sign-row{display:flex;justify-content:space-between;font-size:10px;color:#6f6e7c}.sign-row code{font-size:12px;color:#b8b1ce;letter-spacing:4px;white-space:nowrap}.selection-info p{font-size:10px;line-height:1.7;color:#85818f;margin:10px 0;min-height:34px}.region-navigation{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);gap:4px}.region-navigation>button{padding:0;font-size:10px;min-height:44px;color:#aba6bc}.isolate-label{font-size:10px;color:#aaa5b7;display:flex;gap:4px;align-items:center;min-height:44px;cursor:pointer}.isolate-label input{accent-color:#8b7ce8;width:13px;height:13px}.sidebar-note{display:flex;align-items:flex-start;gap:12px;color:#62616e;padding:0 7px}.sidebar-note>span{font-size:20px;color:#656071}.sidebar-note p{font-size:10px;line-height:1.8;margin:0}.explanation{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:42px;margin:42px 0 35px;padding-top:30px;border-top:1px solid var(--line)}.math-story h2{font-weight:400;font-size:23px;line-height:1.6;letter-spacing:1px;margin:14px 0 12px}.math-story h2 span{color:#b0a5ff;font-family:var(--mono)}.explanation p{font-size:11px;color:#86838f;line-height:1.9;margin:0}.explanation strong{font-weight:500;color:#b9b4c5}.equation-line{display:flex;align-items:center;justify-content:space-between;margin:9px 0 24px;max-width:360px;gap:10px}.equation-line>span{font:43px var(--mono);color:#cfccd8;display:flex;flex-direction:column;align-items:center;gap:8px;letter-spacing:-2px}.equation-line small{font-family:system-ui,sans-serif;font-size:10px;color:#908996;letter-spacing:1px}.equation-line b{font-size:22px;font-weight:300;color:#57525f;margin-bottom:20px}.equation-line>.answer{color:#a69bff}.plane-legend .eyebrow{margin-bottom:14px}#plane-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:16px}.plane-legend-item{font:10px var(--mono);color:#b0aab9;display:flex;gap:8px;align-items:center;white-space:nowrap}.plane-dot{height:5px;width:5px;border-radius:100%;flex-shrink:0}.plane-legend-item.inactive{opacity:.3}.plane-legend p{font-size:10px;color:#716c7b}footer{border-top:1px solid var(--line);min-height:70px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#686471;letter-spacing:.8px}.footer-slash{margin:0 9px;color:#3b3842}footer .mono{font-size:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.webgl-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(80%,360px);padding:25px;background:#16151f;border:1px solid #777083;border-radius:8px;z-index:5}.webgl-error strong{font-size:18px}.webgl-error p{font-size:13px;line-height:1.8;color:#b9b4c5}.webgl-error[hidden]{display:none}@media(min-width:1600px){.scene{min-height:620px}.workspace{grid-template-columns:minmax(0,1fr) 350px}.panel{padding:20px 23px}.region-chip{height:46px}.range-row{margin-top:20px}.panel-help{margin-bottom:24px}}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:14px}.panel{padding:15px}.scene-count strong{font-size:55px}.scene-caption,.scene-count{left:20px}.explanation{gap:24px}.clip-note,.heading-note,.brand-en{display:none}}@media(max-width:760px){.site-header{height:64px;padding:0 20px}.brand{font-size:12px;gap:9px}.brand svg{width:26px}.edition{font-size:10px}.edition-no{display:none}main{padding:28px 16px 0}.eyebrow{font-size:8px;letter-spacing:1.5px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:28px;letter-spacing:.5px}.page-heading p{font-size:11px;line-height:1.8;max-width:320px}.workspace{display:flex;flex-direction:column;gap:16px}.scene{height:clamp(390px,58dvh,600px);min-height:390px;flex:auto}.scene-count{top:62px;left:19px}.scene-count strong{font-size:50px}.scene-count span{font-size:11px}.scene-caption{top:21px;left:19px;font-size:9px}.scene-count p{font-size:9px;max-width:160px}.view-tools{right:14px;top:17px}.view-tools button{width:44px;height:44px}.scene-bottom{left:18px;bottom:17px;font-size:9px}.desktop-instruction{display:none}.touch-instruction{display:inline}.axis-key{left:15px;bottom:45px;transform:scale(.85);transform-origin:bottom left}.timeline{padding:10px 17px 13px}.timeline-heading .text-button{font-size:10px}.stage-track{margin-top:7px}.stage-track button{font-size:9px;gap:10px}.timeline-foot{font-size:8px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{padding:16px}.display-panel{align-self:stretch}.panel-help{line-height:1.8;margin-bottom:12px}.region-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.region-chip{height:44px}.region-navigation{flex-wrap:wrap}.isolate-label{order:3;width:100%;justify-content:center;border-top:1px solid var(--line)}.sidebar-note{grid-column:1/-1}.explanation{grid-template-columns:1fr 1fr;margin-top:30px;gap:26px 20px;padding-top:24px}.math-story h2{font-size:21px}.math-story{grid-column:1/-1}.math-story h2 br{display:none}.math-story p{max-width:480px}.math-equation{grid-column:1/-1}.equation-line{max-width:310px}.plane-legend{grid-column:1/-1;border-top:1px solid var(--line);padding-top:23px}#plane-legend{grid-template-columns:repeat(3,1fr);gap:16px}.plane-legend-item{font-size:10px}footer{gap:12px;line-height:1.9;align-items:flex-start;padding:20px 0}footer .mono{font-size:7px;text-align:right;max-width:125px}}@media(max-width:480px){.sidebar{display:flex;flex-direction:column}.panel{padding:17px 20px}.region-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.region-navigation{flex-wrap:nowrap}.isolate-label{order:0;width:auto;border-top:0}.display-panel .range-row{margin-top:10px}.sidebar-note{padding:0 10px}.scene{height:420px;min-height:390px}.explanation{margin-top:29px}.scene-bottom{font-size:9px}#plane-legend{grid-template-columns:1fr 1fr}.region-chip{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.range-row input{height:44px}.back-to-scene{display:none}.base-grid{display:block;width:min(100%,280px);height:auto;margin-top:18px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#ffffff02}.scene-count p{color:#a5a2b3;background:#101116bb;border-radius:4px;padding:5px 7px;margin-left:-7px;max-width:240px}.panel-help,.selection-info p{color:#a09baa}.math-story h2{word-break:keep-all}@media(max-width:760px){.back-to-scene{display:flex;align-items:center;justify-content:center;min-height:44px;border-top:1px solid var(--line);color:#b6afff;font-size:12px}.scene{scroll-margin-top:12px}}@media(min-width:761px){.display-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.display-panel .panel-heading,.display-panel .toggle-row{grid-column:1/-1}.display-panel .range-row{margin-top:12px;padding-top:9px}.range-row label{font-size:10px}.range-row output{font-size:9px}}
