*{box-sizing:border-box;margin:0;padding:0}html,body{background:#0a0a0a;width:100%;height:100%;font-family:Georgia,serif;overflow:hidden}#entry{z-index:100;background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;padding:40px 32px;transition:opacity 1.8s;display:flex;position:fixed;inset:0}#entry.fade-out{opacity:0;pointer-events:none}.e-brand{letter-spacing:.4em;color:#c8a84b;text-transform:uppercase;opacity:.8;margin-bottom:36px;font-size:11px}.e-presents{color:#f5f0e866;letter-spacing:.2em;margin-bottom:12px;font-size:12px;font-style:italic}.e-title{color:#f5f0e8;text-align:center;margin-bottom:12px;font-size:clamp(36px,8vw,68px);font-weight:400;line-height:1.05}.e-venue{letter-spacing:.18em;color:#c8a84b;text-align:center;opacity:.85;margin-bottom:44px;font-size:11px}.e-tagline{color:#f5f0e88c;text-align:center;margin-bottom:14px;font-size:clamp(13px,2.2vw,16px);font-style:italic}.e-shape{color:#f5f0e84d;letter-spacing:.15em;text-align:center;margin-bottom:52px;font-size:11px}.e-cta{letter-spacing:.35em;color:#f5f0e8;text-transform:uppercase;opacity:.5;font-size:11px;animation:2.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.25}50%{opacity:.65}}canvas#c{width:100vw;height:100vh;display:block;position:fixed;top:0;left:0}#hud{z-index:10;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:18px 22px;display:flex;position:fixed;top:0;left:0;right:0}.hud-l .brand{letter-spacing:.3em;color:#c8a84b;text-transform:uppercase;font-size:10px}.hud-l .tour{letter-spacing:.12em;color:#f5f0e859;margin-top:3px;font-size:9px}.hud-r{letter-spacing:.15em;color:#f5f0e859;text-align:right;font-size:10px}#progress{z-index:10;background:#c8a84b;height:1px;transition:width .5s;position:fixed;bottom:0;left:0}#story{z-index:10;pointer-events:none;text-align:center;width:85vw;max-width:640px;transition:opacity .4s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#story-label{letter-spacing:.38em;color:#c8a84b;text-transform:uppercase;opacity:.9;margin-bottom:14px;font-size:9px}#story-body{color:#f5f0e8;text-shadow:0 1px 16px #000000f2,0 0 40px #000c;min-height:60px;font-size:clamp(15px,2.8vw,20px);line-height:1.75}#story-skip{letter-spacing:.25em;color:#f5f0e84d;text-transform:uppercase;cursor:pointer;pointer-events:all;margin-top:16px;font-size:9px;display:none}#dots{z-index:10;flex-direction:column;gap:8px;display:flex;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.dot{cursor:pointer;pointer-events:all;background:#c8a84b4d;border-radius:50%;width:5px;height:5px;transition:all .3s}.dot.active{background:#c8a84b;transform:scale(1.5)}#arrows{z-index:10;gap:20px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.arr{color:#c8a84b;cursor:pointer;pointer-events:all;background:#ffffff12;border:1px solid #c8a84b4d;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;transition:all .2s;display:flex}.arr:hover{background:#c8a84b26}.arr:disabled{opacity:.2;cursor:not-allowed}#audio-btn{z-index:10;cursor:pointer;pointer-events:all;flex-direction:column;align-items:center;gap:3px;display:flex;position:fixed;top:56px;right:20px}.waves{align-items:center;gap:2px;height:16px;display:flex}.wb{opacity:.4;background:#c8a84b;border-radius:1px;width:2px;transition:height .12s}.al{letter-spacing:.2em;color:#c8a84b;opacity:.4;text-transform:uppercase;font-size:8px}#speak-btn{z-index:10;cursor:pointer;pointer-events:all;background:#c8a84b14;border:1px solid #c8a84b33;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:all .2s;display:flex;position:fixed;top:56px;right:62px}#speak-btn.speaking{background:#c8a84b38;border-color:#c8a84b8c}#drag-hint{z-index:10;pointer-events:none;flex-direction:column;align-items:center;gap:8px;transition:opacity 1s;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}#drag-hint.gone{opacity:0}.dh-ring{border:1px solid #c8a84b73;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;animation:3s linear infinite spin;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.dh-icon{color:#c8a84b;font-size:18px;transform:rotate(0)}.dh-label{letter-spacing:.28em;color:#f5f0e873;text-transform:uppercase;font-size:9px}#interaction{z-index:20;opacity:0;pointer-events:none;background:#0a0a0aeb;flex-direction:column;justify-content:center;align-items:center;padding:32px;transition:opacity .5s;display:flex;position:fixed;inset:0}#interaction.show{opacity:1;pointer-events:all}.i-eye{letter-spacing:.4em;color:#c8a84b;text-transform:uppercase;margin-bottom:18px;font-size:9px}.i-context{color:#f5f0e8a6;text-align:center;max-width:480px;margin-bottom:20px;font-size:clamp(13px,2.2vw,16px);font-style:italic;line-height:1.7}.i-question{color:#f5f0e8;text-align:center;max-width:460px;margin-bottom:32px;font-size:clamp(17px,3.2vw,24px);line-height:1.4}.i-opts{flex-direction:column;gap:10px;width:100%;max-width:380px;display:flex}.i-opt{color:#f5f0e8d1;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #c8a84b38;padding:14px 20px;font-family:Georgia,serif;font-size:14px;transition:all .2s}.i-opt:hover{color:#f5f0e8;background:#c8a84b14;border-color:#c8a84b8c}.i-city{color:#c8a84b;text-align:center;margin-top:18px;font-size:15px;font-style:italic;display:none}textarea.i-ta{color:#f5f0e8;resize:none;background:#ffffff0d;border:1px solid #c8a84b38;outline:none;width:100%;max-width:420px;min-height:90px;margin-bottom:12px;padding:14px 16px;font-family:Georgia,serif;font-size:14px}textarea.i-ta::placeholder{color:#f5f0e838}.i-actions{gap:12px;display:flex}.i-sub{color:#0a0a0a;cursor:pointer;letter-spacing:.25em;text-transform:uppercase;background:#c8a84b;border:none;padding:11px 28px;font-family:Georgia,serif;font-size:11px}.i-skip-btn{color:#f5f0e852;cursor:pointer;letter-spacing:.2em;text-transform:uppercase;background:0 0;border:1px solid #f5f0e826;padding:11px 20px;font-family:Georgia,serif;font-size:11px}#memory{z-index:30;opacity:0;pointer-events:none;background:#0a0a0af7;flex-direction:column;justify-content:center;align-items:center;padding:40px 28px;transition:opacity .6s;display:flex;position:fixed;inset:0;overflow-y:auto}#memory.show{opacity:1;pointer-events:all}.m-eye{letter-spacing:.4em;color:#c8a84b;text-transform:uppercase;margin-bottom:18px;font-size:9px}.m-title{color:#f5f0e8;text-align:center;margin-bottom:6px;font-size:clamp(24px,4vw,36px);font-weight:400}.m-sub{letter-spacing:.2em;color:#f5f0e84d;text-transform:uppercase;margin-bottom:32px;font-size:11px}.m-stats{flex-wrap:wrap;justify-content:center;gap:28px;margin-bottom:32px;display:flex}.m-stat{text-align:center}.m-num{color:#c8a84b;margin-bottom:4px;font-size:30px;display:block}.m-lbl{letter-spacing:.2em;color:#f5f0e84d;text-transform:uppercase;font-size:9px}.m-rule{background:#c8a84b33;width:40px;height:1px;margin:0 auto 26px}.m-responses{width:100%;max-width:480px;margin-bottom:32px}.m-resp{border-left:2px solid #c8a84b4d;margin-bottom:16px;padding:10px 16px}.m-q{color:#c8a84b;margin-bottom:6px;font-size:10px;font-style:italic}.m-a{color:#f5f0e8cc;font-size:14px;line-height:1.6}.m-empty{color:#f5f0e84d;text-align:center;font-size:13px;font-style:italic}.m-closing{text-align:center;color:#f5f0e859;margin-top:16px;font-size:13px;font-style:italic}.m-btns{flex-direction:column;align-items:center;gap:12px;display:flex}.m-primary{color:#0a0a0a;cursor:pointer;letter-spacing:.3em;text-transform:uppercase;background:#c8a84b;border:none;padding:14px 36px;font-family:Georgia,serif;font-size:11px}.m-secondary{color:#f5f0e84d;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:6px;font-size:10px}.m-secondary:hover{color:#f5f0e899}#vscreen{z-index:40;opacity:0;pointer-events:none;background:#000;flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}#vscreen.show{opacity:1;pointer-events:all}.v-back{letter-spacing:.28em;color:#f5f0e866;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:8px;font-size:10px;position:absolute;top:20px;left:20px}.v-back:hover{color:#c8a84b}.v-eye{letter-spacing:.35em;color:#c8a84b;text-transform:uppercase;margin-bottom:14px;font-size:9px}#vframe{aspect-ratio:9/16;border:none;width:100%;max-width:380px;max-height:75vh}.v-label{letter-spacing:.2em;color:#f5f0e840;text-transform:uppercase;margin-top:14px;font-size:10px}
