@font-face{font-family:Old Standard TT;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ost-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Old Standard TT;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ost-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--book: "Old Standard TT", "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;--wall1: #12172440;--wall-a: #161c2b;--wall-b: #222c44;--wall-c: #34406097;--ink: #0e1016;--parchment: #f3ead4;--parchment-2: #e7dabb;--gold: #e7b64a;--gold-soft: #d9ad55;--mist: rgba(210, 220, 245, .75);--serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, "Times New Roman", serif;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px)}*{margin:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;background:#0a0d14;color:#f2eee2;font-family:var(--serif);overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none}#stage{position:fixed;inset:0;background:radial-gradient(120% 120% at 50% 30%,#1a2133,#0a0d14)}#stage video,#stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}#vignette{position:fixed;inset:0;z-index:12;pointer-events:none;background:radial-gradient(130% 100% at 50% 42%,transparent 44%,rgba(6,8,14,.35) 78%,rgba(4,6,11,.72) 100%)}#vignette:after{content:"";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}#debug{position:fixed;top:0;left:0;right:0;z-index:200;max-height:46vh;overflow:hidden;pointer-events:none;font:10px/1.35 ui-monospace,SF Mono,Menlo,monospace;color:#86ffb4;background:#00000080;padding:max(env(safe-area-inset-top),4px) 7px 5px;white-space:pre-wrap;word-break:break-word}#debug:empty{display:none}#debug .err{color:#ff8a7a}#bubbles{position:fixed;inset:0;z-index:20;pointer-events:none}.bubble{position:absolute;left:0;top:0;width:max-content;max-width:min(78vw,350px);padding:13px 18px 15px;background:#fdfdfb;color:#100d08;font-family:var(--book);border-radius:6px;border:1.5px solid #14110b;box-shadow:0 12px 30px #0000008c,0 0 0 4px #fdfdfbe6,0 0 0 5.5px #14110bd9;transform-origin:50% 120%;will-change:transform,opacity;opacity:0;transition:opacity .35s ease}.bubble.show{opacity:1}.bubble .who{font-family:var(--book);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#100d08;border-bottom:1.5px solid #14110b;padding-bottom:5px;margin-bottom:7px}.bubble .quote{font-family:var(--book);font-weight:700;font-size:clamp(15px,4.2vw,18px);line-height:1.4;color:#100d08;transition:opacity .25s ease}.bubble .quote.swap{opacity:0}.bubble .tail{position:absolute;left:50%;bottom:-9px;width:20px;height:11px;transform:translate(-50%);background:#fdfdfb;border-right:1.5px solid #14110b;border-bottom:1.5px solid #14110b;clip-path:polygon(0 0,100% 0,50% 100%)}#hint{position:fixed;inset:0;z-index:18;display:grid;place-content:center;gap:20px;pointer-events:none;text-align:center;transition:opacity .4s ease}#hint.hidden{opacity:0;visibility:hidden}.reticle{width:min(58vw,260px);aspect-ratio:1;margin:0 auto;position:relative;animation:breathe 3s ease-in-out infinite}.reticle span{position:absolute;width:34px;height:34px;border:2px solid var(--gold);opacity:.85;filter:drop-shadow(0 0 6px rgba(231,182,74,.5))}.reticle span:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.reticle span:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}.reticle span:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}.reticle span:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}#hint p{font-size:15px;letter-spacing:.04em;color:#e9e4d3;text-shadow:0 2px 10px #000}@keyframes breathe{0%,to{transform:scale(.94);opacity:.8}50%{transform:scale(1.04);opacity:1}}#hud{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:12px;padding:calc(var(--safe-t) + 10px) 14px 10px;background:linear-gradient(180deg,#090c14a8,#090c1400);transition:opacity .5s ease}#hud.hidden{opacity:0;pointer-events:none}#hud-logo{height:26px;width:auto;filter:invert(1) brightness(1.7);mix-blend-mode:screen}#progress{margin-left:auto;font-size:13px;letter-spacing:.06em;color:#efe9d8;background:#0a0d1680;border:1px solid rgba(231,182,74,.35);border-radius:999px;padding:5px 12px;text-shadow:0 1px 4px #000}#progress b{color:var(--gold);font-size:15px}#sound{width:38px;height:38px;border-radius:50%;border:1px solid rgba(231,182,74,.35);background:#0a0d1680;color:var(--gold);font-size:16px;cursor:pointer}#sound.off{color:#7c7c7c;opacity:.7}#settings{width:38px;height:38px;border-radius:50%;border:1px solid rgba(231,182,74,.35);background:#0a0d1680;color:var(--gold);font-size:17px;line-height:1;cursor:pointer}#panel{position:fixed;left:50%;bottom:0;transform:translate(-50%) translateY(0);z-index:45;width:min(94vw,460px);max-height:74vh;overflow-y:auto;padding:16px 18px calc(var(--safe-b) + 18px);background:linear-gradient(180deg,#1c2234fa,#0f131ffa);border:1px solid rgba(231,182,74,.4);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -12px 40px #0000008c;transition:transform .32s cubic-bezier(.2,.9,.3,1),opacity .32s ease}#panel.hidden{transform:translate(-50%) translateY(106%);opacity:0;pointer-events:none;visibility:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel-head h3{font-size:17px;letter-spacing:.04em;color:var(--gold);font-weight:600}#panel-close{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:transparent;color:#cfd4e2;font-size:14px;cursor:pointer}.slider-row{padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}.slider-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.s-label{font-size:15px;color:#eee7d6;letter-spacing:.02em}.s-val{font:600 15px ui-monospace,Menlo,monospace;color:var(--gold);background:#e7b64a1f;border-radius:8px;padding:2px 9px}.slider-row input[type=range]{width:100%;height:26px;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.slider-row input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:linear-gradient(90deg,#e7b64ab3,#ffffff24)}.slider-row input[type=range]::-moz-range-track{height:5px;border-radius:999px;background:#ffffff2e}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7.5px;border-radius:50%;background:#f2cf74;border:2px solid #fff;box-shadow:0 2px 8px #00000080}.slider-row input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#f2cf74;border:2px solid #fff}.s-desc{margin-top:6px;font-size:12.5px;line-height:1.45;color:#a7adbe}#panel-reset{margin-top:14px;width:100%;padding:11px;font-family:var(--serif);font-size:15px;color:#eee7d6;background:#ffffff0f;border:1px solid rgba(231,182,74,.35);border-radius:12px;cursor:pointer}#roster{position:fixed;left:0;right:0;bottom:calc(var(--safe-b) + 14px);z-index:30;display:flex;justify-content:center;gap:16px;transition:opacity .5s ease}#roster.hidden{opacity:0;pointer-events:none}.medallion{--ring: rgba(255, 255, 255, .25);width:58px;height:58px;border-radius:50%;position:relative;overflow:hidden;border:2px solid var(--ring);box-shadow:0 6px 16px #00000073;transition:transform .5s cubic-bezier(.2,1.4,.4,1),border-color .5s ease,box-shadow .5s ease}.medallion img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.4) contrast(.9);transition:filter .6s ease}.medallion:after{content:"?";position:absolute;inset:0;display:grid;place-content:center;font-size:22px;color:#fff9;transition:opacity .4s ease}.medallion.found{--ring: var(--gm-accent, var(--gold));border-color:var(--ring);box-shadow:0 6px 16px #00000080,0 0 18px -2px var(--ring);transform:translateY(-2px) scale(1.06)}.medallion.found img{filter:none}.medallion.found:after{opacity:0}.medallion.pop{animation:pop .7s cubic-bezier(.2,1.5,.4,1)}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.22)}to{transform:translateY(-2px) scale(1.06)}}#toast{position:fixed;left:50%;bottom:calc(var(--safe-b) + 92px);transform:translate(-50%) translateY(12px);z-index:40;padding:12px 22px;background:linear-gradient(180deg,#141928eb,#0c101ceb);border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-size:15px;letter-spacing:.05em;box-shadow:0 10px 30px #00000080,0 0 30px -6px var(--gold);opacity:0;transition:opacity .5s ease,transform .5s ease;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#intro,#preloader,#error{position:fixed;inset:0;z-index:100;display:grid;place-content:center;text-align:center;padding:32px;background:radial-gradient(90% 70% at 50% 22%,var(--wall-c) 0%,transparent 60%),linear-gradient(170deg,var(--wall-b) 0%,var(--wall-a) 55%,#0b0e17 100%);transition:opacity .6s ease}#preloader{z-index:110}#error{z-index:120}.hidden{opacity:0!important;pointer-events:none!important;visibility:hidden}.stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff 50%,transparent),radial-gradient(1.5px 1.5px at 82% 12%,#fff 50%,transparent),radial-gradient(1px 1px at 66% 28%,#cdd6ff 50%,transparent),radial-gradient(1.5px 1.5px at 28% 62%,#fff 50%,transparent),radial-gradient(1px 1px at 48% 44%,#e7ecff 50%,transparent),radial-gradient(1px 1px at 90% 66%,#fff 50%,transparent),radial-gradient(1.5px 1.5px at 18% 84%,#fff 50%,transparent),radial-gradient(1px 1px at 74% 82%,#cdd6ff 50%,transparent);opacity:.7;animation:twinkle 5s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.45}50%{opacity:.85}}.intro-inner{position:relative;max-width:460px}.intro-logo{width:min(82vw,360px);filter:invert(1) brightness(1.75);mix-blend-mode:screen;animation:floaty 6s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.tagline{margin-top:14px;font-size:15px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);opacity:.9}.lede{margin-top:18px;font-size:16px;line-height:1.6;color:#d7dbe8}#start{margin-top:26px;font-family:var(--serif);font-size:18px;letter-spacing:.04em;color:#10131c;background:linear-gradient(180deg,#f2cf74,var(--gold));border:0;border-radius:999px;padding:15px 40px;cursor:pointer;box-shadow:0 10px 30px #00000073,0 0 34px -8px var(--gold);transition:transform .15s ease,box-shadow .3s ease}#start:active{transform:scale(.97)}.req{margin-top:16px;font-size:12.5px;letter-spacing:.05em;color:#9aa2b6}.credit{position:absolute;bottom:calc(var(--safe-b) + 16px);left:0;right:0;font-size:11px;letter-spacing:.14em;color:#6b7488;text-transform:uppercase}.sigil{width:96px;height:96px;margin:0 auto 26px;position:relative}.sigil span{position:absolute;inset:0;border-radius:50%;border:2px solid transparent}.sigil span:nth-child(1){border-top-color:var(--gold);border-right-color:#e7b64a40;animation:spin 1.6s linear infinite}.sigil span:nth-child(2){inset:14px;border-bottom-color:#b98bff;border-left-color:#b98bff40;animation:spin 2.4s linear infinite reverse}.sigil span:nth-child(3){inset:28px;border-top-color:#40e0cf;animation:spin 1.1s linear infinite;box-shadow:0 0 22px -2px #40e0cf}@keyframes spin{to{transform:rotate(360deg)}}.pl-title{font-size:20px;letter-spacing:.18em;text-transform:uppercase;color:#efe6cf}.pl-bar{width:min(70vw,280px);height:4px;margin:18px auto 10px;background:#ffffff1f;border-radius:999px;overflow:hidden}.pl-bar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--gold),#fff2cc);box-shadow:0 0 12px var(--gold);transition:width .35s ease}.pl-step{font-size:13px;letter-spacing:.06em;color:#aab0c2}.err-inner{max-width:380px}.err-inner h2{font-size:26px;color:var(--gold);letter-spacing:.06em}.err-inner p{margin:14px 0 22px;color:#cfd4e2;line-height:1.55;font-size:15px}#retry{font-family:var(--serif);font-size:16px;color:#10131c;background:var(--gold);border:0;border-radius:999px;padding:12px 30px;cursor:pointer}@media (prefers-reduced-motion: reduce){.stars,.intro-logo,.reticle,.sigil span{animation:none!important}}
