@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(./cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(./cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(./cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:500;src:url(./cinzel-latin-500-normal-B-2dbOfA.woff2)format("woff2"),url(./cinzel-latin-500-normal-DMNTwV-V.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(./cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(./cinzel-latin-600-normal-CH_LB4su.woff)format("woff")}:root{--ivory:#e9e0c9;--ivory-dim:#b9b09a;--slate:#161c28;--slate-2:#1d2535;--gold:#c9a35a;--gold-dim:#c9a35a61;--ink:#0a0d14db;--font-body:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-title:"Cinzel", "Trajan Pro", "Palatino Linotype", Georgia, serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px)}#ui{pointer-events:none;font-family:var(--font-body);color:var(--ivory);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-size:20px;position:fixed;inset:0}#ui *{box-sizing:border-box}#ui .layer{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .9s,visibility 0s linear .9s;position:absolute;inset:0}#ui .layer.on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .9s,visibility}#ui .layer.fast{transition-duration:.35s}#loading{z-index:50;background:radial-gradient(120% 90% at 50% 40%,#1d2638 0%,#0c1018 70%);flex-direction:column;justify-content:center;align-items:center;display:flex}#loading .mark{font-family:var(--font-title);letter-spacing:.32em;color:var(--ivory);text-transform:uppercase;text-align:center;margin-bottom:28px;padding:0 24px;font-size:clamp(16px,2.4vw,26px)}#loading .bar{background:#e9e0c933;width:min(340px,70vw);height:1px;position:relative}#loading .bar i{background:var(--gold);width:0%;height:3px;transition:width .25s;position:absolute;top:-1px;left:0}#loading .label{color:var(--ivory-dim);letter-spacing:.04em;min-height:1.4em;margin-top:18px;font-size:16px;font-style:italic}#loading .err{text-align:center;color:#e4b3a0;max-width:460px;margin-top:20px;padding:0 24px;font-size:17px;line-height:1.45;display:none}#loading.failed .err{display:block}#loading .retry{margin-top:18px;display:none}#loading.failed .retry{display:inline-block}.btn{color:var(--ivory);font-family:var(--font-body);letter-spacing:.08em;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:7px 2px;font-size:24px;transition:color .3s,transform .3s;position:relative}.btn:after{content:"";background:var(--gold);width:0;height:1px;transition:width .35s;position:absolute;bottom:2px;left:0}.btn:hover,.btn:focus-visible{color:#fff6dc;outline:none}.btn:hover:after,.btn:focus-visible:after{width:100%}.btn[disabled]{opacity:.35;cursor:default}.btn.small{font-size:18px}.btn.ghost{color:var(--ivory-dim)}#title{z-index:30;background:linear-gradient(90deg,#080b12c7 0%,#080b1275 34%,#080b1200 62%),linear-gradient(#080b1200 62%,#080b128c 100%)}#title .col{left:calc(6vw + var(--safe-l));flex-direction:column;align-items:flex-start;max-width:min(520px,86vw);display:flex;position:absolute;top:50%;transform:translateY(-52%)}#title h1{font-family:var(--font-title);letter-spacing:.1em;color:var(--ivory);text-transform:uppercase;text-shadow:0 2px 24px #0000008c;margin:0;font-size:clamp(30px,5.6vw,76px);font-weight:600;line-height:1.04}#title h1 span{letter-spacing:.34em;color:var(--gold);margin-bottom:.4em;font-size:.5em;font-weight:500;display:block}#title .rule{background:var(--gold-dim);width:92px;height:1px;margin:22px 0 18px}#title .tag{color:var(--ivory-dim);max-width:30em;margin:0 0 30px;font-size:clamp(17px,1.7vw,22px);font-style:italic;line-height:1.4}#title nav{flex-direction:column;gap:2px;display:flex}#title .foot{bottom:calc(18px + var(--safe-b));left:calc(6vw + var(--safe-l));letter-spacing:.1em;color:#e9e0c980;font-size:14px;position:absolute}.panel{background:#080b129e;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.panel .sheet{border:1px solid var(--gold-dim);background:linear-gradient(#1b2230f5,#121722f7);width:min(560px,90vw);max-height:min(86vh,720px);padding:34px 38px 30px;overflow:auto;box-shadow:0 24px 80px #0000008c}.panel h2{font-family:var(--font-title);letter-spacing:.26em;text-transform:uppercase;color:var(--ivory);margin:0 0 6px;font-size:22px;font-weight:500}.panel .sub{color:var(--ivory-dim);margin:0 0 22px;font-size:16px;font-style:italic}.panel .row{border-bottom:1px solid #e9e0c917;justify-content:space-between;align-items:center;gap:18px;padding:9px 0;font-size:19px;display:flex}.panel .row:last-of-type{border-bottom:0}.panel .row label{flex:1}.panel .actions{flex-wrap:wrap;gap:26px;margin-top:24px;display:flex}.panel p{color:var(--ivory);margin:0 0 12px;font-size:18px;line-height:1.5}.panel p small{color:var(--ivory-dim);font-size:15px}.panel ul{color:var(--ivory-dim);margin:6px 0 14px;padding-left:20px;font-size:17px;line-height:1.5}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:190px;height:24px}input[type=range]::-webkit-slider-runnable-track{background:#e9e0c959;height:1px}input[type=range]::-moz-range-track{background:#e9e0c959;height:1px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--slate);border:1px solid var(--gold);width:13px;height:13px;margin-top:-6px;transform:rotate(45deg)}input[type=range]::-moz-range-thumb{background:var(--slate);border:1px solid var(--gold);border-radius:0;width:11px;height:11px;transform:rotate(45deg)}input[type=checkbox]{appearance:none;border:1px solid var(--gold-dim);cursor:pointer;background:0 0;width:20px;height:20px;position:relative}input[type=checkbox]:checked:after{content:"";background:var(--gold);position:absolute;inset:4px;transform:rotate(45deg)scale(.8)}select{background:var(--slate-2);color:var(--ivory);border:1px solid var(--gold-dim);font-family:var(--font-body);padding:4px 8px;font-size:18px}button:focus-visible,input:focus-visible,select:focus-visible{outline:1px solid var(--gold);outline-offset:3px}#hud{z-index:20}#prompt{left:50%;bottom:calc(11vh + var(--safe-b));border-top:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim);opacity:0;letter-spacing:.1em;white-space:nowrap;pointer-events:none;background:#0a0d1480;align-items:center;gap:14px;padding:8px 18px;font-size:22px;transition:opacity .5s,transform .5s;display:flex;position:absolute;transform:translate(-50%)translateY(6px)}#prompt.on{opacity:1;transform:translate(-50%)translateY(0)}#prompt kbd{font-family:var(--font-title);border:1px solid var(--gold);color:var(--gold);height:26px;padding:1px 9px 0;font-size:15px;line-height:24px}#hint{left:50%;bottom:calc(5vh + var(--safe-b));letter-spacing:.07em;color:#e9e0c9d1;text-shadow:0 1px 10px #000c;opacity:0;pointer-events:none;text-align:center;padding:0 16px;font-size:20px;font-style:italic;transition:opacity 1.4s;position:absolute;transform:translate(-50%)}#hint.on{opacity:1}#toast{left:50%;top:calc(9vh + var(--safe-t));font-family:var(--font-title);letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);text-shadow:0 1px 14px #000c;opacity:0;pointer-events:none;text-align:center;padding:0 16px;font-size:clamp(13px,1.5vw,18px);transition:opacity 1.2s;position:absolute;transform:translate(-50%)}#toast.on{opacity:1}#fps{left:calc(10px + var(--safe-l));top:calc(8px + var(--safe-t));color:#e9e0c9b3;white-space:pre;font:12px/1.3 ui-monospace,Menlo,monospace;display:none;position:absolute}#fps.on{display:block}#pauseBtn{right:calc(14px + var(--safe-r));top:calc(12px + var(--safe-t));border:1px solid var(--gold-dim);width:46px;height:46px;color:var(--ivory);pointer-events:auto;cursor:pointer;letter-spacing:3px;background:#0a0d1466;justify-content:center;align-items:center;font-size:18px;display:none;position:absolute}body.touch #pauseBtn{display:flex}#pause{z-index:40}#settings,#credits{z-index:45}#finale{z-index:35;text-align:center;background:radial-gradient(90% 70% at 50% 60%,#080b121a,#080b129e);justify-content:center;align-items:center;display:flex}#finale .inner{max-width:640px;padding:0 24px}#finale h2{font-family:var(--font-title);letter-spacing:.22em;text-transform:uppercase;margin:0 0 14px;font-size:clamp(22px,3.6vw,40px);font-weight:500}#finale p{color:var(--ivory-dim);margin:0 0 28px;font-size:clamp(18px,2vw,24px);font-style:italic}#finale .actions{flex-wrap:wrap;justify-content:center;gap:34px;display:flex}#fade{opacity:0;pointer-events:none;z-index:60;background:#0b0f16;transition:opacity 1.1s;position:absolute;inset:0}#fade.on{opacity:1}#fade.slow{transition-duration:1.8s}#touch{z-index:22;display:none}body.touch #touch{display:block}#stick{left:calc(26px + var(--safe-l));bottom:calc(26px + var(--safe-b));pointer-events:auto;touch-action:none;width:150px;height:150px;position:absolute}#stick .base{border:1px solid var(--gold-dim);background:radial-gradient(circle,#0a0d1426,#0a0d146b);border-radius:50%;position:absolute;inset:0}#stick .thumb{border:1px solid var(--gold);background:#c9a35a2e;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;transition:transform 80ms linear;position:absolute;top:50%;left:50%}#interactBtn{right:calc(30px + var(--safe-r));bottom:calc(42px + var(--safe-b));border:1px solid var(--gold);width:84px;height:84px;color:var(--gold);font-family:var(--font-title);pointer-events:auto;touch-action:none;opacity:0;background:#0a0d1480;border-radius:50%;justify-content:center;align-items:center;font-size:22px;transition:opacity .4s;display:flex;position:absolute}#interactBtn.on{opacity:1}#portrait{left:50%;top:calc(70px + var(--safe-t));border:1px solid var(--gold-dim);text-align:center;pointer-events:auto;z-index:55;background:#0a0d14b3;max-width:86vw;padding:10px 16px;font-size:17px;font-style:italic;display:none;position:absolute;transform:translate(-50%)}body.touch.portrait #portrait.on{display:block}#nogl{z-index:99;text-align:center;pointer-events:auto;background:#0b0f16;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}#nogl.on{display:flex}#nogl div{max-width:520px;font-size:20px;line-height:1.5}#nogl h2{font-family:var(--font-title);letter-spacing:.2em;text-transform:uppercase;font-size:20px}@media (max-width:720px),(max-height:520px){#ui{font-size:17px}.btn{font-size:21px}#title .col{top:46%}.panel .sheet{padding:22px 20px}input[type=range]{width:120px}}@media (prefers-reduced-motion:reduce){#ui .layer,#prompt,#hint,#toast,#fade{transition-duration:10ms!important}}
