:root{color:#f2f4ef;font-synthesis:none;text-rendering:optimizelegibility;background:#0b0f0e;font-family:Inter,Noto Sans SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}html,body,#spatial-root{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;letter-spacing:0}.spatial-lab{background:#0b0f0e;width:100%;height:100%;position:relative}.spatial-lab canvas{touch-action:none;width:100%;height:100%;display:block}.lab-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0f0ec7;border-bottom:1px solid #f2f4ef26;grid-template-columns:1fr auto 1fr;align-items:center;min-height:58px;padding:0 22px;display:grid;position:absolute;inset:0 0 auto}.lab-brand{align-items:center;gap:9px;min-width:0;display:flex}.lab-brand strong{font-size:13px;font-weight:800}.lab-brand span{color:#9aa49f;font-size:10px}.lab-header nav{color:#9aa49f;align-items:center;gap:6px;font-size:12px;display:flex}.lab-header nav b{color:#f2f4ef;font-weight:650}.lab-header>.icon-button{justify-self:end}.icon-button{color:#f2f4ef;cursor:pointer;background:#0b0f0e99;border:1px solid #f2f4ef29;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover{color:#7ce0ce;border-color:#62c7b5}.node-label{z-index:8;pointer-events:none;max-width:min(360px,100vw - 40px);position:absolute;bottom:clamp(24px,8vh,90px);left:clamp(20px,6vw,92px)}.node-label span,.region-panel>span,.detail-view__title>span{color:#70d1bf;font-size:10px;font-weight:750}.node-label h1{letter-spacing:0;margin:7px 0 18px;font-size:clamp(26px,4vw,48px);font-weight:640;line-height:1.04}.node-label button,.region-panel__primary,.region-panel__back{cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.node-label button{color:#101312;pointer-events:auto;background:#ec6b55;padding:0 16px;font-weight:750}.node-label button:hover{background:#ff846c}.travel-status{z-index:9;gap:8px;width:min(320px,100vw - 40px);display:grid;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.travel-status span{color:#c4cbc7;text-align:center;font-size:9px}.travel-status i{background:#f2f4ef26;height:2px;overflow:hidden}.travel-status b{background:#66c9b7;height:100%;transition:width .12s linear;display:block}.region-panel{z-index:9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0e1311e8;border-left:1px solid #f2f4ef24;width:min(390px,38vw);min-width:320px;padding:clamp(28px,5vw,64px) 32px 32px;animation:.36s cubic-bezier(.2,.8,.2,1) both panel-in;position:absolute;top:58px;bottom:0;right:0}.region-panel__back{color:#c4cbc7;background:0 0;margin:0 0 52px;padding:0}.region-panel__back:hover{color:#fff}.region-panel h2{letter-spacing:0;margin:8px 0 12px;font-size:clamp(24px,3vw,36px);font-weight:620;line-height:1.08}.region-panel p{color:#aab2ae;margin:0;font-size:14px;line-height:1.8}.region-panel__primary{color:#121614;background:#eff2ed;width:100%;margin-top:30px;padding:0 16px;font-weight:720}.region-panel__primary:hover{background:#79d7c5}.debug-panel{z-index:20;color:#9ea8a3;background:#080c0bdb;border:1px solid #6fd1bf47;grid-template-columns:1fr 1fr;gap:7px 12px;min-width:142px;padding:11px 12px;font:10px/1.25 Consolas,monospace;display:grid;position:absolute;top:74px;left:16px}.debug-panel div{color:#76d8c5;grid-column:1/-1;align-items:center;gap:7px;display:flex}.debug-panel__wide{grid-column:1/-1}.detail-view{z-index:30;color:#171b19;background:#f3f4f0;animation:.42s cubic-bezier(.2,.75,.2,1) both detail-in;position:absolute;inset:0;overflow:auto}.detail-view__header{border-bottom:1px solid #cfd4ce;justify-content:space-between;align-items:center;height:64px;padding:0 clamp(20px,5vw,72px);display:flex}.detail-view__header>div{align-items:baseline;gap:16px;display:flex}.detail-view__header span{color:#367e71;font-size:11px;font-weight:800}.detail-view__header strong{font-size:14px}.detail-view__header button{color:#171b19;cursor:pointer;background:0 0;border:1px solid #c5cbc5;place-items:center;width:38px;height:38px;display:grid}.detail-view__header button:hover{color:#397d71;border-color:#397d71}.detail-view__body{width:min(1180px,100% - 40px);margin:0 auto;padding:clamp(56px,10vh,120px) 0}.detail-view__title{max-width:720px}.detail-view__title h1{letter-spacing:0;margin:12px 0 18px;font-size:clamp(34px,6vw,72px);font-weight:620;line-height:1}.detail-view__title p{color:#626b66;margin:0;font-size:16px;line-height:1.8}.detail-view__flow{border-top:1px solid #bec6bf;border-bottom:1px solid #bec6bf;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;margin-top:clamp(58px,10vh,110px);display:grid}.detail-view__flow>div{align-content:center;gap:7px;min-height:138px;padding:18px 14px;display:grid}.detail-view__flow small{color:#6a7770}.detail-view__flow strong{font-size:21px}.detail-view__flow span{color:#5d6862;font-size:12px}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes detail-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.lab-header{grid-template-columns:1fr auto;padding:0 14px}.lab-header nav{display:none}.region-panel{border-top:1px solid #f2f4ef24;border-left:0;width:100%;min-width:0;height:43%;padding:22px 20px;top:auto}.region-panel__back{margin-bottom:22px}.region-panel h2{font-size:25px}.region-panel p{font-size:13px;line-height:1.6}.region-panel__primary{margin-top:18px}.detail-view__header{padding:0 16px}.detail-view__header strong{display:none}.detail-view__body{padding-top:54px}.detail-view__flow{grid-template-columns:1fr 1fr}.detail-view__flow>svg{display:none}.detail-view__flow>div{border-bottom:1px solid #d3d8d3;min-height:94px}.debug-panel{top:68px;left:10px}}@media (prefers-reduced-motion:reduce){.region-panel,.detail-view{animation-duration:1ms}}.spatial-map-lab{background:#ece9e3}.spatial-map-lab canvas{cursor:grab}.spatial-map-lab canvas:active{cursor:grabbing}.scene-takeover{z-index:6;pointer-events:none;clip-path:circle(var(--takeover-radius) at 50% 52%);transform:scale(calc(1.055 - var(--takeover) * .055));will-change:clip-path, transform;background-position:50%;background-size:cover;position:absolute;inset:0}.spatial-map-lab .lab-header{color:#f4f5f1;background:#101514e0}.map-title{color:#161b19;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f8f5e0;border-left:2px solid #0c8f7b;padding:16px 18px 18px}.map-title h1{font-size:clamp(28px,4vw,46px)}.level-2 .map-title h1,.level-3 .map-title h1{font-size:clamp(27px,3vw,38px)}.map-title p{color:#51605b;max-width:320px;margin:-6px 0 16px;font-size:13px;line-height:1.65}.map-title .map-title__back{color:#f5f6f2;background:#17211e}.map-title .map-title__back:hover{background:#087d6b}.map-hotspot{color:#15352f;cursor:pointer;white-space:nowrap;background:#f8f9f6f0;border:1px solid #0c4c4259;align-items:center;gap:7px;min-height:34px;padding:0 11px;font-size:11px;font-weight:750;display:inline-flex;box-shadow:0 8px 22px #11221e29}.map-hotspot:hover{color:#fff;background:#0c8f7b}.map-toolbar{z-index:15;background:#f7f8f5eb;border:1px solid #151f1c2e;display:grid;position:absolute;bottom:18px;right:18px;box-shadow:0 10px 30px #141f1c24}.map-toolbar button{color:#1b2824;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #151f1c24;place-items:center;width:40px;height:40px;display:grid}.map-toolbar button:last-child{border-bottom:0}.map-toolbar button:hover:not(:disabled){color:#087966;background:#dcece7}.map-toolbar button:disabled{cursor:default;opacity:.38}.map-region-panel{background:#121816f0}.level-indicator{color:#cbd3ce;justify-self:end;font:700 10px/1 Consolas,monospace}.level-note{z-index:9;color:#20322d;background:#f8f9f6eb;border:1px solid #1329232e;align-items:center;gap:9px;max-width:310px;min-height:42px;padding:0 14px;font-size:11px;display:flex;position:absolute;bottom:18px;right:74px;box-shadow:0 10px 30px #141f1c1f}.level-note span{flex:1}@media (width<=720px){.map-title{max-width:calc(100vw - 76px);bottom:20px;left:16px}.map-title h1{font-size:27px}.map-title p{max-width:270px;font-size:12px}.map-toolbar{bottom:12px;right:10px}.phase-active .map-toolbar{bottom:calc(43% + 12px)}.level-note{max-width:calc(100vw - 20px);bottom:62px;right:10px}}@media (prefers-reduced-motion:reduce){.scene-takeover{transform:none}}
