:root{--ink:#f8f4ec;--ink-soft:#ddd6c8;--panel:#0f0d0cf2;--line:#f8f4ec57;--accent:#f0d9a8;--wine:#6b1e3a;--serif:Georgia, "Times New Roman", serif;--sans:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;font-family:var(--sans);font-size:18px;line-height:1.45}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#0d0c0b;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}#scene{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:fixed;inset:0}#scene.dragging{cursor:grabbing}#scene.over-art{cursor:pointer}#fade{opacity:0;pointer-events:none;z-index:4;background:#0d0c0b;transition:opacity .22s;position:fixed;inset:0}#fade.on{opacity:1}.overlay{z-index:10;background:#0d0c0bc7;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.overlay[hidden]{display:none}.intro-card{background:var(--panel);border:1px solid var(--line);border-top:6px solid var(--wine);border-radius:6px;width:min(560px,100%);padding:34px 30px 28px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0;font-size:18px;font-weight:700}h1{font-family:var(--serif);letter-spacing:-.01em;margin:6px 0 10px;font-size:clamp(44px,10vw,68px);font-weight:600;line-height:1.02}.lede{color:var(--ink);margin:0;font-size:21px}.sub{color:var(--ink-soft);margin:6px 0 22px;font-size:18px}.progress{background:var(--line);height:4px;overflow:hidden}.progress span{background:var(--accent);width:0;height:100%;transition:width .2s;display:block}.status{color:var(--ink-soft);min-height:1.45em;margin:10px 0 16px;font-size:18px}.intro-actions{gap:10px;display:grid}.btn-primary,.btn-ghost{border-radius:4px;width:100%;min-height:54px;padding:12px 18px;font-size:20px;font-weight:700}.btn-primary{color:#15120e;background:var(--accent);border:2px solid var(--accent)}.btn-ghost{color:var(--ink);border:2px solid var(--ink-soft);background:0 0}.btn-primary:disabled,.btn-ghost:disabled{opacity:.45;cursor:progress}.btn-primary:hover:not(:disabled){background:#fff0cf}.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.help{color:var(--ink-soft);gap:6px;margin:22px 0 0;padding:0;font-size:18px;list-style:none;display:grid}.help strong{color:var(--ink)}kbd{border:1px solid var(--ink-soft);color:var(--ink);border-radius:4px;padding:2px 7px;font:700 16px ui-monospace,Consolas,monospace}.only-coarse{display:none}@media (pointer:coarse){.only-coarse{display:list-item}.only-fine{display:none}}#hud{pointer-events:none;z-index:5;position:fixed;inset:0}#hud[hidden]{display:none}#hud button{pointer-events:auto;white-space:nowrap;min-height:48px;color:var(--ink);background:var(--panel);border:2px solid var(--line);border-radius:4px;padding:10px 18px;font-size:18px;font-weight:600}#hud button:hover,#hud button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}#hud .btn-accent{color:#15120e;background:var(--accent);border-color:var(--accent);font-weight:700}#hud .btn-accent:hover{color:#15120e;background:#fff0cf}.tools{flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:16px;left:16px}.zones{scrollbar-width:none;justify-content:center;gap:8px;display:flex;position:absolute;bottom:16px;left:16px;right:16px;overflow-x:auto}.zones::-webkit-scrollbar{display:none}#minimap{pointer-events:auto;background:var(--panel);border:2px solid var(--line);cursor:pointer;border-radius:4px;width:150px;height:380px;position:absolute;top:80px;left:16px}#ficha{z-index:6;background:var(--panel);border:1px solid var(--line);border-left:6px solid var(--wine);border-radius:4px;flex-direction:column;width:min(420px,100vw - 32px);padding:22px 24px 20px;animation:.35s both ficha-in;display:flex;position:fixed;top:16px;bottom:16px;right:16px;overflow:auto}#ficha[hidden]{display:none}@keyframes ficha-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.ficha-close{border:2px solid var(--line);background:0 0;border-radius:4px;align-self:flex-end;min-height:44px;padding:6px 14px;font-size:18px;font-weight:600}.ficha-close:hover{border-color:var(--accent);color:var(--accent)}.ficha-kicker{color:var(--accent);margin:14px 0 6px;font-size:18px;font-weight:700}#ficha h2{font-family:var(--serif);overflow-wrap:anywhere;margin:0 0 12px;font-size:clamp(30px,4.6vw,40px);font-weight:600;line-height:1.1}.ficha-autor{overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:600}.ficha-lugar{color:var(--ink-soft);margin:2px 0 0;font-size:19px}#ficha dl{border-top:1px solid var(--line);margin:20px 0 0;padding-top:16px}#ficha dl[hidden],.ficha-lugar[hidden],#f-big[hidden]{display:none}#ficha dt{color:var(--accent);font-size:18px;font-weight:700}#ficha dd{overflow-wrap:anywhere;margin:2px 0 14px;font-size:19px}#f-big{margin-top:auto}.ficha-nav{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.ficha-nav button{border:2px solid var(--ink-soft);background:0 0;border-radius:4px;min-height:54px;font-size:19px;font-weight:700}.ficha-nav button:hover{border-color:var(--accent);color:var(--accent)}#lightbox{z-index:20;background:#0a0908;flex-direction:column;display:flex;position:fixed;inset:0}#lightbox[hidden]{display:none}.lb-bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.lb-bar p{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:19px;font-weight:600;overflow:hidden}.lb-bar button{border:2px solid var(--ink-soft);white-space:nowrap;background:0 0;border-radius:4px;min-height:48px;padding:8px 16px;font-size:18px;font-weight:700}.lb-bar button:hover{border-color:var(--accent);color:var(--accent)}#lb-scroll{flex:1;place-items:center;padding:12px;display:grid;overflow:auto}#lb-img{background:#f6f1e7;max-width:100%;max-height:calc(100dvh - 96px);display:block}#lightbox.zoom #lb-scroll{place-items:start center}#lightbox.zoom #lb-img{width:max(180vw,1400px);max-width:none;max-height:none}#joystick{border:2px solid var(--ink-soft);z-index:6;touch-action:none;background:#0f0d0c8c;border-radius:50%;width:128px;height:128px;display:none;position:fixed;bottom:92px;left:20px}body.touch.in #joystick{display:block}body.touch.in.ficha-open #joystick{display:none}#joystick .knob{background:var(--accent);border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}#VRButton{z-index:7!important;opacity:1!important;font-size:18px!important;top:16px!important;bottom:auto!important}@media (width>=900px){body.ficha-open .zones{right:452px}}@media (width>=900px) and (width<=1399px){body.ficha-open #minimap,body.ficha-open .zones{display:none}}@media (width<=899px){.intro-card{padding:26px 20px 22px}.tools{top:12px;left:12px}#minimap{width:96px;height:243px;top:12px;left:auto;right:12px}.zones{justify-content:flex-start;padding:0 12px;bottom:12px;left:0;right:0}#ficha{width:100%;max-height:52dvh;padding:12px 18px calc(14px + env(safe-area-inset-bottom));border-left:1px solid var(--line);border-top:6px solid var(--wine);border-radius:0;animation-name:ficha-up;inset:auto 0 0}@keyframes ficha-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.ficha-close{position:absolute;top:10px;right:12px}.ficha-kicker{margin:4px 120px 4px 0}#ficha h2{margin-bottom:6px;font-size:28px}.ficha-autor{font-size:21px}#ficha dl{margin-top:12px;padding-top:10px}#f-big{margin-top:6px}body.ficha-open .zones,body.ficha-open #joystick,body.ficha-open #minimap,body.ficha-open .tools{display:none}}@media (prefers-reduced-motion:reduce){#ficha{animation:none}#fade{transition:none}}
