:root{color-scheme:dark;--ink:#102b32;--gold:#e2bd7e}*{box-sizing:border-box}body{margin:0;font:16px/1.5 Arial,sans-serif;background:#102b32;color:#f4f0e6;overflow:hidden}#scene{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;left:30px;right:30px;top:24px;display:flex;align-items:center;gap:30px;pointer-events:none}header>*{pointer-events:auto}.brand{font-size:25px;letter-spacing:.06em;font-weight:800;color:#fff;text-decoration:none}.brand span{color:var(--gold)}.sub{font-size:14px}.sub span{display:block;color:#b8c9ce;font-size:12px}button,select{font:inherit;color:inherit;background:#19383ee8;border:1px solid #66808670;padding:11px 16px;border-radius:8px;cursor:pointer}button:hover{background:#33545b}button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}#time{margin-left:auto}aside{position:absolute;left:30px;top:110px;width:300px;padding:26px;background:#102b32ed;border:1px solid #7f969635;border-radius:12px;backdrop-filter:blur(16px);max-height:calc(100vh - 200px);overflow:auto;box-shadow:0 20px 60px #0003}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--gold)}h1{font-size:33px;line-height:1.13;font-weight:500;margin:18px 0}aside p{color:#bfd0d2;font-size:14px;line-height:1.6}h2{font-size:18px;font-weight:500}.tabs{display:flex;gap:6px;margin:22px 0}.tabs button{font-size:14px;flex:1;padding:10px 5px}.active{background:#e2bd7e!important;color:#102b32}label{font-size:12px;color:#bdd0d2;display:block;margin-bottom:7px}select{width:100%;font-size:14px}.metric{border-top:1px solid #ffffff20;padding-top:20px;margin-top:25px;font-size:23px;color:var(--gold)}.metric span{display:block;font-size:12px;color:#adc3c7}.metric:empty{display:none}#enter,#leave{width:100%;margin-top:10px;color:var(--gold)}#hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);background:#102b32e8;padding:12px 20px;border-radius:40px;font-size:14px;max-width:90vw;text-align:center}#location{position:absolute;right:30px;bottom:95px;color:#e2bd7e;background:#102b32dc;padding:10px 16px;border-radius:8px}#mobile{display:none;position:absolute;right:20px;bottom:110px;text-align:center}#mobile button{padding:12px 18px;margin:2px}#error{position:absolute;inset:40%;width:350px;padding:20px;background:#102b32} @media(max-width:760px){header{left:16px;right:16px;top:16px;gap:10px}.brand{font-size:18px}.sub{display:none}aside{left:14px;top:80px;width:220px;padding:16px;max-height:50vh}h1{font-size:24px;margin:10px 0}aside>p,.metric{display:none}.tabs{margin:12px 0}#hint{bottom:15px;width:90%;font-size:12px}#mobile{display:block}#location{right:15px;bottom:250px;font-size:12px}}
body{background:#172638}header{background:linear-gradient(#0b1d2ecc,transparent);inset:0 0 auto;padding:25px 32px;top:0}header button{font-size:14px;background:#112934c9}#time{margin-left:0}#panel-toggle{margin-left:auto}aside{background:#102b32e3;box-shadow:0 20px 70px #0004}#map-box{position:absolute;right:28px;bottom:95px;width:220px;padding:16px;background:#102b32e6;border:1px solid #7f969635;border-radius:12px;font-size:12px;color:#e2bd7e;backdrop-filter:blur(12px)}#map-box svg{width:100%;height:155px;display:block}#map-box button{width:100%;font-size:13px;padding:8px}.map-building{fill:#c5ba9a;stroke:#253b42;stroke-width:.35;cursor:pointer}.map-building:hover,.map-building.selected{fill:#e6ae61;stroke:#ffe4bc;stroke-width:.7}#location{top:100px;bottom:auto;font-size:14px}.panel-hidden aside{display:none}#floors{display:flex;gap:5px;margin-top:10px}#floors[hidden]{display:none}#floors button{font-size:12px;padding:8px}body::after{content:'';pointer-events:none;position:fixed;inset:0;box-shadow:inset 0 0 140px #0d192525;z-index:0}header,aside,#hint,#location,#mobile,#map-box{z-index:1}@media(max-width:760px){header{padding:16px;gap:6px}.sub{display:none}header button{padding:9px;font-size:12px}#map-box{right:14px;bottom:90px;width:150px;padding:10px}#map-box svg{height:95px}#map-box button{font-size:12px}#location{top:75px;max-width:145px}#mobile{left:16px;right:auto;bottom:100px}aside{max-height:55vh}}
h1{font-family:Georgia,'Times New Roman',serif;font-size:36px;font-weight:400;letter-spacing:-.02em}.brand{letter-spacing:.025em}aside{border-radius:4px}#map-box{border-radius:4px}header .sub{color:#e9e1d4}button{transition:background .2s,border-color .2s}#enter{background:#d7b981;color:#19323a;font-weight:bold}#enter:hover{background:#ecd2a5}#details p:last-child{font-size:13px;color:#dfc493}.tabs .active{background:#d7b981!important}#floors .active{background:#d7b981!important}#hint{border-radius:4px;color:#d6dedb;max-width:min(660px,90vw)}@media(max-width:760px){h1{font-size:25px}}
#loading{position:absolute;z-index:2;top:90px;left:50%;transform:translateX(-50%);padding:8px 14px;background:#102b32dd;color:#dfc493;border-radius:4px;font-size:13px}.map-garden{fill:#7e9064;stroke:#19323a;stroke-width:.5;cursor:pointer}.map-garden:hover{fill:#c2b680}
/* Presentation palette drawn from the approved landscape plan. */
:root{color-scheme:light;--ink:#0b3540;--gold:#9b7443}body{color:var(--ink);background:#f7f5ed}header{background:linear-gradient(#fffdf7f5,#fffdf7d9,transparent);padding-bottom:30px}.brand{color:#0b3540}.brand span{color:#9b7443}header .sub{color:#244b50}.sub span{color:#6d7972}button,select,header button{background:#fffdf2ed;color:#173b42;border-color:#b9b29a80;border-radius:4px}button:hover{background:#ebe5d4}aside{background:#fffdf4ee;color:#123740;border:1px solid #c9c2ae80;box-shadow:0 16px 50px #263c3d18}aside p,label{color:#55665f}.eyebrow{color:#94764c}h1{font-family:Arial,sans-serif;font-size:31px;font-weight:700;line-height:1.15;letter-spacing:-.035em}.metric{border-color:#c7c1ad80;color:#94764c}.metric span{color:#68776b}#details p:last-child{color:#8d714b}#map-box{background:#fffdf4ee;color:#163e46;border-color:#c9c2ae80;box-shadow:0 8px 35px #263c3d18}#hint,#location,#loading{background:#fffdf2ed;color:#315149;box-shadow:0 4px 18px #263c3d15}body::after{box-shadow:none}.map-building{fill:#d7c7a7;stroke:#36535b}.map-garden{fill:#9ead7b;stroke:#52684d}#enter{background:#173d43;color:#fff8e7}#enter:hover{background:#2c565a}@media(max-width:760px){h1{font-size:24px}#cinema{max-width:110px;font-size:11px}}
/* Evening skyline: restrained interface lets the illuminated architecture lead. */
header{background:linear-gradient(#0d2132e8,#0d213280,transparent)}.brand{color:#fff8e9}.brand span{color:#dfbf86}header .sub{color:#eee3cf}.sub span{color:#c1cfda}header button{background:#132e3bdd;color:#f3e9d6;border-color:#b4b3a44a}aside{background:#112d38e8;color:#fff5e4;border-color:#d7bd872e}aside p,label{color:#c5d0cd}.eyebrow,.metric,#details p:last-child{color:#dfbf86}.metric span{color:#c0cfca}#map-box{background:#112d38e8;color:#dfbf86}#hint,#location{background:#112d38e8;color:#eee3d0}#enter{background:#dfbf86;color:#163942}
