@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Manrope:wght@400;500;600;650;700;800&display=swap";:root{color:#26392f;font-synthesis:none;--glass:#f6f5eeeb;--line:#293c3020;--accent:#d9eb89;--green:#263e31;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:#ced8d7;margin:0;overflow:hidden}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #b6cc6a}button{transition:background .18s,transform .18s}button:hover{filter:brightness(.96)}button:active{transform:scale(.98)}button[hidden],[hidden]{display:none!important}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#loading{z-index:20;background:#e8ebe1;place-items:center;display:grid;position:fixed;inset:0}.topbar{pointer-events:none;z-index:4;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;top:26px;left:32px;right:32px}.topbar>*{pointer-events:auto}.brand{color:var(--green);letter-spacing:.08em;text-shadow:0 1px 15px #fff;align-items:center;gap:11px;font-size:13px;font-weight:800;text-decoration:none;display:flex}.brand small{letter-spacing:.25em;opacity:.65;margin-top:4px;font-size:8px;font-weight:600;display:block}.brand-icon{font-size:32px;font-weight:400}.mode-switch{background:var(--glass);border:1px solid #fff8;border-radius:50px;gap:4px;padding:5px;display:flex;box-shadow:0 4px 20px #22352309}.mode-switch button{background:0 0;border-radius:30px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;display:flex}.mode-switch .selected{background:var(--green);color:#f1f5e9}.icon-button{background:var(--glass);border:1px solid #fff8;border-radius:50%;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.welcome{z-index:2;pointer-events:none;width:340px;position:fixed;bottom:105px;left:40px}.welcome:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 0 65%,#e6ebd9df,#0000 72%);position:absolute;inset:-50px -60px -35px -40px}.eyebrow{letter-spacing:.16em;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.eyebrow i,.map-caption i{background:#7f9859;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.welcome h1{letter-spacing:-.055em;margin:20px 0 17px;font-family:Manrope,sans-serif;font-size:clamp(38px,4.3vw,62px);font-weight:500;line-height:1.06}.welcome p{color:#4d5e50;font-size:12px;line-height:1.7}.primary{background:var(--green);color:#f3f8e9;pointer-events:auto;border-radius:5px;justify-content:space-between;align-items:center;gap:38px;min-height:48px;padding:16px 20px;font-size:12px;font-weight:600;display:flex}.primary span{color:var(--accent);font-size:19px}.welcome .primary{width:210px;margin-top:25px}.welcome-hint{color:#4f6150;align-items:center;gap:7px;margin-top:20px;font-size:9px;display:flex}.welcome-hint span{margin-left:7px;font-size:15px}.welcome-hint span:first-child{margin-left:0}.right-panel{z-index:3;width:200px;position:fixed;top:109px;right:32px}details,.tools,.map-panel{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #fff8;border-radius:10px;box-shadow:0 4px 20px #22352308}summary{cursor:pointer;letter-spacing:.15em;justify-content:space-between;padding:17px;font-size:9px;font-weight:650;list-style:none;display:flex}summary::-webkit-details-marker{display:none}details[open] summary{border-bottom:1px solid var(--line)}#rooms{padding:5px}#rooms button{text-align:left;background:0 0;border-radius:5px;align-items:center;gap:9px;width:100%;padding:11px 8px;font-size:10px;display:flex}#rooms button:hover,#rooms button.active{background:#e6eaca}.room-number{opacity:.5;font-size:8px}.room-arrow{color:#7d8b67;margin-left:auto}.tools{margin-top:10px;padding:5px}.tools button{background:0 0;border-radius:6px;align-items:center;gap:9px;width:100%;min-height:40px;padding:11px 8px;font-size:10px;display:flex}.tools button:hover{background:#e6eaca}.tools button>span:first-child{min-width:18px;font-size:17px}.tools kbd{margin-left:auto}kbd{color:#67765d;border:1px solid #89977c50;border-radius:3px;padding:2px 4px;font-family:inherit;font-size:9px}.map-panel{z-index:3;width:166px;position:fixed;bottom:76px;right:32px;overflow:hidden}.map-heading{justify-content:space-between;align-items:center;padding:11px 12px;font-size:9px;display:flex}.map-heading>span:last-child{color:#81936e}#minimap{cursor:crosshair;opacity:.95;width:100%;height:auto;display:block}.map-caption{white-space:nowrap;align-items:center;gap:6px;padding:10px 12px;font-size:9px;display:flex}.bottom-bar{z-index:4;color:#3d5141;justify-content:space-between;align-items:center;gap:16px;font-size:9px;display:flex;position:fixed;bottom:18px;left:32px;right:32px}.project-caption{letter-spacing:.11em;font-size:8px}.project-caption span{opacity:.4;padding:0 9px}#status{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f5eead;border-radius:25px;padding:10px 15px}#info-toggle{background:0 0;width:40px;height:40px;font-size:21px}#info{z-index:8;background:#f6f5eef5;border-radius:10px;width:300px;padding:23px;font-size:11px;line-height:1.7;position:fixed;bottom:67px;right:32px;box-shadow:0 6px 40px #23352520}#info b{font-family:Manrope,sans-serif;font-size:14px}#info label{margin-top:20px;display:block}#sensitivity{width:100%;accent-color:var(--green)}#crosshair{pointer-events:none;background:#fff;border:1px solid #283c3050;border-radius:50%;width:5px;height:5px;display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #0004}#interact{z-index:5;color:#fff;background:#263e31df;border:1px solid #ffffff40;border-radius:6px;padding:10px 16px;font-size:12px;position:fixed;top:56%;left:50%;transform:translate(-50%)}#pause{z-index:5;display:none;position:fixed;bottom:80px;left:32px}#pause-screen{z-index:10;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#19302566;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#pause-screen>div{background:#f5f4ec;border-radius:12px;width:min(380px,100vw - 40px);padding:36px}#pause-screen h2{letter-spacing:-.04em;font:500 28px Manrope,sans-serif}#pause-screen p{color:#677361;font-size:12px;line-height:1.8}#pause-screen .primary{width:100%;margin-top:25px}.secondary{background:0 0;width:100%;margin-top:7px;padding:15px;font-size:12px;display:block}.playing #crosshair{display:block}.paused #pause-screen{display:flex}[data-mode=walk] .welcome{display:none}[data-mode=walk] #pause{display:grid}[data-mode=walk] .map-panel{width:145px}[data-mode=walk] .right-panel{top:92px}.playing #scene{cursor:grab}.playing #scene:active{cursor:grabbing}#touch-controls{pointer-events:none;z-index:5;display:none;position:fixed;inset:0}#joystick{pointer-events:auto;touch-action:none;background:#273d3126;border:1px solid #fff7;border-radius:50%;place-items:center;width:106px;height:106px;display:grid;position:absolute;bottom:90px;left:28px}#stick{background:#f6f5eeba;border:1px solid #fff8;border-radius:50%;width:46px;height:46px;box-shadow:0 3px 15px #0001}#jump{pointer-events:auto;background:#f6f5eebb;border-radius:50%;width:56px;height:56px;font-size:24px;position:absolute;bottom:115px;right:30px}.touch-look{color:#263e31;background:#f6f5eebb;border-radius:15px;padding:5px 8px;font-size:9px;position:absolute;bottom:77px;right:24px}@media (width>=1150px){.welcome{bottom:115px}.map-panel{width:180px}}@media (width<=900px){.brand{font-size:11px}.topbar{left:22px;right:22px}.mode-switch button{padding:10px 12px}.right-panel{width:172px;right:22px}.welcome{width:290px;left:26px}.welcome h1{font-size:48px}.map-panel{width:145px;right:22px}.bottom-bar{left:22px;right:22px}.project-caption{display:none}}@media (width<=600px){.topbar{gap:7px;top:16px;left:16px;right:16px}.brand{gap:6px;font-size:10px}.brand small{letter-spacing:.15em;font-size:6px}.brand-icon{font-size:25px}.mode-switch{white-space:nowrap;position:fixed;top:76px;left:50%;transform:translate(-50%)}.mode-switch button{padding:9px 16px;font-size:10px}.icon-button{width:36px;height:36px}.welcome{width:260px;bottom:86px;left:22px}.eyebrow{letter-spacing:.1em;font-size:7px}.welcome h1{margin-top:15px;font-size:42px}.welcome p{font-size:11px}.welcome .primary{width:182px;margin-top:18px;padding:13px 16px}.welcome-hint{display:none}.right-panel{width:151px;top:139px;right:16px}.tools{margin-top:7px}.tools button{gap:5px;padding:6px;font-size:9px}.tools kbd{display:none}summary{padding:13px;font-size:8px}#rooms button{padding:10px 6px;font-size:10px}.map-panel{width:104px;bottom:84px;right:16px}.map-heading,.map-caption{padding:8px;font-size:7px}.bottom-bar{gap:7px;bottom:13px;left:15px;right:12px}#status{padding:9px 12px;font-size:8px}#info{width:min(300px,100vw - 32px);bottom:64px;right:16px}[data-mode=walk] .right-panel{top:139px}[data-mode=walk] .map-panel{width:90px;bottom:213px}[data-mode=walk] #pause{bottom:53px;left:17px}#interact{white-space:nowrap;font-size:10px;top:57%}.desktop-break{display:none}}@media (pointer:coarse){.playing #touch-controls{display:block}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (height<=650px) and (width>=601px){.map-panel{width:120px}.welcome{bottom:90px}.welcome h1{font-size:40px}.right-panel{top:92px}.welcome-hint{display:none}}.exploring .welcome{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}#scene:focus-visible{outline:none}@media (width<=600px){.welcome{width:166px}.welcome h1{font-size:32px}.welcome p{font-size:10px;line-height:1.6}.welcome .primary{width:166px;font-size:11px}.welcome:before{right:-15px}.welcome .eyebrow{font-size:6px;line-height:1.7}}#rooms{overscroll-behavior:contain;scrollbar-width:thin;max-height:min(56vh,460px);overflow-y:auto}details[open]~.tools{position:relative}@media (width<=600px){#rooms{max-height:43vh}.right-panel{width:151px}}.right-panel:has(details[open]){z-index:6}.room-size{letter-spacing:.025em;color:#67715e;background:#faf8f0;border-radius:0 0 14px 14px;padding:0 15px 12px;font-size:9px}@media (width<=600px){.tools{grid-template-columns:repeat(4,1fr);gap:2px;padding:5px;display:grid}.tools button{justify-content:center;min-height:36px;padding:0}.tools button>span:nth-child(2),.tools button>kbd{display:none}}.top-actions{align-items:center;gap:9px;display:flex}.projects-launch{background:var(--glass);border:1px solid #fff8;border-radius:24px;align-items:center;gap:8px;padding:11px 15px;font-size:11px;display:flex}.projects-launch>span:first-child{font-size:17px}.budget-launch{color:var(--green);text-decoration:none}@media (width<=380px){.topbar .brand-icon{display:none}.topbar .brand{font-size:8px}.topbar .brand small{font-size:5px}.topbar .top-actions{gap:4px}.topbar .projects-launch{gap:4px;padding:8px;font-size:9px}}#project-dialog{width:calc(100vw - 32px);max-width:1500px;height:calc(100dvh - 32px);max-height:none;color:var(--green);background:#f5f4ec;border:1px solid #fff8;border-radius:16px;margin:auto;padding:0;overflow:hidden;box-shadow:0 20px 100px #14271c55}#project-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#192c2580}#project-dialog[open]{grid-template-rows:auto auto 1fr;display:grid}.projects-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.projects-heading h2{letter-spacing:-.04em;margin:3px 0 0;font:500 23px Manrope,sans-serif}.projects-heading .eyebrow{color:#75806d;font-size:8px}.projects-heading-actions{align-items:center;gap:12px;display:flex}.projects-heading-actions a{border:1px solid var(--line);color:var(--green);border-radius:6px;align-items:center;gap:7px;padding:10px 13px;font-size:11px;text-decoration:none;display:flex}.projects-heading-actions .project-back{background:var(--green);color:#fff;border-radius:6px;padding:11px 16px;font-size:11px}.projects-categories{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:12px 24px;display:flex}.projects-categories button{background:0 0;border:1px solid #0000;border-radius:20px;padding:10px 15px;font-size:11px}.projects-categories button[aria-pressed=true]{background:var(--green);color:#fff}.projects-categories button small{opacity:.6;margin-left:5px;font-size:9px}.projects-body{grid-template-columns:230px minmax(0,1fr);min-height:0;display:grid}.projects-sidebar{border-right:1px solid var(--line);overscroll-behavior:contain;padding:16px 12px;overflow:auto}.projects-sidebar>p{color:#78836f;letter-spacing:.12em;margin:0 8px 12px;font-size:9px}#project-sheets{flex-direction:column;gap:3px;display:flex}#project-sheets button{text-align:left;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:11px 10px;font-size:10px;line-height:1.5;display:flex}#project-sheets button>span:first-child{opacity:.5;font-size:9px}#project-sheets button[aria-current=page]{background:#e3e8cd}.projects-viewer{grid-template-rows:auto 1fr auto;min-width:0;min-height:0;display:grid}.projects-toolbar{border-bottom:1px solid var(--line);background:#faf9f3;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.project-page-controls,.project-zoom-controls{align-items:center;gap:7px;display:flex}.projects-toolbar button{border:1px solid var(--line);background:#fff;border-radius:5px;min-width:31px;height:31px;padding:0 8px;font-size:12px}.projects-toolbar button:disabled{opacity:.3;cursor:default}.projects-toolbar output{text-align:center;min-width:49px;font-size:10px}.projects-toolbar select{font:inherit;color:var(--green);border:1px solid var(--line);background:#fff;border-radius:5px;max-width:210px;padding:8px;font-size:10px}#project-stage{overscroll-behavior:contain;cursor:grab;scrollbar-width:thin;background:#dce0d6;min-height:0;position:relative;overflow:auto}#project-stage.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}#project-paper{background:#fff;width:max-content;margin:24px auto;box-shadow:0 4px 25px #22332323}#project-canvas{display:block}#project-stage[aria-busy=true] #project-paper{opacity:.45}#project-status{border-top:1px solid var(--line);color:#6a7662;background:#faf9f3;min-height:35px;margin:0;padding:9px 16px;font-size:11px;line-height:1.6}.project-load-error{padding:22px;font-size:13px}@media (width<=850px){.projects-body{grid-template-columns:180px minmax(0,1fr)}.projects-heading{padding:16px}.projects-categories{padding:10px 16px}.projects-heading-actions{gap:7px}.projects-heading-actions a{padding:8px;font-size:10px}.projects-toolbar{flex-wrap:wrap;gap:8px;padding:8px}}@media (width<=600px){.top-actions{gap:6px}.projects-launch{gap:5px;padding:8px 10px;font-size:10px}#project-dialog{border:0;border-radius:0;width:100vw;height:100dvh}.projects-heading{gap:8px;padding:13px 12px}.projects-heading h2{font-size:19px}.projects-heading-actions{gap:5px}.projects-heading-actions a{padding:8px;font-size:10px}.projects-heading-actions a span{display:none}.projects-heading-actions .project-back{padding:9px 10px;font-size:10px}.projects-categories{justify-content:space-between;gap:2px;padding:8px}.projects-categories button{padding:9px 10px;font-size:10px}.projects-categories small{display:none}.projects-body{grid-template-columns:minmax(0,1fr)}.projects-sidebar{display:none}.projects-toolbar{justify-content:center}.projects-toolbar select{max-width:180px}.project-page-controls{gap:5px;width:100%}.project-page-controls select{flex:1;width:0;min-width:0;max-width:none}.project-zoom-controls{gap:5px}.projects-toolbar button{min-width:30px;height:30px;font-size:10px}#project-status{padding:8px 12px;font-size:10px}}
