:root{color-scheme:dark;--bg: #000000}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg)}body{overflow:hidden;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.stage{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg)}.stage canvas{display:block;width:100%;height:100%;touch-action:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-nav{position:fixed;left:16px;bottom:16px;display:flex;flex-wrap:wrap;gap:8px;opacity:0;pointer-events:none}.skip-nav:focus-within{opacity:1;pointer-events:auto}.skip-nav button,.skip-nav a{font:500 18px Cormorant SC,Garamond,serif;letter-spacing:.04em;color:#ebe6da;background:#141416d9;border:1px solid rgba(235,230,218,.25);border-radius:4px;padding:6px 12px;text-decoration:none;cursor:pointer}.skip-nav button:focus-visible,.skip-nav a:focus-visible{outline:2px solid #ffe070;outline-offset:2px}.page-back{position:fixed;top:20px;left:16px;font:500 18px Cormorant SC,Garamond,serif;letter-spacing:.04em;color:#ebe6dab3;text-decoration:none}.section-nav{position:fixed;top:20px;right:16px;display:flex;gap:20px}.section-nav a,.page-back{transition:color .2s}.section-nav a{font:500 18px Cormorant SC,Garamond,serif;letter-spacing:.04em;color:#ebe6da8c;text-decoration:none}.page-back:hover,.page-back:focus-visible,.section-nav a:hover,.section-nav a:focus-visible{color:#ebe6da}.not-found{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#ebe6da;text-align:center;padding:0 16px}.not-found h1{margin:0;font:600 clamp(40px,8vw,72px) "Cormorant SC",Garamond,serif;letter-spacing:.04em}.not-found p{margin:12px 0 0;font:500 20px Cormorant SC,Garamond,serif;color:#ebe6da8c}.credit{position:fixed;right:16px;bottom:12px;left:16px;margin:0;text-align:right;font:400 12px Inter,system-ui,sans-serif;color:#ebe6da59}.credit a{color:inherit}.credit a:hover,.credit a:focus-visible{color:#ebe6dacc}.exhibit-hint{position:fixed;left:16px;right:16px;bottom:20px;margin:0;text-align:center;font:500 17px Cormorant SC,Garamond,serif;letter-spacing:.06em;color:#ebe6da73;pointer-events:none}.resume-links{position:fixed;left:16px;right:16px;bottom:40px;margin:0;text-align:center;font:500 17px Cormorant SC,Garamond,serif;letter-spacing:.06em;color:#ebe6da73}.resume-links a{color:#ebe6dabf;text-underline-offset:3px}.resume-links a:hover,.resume-links a:focus-visible{color:#ebe6da}.sound-toggle{position:fixed;left:16px;bottom:12px;padding:4px 0;background:none;border:0;cursor:pointer;font:500 15px Cormorant SC,Garamond,serif;letter-spacing:.06em;color:#ebe6da80}.sound-toggle:hover,.sound-toggle:focus-visible{color:#ebe6da}.exit-btn{position:fixed;left:50%;bottom:68px;transform:translate(-50%);padding:9px 22px;border-radius:999px;border:1px solid rgba(235,230,218,.45);background:#0e0c0cbf;color:#ebe6da;cursor:pointer;font:600 17px Cormorant SC,Garamond,serif;letter-spacing:.08em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s,border-color .2s;animation:pad-fade .4s ease-out}.exit-btn:hover,.exit-btn:focus-visible{background:#b8352bd9;border-color:#ebe6dacc}.exit-btn:focus-visible{outline:2px solid #ffe070;outline-offset:2px}.seat-actions{position:fixed;top:14px;left:50%;transform:translate(-50%);display:flex;gap:10px}.seat-actions .exit-btn{position:static;transform:none;white-space:nowrap}.exit-btn.close-win:hover,.exit-btn.close-win:focus-visible{background:#d23f31e6}.contact-hint.at-top{top:58px;bottom:auto;font-size:15px}.contact-hint{position:fixed;left:16px;right:16px;bottom:40px;margin:0;text-align:center;font:500 17px Cormorant SC,Garamond,serif;letter-spacing:.06em;color:#ebe6da80}.link-btn{padding:0;background:none;border:0;cursor:pointer;font:inherit;letter-spacing:inherit;color:#ebe6dacc;text-decoration:underline;text-underline-offset:3px}.link-btn:hover,.link-btn:focus-visible{color:#ebe6da}.pad-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c;animation:pad-fade .25s ease-out}.pad{width:min(460px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:#f6f0dc;color:#1c1a17;border-radius:6px;box-shadow:0 20px 60px #0009;animation:pad-rise .3s ease-out}.pad-head{background:#b8352b;padding:14px 20px;border-radius:6px 6px 0 0}.pad-head h2{margin:0;text-align:center;font:600 26px Cormorant SC,Garamond,serif;letter-spacing:.12em;color:#f6f0dc}.pad-body{display:flex;flex-direction:column;gap:14px;padding:18px 22px 22px;background-image:repeating-linear-gradient(transparent 0 31px,#466ea02e 31px,#466ea02e 32px);font-family:Special Elite,Courier New,monospace}.pad-lead{margin:0;text-align:center;font-size:18px}.pad label{display:flex;flex-direction:column;gap:4px;font:600 15px Cormorant SC,Garamond,serif;letter-spacing:.06em;color:#1c1a17b3}.pad input,.pad textarea{font:17px Special Elite,Courier New,monospace;color:#1c1a17;background:#ffffff73;border:0;border-bottom:2px solid rgba(28,26,23,.35);border-radius:2px;padding:6px 8px;resize:vertical}.pad input:focus-visible,.pad textarea:focus-visible{outline:2px solid #b8352b;outline-offset:1px}.pad-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.pad-error{margin:0;font-size:15px;color:#8f2219}.pad-error a{color:inherit}.pad-actions{display:flex;justify-content:space-between;gap:12px;margin-top:4px}.pad-btn{font:600 17px Cormorant SC,Garamond,serif;letter-spacing:.08em;padding:8px 20px;border-radius:999px;border:2px solid #1c1a17;background:#1c1a17;color:#f6f0dc;cursor:pointer}.pad-btn:disabled{opacity:.6;cursor:progress}.pad-btn-quiet{background:transparent;color:#1c1a17}.pad-btn:focus-visible{outline:2px solid #b8352b;outline-offset:2px}.pad-done{align-items:center;text-align:center;font-size:20px}.pad-done p{margin:0}@keyframes pad-fade{0%{opacity:0}}@keyframes pad-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}}@media (prefers-reduced-motion: reduce){.pad-backdrop,.pad{animation:none}}@media (max-width: 640px){.seat-actions{top:52px}.contact-hint.at-top{top:96px}}
