:root{--ink:#2b2118;--paper:#fbf6ec;--accent:#6b3e1f;--accent-2:#8a5a2b;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:20px}*{box-sizing:border-box}html,body{background:#cfe3f0;height:100%;margin:0;overflow:hidden}#scene{touch-action:none;position:fixed;inset:0}#scene canvas{cursor:grab;width:100%;height:100%;display:block}#scene canvas:active{cursor:grabbing}#title-card{border:2px solid var(--accent-2);pointer-events:none;background:#fbf6eceb;border-radius:10px;padding:10px 18px;position:fixed;top:16px;left:16px}#title-card h1{margin:0;font-size:1.5rem}#title-card p{margin:2px 0 0;font-size:1rem}#loading{background:var(--paper);z-index:50;place-items:center;font-size:1.6rem;display:grid;position:fixed;inset:0}#loading.done{display:none}#help{border:2px solid var(--accent-2);background:#fbf6ecf2;border-radius:10px;max-width:420px;padding:12px 16px;font-size:1rem;line-height:1.4;position:fixed;top:16px;right:16px}#help[hidden]{display:none}#help .credits{opacity:.75;margin:6px 0 0;font-size:12px;line-height:1.35}#help .credits a{color:inherit}.small-btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;margin-top:8px;padding:6px 16px;font-size:1rem;display:block}#controls{border:2px solid var(--accent-2);background:#fbf6ecf0;border-radius:14px;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:12px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}#now-at{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:220px;display:flex}#now-label{font-size:1.1rem;font-weight:700}.big-btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:3px solid #3d2210;border-radius:12px;min-height:64px;padding:10px 22px;font-size:1.15rem;font-weight:700}.big-btn:hover{background:#82512b}.big-btn:focus-visible,.pad-btn:focus-visible,.close-btn:focus-visible,.small-btn:focus-visible{outline-offset:2px;outline:4px solid #ffbf47}.view-btn{background:#2f5d34;border-color:#1c3a20;min-height:52px;font-size:1.05rem}.view-btn:hover{background:#3a7140}.view-btn[hidden]{display:none}#walk-pad{flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:130px;right:20px}.pad-row{gap:8px;display:flex}.pad-btn{cursor:pointer;width:64px;height:64px;color:var(--ink);border:2px solid var(--accent-2);touch-action:none;-webkit-user-select:none;user-select:none;background:#fbf6eceb;border-radius:12px;font-size:1.6rem}#viewer{z-index:40;background:#140e08e0;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#viewer[hidden]{display:none}.viewer-inner{background:var(--paper);border-radius:14px;flex-direction:column;max-width:min(1200px,96vw);max-height:96vh;padding:72px 20px 16px;display:flex;position:relative}.viewer-inner figure{flex-direction:column;align-items:center;min-height:0;margin:0;display:flex}.viewer-img-wrap{justify-content:center;min-height:0;display:flex}#viewer-img{object-fit:contain;background:#fff;border:10px solid #5a3a1c;max-width:100%;max-height:calc(96vh - 230px);box-shadow:0 4px 18px #0006}#viewer-img.small{image-rendering:auto;width:min(420px,80vw);max-height:none}figcaption{text-align:center}figcaption h2{margin:12px 0 2px;font-size:1.8rem}figcaption p{margin:2px 0;font-size:1.15rem}#viewer-note{max-width:36em;font-style:italic}.close-btn{font:inherit;color:#fff;cursor:pointer;background:#7a1f1f;border:3px solid #4a1010;border-radius:12px;min-height:52px;padding:8px 20px;font-size:1.25rem;font-weight:700;position:absolute;top:12px;right:12px}.fx-btn{background:#6b3e1feb;min-height:44px;margin:0;font-size:1rem;position:fixed;top:96px;left:16px}#joystick{touch-action:none;-webkit-user-select:none;user-select:none;z-index:5;background:radial-gradient(circle,#ffffff1a 0%,#ffffff38 70%,#ffffff52 100%);border:3px solid #ffffffbf;border-radius:50%;width:156px;height:156px;display:none;position:fixed;bottom:165px;left:18px;box-shadow:0 0 0 2px #3c281459,inset 0 0 12px #00000026}#joy-knob{pointer-events:none;background:#fbf6ecbf;border:3px solid #6b3e1fcc;border-radius:50%;width:66px;height:66px;margin:-33px 0 0 -33px;transition:transform .12s ease-out;position:absolute;top:50%;left:50%;box-shadow:0 2px 6px #0000004d}#joystick.active #joy-knob{transition:none}body.touch #joystick{display:block}body.touch #walk-pad,body.viewer-open #joystick,body.viewer-open #walk-pad,body.viewer-open #fx-btn{display:none}@media (width<=700px){.fx-btn{min-height:44px;top:74px;left:10px}:root{font-size:18px}#title-card{padding:6px 12px;top:10px;left:10px}#title-card h1{font-size:1.2rem}#help{max-width:none;top:128px;left:10px;right:10px}#controls{grid-template-columns:1fr 1fr;gap:8px;width:calc(100vw - 16px);padding:8px;display:grid;bottom:10px}#now-at{text-align:left;flex-direction:row;order:-1;grid-column:1/span 2;justify-content:space-between;min-width:0}#now-label{font-size:1rem}.big-btn{min-height:60px;padding:8px 10px;font-size:1.05rem}.view-btn{white-space:nowrap;min-height:52px}#walk-pad{bottom:170px;right:10px}.pad-btn{width:58px;height:58px}}#streaming{border:1px solid var(--accent-2);pointer-events:none;background:#fbf6ecd9;border-radius:6px;padding:6px 14px;font-size:.8rem;position:fixed;bottom:112px;left:50%;transform:translate(-50%)}#streaming[hidden]{display:none}#return-link{color:var(--ink);border:1px solid var(--accent-2);background:#fbf6ece0;border-radius:6px;padding:4px 12px;font-size:.85rem;text-decoration:none;position:fixed;top:96px;left:16px}#return-link:hover{text-decoration:underline}@media (width<=700px){#return-link{top:auto;bottom:8px;left:8px}}
