:root{color:#284b39;font-synthesis:none;background:#e9e1ca;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}#scene{position:fixed;inset:0}canvas{touch-action:none;display:block}header{pointer-events:none;position:absolute;top:32px;left:36px}h1{letter-spacing:-2px;margin:5px 0 3px;font-size:clamp(36px,4.5vw,65px);font-style:italic;font-weight:400}header p{margin:0;font-size:17px}.eyebrow{letter-spacing:2px;font-family:system-ui,sans-serif;font-size:10px;font-weight:600}nav{gap:24px;display:flex;position:absolute;top:32px;right:32px}a{color:inherit;text-underline-offset:4px;font-size:13px}aside{width:220px;position:absolute;top:210px;left:36px}h2{margin:8px 0;font-size:26px;font-style:italic;font-weight:400}aside p{font-size:14px;line-height:1.6}aside label{text-transform:uppercase;letter-spacing:1px;margin:25px 0 7px;font:10px system-ui;display:block}select,button{color:#284b39;cursor:pointer;background:#f7f0db;border:1px solid #60765b70;border-radius:3px;padding:9px 12px;font:12px system-ui}aside select{width:100%;max-width:100%}button:hover,button:focus-visible{background:#e4d5ad;outline-color:#284b39}footer{background:#f5edd8ee;border:1px solid #52684760;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:510px;padding:15px 22px 11px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 24px #304a3820}.time{flex-direction:column;gap:3px;display:flex}.time strong{font-size:25px;font-weight:400}#activity{font-size:12px}.controls{align-items:center;gap:7px;display:flex}.controls label{font:11px system-ui}.controls select{padding:9px 5px}.timeline{align-items:center;gap:10px;width:100%;font:10px system-ui;display:flex}.timeline input{accent-color:#647957;flex:1}.camera{gap:5px;display:flex;position:absolute;bottom:33px;right:30px}.hint{color:#47614d;font:11px/1.8 system-ui;position:absolute;bottom:28px;left:36px}#bell{background:#e7b85d;border:1px solid #766038;max-width:min(340px,100vw - 56px);padding:14px 22px;position:absolute;top:110px;right:28px;box-shadow:0 4px 20px #0002}.landmark{color:#284b39;white-space:nowrap;pointer-events:none;background:#f5edd8e0;border:1px solid #66755450;border-radius:2px;padding:3px 7px;font:italic 13px Georgia}#error{background:#f5edd8;padding:30px;position:absolute;inset:25%}body:after{content:"";pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23887348' filter='url(%23n)' opacity='.4' d='M0 0h150v150H0z'/%3E%3C/svg%3E");position:fixed;inset:0}@media (width<=760px){header{top:52px;left:18px}header .eyebrow{font-size:8px}header p{font-size:13px}nav{justify-content:space-between;top:18px;left:18px;right:18px}aside{width:175px;top:168px;left:18px}aside>.eyebrow,aside h2,aside>p:not(#detail),aside label{display:none}aside select{padding:7px;font-size:10px}#detail{margin-top:5px;font-size:11px}footer{width:calc(100% - 24px);padding:10px 12px;bottom:12px}.time strong{font-size:21px}.controls{gap:4px}button,select{padding:8px}#activity{font-size:10px}.camera{bottom:153px;right:12px}.hint{display:none}#bell{width:max-content;max-width:90%;font-size:13px;top:215px;left:50%;right:auto;transform:translate(-50%)}.landmark{padding:2px 4px;font-size:10px}}body.night header,body.night nav,body.night aside,body.night .hint{color:#f5edd8}.day-cycle{align-items:center;gap:10px;display:flex}#dial{--cycle-angle:105deg;background:conic-gradient(from 90deg,#f0d484 0deg 180deg,#536875 180deg 360deg);border:1px solid #8c8a64;border-radius:50%;width:46px;height:46px;position:relative;box-shadow:inset 0 0 0 3px #f5edd8}#dial .sun,#dial .moon{color:#fbf1cd;font:14px Georgia;position:absolute;left:15px}#dial .sun{color:#77612e;bottom:6px}#dial .moon{top:3px}.cycle-hand{transform:rotate(var(--cycle-angle));border-radius:50%;position:absolute;inset:2px}.cycle-hand:after{content:"";background:#284b39;border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:calc(50% - 3px);box-shadow:0 0 0 2px #f5edd8}.cabin-number{color:#573e1c;pointer-events:none;background:#fbf0d8e6;border-radius:2px;padding:1px 3px;font:10px system-ui}.staff-number{color:#385345;background:#e1e6d4e6}
