:root{--ink: #f4f1ec;--ink-dim: rgba(244, 241, 236, .66);--glass: rgba(18, 20, 22, .58);--glass-strong: rgba(14, 15, 17, .82);--line: rgba(255, 255, 255, .12);--accent: #d9b27c;--serif: "Fraunces", Georgia, serif;--sans: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0d0e10;color:var(--ink);font-family:var(--sans)}#view{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:block}.hidden{display:none!important}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}h1{font-family:var(--serif);font-weight:400;font-size:52px;margin:6px 0 14px;letter-spacing:-.01em}kbd{display:inline-block;min-width:20px;padding:1px 5px;margin:0 1px;border-radius:4px;border:1px solid var(--line);background:#ffffff12;font:500 11px var(--sans);text-align:center;color:var(--ink)}#loading{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#23241f,#0d0e10 70%);z-index:20;transition:opacity .6s}.load-inner{width:min(420px,86vw)}.bar{height:2px;background:var(--line);margin:18px 0 10px;overflow:hidden}.bar span{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}#load-msg{font-size:13px;color:var(--ink-dim)}#start{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#08090a59;z-index:15;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.start-card{width:min(560px,90vw);padding:34px 36px 28px;background:var(--glass-strong);border:1px solid var(--line);border-radius:14px}.lede{color:var(--ink-dim);line-height:1.55;margin:0 0 22px;font-size:15px}button{font:500 13px var(--sans);color:var(--ink);background:#ffffff0f;border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer}button:hover{background:#ffffff1f}button.primary{background:var(--accent);color:#1b1610;border:0;padding:12px 20px;font-weight:600;font-size:14px}button.primary:hover{filter:brightness(1.06)}button.ghost{margin-left:8px;padding:11px 16px}button.on{background:#d9b27c38;border-color:#d9b27c80}.keys{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;margin-top:24px;font-size:12.5px;color:var(--ink-dim)}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}#hud button,#hud input,#hud canvas,#panel{pointer-events:auto}#where{position:absolute;top:18px;left:20px;text-shadow:0 1px 8px rgba(0,0,0,.5)}#zone{font-family:var(--serif);font-size:26px;margin-top:2px}#crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#ffffffb3;box-shadow:0 0 3px #0009}#panel{position:absolute;top:16px;right:16px;width:248px;padding:14px;background:var(--glass-strong);border:1px solid var(--line);border-radius:12px;font-size:12px}#panel .row{margin-bottom:10px}#panel label{display:flex;justify-content:space-between;color:var(--ink-dim);margin-bottom:6px}#panel input[type=range]{width:100%;accent-color:var(--accent)}.seasons,.toggles{display:flex;gap:6px}.seasons button,.toggles button{flex:1;padding:6px 4px;font-size:11.5px}.places{display:grid;grid-template-columns:1fr;gap:4px;margin-top:4px;border-top:1px solid var(--line);padding-top:10px}.places button{text-align:left;display:flex;gap:8px;align-items:center;padding:6px 8px;font-size:12px;background:transparent;border-color:transparent}.places button:hover{background:#ffffff14}#minimap{position:absolute;left:50%;bottom:16px;transform:translate(-50%);width:min(760px,92vw);height:auto;border-radius:10px;border:1px solid var(--line);background:var(--glass);cursor:crosshair}#tour-caption{position:absolute;left:50%;bottom:130px;transform:translate(-50%);max-width:640px;padding:14px 20px;background:var(--glass-strong);border:1px solid var(--line);border-radius:12px;text-align:center;font-size:14px;line-height:1.5}#tour-caption b{font-family:var(--serif);font-weight:400;font-size:20px;display:block;margin-bottom:2px}#fps{position:absolute;left:20px;bottom:18px;font-size:11px;color:var(--ink-dim)}body.touring #panel,body.clean #panel,body.clean #minimap,body.clean #fps,body.clean #crosshair{display:none}body.film #hud,body.film #start,body.film #loading{display:none!important}#film{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}#film-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 55%,transparent 55%,rgba(0,0,0,.38) 100%)}#film-title{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;text-shadow:0 2px 30px rgba(0,0,0,.55)}#film-title .ft-eyebrow{font:500 15px var(--sans);letter-spacing:.32em;text-transform:uppercase;color:#ffffffd1}#film-title .ft-main{font:300 104px var(--serif);letter-spacing:-.015em;color:#fff;margin:14px 0 12px}#film-title .ft-sub{font:400 22px var(--sans);letter-spacing:.04em;color:#ffffffdb}#film-lower{position:absolute;left:88px;bottom:82px;opacity:0;text-shadow:0 2px 22px rgba(0,0,0,.6)}#film-lower .fl-rule{width:56px;height:2px;background:var(--accent);margin-bottom:18px}#film-lower .fl-main{font:400 50px var(--serif);color:#fff;letter-spacing:-.005em}#film-lower .fl-sub{font:400 19px var(--sans);color:#ffffffdb;margin-top:8px;letter-spacing:.02em}
