@font-face{font-family:Geist;src:url(/59d-3d/fonts/Geist-VF.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Archivo;src:url(/59d-3d/fonts/Archivo-VF.ttf)format("truetype");font-weight:100 900;font-stretch:62% 125%;font-display:swap}:root{--ground:oklch(13.5% .008 70);--surface:oklch(17% .01 70);--surface-2:oklch(21% .012 72);--ink:oklch(96% .012 85);--ink-dim:oklch(74% .012 85);--gold:oklch(80% .125 80);--hairline:oklch(80% .125 80/.28);--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{background:var(--ground);height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Geist,system-ui,sans-serif}.app{position:fixed;inset:0;overflow:hidden}canvas{touch-action:none;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.label{letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim);margin:0;font-family:Archivo,sans-serif;font-size:10.5px;font-weight:560;font-stretch:125%}.app:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(oklch(12% .01 70/.72),oklch(12% .01 70/0));height:170px;position:absolute;inset:0 0 auto}.brand,.plans,.dock,.note,.hint{z-index:2}.brand{pointer-events:none;align-items:center;gap:18px;display:flex;position:absolute;top:32px;left:36px}.brand img{width:auto;height:30px;display:block}.brand .home{pointer-events:auto;transition:opacity .2s var(--ease);border-radius:4px;display:block}.brand .home:hover{opacity:.8}.brand .rule{background:var(--hairline);width:1px;height:38px}.brand .label{color:oklch(90% .012 85);text-shadow:0 1px 10px oklch(10% .01 70/.6)}.brand h1{letter-spacing:-.02em;margin:0 0 6px;font-size:21px;font-weight:620;line-height:1}.note{max-width:34ch;color:var(--ink);text-shadow:0 1px 12px oklch(10% .01 70/.7);animation:rise .6s var(--ease) both;pointer-events:none;margin:0;font-size:15px;line-height:1.45;position:absolute;bottom:112px;left:36px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.dock{background:var(--surface);border:1px solid var(--hairline);border-radius:999px;align-items:center;gap:6px;padding:6px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 18px 40px oklch(5% .01 70/.45)}.views{gap:2px;display:flex}.dock button{color:var(--ink-dim);transition:color .2s var(--ease), background-color .2s var(--ease);white-space:nowrap;border-radius:999px;padding:10px 17px;font-size:13.5px;font-weight:500}.dock button:hover{color:var(--ink)}.dock button.on{color:var(--ground);background:var(--gold)}.dock .sep{background:var(--hairline);width:1px;height:20px;margin:0 4px}.dock .mood{min-width:64px}.dock .mood.on{background:var(--surface-2);color:var(--gold)}.hint{pointer-events:none;color:oklch(90% .01 85);position:absolute;top:40px;right:32px}.dock.hidden{opacity:0;pointer-events:none;transition:opacity .3s var(--ease), transform .3s var(--ease);transform:translate(-50%)translateY(12px)}.dock .walkBtn.on{background:var(--gold);color:var(--ground)}.dock .specsBtn.on{background:var(--surface-2);color:var(--gold)}.specs{background:var(--surface);border:1px solid var(--hairline);z-index:2;width:300px;animation:rise .5s var(--ease) both;border-radius:16px;padding:22px 22px 16px;position:absolute;top:104px;right:32px}.specs h2{letter-spacing:-.01em;margin:0 0 18px;font-size:17px;font-weight:600}.specs dl{gap:14px;margin:0;display:grid}.specs dt{margin-bottom:5px}.specs dd{margin:0;font-size:14.5px;line-height:1.35}.pin{white-space:nowrap;pointer-events:none;animation:rise .5s var(--ease) both;align-items:center;gap:10px;display:flex}.pin i{background:var(--gold);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px oklch(80% .125 80/.25)}.pin div{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;gap:2px;padding:8px 12px;display:grid}.pin b{color:var(--ink);font-size:13px;font-weight:600}.pin span{color:var(--ink-dim);font-size:11.5px}.walkGate{z-index:3;animation:rise .4s var(--ease) both;background:oklch(10% .01 70/.35);place-items:center;display:grid;position:absolute;inset:0}.walkCard{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;width:320px;padding:26px 26px 20px;box-shadow:0 30px 60px oklch(5% .01 70/.5)}.walkCard h2{letter-spacing:-.015em;margin:0 0 16px;font-size:20px;font-weight:620}.keys{color:var(--ink-dim);gap:9px;margin:0 0 22px;padding:0;font-size:14px;list-style:none;display:grid}.keys li{align-items:center;gap:5px;display:flex}.keys li kbd:last-of-type{margin-right:8px}kbd{text-align:center;min-width:26px;color:var(--ink);background:var(--surface-2);border:1px solid oklch(100% 0 0/.1);border-bottom-width:2px;border-radius:6px;padding:4px 7px;font-family:Geist,sans-serif;font-size:12px;font-weight:600}.walkCard button{border-radius:10px;width:100%;padding:12px;font-size:14px;font-weight:600}.walkCard .primary{background:var(--gold);color:var(--ground);transition:transform .15s var(--ease);margin-bottom:6px}.walkCard .primary:active{transform:scale(.98)}.walkCard .ghost{color:var(--ink-dim)}.walkCard .ghost:hover{color:var(--ink)}.reticle{z-index:2;pointer-events:none;background:oklch(100% 0 0/.85);border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px oklch(0% 0 0/.35)}.walkHint{z-index:2;color:oklch(92% .01 85);text-shadow:0 1px 8px oklch(0% 0 0/.6);pointer-events:none;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.walkIntro{margin:-6px 0 16px}.where{z-index:2;background:var(--surface);border:1px solid var(--hairline);pointer-events:none;border-radius:12px;justify-items:center;gap:4px;min-width:220px;padding:10px 18px;display:grid;position:absolute;top:30px;left:50%;transform:translate(-50%)}.where b{letter-spacing:-.01em;font-size:15px;font-weight:620}.where span{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:12.5px}.liftPanel{z-index:3;background:var(--surface);border:1px solid var(--hairline);border-radius:16px;justify-items:center;gap:12px;padding:16px;display:grid;position:absolute;top:50%;right:32px;transform:translateY(-50%)}.liftPanel div{gap:8px;display:grid}.liftPanel button{background:var(--surface-2);width:46px;height:46px;color:var(--ink);transition:background-color .2s var(--ease), color .2s var(--ease), transform .12s var(--ease);border:1px solid oklch(100% 0 0/.14);border-radius:50%;font-size:15px;font-weight:600}.liftPanel button:hover{border-color:var(--gold)}.liftPanel button:active{transform:scale(.95)}.liftPanel button.on{background:var(--gold);color:var(--ground)}.liftPanel button.go{color:var(--gold);border-color:var(--gold)}.liftPanel .fine{margin:0}.prompt{z-index:2;background:var(--surface);border:1px solid var(--hairline);pointer-events:none;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;display:flex;position:absolute;top:58%;left:50%;transform:translate(-50%)}.minimap{z-index:2;pointer-events:none;width:210px;height:auto;position:absolute;bottom:24px;right:24px}.mmBg{fill:oklch(15% .01 70/.88);stroke:var(--hairline)}.mmBldg{fill:oklch(32% .012 75)}.mmCore{fill:oklch(22% .01 70)}.mmLine{stroke:oklch(55% .01 80);stroke-width:1px}.mmLift{fill:none;stroke:var(--gold);stroke-width:1.5px}.mmStreet{stroke:oklch(50% .01 80);stroke-width:2px;stroke-dasharray:4 4}.mmText{fill:oklch(80% .01 85);text-anchor:middle;font:600 10px Geist,sans-serif}.mmFloor{fill:var(--gold);font:600 11px Geist,sans-serif}.mmMe{fill:var(--gold);stroke:oklch(10% 0 0);stroke-width:1px}.plans{width:280px;animation:rise .5s var(--ease) both;flex-direction:column;gap:10px;display:flex;position:absolute;top:104px;right:32px}.floors{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:2px;padding:4px;display:grid}.floors button{color:var(--ink-dim);border-radius:9px;padding:9px 0;font-size:14px;font-weight:600}.floors button.on{background:var(--gold);color:var(--ground)}.floorInfo{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:22px 22px 16px}.floorInfo h2{letter-spacing:-.01em;margin:0 0 14px;font-size:17px;font-weight:600}.floorInfo dl{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px;display:grid}.floorInfo dt{margin-bottom:5px}.floorInfo dd{font-variant-numeric:tabular-nums;margin:0;font-size:15px}.units{border-top:1px solid var(--hairline);margin:0;padding:0;list-style:none}.units li{font-variant-numeric:tabular-nums;color:var(--ink-dim);transition:color .2s var(--ease);border-bottom:1px solid oklch(100% 0 0/.06);justify-content:space-between;padding:11px 2px;font-size:14px;display:flex}.units li span:last-child:after{content:" sq ft";color:oklch(60% .01 85);font-size:12px}.units li.on{color:var(--gold)}.fine{color:oklch(60% .01 85);margin:12px 0 0;font-size:12px;line-height:1.4}.loader{background:var(--ground);transition:opacity .8s var(--ease), visibility .8s;text-align:center;place-content:center;gap:16px;display:grid;position:absolute;inset:0}.loader span{letter-spacing:-.01em;font-size:18px;font-weight:600}.loader .bar{background:var(--hairline);width:160px;height:1px;overflow:hidden}.loader .bar i{background:var(--gold);transform-origin:0;height:100%;transition:transform .3s;display:block}.loader.done{opacity:0;visibility:hidden}@media (width<=1100px){.hint{display:none}.dock button{padding:9px 12px}}@media (width<=760px){.brand{gap:12px;top:18px;left:16px}.brand img{height:22px}.brand .label{color:oklch(90% .012 85);text-shadow:0 1px 10px oklch(10% .01 70/.6)}.brand h1{font-size:17px}.note{font-size:14px;bottom:140px;left:16px;right:16px}.dock{border-radius:18px;flex-wrap:wrap;justify-content:center;bottom:16px;left:16px;right:16px;transform:none}.views{flex-wrap:wrap;justify-content:center}.dock button{padding:8px 12px;font-size:13px}.hint{display:none}.plans{width:auto;inset:auto 16px 200px}.units{display:none}.specs{width:auto;max-height:42vh;inset:auto 16px 200px;overflow:auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}button:focus-visible{outline-width:2px}button:disabled{opacity:.45;cursor:not-allowed}.dock button{min-height:44px;transition:color .18s var(--ease), background-color .18s var(--ease), transform .16s var(--ease)}.dock button:active:not(:disabled){transform:scale(.97)}.note{background:var(--surface);border:1px solid var(--hairline);text-shadow:none;border-radius:12px;max-width:38ch;padding:12px 16px;font-size:14px;animation-duration:.2s;bottom:110px}.hint{background:var(--surface);letter-spacing:.1em;border-radius:8px;padding:10px 12px;font-size:10px;top:auto;bottom:112px;right:36px}.modelDisclaimer{z-index:2;color:var(--ink);margin:0;font-size:12px;position:absolute;top:36px;right:36px}.specs,.plans{scrollbar-width:thin;max-height:calc(100dvh - 220px);overflow-y:auto}.panelHead{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panelHead h2{margin:0}.panelHead button{background:var(--surface-2);border-radius:8px;width:44px;height:44px;font-size:24px}.units li{padding:0}.units button{text-align:left;justify-content:space-between;width:100%;min-height:44px;padding:12px 2px;font-size:14px;display:flex}.units li span:last-child:after{content:none}.units button[aria-pressed=true]{color:var(--gold)}.fine{color:var(--ink-dim);font-size:13px}.walkCard{width:min(420px,100vw - 32px);max-height:calc(100dvh - 180px);overflow:auto}.keys li{flex-wrap:wrap}.loader{z-index:4}@media (width<=760px){.brand{top:max(18px, env(safe-area-inset-top))}.brand .label{letter-spacing:.12em;font-size:9px}.modelDisclaimer{font-size:11px;top:76px;left:16px;right:auto}.dock{bottom:max(16px, env(safe-area-inset-bottom));gap:2px}.views{grid-template-columns:repeat(3,1fr);gap:2px;width:100%;display:grid}.dock button{padding:8px 10px;font-size:14px}.dock .sep{display:none}.note{max-width:none;padding:10px 12px;font-size:14px;bottom:176px}.plans{max-height:38dvh;bottom:176px}.plans~.note{display:none}.units{display:block}.floorInfo{padding:16px}.specs{max-height:48dvh;bottom:176px}.hint{display:none}.where{top:94px}.minimap{width:150px}}@media (height<=560px){.brand{top:16px}.specs,.plans{max-height:none;top:80px;bottom:94px}.note,.hint,.modelDisclaimer{display:none}}@media (prefers-reduced-motion:reduce){.note,.specs,.plans,.walkGate{animation:none}}.unitToggle{white-space:nowrap;color:var(--gold);padding:0 10px;width:auto!important;font-size:12px!important}@media (width<=760px){.floorInfo .fine{font-size:14px}.floorInfo dl{margin-bottom:8px}}.fine a{color:var(--gold);text-underline-offset:3px}.gpuLost{z-index:10;text-align:center;background:var(--ground);place-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.gpuLost b{font-size:18px;font-weight:620}.gpuLost span{max-width:40ch;color:var(--ink-dim);font-size:14px;line-height:1.45}.gpuLost button{background:var(--gold);color:var(--ground);border-radius:999px;margin-top:8px;padding:10px 18px;font-weight:600}.dock .tier{font-variant-numeric:tabular-nums;min-width:48px}.dock .snd{place-items:center;min-width:40px;padding:10px 12px;display:grid}.dock .snd.on{background:var(--surface-2);color:var(--gold)}.drivePanel{z-index:2;background:var(--surface);border:1px solid var(--hairline);pointer-events:none;border-radius:14px;justify-items:center;gap:2px;padding:12px 20px 10px;display:grid;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.drivePanel b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:640;line-height:1}.drivePanel .fine{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:8px 0 0;display:flex}.drivePanel kbd{min-width:22px;padding:2px 6px}
