@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&display=swap');
:root{color-scheme:dark;--white:#f4f3ec;--ink:#14201d;--sage:#bbcbb5;--line:rgba(242,245,235,.35);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#28332e;color:var(--white);overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #e5f2d7;outline-offset:5px}button:disabled{opacity:.4;cursor:wait}a{color:inherit;text-decoration:none}#experience{height:100dvh;min-height:400px;position:relative;isolation:isolate}.viewport{position:absolute;inset:0}.viewport canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.hidden{display:none!important}.scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(13,24,24,.28),transparent 24%,transparent 48%,rgba(7,18,16,.48));z-index:2}.header{position:absolute;top:27px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;z-index:5;gap:20px}.brand{display:flex;align-items:center;gap:16px;font-size:21px;letter-spacing:.6px;text-shadow:0 1px 18px #26332d}.brand svg{width:39px;height:44px}.mode-switch{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:4px;background:rgba(33,45,42,.5);border:1px solid var(--line);border-radius:32px;backdrop-filter:blur(20px)}.mode-switch button{min-width:113px;padding:10px 20px;border-radius:25px;font-size:14px;transition:background .2s,color .2s}.mode-switch button.active{color:#111d16;background:var(--sage)}.mode-switch button:not(.active):hover{background:#ffffff12}.top-actions{display:flex;align-items:center;gap:20px}.outline{border:1px solid var(--line);padding:12px 25px;border-radius:24px;font-size:13px;background:#16232015;backdrop-filter:blur(12px)}.icon-button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:30px}.icon-button:hover{background:#ffffff18}.icon-button svg{width:25px;height:25px}.hero{position:absolute;z-index:4;left:38px;bottom:94px;transition:opacity .5s,transform .5s}.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:500;color:#e0e5db;margin:0 0 16px;opacity:.85}h1{font-size:clamp(48px,5.3vw,84px);letter-spacing:-3px;line-height:1.05;font-weight:400;margin:0 0 12px;text-shadow:0 2px 35px #15221b44}#scene-detail{font-size:18px;color:#d9e0d6;font-weight:400;margin:0}#scene-detail span{padding:0 9px;opacity:.6}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:26px}.primary{border-radius:24px;background:var(--sage);color:var(--ink);padding:17px 26px;min-width:174px;display:flex;align-items:center;justify-content:space-between;gap:27px;font-size:15px;transition:background .2s,transform .2s}.primary:hover{background:#d0ddc9;transform:translateY(-1px)}.primary span{font-size:21px;line-height:15px}.text-button{font-size:14px;padding:12px 0;border-bottom:1px solid #ffffff60;display:flex;gap:14px}.scene-tools{position:absolute;right:33px;top:112px;z-index:5;display:flex;flex-direction:column;gap:0;border:1px solid #ffffff22;border-radius:17px;background:#18221d77;backdrop-filter:blur(20px);width:160px;overflow:hidden}.scene-tools button,.scene-tools label{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;font-size:12px;border-bottom:1px solid #ffffff1a;text-align:left}.scene-tools button:hover{background:#ffffff12}.scene-tools label{flex-direction:column;align-items:flex-start;gap:10px;color:#dae0d5}.scene-tools button:last-child{border:0}input[type=range]{width:100%;height:2px;accent-color:var(--sage);margin:4px 0}.movement-hint{position:absolute;z-index:4;bottom:94px;right:33px;display:flex;align-items:center;gap:13px;background:#1d282562;padding:12px 15px;border-radius:8px;font-size:11px;color:#d4dcd1;backdrop-filter:blur(14px)}.movement-hint span{display:flex;gap:4px;align-items:center}.movement-hint span+span{border-left:1px solid #ffffff22;padding-left:13px}kbd{font:inherit;border:1px solid #d6dfd17a;border-radius:3px;min-width:19px;height:22px;display:inline-grid;place-items:center}.footer{position:absolute;z-index:4;bottom:22px;left:33px;right:33px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#d8e0d4;pointer-events:none}.footer span:nth-child(2){position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;opacity:.76}#compass{font-size:12px}.loading{position:absolute;inset:0;z-index:20;background:#1e2b27;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s}.loading p{font-size:21px;letter-spacing:.3px}.loading small{color:#9cafa1;font-size:12px}.loader-mark{width:45px;height:45px;border:1px solid #778a7b;border-radius:50%;border-top-color:#dfebd9;animation:spin 1.7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:absolute;top:100px;left:50%;transform:translateX(-50%) translateY(-5px);padding:11px 20px;border:1px solid #e0e9de22;background:#162922d9;border-radius:22px;z-index:15;opacity:0;pointer-events:none;transition:.3s;font-size:12px;max-width:min(650px,85%);text-align:center;backdrop-filter:blur(16px)}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.crosshair{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#fff9;z-index:4;box-shadow:0 0 0 1px #26392d6e;pointer-events:none}.walk-label{position:absolute;bottom:93px;left:33px;display:flex;gap:12px;flex-direction:column;z-index:4}.walk-label>span{font-size:25px;letter-spacing:-.6px}.walk-label button{font-size:12px;text-align:left;color:#c7d5c2;padding:0}.floor-map{width:218px;position:absolute;right:33px;bottom:155px;border:1px solid #dce6dc2a;border-radius:16px;padding:15px;background:#12271dc9;backdrop-filter:blur(16px);z-index:5}.floor-map svg{width:100%;display:block;margin:9px 0}.floor-map .map-heading{font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between}.floor-map small{font-size:9px;color:#afc0ae}.touch-controls{display:none;z-index:6;position:absolute;right:24px;bottom:85px;width:150px;grid-template-columns:repeat(3,44px);gap:5px}.touch-controls button{width:44px;height:44px;border-radius:12px;background:#13291e94;border:1px solid #ffffff3b;touch-action:none}.touch-controls button:first-child{grid-column:2}.touch-controls button:nth-child(2){grid-column:1}dialog{border:1px solid #e4ead926;border-radius:24px;background:#182720;color:#edf1e7;box-shadow:0 30px 100px #0007;width:min(520px,calc(100% - 30px));max-height:calc(100dvh - 48px);margin:auto 22px auto auto;padding:30px;overflow-y:auto}dialog::backdrop{background:#101f185e;backdrop-filter:blur(9px)}.drawer-header{display:flex;justify-content:space-between;align-items:start;gap:15px}.drawer-header h2{font-size:30px;font-weight:400;letter-spacing:-1px;line-height:1.2;margin:0;max-width:300px}.drawer-intro{color:#b1c1b2;font-size:13px;line-height:1.6;margin:18px 0 26px}dialog section{border-top:1px solid #dbe3d422;padding:18px 0 5px}dialog h3{font-size:13px;font-weight:550;margin:0 0 10px}dialog p,dialog details{font-size:12px;line-height:1.65;color:#d0dbcd}dialog .note{font-size:11px;line-height:1.7;color:#aabdaa}.source-links a,.source-links button{display:block;font-size:12px;padding:10px 0;border-bottom:1px solid #ffffff12;text-align:left;color:#d6e9cc}.source-links a:hover,.source-links button:hover{color:white}.source-links button{width:100%}details{margin-top:25px}summary{cursor:pointer}#token-form{display:flex;gap:8px}#token-form input{width:100%;min-width:0;border:1px solid #ffffff33;border-radius:10px;background:#0e2117;color:white;padding:12px;font:inherit}#token-form button{min-width:0;padding:12px 16px;border-radius:10px}.final-note{margin-bottom:0;padding-top:20px}.error-panel{position:absolute;inset:40% 20%;z-index:25;background:#192c25e8;border:1px solid #cad8c342;border-radius:20px;padding:26px;font-size:16px;line-height:1.6;text-align:center}.cesium-viewer-bottom{left:8px!important;bottom:3px!important}.cesium-credit-logoContainer{display:none!important}.cesium-credit-textContainer{font-size:9px!important;color:#c8d4c4!important}.property-active .footer{bottom:32px}.property-active .movement-hint{bottom:104px}.property-active .walk-label{bottom:104px}.property-active .hero{bottom:104px}
@media(max-width:1050px){.brand span{max-width:180px;font-size:17px}.brand{gap:10px}.movement-hint{max-width:300px;gap:8px}.movement-hint span:last-child{display:none}.hero h1{font-size:60px}.hero{bottom:115px}.hero-actions{gap:20px}.footer span:nth-child(2){font-size:9px}}@media(max-width:720px){.header{top:18px;left:18px;right:18px;align-items:flex-start}.brand span{max-width:160px;line-height:1.2;font-size:15px}.brand svg{width:27px;height:35px}.top-actions{gap:4px}.outline{padding:9px 14px;font-size:11px}.icon-button{width:33px;height:33px}.mode-switch{top:56px}.mode-switch button{min-width:102px;padding:9px 15px;font-size:12px}.hero{left:22px;bottom:105px}.hero h1{font-size:46px;letter-spacing:-2px}.eyebrow{font-size:9px;margin-bottom:12px}#scene-detail{font-size:13px}#scene-detail span{padding:0 4px}.hero-actions{margin-top:20px;gap:20px}.primary{font-size:13px;padding:14px 20px;min-width:159px}.text-button{font-size:12px}.scene-tools{top:132px;right:18px;width:133px;border-radius:14px}.scene-tools button,.scene-tools label{font-size:10px;padding:11px 13px}.movement-hint{display:none}.footer{left:20px;right:20px;bottom:17px;font-size:9px}.footer span:nth-child(2){position:static;transform:none;max-width:180px;white-space:normal;text-align:center;font-size:8px}.walk-label{left:20px;bottom:95px}.walk-label>span{font-size:20px;max-width:155px}.touch-controls{display:grid}.floor-map{width:180px;right:18px;bottom:215px}.toast{top:118px;font-size:11px;padding:9px 14px}.error-panel{inset:35% 5%;padding:20px}dialog{margin:auto;padding:24px}.drawer-header h2{font-size:27px}.property-active .hero{bottom:116px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.loader-mark{animation:none}.toast,.loading,.hero,.primary{transition:none}}

@media(max-width:900px){.save-view{display:none}.top-actions{gap:12px}}

.property-active .scene-tools{display:none}
