@font-face{font-family:Rekindle Header;src:url(/assets/fonts/header.otf)format("opentype");font-display:block}@font-face{font-family:Rekindle Normal;src:url(/assets/fonts/normal.otf)format("opentype");font-display:block}:root{--font-header:"Rekindle Header", system-ui, sans-serif;--font-normal:"Rekindle Normal", system-ui, sans-serif;--tall-shift:max(0px, calc((100vh - 100vw * 820 / 1920) * .2))}html,body{background:#14141a;height:100%;margin:0;overflow:hidden}canvas{cursor:grab;display:block}canvas:active{cursor:grabbing}body.no-cursor,body.no-cursor *,body.cinema,body.cinema *{cursor:none!important}#hud{color:#e8e6df;font:13px/1.5 var(--font-normal);opacity:.75;pointer-events:none;position:fixed;bottom:16px;left:16px}#hud b{font-weight:600}#loading{color:#2f6fd6;font:18px var(--font-normal);z-index:10;cursor:none;background:#fbf0d2;transition:opacity .6s;position:fixed;inset:0;overflow:hidden}#loading.hidden{opacity:0;pointer-events:none}#loading.hidden *{animation-play-state:paused}#loading .loading-waves{will-change:transform;width:140%;height:140%;animation:12s ease-in-out infinite alternate loading-waves;position:absolute;top:-20%;left:-20%}@keyframes loading-waves{0%{transform:translate(-6%,-2%)rotate(-2deg)}50%{transform:translate(5%,3%)rotate(1.5deg)}to{transform:translate(-3%,5%)rotate(-1deg)}}#loading .loading-center{flex-direction:column;justify-content:center;align-items:center;gap:1.6vh;display:flex;position:absolute;inset:0}#loading .loading-spark{overflow:hidden}#loading .loading-strip{will-change:transform, opacity;opacity:0;width:auto;height:100%;transition:opacity .7s;display:block}#loading .loading-strip.shown{opacity:1}@keyframes loading-run{to{transform:translate(-100%)}}#loading .loading-text{font:700 clamp(14px, 2.2vh, 20px)/1 var(--font-normal);letter-spacing:.06em;color:#2f6fd6;white-space:nowrap}#loading .loading-text span{opacity:0;will-change:opacity}#hint{pointer-events:none;text-align:center;color:#f4f1e6;max-width:min(640px,80vw);font:500 16px/1.4 var(--font-normal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#0a0a0e99;border-radius:12px;padding:8px 18px;transition:opacity .6s,transform .6s;position:fixed;top:3vh;left:50%;transform:translate(-50%,-6px)}#hint.show{opacity:1;transform:translate(-50%)}#fade{pointer-events:none;z-index:5;opacity:0;background:#000;transition:opacity .35s;position:fixed;inset:0}#fade.show{opacity:1}#area{text-align:center;pointer-events:none;color:#f4f1e6;font:600 52px/1.1 var(--font-header);letter-spacing:.08em;text-shadow:0 2px 16px #000000a6,-2px -2px #0f1016,0 -2px #0f1016,2px -2px #0f1016,-2px 0 #0f1016,2px 0 #0f1016,-2px 2px #0f1016,0 2px #0f1016,2px 2px #0f1016;opacity:0;transition:opacity 1.4s;position:fixed;top:12vh;left:0;right:0}#area.show{opacity:1}#area.landmark{font:600 38px/1.1 var(--font-normal);letter-spacing:.04em}#banner{text-align:center;pointer-events:none;color:#f4f1e6;max-width:min(760px,86vw);font:600 19px/1.35 var(--font-normal);letter-spacing:.02em;text-shadow:0 2px 10px #0009,-1.5px -1.5px #0f1016,0 -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 0 #0f1016,1.5px 0 #0f1016,-1.5px 1.5px #0f1016,0 1.5px #0f1016,1.5px 1.5px #0f1016;opacity:0;transition:opacity .5s,transform .5s;position:fixed;bottom:22vh;left:50%;transform:translate(-50%,6px)}#banner.show{opacity:1;transform:translate(-50%)}#banner.top{top:4vh;bottom:auto;transform:translate(-50%,-6px)}#banner.top.show{transform:translate(-50%)}#banner.big{font:700 46px/1.15 var(--font-normal);letter-spacing:.02em}#fps{pointer-events:none;color:#e8e6df;opacity:.8;text-shadow:0 1px 4px #0009;font:600 13px/1.4 ui-monospace,Consolas,monospace;position:fixed;top:12px;left:16px}#tasks{pointer-events:none;color:#e8e6df;max-width:320px;font:13px/1.5 var(--font-normal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#0a0a0e8c;border-radius:10px;padding:10px 14px;transition:opacity .9s;position:fixed;top:16px;right:16px}#tasks.show{opacity:1}#tasks .tasks-title{font-size:15px;font-weight:600;font-family:var(--font-header);margin-bottom:4px}#tasks .task{opacity:.9}#tasks .task.done{opacity:.5;text-decoration:line-through}#prompt{pointer-events:none;color:#f4f1e6;font:500 19px/1.3 var(--font-normal);box-sizing:border-box;background:#0a0a0eb3;border-radius:999px;align-items:center;gap:10px;width:max-content;max-width:92vw;padding:10px 22px;display:flex;position:fixed;bottom:14vh;left:50%;transform:translate(-50%)}#prompt[hidden]{display:none}#prompt b{color:#f2c14e;font-weight:700}#prompt .icon{width:28px;height:28px;display:block}#prompt .gap{width:18px}body.mini #prompt{top:12px;bottom:auto}#score{pointer-events:none;text-align:center;color:#f4f1e6;min-width:170px;position:fixed;top:10px;left:50%;transform:translate(-50%)}#score[hidden]{display:none}#score .label{font:600 15px/1.2 var(--font-normal);letter-spacing:.14em;text-transform:uppercase;text-shadow:-1.5px -1.5px #0f1016,0 -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 0 #0f1016,1.5px 0 #0f1016,-1.5px 1.5px #0f1016,0 1.5px #0f1016,1.5px 1.5px #0f1016}#score .value{font:700 44px/1 var(--font-header);color:#f2c14e;transform-origin:50% 0;text-shadow:var(--score-outline);margin-top:10px;display:inline-block}#score{--score-outline:-2px -2px 0 #0f1016, 0 -2px 0 #0f1016, 2px -2px 0 #0f1016, -2px 0 0 #0f1016, 2px 0 0 #0f1016, -2px 2px 0 #0f1016, 0 2px 0 #0f1016, 2px 2px 0 #0f1016}#score .value.pump{animation:.38s ease-out score-pump}#timer{pointer-events:none;font:700 26px/1 var(--font-header);color:#f4f1e6;text-shadow:var(--score-outline);--score-outline:-2px -2px 0 #0f1016, 0 -2px 0 #0f1016, 2px -2px 0 #0f1016, -2px 0 0 #0f1016, 2px 0 0 #0f1016, -2px 2px 0 #0f1016, 0 2px 0 #0f1016, 2px 2px 0 #0f1016;position:fixed;top:96px;left:50%;transform:translate(-50%)}#timer[hidden]{display:none}#timer.late{color:#ff6b5a}@keyframes score-pump{0%{color:#d9bcff;text-shadow:var(--score-outline), 0 0 16px #9d4dfff2;transform:scale(1.35)}to{color:#f2c14e;text-shadow:var(--score-outline);transform:scale(1)}}#controls{pointer-events:none;color:#f4f1e6;font:500 14px/1.3 var(--font-normal);white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;background:#0a0a0e9e;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:4px 18px;width:max-content;max-width:94vw;padding:8px 20px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}#controls[hidden]{display:none}body.skills #controls{max-width:calc(100vw - 360px)}#controls span{align-items:center;gap:7px;display:inline-flex}#controls b{background:#f4f1e629;border:1px solid #f4f1e659;border-radius:6px;padding:1px 7px;font-weight:600}#result{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}#result[hidden]{display:none}#result .card{text-align:center;color:#f4f1e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a0eb8;border-radius:18px;min-width:300px;padding:22px 36px 20px;animation:.35s ease-out result-in;box-shadow:0 10px 40px #00000059}#result .title{font:600 18px/1.3 var(--font-normal);letter-spacing:.08em;text-transform:uppercase;opacity:.8}#result .score{font:700 64px/1.1 var(--font-header);color:#f2c14e;margin:6px 0 4px}#result .line{font:500 17px/1.4 var(--font-normal);opacity:.9}#result .best{font:600 15px/1.4 var(--font-normal);color:#f2c14e;margin-top:6px}#result .buttons{pointer-events:auto;gap:16px;animation:.35s ease-out result-in;display:flex}#result button{cursor:pointer;color:#f4f1e6;min-width:132px;font:600 18px/1.2 var(--font-normal);background:#0a0a0e99;border:2px solid #f4f1e659;border-radius:999px;padding:10px 22px}#shop{pointer-events:none;z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#shop[hidden]{display:none}#shop .panel{color:#f4f1e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a0ed1;border-radius:18px;width:min(720px,92vw);padding:30px 26px 16px;animation:.3s ease-out result-in;box-shadow:0 10px 40px #00000059}#shop h2{text-align:center;font:700 34px/1.1 var(--font-header);color:#6fb0ff;text-shadow:-1.5px -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 1.5px #0f1016,1.5px 1.5px #0f1016;margin:0 0 14px}#shop .row{border:2px solid #0000;border-radius:12px;grid-template-columns:auto 1fr 120px 190px;align-items:center;gap:12px;margin:3px 0;padding:8px 12px;display:grid}#shop .iconbox{width:64px;height:64px;display:inline-flex}#shop .icon{object-fit:contain;width:64px;height:64px}#skills .iconbox{display:inline-flex}#shop .row.cursor{background:#2f6fd638;border-color:#4a8df0}#shop .row.cannot .name{opacity:.6}#shop .name{font:700 18px/1.2 var(--font-normal)}#shop .keys{opacity:.9;margin-left:6px;font-size:14px}#shop .line{font:500 14px/1.3 var(--font-normal);opacity:.8}#shop .state{font:600 14px/1.2 var(--font-normal);opacity:.85;text-align:center}#shop .costs{justify-content:flex-end;gap:10px;display:flex}#shop .cost{align-items:center;gap:4px;display:inline-flex}#shop .cost .drop{width:16px;height:20px}#shop .cost .paint-icon{object-fit:contain;width:26px;height:26px}#shop .cost .have{font:600 14px/1 var(--font-normal);opacity:.75;margin-left:4px}#shop .cost b{font:700 16px/1 var(--font-normal)}#shop .cost.short b{color:#ff7a6a}#shop .maxed{font:600 14px/1 var(--font-normal);opacity:.7}#shop .note{min-height:1.2em;font:600 15px/1.3 var(--font-normal);color:#8cc0ff;text-align:center;margin:8px 0 0}#shop .hint{font:500 14px/1.3 var(--font-normal);opacity:.8;text-align:center;margin:4px 0 0}#skills{pointer-events:none;grid-template-rows:auto auto;grid-template-columns:repeat(2,76px);grid-template-areas:"freeze freeze""bomb orbit";justify-items:center;gap:0 4px;display:grid;position:fixed;bottom:6px;right:8px}#skills[hidden]{display:none}#skills .skill{flex-direction:column;align-items:center;display:flex;position:relative}#skills .skill.orbit{grid-area:orbit}#skills .skill.bomb{grid-area:bomb}#skills .skill.freeze{grid-area:freeze}#skills .skill.empty .icon{filter:grayscale();opacity:.45}#skills .icon{object-fit:contain;filter:drop-shadow(0 2px 4px #00000080);width:64px;height:64px}#skills .count{font:700 22px/1 var(--font-header);color:#f4f1e6;text-shadow:-2px -2px #0f1016,2px -2px #0f1016,-2px 2px #0f1016,2px 2px #0f1016;position:absolute;top:30px;right:0}#skills .key{font:700 13px/1 var(--font-normal);color:#f4f1e6;text-shadow:0 1px 3px #000000b3}#result .sub{font:700 20px/1.2 var(--font-header);letter-spacing:.12em;text-transform:uppercase;color:#f4f1e6;margin-bottom:8px}#result.yard .line{max-width:360px;margin:0 auto}#result.yard button{min-width:140px;font:700 18px/1 var(--font-normal);color:#0f1016;opacity:.7;background:#f2c14e;border:2px solid #0f1016;border-radius:999px;padding:12px 30px;transition:opacity .1s,transform .1s;box-shadow:0 6px #a8801f}#result.yard button.on{opacity:1;color:#fff;text-shadow:-1.5px -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 1.5px #0f1016,1.5px 1.5px #0f1016,0 0 6px #0f1016;background:#f2c14e;border-color:#0f1016;transform:translateY(-2px)}#controls-screen{z-index:40;color:#f4f1e6;padding:calc(2vh + var(--tall-shift)) 16px 2.5vh;box-sizing:border-box;text-shadow:-1.5px -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 1.5px #0f1016,1.5px 1.5px #0f1016,0 1.5px #0f1016,0 -1.5px #0f1016,1.5px 0 #0f1016,-1.5px 0 #0f1016;background:#969cacdb;grid-template-rows:62vh auto auto;align-content:start;justify-items:center;row-gap:3vh;display:grid;position:fixed;inset:0;overflow:hidden}#controls-screen[hidden]{display:none}#controls-screen:not([hidden]){animation:.35s ease-out controls-in}@keyframes controls-in{0%{opacity:0}to{opacity:1}}#controls-screen .pad{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}#controls-screen h2{font:700 clamp(24px, 3.2vw, 38px)/1 var(--font-header);color:#ffd84d;text-shadow:0 3px #0f1016;-webkit-text-stroke:6px #0f1016;paint-order:stroke fill;margin:0 0 1vh}#controls-screen .figure{aspect-ratio:1610/920;height:min(56vh,40vw);position:relative}#controls-screen .figure img{width:100%;height:100%;position:absolute;inset:0}#controls-screen .pad-label{white-space:nowrap;font:700 clamp(12px, 1.35vw, 20px)/1.1 var(--font-normal);color:#f4f1e6;position:absolute}#controls-screen .pad-label.right{transform:translate(10px,-50%)}#controls-screen .pad-label.left{transform:translate(calc(-100% - 10px),-50%)}#controls-screen .pad-label.down{transform:translate(-50%,8px)}#controls-screen .keys{align-self:center;width:min(1100px,96vw)}#controls-screen .grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:1.4vh 20px;display:grid}#controls-screen .key-row{font:600 clamp(13px, 1.25vw, 17px)/1.2 var(--font-normal);align-items:center;gap:10px;display:flex}#controls-screen .caps{justify-content:center;align-items:center;gap:4px;display:inline-flex}#controls-screen kbd{text-align:center;min-width:1.6em;font:700 .95em/1.2 var(--font-normal);color:#0f1016;text-shadow:none;background:#f4f1e6;border:2px solid #0f1016;border-radius:7px;padding:3px 8px;display:inline-block;box-shadow:0 3px #0f1016}#controls-screen .caps i{font-style:normal}#controls-screen .foot{flex-direction:column;align-items:center;gap:8px;margin-top:3.5vh;display:flex}#controls-screen .foot p{font:600 clamp(14px, 1.3vw, 17px)/1.2 var(--font-normal);margin:0}#controls-screen .toggle{align-items:center;gap:10px;line-height:1;display:inline-flex}#controls-screen .toggle .box{box-sizing:border-box;background:#0f101640;border:2px solid #f4f1e6;border-radius:7px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;transition:background .12s,border-color .12s;display:inline-flex;position:relative;top:2px;box-shadow:0 0 0 2px #0f1016,inset 0 0 0 1px #0f1016}#controls-screen .toggle .box svg{width:18px;height:18px;display:block}#controls-screen .toggle.on .box{background:#f2c14e;border-color:#f2c14e}#countdown{pointer-events:none;z-index:25;font:700 140px/1 var(--font-header);color:#f2c14e;opacity:0;-webkit-text-stroke:12px #0f1016;paint-order:stroke fill;text-shadow:0 6px #0f1016,0 10px 18px #00000073;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#countdown[hidden]{display:none}#countdown.pop{animation:.8s ease-out forwards count-pop}@keyframes count-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}35%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}#result button.on{color:#fff;text-shadow:-1.5px -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 1.5px #0f1016,1.5px 1.5px #0f1016,0 0 6px #0f1016;background:#f2c14e;border-color:#f2c14e}@keyframes result-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}#progress{pointer-events:none;background:#ffffff26;border-radius:999px;width:180px;height:6px;position:fixed;bottom:11vh;left:50%;overflow:hidden;transform:translate(-50%)}#progress-fill{background:#f2c14e;width:0;height:100%;transition:width 50ms linear}#balance{pointer-events:none;background:#14100c8c;border:2px solid #f4f1e64d;border-radius:18px;width:min(400px,76vw);padding:12px 14px 6px;position:fixed;top:2.2vh;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0000004d}#balance[hidden]{display:none}#balance svg{width:100%;height:auto;display:block;overflow:visible}#balance .bar{stroke:#14100ca6;stroke-width:2px}#balance .tick{stroke:#fff8e88c;stroke-width:1.6px;stroke-linecap:round}#balance .tick.mid{stroke:#fff8e8f2;stroke-width:2.4px}#balance .pointer{transition:transform 50ms linear}#balance .stem{fill:#2f6fd6;stroke:#0f1f45;stroke-width:1.5px}#balance .cap{fill:#f2c14e;stroke:#0f1f45;stroke-width:1.5px;stroke-linejoin:round}#paints{pointer-events:none;flex-direction:column;gap:6px;display:flex;position:fixed;top:14px;left:16px}#paints[hidden]{display:none}#paints .paint{align-items:center;gap:10px;display:flex}#paints .paint[hidden]{display:none}#paints .drop{width:22px;height:28px;display:block;overflow:visible}#paints .drop-holder{display:flex}#paints b{font:700 26px/1 var(--font-header);color:#f4f1e6;transform-origin:0;text-shadow:-2px -2px #0f1016,0 -2px #0f1016,2px -2px #0f1016,-2px 0 #0f1016,2px 0 #0f1016,-2px 2px #0f1016,0 2px #0f1016,2px 2px #0f1016;min-width:34px}#paints b.pump{animation:.38s ease-out paint-pump}@keyframes paint-pump{0%{color:#fff3b0;transform:scale(1.45)}to{color:#f4f1e6;transform:scale(1)}}#flash{pointer-events:none;opacity:0;z-index:30;position:fixed;inset:0}#heart{pointer-events:none;width:104px;height:96px;position:fixed;top:14px;right:16px}#heart .fill{transition:transform .45s cubic-bezier(.3,.8,.4,1)}#heart[hidden]{display:none}#heart svg{width:100%;height:100%;overflow:visible}#heart .wave{animation:2.6s linear infinite heart-wave}@keyframes heart-wave{0%{transform:translate(0)}to{transform:translate(-20px)}}#heart.pop-hurt svg{animation:.42s ease-out heart-hurt}#heart.pop-heal svg{animation:.42s ease-out heart-heal}@keyframes heart-hurt{0%{filter:saturate(0)brightness(1.35)drop-shadow(0 0 12px #c8c8d2e6);transform:scale(1.3)}to{filter:none;transform:scale(1)}}@keyframes heart-heal{0%{filter:brightness(1.25)drop-shadow(0 0 14px #2f6fd6f2);transform:scale(1.3)}to{filter:none;transform:scale(1)}}#dialogue{z-index:8;pointer-events:none;color:#f4f1e6;width:min(760px,88vw);min-height:96px;font:500 19px/1.45 var(--font-normal);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;background:#0a0a0ec7;border:2px solid #0f1016;border-radius:16px;padding:14px 22px 30px;transition:opacity .3s,transform .3s;position:fixed;bottom:7vh;left:50%;transform:translate(-50%,10px);box-shadow:0 10px 30px #0006}#dialogue.show{opacity:1;transform:translate(-50%)}#dialogue b{font:700 14px/1.2 var(--font-header,var(--font-normal));letter-spacing:.08em;text-transform:uppercase;color:#79c2e8;margin-bottom:6px;display:block}#dialogue p{margin:0}#dialogue small{color:#b9b6ac;font-size:13px;position:absolute;bottom:9px;right:18px}#menu{z-index:8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f4f1e6;font:500 16px/1.4 var(--font-normal);background:#06060ab8;align-content:center;justify-items:center;gap:22px;padding:24px 16px;display:grid;position:fixed;inset:0}#menu[hidden]{display:none}#menu .album{justify-items:center;gap:12px;margin-top:18px;display:grid}#menu .row{justify-content:center;gap:12px;display:flex}#menu .slot{isolation:isolate;aspect-ratio:1;cursor:default;background:0 0;border:0;width:min(96px,13vw);padding:0;position:relative;overflow:visible}#menu .slot.owned{cursor:pointer}#menu .slot:focus,#menu .slot:focus-visible{outline:none}#menu .highlight{z-index:0;pointer-events:none;transition:left .2s,top .2s,width .2s,height .2s,opacity .2s .15s;position:fixed}#menu .highlight[hidden]{opacity:0;display:block}#menu .highlight i{filter:blur(10px);background:#f2c14e;border-radius:12px;animation:2.4s ease-in-out infinite menu-pulse;display:block;position:absolute;inset:-18px}@keyframes menu-pulse{0%,to{opacity:.6;transform:scale(.96)}50%{opacity:1;transform:scale(1.02)}}#menu .album,#menu .slot{z-index:1;position:relative}#menu .slot img{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:relative}#menu .paints{flex-wrap:wrap;justify-content:center;gap:10px 22px;min-height:36px;display:flex}#menu .paint{align-items:center;gap:6px;display:flex}#menu .paint .drop{width:24px;height:30px}#menu .paint b{font:700 22px/1 var(--font-normal)}#menu .empty{color:#b9b6ac;margin:0}#menu h2{font:700 22px/1.2 var(--font-header,var(--font-normal));color:#ffd84d;letter-spacing:.04em;text-shadow:-1.5px -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 1.5px #0f1016,1.5px 1.5px #0f1016,0 0 6px #0f1016;margin:0 0 -8px}#menu .hint{color:#d9d6cc;font:500 16px/1.4 var(--font-normal);margin:6px 0 0}#menu .hint b{color:#ffd84d;font-weight:700}#menu button.back{font:700 18px/1 var(--font-normal);color:#0f1016;cursor:pointer;background:#f2c14e;border:2px solid #0f1016;border-radius:999px;padding:12px 34px;box-shadow:0 6px #a8801f}#menu button.back:active{transform:translateY(3px);box-shadow:0 3px #a8801f}#menu .main{justify-items:center;gap:22px;transition:opacity .2s .15s;display:grid}#menu.popped .main,#menu.popped .highlight{opacity:0;pointer-events:none;transition:opacity .15s}#menu.back .highlight{transition:left .2s,top .2s,width .2s,height .2s,opacity .25s .4s}#menu .popup{opacity:0;pointer-events:none;place-items:center;transition:opacity .15s;display:grid;position:fixed;inset:0}#menu.popped .popup{opacity:1;pointer-events:auto;transition:opacity .2s .15s}#menu .popup .card{text-align:center;box-sizing:border-box;background:#0a0a0eeb;border:2px solid #0f1016;border-radius:20px;justify-items:center;gap:10px;width:min(420px,90vw);max-height:calc(100vh - 8px);padding:22px 28px 20px;display:grid;overflow:auto}#menu .popup img{aspect-ratio:1;object-fit:cover;border-radius:16px;width:min(300px,60vw)}#menu .popup h3{font:700 22px/1.2 var(--font-header,var(--font-normal));color:#f2c14e;margin:0}#menu .popup .need{color:#b9b6ac;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:14px}#reveal{pointer-events:none;z-index:9;opacity:0;justify-items:center;gap:12px;transition:opacity .5s,transform .5s;display:grid;position:fixed;top:9vh;left:50%;transform:translate(-50%,12px)scale(.96)}#reveal.show{opacity:1;transform:translate(-50%)scale(1)}#reveal .frame{aspect-ratio:1;width:min(280px,36vh);position:relative}#reveal img{object-fit:cover;border-radius:18px;width:100%;height:100%}#reveal .glitter{pointer-events:none;position:absolute;inset:-14%}#reveal .glitter i{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;width:10px;height:10px;transform:scale(var(--s,1));background:#fff3c4;margin:-5px;animation:1.6s ease-in-out infinite glitter;position:absolute}@keyframes glitter{0%,to{opacity:0;transform:scale(.2)rotate(0)}50%{opacity:1;transform:scale(var(--s,1)) rotate(90deg)}}#reveal p{color:#f4f1e6;font:700 22px/1.2 var(--font-header,var(--font-normal));text-shadow:0 2px 10px #000000b3,-1.5px -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 1.5px #0f1016,1.5px 1.5px #0f1016;margin:0}#pause{z-index:8;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#f4f1e6;background:#06060a73;place-content:center;display:grid;position:fixed;inset:0}#pause[hidden]{display:none}#pause h1{font:700 clamp(26px, 4vw, 40px)/1 var(--font-header,var(--font-normal));letter-spacing:.12em;color:#f2c14e;text-shadow:0 4px 18px #0009,-2px -2px #0f1016,2px -2px #0f1016,-2px 2px #0f1016,2px 2px #0f1016;margin:0}#pause p{color:#d9d6cc;font:500 16px/1.4 var(--font-normal);margin:14px 0 0}#pause .main{transition:opacity .2s .15s}#pause.warned .main{opacity:0;pointer-events:none;transition:opacity .15s}#pause .popup{opacity:0;pointer-events:none;place-items:center;transition:opacity .15s;display:grid;position:fixed;inset:0}#pause.warned .popup{opacity:1;pointer-events:auto;transition:opacity .2s .15s}#pause .popup .card{text-align:center;background:#0a0a0eeb;border:2px solid #0f1016;border-radius:20px;justify-items:center;gap:10px;width:min(440px,90vw);padding:22px 28px 20px;display:grid}#pause .popup h2{font:700 24px/1.2 var(--font-header,var(--font-normal));color:#f2c14e;text-shadow:-2px -2px #0f1016,2px -2px #0f1016,-2px 2px #0f1016,2px 2px #0f1016;margin:0}#pause .popup p{margin:0}#pause .popup p.button{color:#f4f1e6;margin-top:8px;font-weight:700}.paint-word{filter:brightness(1.15);text-shadow:0 1px 2px #0009;font-weight:700}.pad-a{color:#4ddc6a}.pad-b{color:#e8453c}.pad-x{color:#3d8ef0}.pad-y{color:#f2c14e}#note{pointer-events:none;text-align:center;color:#f4f1e6;font:500 15px/1.4 var(--font-normal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#0a0a0e99;border-radius:12px;padding:6px 16px;transition:opacity .5s,transform .5s;position:fixed;bottom:3vh;left:50%;transform:translate(-50%,6px)}#note.show{opacity:1;transform:translate(-50%)}.corner{pointer-events:none;color:#f4f1e6;font:600 16px/1.3 var(--font-normal);text-shadow:0 2px 8px #000000b3,-1px -1px #0f1016,1px -1px #0f1016,-1px 1px #0f1016,1px 1px #0f1016;position:fixed;top:14px}.corner[hidden]{display:none}#corner-left{left:18px}#corner-right{right:18px}body.mini .corner{display:none}#quests{z-index:8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;pointer-events:none;background:#06060a99;place-items:center;transition:opacity .2s;display:grid;position:fixed;inset:0}#quests.show{opacity:1;pointer-events:auto}#quests .card{color:#f4f1e6;width:min(560px,90vw);font:500 17px/1.5 var(--font-normal);background:#0a0a0ed9;border:2px solid #0f1016;border-radius:18px;padding:24px 30px 18px}#quests h2{font:700 26px/1.15 var(--font-header,var(--font-normal));color:#ffd84d;text-shadow:-1.5px -1.5px #0f1016,1.5px -1.5px #0f1016,-1.5px 1.5px #0f1016,1.5px 1.5px #0f1016;margin:0 0 14px}#quests h3{font:700 20px/1.3 var(--font-normal);color:#f4f1e6;margin:0 0 8px}#quests p{color:#d9d6cc;margin:0 0 6px}#quests .hint{text-align:center;color:#b9b6ac;margin-top:16px;font-size:14px}#boss{pointer-events:none;text-align:center;width:min(560px,70vw);position:fixed;top:14px;left:50%;transform:translate(-50%)}#boss[hidden]{display:none}body.boss #banner.top{top:74px}body.boss #banner.top.big{font-size:24px}#boss .name{font:700 22px/1.2 var(--font-header);letter-spacing:.1em;text-transform:uppercase;color:#f4f1e6;-webkit-text-stroke:5px #0f1016;paint-order:stroke fill;margin-bottom:6px}#boss .bar{background:#b3121c;border:3px solid #0f1016;border-radius:999px;height:18px;overflow:hidden;box-shadow:0 0 14px #b3121c8c}#boss .fill{background:linear-gradient(90deg,#3f9fe8,#7cc4ff);width:0;height:100%;transition:width .25s ease-out}#endcard{pointer-events:none;background:#fbf0d28c;justify-content:center;align-items:center;animation:1.2s ease-out endcard-in;display:flex;position:fixed;inset:0}#endcard[hidden]{display:none}#endcard .card{text-align:center;color:#f4f1e6}#endcard .thanks{font:700 clamp(26px, 3.6vw, 42px)/1.2 var(--font-normal);color:#fff;-webkit-text-stroke:6px #0f1016;paint-order:stroke fill}#endcard .game{font:700 clamp(34px, 5.8vw, 70px)/1.1 var(--font-header);color:#f2c14e;-webkit-text-stroke:8px #0f1016;paint-order:stroke fill;margin-top:14px}#endcard .gift{font:700 clamp(28px, 3.8vw, 46px)/1.3 var(--font-header);color:#ffd25e;-webkit-text-stroke:6px #0f1016;paint-order:stroke fill;margin-top:8px}#endcard .hint{font:600 17px/1.4 var(--font-normal);-webkit-text-stroke:4px #0f1016;paint-order:stroke fill;min-height:24px;margin-top:34px}@keyframes endcard-in{0%{opacity:0}to{opacity:1}}#result.big .card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0}#result .big{font:700 clamp(42px, 6.75vw, 84px)/1 var(--font-header);color:#e8202c;letter-spacing:.04em;-webkit-text-stroke:10px #0f1016;paint-order:stroke fill;margin:4px 0 6px;animation:.35s ease-out result-in}#result .big.win{color:#f2c14e}#start{z-index:9;text-align:center;color:#f4f1e6;padding-top:calc(2 * var(--tall-shift));box-sizing:border-box;background:#0b0c12;place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0}#start .bg{opacity:0;pointer-events:none;background:radial-gradient(at 50% 40%,#fbf0d2,#f2d68c 70%,#d6aa5a);transition:opacity 1s;position:absolute;inset:0}#start.st-bg .bg{opacity:1}#start .wait{font:600 18px/1 var(--font-normal);letter-spacing:.12em;color:#d9d6cc;opacity:0;pointer-events:none;margin:0;transition:opacity .4s;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}#start.st-wait .wait{opacity:1;animation:1.4s ease-in-out infinite alternate start-wait}@keyframes start-wait{0%{opacity:.35}to{opacity:1}}#start .titlewrap{position:relative}#start .title{opacity:0;justify-items:center;transition:opacity .6s;display:grid;position:relative}#start.st-bg .title{opacity:1}#start .burn{pointer-events:none;transition:opacity .6s;position:absolute}#start.st-bg .burn{opacity:0}#start .icon{opacity:0;transition:opacity 1s}#start.st-bg .icon{opacity:1}#start .main .buttons,#start .main .hint{opacity:0;pointer-events:none;transition:opacity .5s,transform .5s;transform:translateY(10px)}#start.st-ui .main .buttons,#start.st-ui .main .hint{opacity:1;pointer-events:auto;transform:none}#start.st-ui .main .hint{transition-delay:.2s}#start.gone{opacity:0;pointer-events:none}#start.gone.instant{transition:none;display:none}#start .main,#start .popup{z-index:1;grid-area:1/1;position:relative}#start .icon{left:50%;top:calc(25% + var(--tall-shift));pointer-events:none;z-index:0;width:auto;height:min(48vh,70vw);position:absolute;transform:translate(-50%,-50%)}#start.st-bg.confirm .icon{opacity:.25;transition:opacity .2s}#start .main{justify-items:center;margin-top:16vh;transition:opacity .2s .15s;display:grid}#start.confirm .main{opacity:0;pointer-events:none;transition:opacity .15s}#start h1{font:700 clamp(45px, 8vw, 102px)/1 var(--font-header);color:#f2c14e;-webkit-text-stroke:8px #0f1016;paint-order:stroke fill;letter-spacing:.02em;margin:3vh 0 0}#start .sub{font:700 clamp(24px, 3.4vw, 40px)/1.2 var(--font-header);color:#fff;-webkit-text-stroke:6px #0f1016;paint-order:stroke fill;margin:6px 0 0}#start .buttons{flex-direction:column;align-items:center;gap:22px;margin-top:6vh;display:flex}#start button{cursor:pointer;min-width:208px;font:700 clamp(16px, 1.76vw, 22px)/1 var(--font-header);letter-spacing:.08em;color:#f4f1e6;-webkit-text-stroke:4px #0f1016;paint-order:stroke fill;background:#86a6d4;border:3px solid #0f1016;border-radius:13px;padding:10px 22px;transition:transform .1s,background .12s,color .12s;box-shadow:0 4px #0f1016}#start button.on{-webkit-text-stroke:4px transparent;paint-order:stroke fill;background:#f2c14e;animation:1s ease-in-out infinite alternate start-pick;transform:scale(1.06)}@keyframes start-pick{0%{color:#0f1016;-webkit-text-stroke-color:#0f101600;border-color:#0f1016;box-shadow:0 4px #0f1016}to{color:#fff;-webkit-text-stroke-color:#0f1016;border-color:#fff;box-shadow:0 4px #fff}}#start button.off{opacity:.4;cursor:default}#start .hint{font:600 16px/1.4 var(--font-normal);color:#f4f1e6;-webkit-text-stroke:4px #0f1016;paint-order:stroke fill;margin:5vh 0 0}#start .popup{opacity:0;pointer-events:none;transition:opacity .15s}#start.confirm .popup{opacity:1;pointer-events:auto;transition:opacity .2s .15s}#start .card{background:#0a0a0eeb;border:2px solid #0f1016;border-radius:20px;justify-items:center;gap:10px;width:min(460px,90vw);padding:26px 32px 24px;display:grid}#start .card h2{font:700 26px/1.2 var(--font-header);color:#f2c14e;margin:0}#start .card p{font:500 16px/1.4 var(--font-normal);color:#d9d6cc;margin:0}#start .card .buttons{margin-top:12px}#start .card button{min-width:176px;font-size:16px}#howto{z-index:41;box-sizing:border-box;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#f4f1e6;background:#06060a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#howto[hidden]{display:none}#howto:not([hidden]){animation:.3s ease-out controls-in}#howto .card{box-sizing:border-box;background:#0e0e14f0;border:3px solid #0f1016;border-radius:22px;justify-items:center;gap:12px;width:min(720px,94vw);max-height:96vh;padding:22px 26px 18px;display:grid;overflow:auto;box-shadow:0 10px 40px #00000080}#howto h2{font:700 clamp(24px, 3vw, 34px)/1 var(--font-header);color:#ffd84d;-webkit-text-stroke:5px #0f1016;paint-order:stroke fill;margin:0}#howto .clip{aspect-ratio:960/412;border:3px solid var(--page,#3d8ef0);background:#22232c;border-radius:14px;width:100%;max-height:40vh;position:relative;overflow:hidden}#howto video{object-fit:cover;width:100%;height:100%;display:block}#howto .missing{font:600 16px/1 var(--font-normal);color:#8d8f9a;letter-spacing:.08em;place-items:center;margin:0;display:none;position:absolute;inset:0}#howto.no-clip .missing{display:grid}#howto.no-clip video{visibility:hidden}#howto .words{text-align:center;width:100%;min-height:86px}#howto h3{font:700 clamp(19px, 2vw, 24px)/1.2 var(--font-header);color:var(--page,#ffd84d);-webkit-text-stroke:4px #0f1016;paint-order:stroke fill;margin:4px 0 6px}#howto .line{font:600 clamp(14px, 1.4vw, 17px)/1.4 var(--font-normal);color:#e6e3d8;margin:0}#howto .card.turn .clip,#howto .card.turn .words{animation:.35s ease-out howto-turn}@keyframes howto-turn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}#howto .dots{gap:8px;display:flex}#howto .dots i{background:#4a4c58;border:2px solid #0f1016;border-radius:50%;width:9px;height:9px}#howto .dots i.on{background:var(--page,#ffd84d);transform:scale(1.25)}#howto .buttons{gap:14px;margin-top:4px;display:flex}#howto button{cursor:pointer;min-width:120px;font:700 18px/1 var(--font-header);letter-spacing:.06em;color:#f4f1e6;-webkit-text-stroke:4px #0f1016;paint-order:stroke fill;background:#86a6d4;border:3px solid #0f1016;border-radius:12px;padding:9px 18px;transition:transform .1s;box-shadow:0 4px #0f1016}#howto button.on{-webkit-text-stroke:4px transparent;background:#f2c14e;animation:1s ease-in-out infinite alternate start-pick;transform:scale(1.06)}#howto button.off{opacity:.35;cursor:default}#howto .foot{margin-top:2px}#howto .foot [data-i]{cursor:pointer}#howto .toggle{line-height:1;font:600 15px/1 var(--font-normal);align-items:center;gap:10px;margin:0;display:inline-flex}#howto .toggle .box{box-sizing:border-box;background:#ffffff14;border:2px solid #f4f1e6;border-radius:7px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;box-shadow:0 0 0 2px #0f1016}#howto .toggle .box svg{width:16px;height:16px;display:block}#howto .toggle.on .box{background:#f2c14e;border-color:#f2c14e}#saved{pointer-events:none;z-index:7;opacity:0;transform-origin:100%;font:700 16px/1 var(--font-normal);letter-spacing:.06em;color:#ffd84d;-webkit-text-stroke:3px #0f1016;paint-order:stroke fill;position:fixed;top:44px;right:18px}#saved.show{animation:2s ease-in-out forwards saved-pulse}@keyframes saved-pulse{0%{opacity:0;transform:scale(.9)}12%{opacity:1;transform:scale(1.08)}30%{transform:scale(1)}48%{transform:scale(1.08)}66%{transform:scale(1)}85%{opacity:1}to{opacity:0;transform:scale(1)}}body.mini #saved{display:none}#cinema{pointer-events:none;z-index:8;position:fixed;inset:0}#cinema .bar{background:#000;height:11vh;transition:transform .8s;position:absolute;left:0;right:0}#cinema .bar.top{top:0;transform:translateY(-100%)}#cinema .bar.bottom{place-items:center;display:grid;bottom:0;transform:translateY(100%)}#cinema.on .bar{transform:none}#cinema .white{opacity:0;background:#fff;transition:opacity .8s;position:absolute;inset:0}#cinema .white.on{opacity:1}#cinema .caption{text-align:center;max-width:900px;font:600 clamp(16px, 1.7vw, 22px)/1.35 var(--font-normal);color:#f4f1e6;opacity:0;margin:0 16px;transform:translateY(6px)}#cinema .caption.shown{animation:.7s forwards cinema-line}@keyframes cinema-line{to{opacity:1;transform:none}}#cinema .skip{font:600 15px/1 var(--font-normal);color:#f4f1e6;opacity:0;text-shadow:-1px -1px #0f1016,1px -1px #0f1016,-1px 1px #0f1016,1px 1px #0f1016;margin:0;transition:opacity .5s 1s;position:absolute;top:calc(11vh + 12px);right:18px}#cinema.on .skip{opacity:.85}#blocked{z-index:50;box-sizing:border-box;color:#2b2a33;text-align:center;font:500 17px/1.5 var(--font-normal);background:radial-gradient(at 50% 35%,#fbf0d2,#f2d68c 70%,#d6aa5a);place-items:center;padding:24px 18px;display:grid;position:fixed;inset:0;overflow:auto}#blocked .card{justify-items:center;gap:10px;max-width:460px;display:grid}#blocked .icon{width:min(240px,60vw);height:auto;margin-bottom:-14px}#blocked h1{font:700 clamp(40px, 12vw, 64px)/1 var(--font-header);color:#f2c14e;-webkit-text-stroke:6px #0f1016;paint-order:stroke fill;letter-spacing:.02em;margin:0}#blocked .sub{font:700 clamp(20px, 6vw, 28px)/1.2 var(--font-header);color:#fff;-webkit-text-stroke:5px #0f1016;paint-order:stroke fill;margin:0 0 10px}#blocked h2{font:700 22px/1.25 var(--font-header);color:#2f6fd6;margin:6px 0 0}#blocked p{margin:0}#blocked .tip{color:#5a5446;margin-top:12px;font-size:15px}
