@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#f4f2ec;background:#babdc0;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid #d4b484;outline-offset:3px}#viewport{position:fixed;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}header{position:fixed;top:0;left:0;width:100%;padding:25px 32px;display:flex;align-items:center;gap:24px;background:linear-gradient(#181b20a6,transparent);pointer-events:none}.brand{display:flex;gap:12px;align-items:center;font-family:Manrope,sans-serif;letter-spacing:3px;font-size:21px}.monogram{display:grid;place-items:center;width:44px;height:44px;border:1px solid #dfceb0;color:#e2c9a4;font-size:26px}.subbrand{display:block;font-size:10px;letter-spacing:4.4px;margin-top:3px}.project-meta{font-size:11px;letter-spacing:2px;margin-left:auto}.project-meta span{margin:0 12px;color:#d1b586}.iconbutton{pointer-events:auto;color:inherit;background:#24282499;border:1px solid #ffffff35;border-radius:50%;width:36px;height:36px;font-size:19px}.iconbutton:hover{background:#746753}#panel{position:fixed;top:116px;left:32px;width:285px;padding:24px;background:#202522ed;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 12px 45px #0002;max-height:calc(100dvh - 220px);overflow:auto;backdrop-filter:blur(18px)}.panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.4px;color:#d5bf9f}.panel-heading button{border:0;background:none;color:#f2eee3;font-size:24px;line-height:1}h1{font-family:Manrope,sans-serif;font-weight:400;font-size:26px;letter-spacing:-1px;line-height:1.2;margin:23px 0 12px}.intro{font-size:14px;color:#b9bcb5;line-height:1.65;margin-bottom:25px}label{display:block;font-size:12px;color:#c5c5bc;margin:16px 0 8px}select{appearance:auto;width:100%;color:#eeeae0;background:#323832;border:1px solid #51574c;border-radius:2px;padding:12px;font-size:14px}.floors{display:flex;margin:12px 0;gap:5px}.floors button{padding:10px 4px;flex:1;border:1px solid #4b5148;background:none;color:#bfc3b9;font-size:13px}.floors button.selected{color:#e6d3b5;border-color:#c1a37b;background:#b9986c15}.primary,.secondary{width:100%;padding:13px;text-align:left;border:0;border-radius:2px;font-size:14px}.primary{background:#d2b992;color:#20271f;display:flex;justify-content:space-between;font-weight:600}.primary:hover{background:#e6cfac}.secondary{border:1px solid #6c7566;background:none;color:#e8e9e1;margin-top:10px;text-align:center}.separate{height:1px;background:#ffffff18;margin:20px 0}.design-note{font-size:11px;line-height:1.5;color:#949c8d;margin:21px 0 0}#panel.collapsed{width:220px;padding:15px}#panel.collapsed>*:not(.panel-heading){display:none}footer{position:fixed;bottom:0;left:0;width:100%;padding:25px 32px;display:flex;align-items:center;gap:24px;background:linear-gradient(transparent,#151a20c9);pointer-events:none}.view-buttons{display:flex;background:#1e2521df;border:1px solid #ffffff25;border-radius:3px;pointer-events:auto;padding:4px;gap:4px}.view-buttons button{border:0;background:none;color:#e1e2da;padding:10px 15px;font-size:13px}.view-buttons button.active{background:#d2b992;color:#20271f}.hints{margin-left:auto;font-size:12px;color:#ddd}.hints span{padding:0 8px;color:#e0c7a4}kbd{font-family:inherit;border:1px solid #ffffff50;border-radius:2px;padding:3px 5px;font-size:10px}#position{position:fixed;right:32px;bottom:108px;text-align:right;text-shadow:0 1px 8px #0008}#position-kind{display:block;font-size:10px;letter-spacing:2px;color:#ead6b3;margin-bottom:7px}#position-name{font-family:Manrope,sans-serif;font-size:21px;font-weight:400}#crosshair{position:fixed;left:50%;top:50%;width:5px;height:5px;border:1px solid white;border-radius:50%;box-shadow:0 0 3px #333;pointer-events:none}#toast{position:fixed;left:50%;bottom:114px;transform:translateX(-50%);padding:12px 20px;background:#202522e8;color:#f0ece2;border-radius:3px;font-size:14px;opacity:0;transition:opacity .25s;pointer-events:none;max-width:80%;text-align:center}#toast.visible{opacity:1}#loading{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#242a25;z-index:10}.load-brand{font-family:Manrope,sans-serif;font-size:32px;letter-spacing:9px;color:#dec5a0}.load-line{width:210px;height:2px;background:#535749;margin:30px 0 4px}.load-line i{display:block;height:100%;width:3%;background:#d5b68a;transition:width .3s}#loadtext{font-size:13px;color:#b6bdae}dialog{border:1px solid #ddd0b744;background:#252d26;color:#eeeee5;width:min(470px,92vw);padding:36px;border-radius:4px;line-height:1.7;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#0008;backdrop-filter:blur(5px)}dialog h2{font-family:Manrope,sans-serif;font-size:27px;font-weight:400;line-height:1.3}dialog p{font-size:14px}.eyebrow{font-size:10px!important;letter-spacing:2px;color:#d8ba90}.close{position:absolute;right:15px;top:8px;color:#eee;background:none;border:0;font-size:29px}.help-note{border-top:1px solid #ffffff20;padding-top:16px;font-size:12px;color:#c6c9bb}.liftfloors{display:flex;flex-direction:column;gap:8px}.liftfloors button{padding:15px;background:#d2b992;border:0;color:#222}#lift{position:fixed;left:50%;bottom:180px;transform:translateX(-50%);padding:13px 20px;background:#d2b992;color:#252a21;border:0;border-radius:3px}#touch{display:none;position:fixed;bottom:112px;left:24px;text-align:center}#touch button{width:46px;height:46px;background:#242b24c9;border:1px solid #ffffff4d;color:white;font-size:24px;margin:3px;touch-action:none}body.walking #panel{opacity:.85;transition:opacity .2s}body.walking #panel:hover{opacity:1}@media(max-width:760px){header{padding:18px}.brand{font-size:17px}.monogram{width:36px;height:36px}.subbrand{font-size:8px}.project-meta{display:none}header .iconbutton{margin-left:auto}#panel{top:90px;left:18px;width:250px;padding:18px;max-height:calc(100dvh - 250px)}h1{font-size:23px;margin-top:15px}.intro{margin-bottom:14px}footer{padding:18px;gap:8px}.view-buttons{flex:1;justify-content:space-between}.view-buttons button{padding:10px;font-size:12px}.hints{display:none}#position{right:18px;bottom:145px}#position-name{font-size:17px}#touch{display:block}body:not(.walking) #touch{display:none}#toast{bottom:85px;font-size:12px}#position-kind{font-size:9px}.separate{margin:14px 0}.design-note{margin-top:12px}#lift{bottom:220px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.project-meta{text-align:right}.creator-credit{margin-top:8px;font-size:12px;line-height:1.5;letter-spacing:.5px;color:#f4e3c7;text-shadow:0 1px 5px #0009}.creator-credit strong{font-weight:600;letter-spacing:1.2px}@media(max-width:760px){header{flex-wrap:wrap;row-gap:8px}.project-meta{display:block;order:3;width:100%;margin:0;text-align:left}.location-line{display:none}.creator-credit{margin-top:0}#panel{top:120px;max-height:calc(100dvh - 280px)}}

#touch{display:none;left:0;right:0;bottom:100px;padding:0 22px;justify-content:space-between;pointer-events:none;user-select:none;-webkit-user-select:none}.touch-control{display:flex;flex-direction:column;align-items:center;gap:8px}.touch-label{font-size:12px;letter-spacing:1.4px;color:#fff;text-shadow:0 1px 4px #000}#move-pad,#look-pad{width:128px;height:128px;border-radius:50%;background:#202b27a8;border:1px solid #f5e5c180;box-shadow:0 3px 20px #0003;touch-action:none;pointer-events:auto;display:grid;place-items:center}#move-stick{display:block;width:54px;height:54px;border-radius:50%;background:#d9c2a1e8;border:2px solid #fff9;box-shadow:0 3px 12px #0004;pointer-events:none}#look-pad{background:#202b275c;border-style:dashed;color:#f5e5c1;font-size:25px;line-height:1;opacity:.8}#look-pad span{pointer-events:none}body{overscroll-behavior:none}
@media(pointer:coarse){body.walking #touch{display:flex}.hints{display:none}#position{bottom:270px;right:20px;max-width:55%}#lift{bottom:275px}body.walking #panel.collapsed{width:190px}header{padding-top:max(16px,env(safe-area-inset-top))}footer{padding-bottom:max(18px,env(safe-area-inset-bottom))}}
@media(pointer:coarse) and (max-height:500px){#touch{bottom:75px;padding:0 24px}#move-pad,#look-pad{width:100px;height:100px}#move-stick{width:44px;height:44px}.touch-label{font-size:11px}#position{bottom:78px;right:145px;max-width:35%}#panel{top:100px;max-height:calc(100dvh - 180px)}#lift{bottom:80px}header{padding:12px 20px}.creator-credit{margin-top:2px}}
