:root{color-scheme:dark;--ink:#070b0b;--slab:#101a19;--light:#8fe3d4;--primary:#f5c21b;--secondary:#d9a441;--accent:#f26a1b;--bone:#f2eee2;--danger:#e23a2e;--display:"Arial Black",Impact,sans-serif;--util:"Arial Narrow",Arial,sans-serif}html,body{height:100%}body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--util);overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}#app{height:100%;display:flex;flex-direction:column;background:var(--ink)}#play{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:#0a1211;touch-action:none}#c{position:absolute;inset:0;width:100%;height:100%;display:block}.btn{font-family:var(--display);letter-spacing:.04em;border:0;border-radius:0;cursor:pointer;color:var(--ink);background:var(--bone);box-shadow:5px 5px #000;outline:2px solid #000;touch-action:none;line-height:1;transition:transform .05s,box-shadow .05s}.btn:active,.btn.down{transform:translate(4px,4px);box-shadow:1px 1px #000}.btn:focus-visible{outline:3px solid var(--light)}.btn small{font-family:var(--util);font-weight:600;font-size:11px;letter-spacing:.14em;opacity:.7}.b-L{background:var(--primary)}.b-H{background:var(--accent)}.b-dir{background:var(--slab);color:var(--bone);outline-color:var(--bone)}.b-S{background:var(--slab);color:var(--bone);outline-color:var(--secondary)}.b-S.ready{background:var(--light);color:#000;animation:pulse .5s steps(2) infinite}.b-S.cool{opacity:.45}@keyframes pulse{50%{filter:brightness(1.35)}}#deck{flex:1 1 auto;min-height:0;display:none;flex-direction:column;gap:10px;touch-action:none;border-top:3px solid var(--primary);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--primary) 7%,transparent) 0 14px,transparent 14px 28px),var(--slab);padding-block:12px max(14px,env(safe-area-inset-bottom,0px));padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}.portrait.ingame #deck{display:flex}.dk-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.dk-logo{font-family:var(--display);color:var(--primary);font-size:18px;letter-spacing:.03em;transform:skew(-6deg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dk-opts{display:flex;gap:6px;flex:none}.dk-pad{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr 1fr 12px 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;align-items:stretch;max-height:300px;align-self:stretch;margin-top:auto}.dk-pad .btn{min-width:0;min-height:60px;font-size:clamp(11px,3.5vw,20px);letter-spacing:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.dk-pad [data-btn=l]{grid-area:1/1/3/2}.dk-pad [data-btn=r]{grid-area:1/2/3/3}.dk-pad [data-btn=u]{grid-area:1/4}.dk-pad [data-btn=S]{grid-area:1/5}.dk-pad [data-btn=L]{grid-area:2/4}.dk-pad [data-btn=H]{grid-area:2/5}.b-dir{font-size:clamp(26px,8vw,40px)!important}.pad{position:absolute;bottom:max(14px,env(safe-area-inset-bottom,0px));display:none;gap:10px;z-index:3}.pad.l{left:max(14px,env(safe-area-inset-left,0px));align-items:flex-end}.pad.r{right:max(14px,env(safe-area-inset-right,0px));display:none;grid-template-columns:auto auto;grid-auto-rows:auto}.touch.land.playing .pad.l{display:flex}.touch.land.playing .pad.r{display:grid}.pad .btn{width:92px;height:74px;font-size:16px;opacity:.88;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.pad .b-dir{width:84px;height:84px}#pause{position:absolute;top:max(10px,env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:3;display:none;font-family:var(--util);font-weight:700;font-size:13px;letter-spacing:.2em;color:var(--bone);background:#0000008c;border:1px solid color-mix(in srgb,var(--bone) 35%,transparent);padding:7px 12px;cursor:pointer;text-transform:uppercase}.playing #pause{display:block}.portrait #pause{display:none}.vs #pause{top:auto;bottom:max(8px,env(safe-area-inset-bottom,0px))}.txt{background:none;border:0;color:var(--bone);font-family:var(--util);font-weight:700;letter-spacing:.2em;font-size:13px;cursor:pointer;text-transform:uppercase;padding:6px}.txt:focus-visible,a:focus-visible{outline:2px solid var(--light);outline-offset:3px}.scr{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-block:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.scr.full{position:fixed;z-index:20;background:color-mix(in srgb,var(--ink) 93%,transparent);gap:14px;overflow-y:auto;justify-content:safe center;padding-block:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-bottom,0px))}h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,min(9vw,7vh),64px);line-height:1;color:var(--primary);text-shadow:.05em .05em 0 #000;transform:skew(-6deg);text-wrap:balance;margin:0}.sub{font-family:var(--display);letter-spacing:.3em;color:var(--light);font-size:13px;min-height:1em}#loader{background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--accent) 12%,#050505) 0,#050505 62%);gap:18px}#loader .lit{position:relative;height:min(38vh,300px);aspect-ratio:429/520}#loader img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%}#loader .flame{position:absolute;width:20%;aspect-ratio:1/2.3;background:radial-gradient(ellipse at 50% 85%,#fff7c9 0,#ffc93c,#f26a1b 60%,#e23a2e00 78%);border-radius:50%/70% 70% 30% 30%;filter:blur(1px);transform-origin:50% 100%;animation:flick .12s steps(3) infinite alternate;opacity:0;transition:opacity .15s}#loader.ready .flame{opacity:1}#ecl{width:min(64vmin,360px);aspect-ratio:1;image-rendering:pixelated;image-rendering:crisp-edges}#loader.ecl{background:#040404}#loader.ecl p{font-family:var(--display);letter-spacing:.34em;font-size:12px}#loader .word{font-family:var(--display);font-size:clamp(34px,10vw,84px);color:var(--primary);transform:skew(-6deg);text-shadow:.05em .05em 0 #000}@keyframes flick{0%{transform:scaleY(.94) skew(-3deg)}to{transform:scale(.94,1.05) skew(4deg)}}#loader p{font-weight:700;letter-spacing:.3em;font-size:14px;color:var(--secondary);font-variant-numeric:tabular-nums;margin:0}#loader.wait{cursor:pointer}#loader.wait p{color:var(--light);letter-spacing:.42em;animation:blink 1s steps(2) infinite}#loader.lit{animation:lit .5s .25s both}#loader.ecl.lit{animation:fadeout .3s .42s both}@keyframes fadeout{to{opacity:0}}@keyframes lit{to{background:#fff}}@keyframes blink{50%{opacity:.15}}#title{justify-content:space-between;background:var(--ink);overflow:hidden}#title .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;max-width:none;z-index:0}#title:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 82%,transparent) 0,color-mix(in srgb,var(--ink) 10%,transparent) 30%,transparent 52%,color-mix(in srgb,var(--ink) 95%,transparent) 88%)}#title>*,#title .cta,#title .arc-side{position:relative;z-index:2}.bars{position:absolute!important;inset:0;z-index:3!important;pointer-events:none}.bars:before,.bars:after{content:"";position:absolute;left:0;right:0;height:5.5%;background:#000}.bars:before{top:0}.bars:after{bottom:0}.tflash{position:absolute!important;inset:0;z-index:4!important;background:#fff;opacity:0;pointer-events:none}#title.go .tflash{animation:tfl 1.5s linear both}@keyframes tfl{0%{opacity:1}22%{opacity:0}72%{opacity:0}75%{opacity:.85}to{opacity:0}}#title.go .art{animation:push 7s ease-out both}@keyframes push{0%{transform:scale(1.12)}to{transform:scale(1)}}.logo{margin-top:max(7.5%,min(6vh,44px));width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.logo h1{margin:0;width:min(92%,640px);line-height:.95;font-family:var(--display);font-weight:400;font-size:clamp(34px,min(11.6vw,13vh),132px);color:var(--primary);text-shadow:.045em .045em 0 #000;transform:skew(-6deg)}.logo h1 img{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));transform:skew(6deg)}#title.go .logo h1{animation:slam .42s 1.12s cubic-bezier(.2,1.5,.4,1) both}@keyframes slam{0%{opacity:0;transform:scale(3.4) rotate(-5deg)}55%{opacity:1}to{opacity:1}}.logo .by{font-family:var(--display);font-size:clamp(11px,min(3.6vw,2.4vh),21px);white-space:nowrap;letter-spacing:.08em;color:var(--bone);text-shadow:2px 2px 0 #000}.logo .pre{font-weight:700;letter-spacing:.34em;font-size:clamp(10px,1.8vh,14px);color:var(--light);text-shadow:1px 1px 0 #000}#title.go .logo .by,#title.go .logo .pre{animation:rise .4s 1.6s both}.cta{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:max(7%,min(5vh,40px))}#title.go .cta{animation:rise .45s 1.9s both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.menu{display:flex;flex-direction:column;align-items:center;gap:2px}.mi{font-family:var(--display);font-size:clamp(19px,3.4vh,30px);letter-spacing:.05em;color:var(--bone);background:none;border:0;cursor:pointer;padding:.2em .9em;position:relative;text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;transform:skew(-6deg)}.mi.small{font-size:clamp(14px,2.4vh,20px);opacity:.9}.mi.sel,.mi:hover,.mi:focus-visible{color:var(--primary);outline:none}.mi.sel:before,.mi:hover:before,.mi:focus-visible:before{content:"\25b6";position:absolute;left:-.25em;top:50%;transform:translateY(-50%) scale(.6)}.press{font-weight:700;letter-spacing:.42em;font-size:clamp(11px,1.9vh,14px);color:var(--light);animation:blink 1s steps(2) infinite;margin-top:6px;text-shadow:1px 1px 0 #000}.cta a{font-weight:700;letter-spacing:.3em;font-size:11px;color:var(--bone);text-decoration:none;opacity:.8;padding:4px 0}.mid{display:contents}.stars{position:absolute!important;inset:0;width:100%;height:100%;z-index:0!important;image-rendering:pixelated;image-rendering:crisp-edges;max-width:none}#title.arcade{justify-content:space-between;align-items:center;gap:0;padding-inline:max(16px,3vw,env(safe-area-inset-left,0px)) max(16px,3vw,env(safe-area-inset-right,0px));background:color-mix(in srgb,var(--slab) 55%,var(--ink));padding-block:max(14px,3.2vh,env(safe-area-inset-top,0px)) max(14px,3.2vh,env(safe-area-inset-bottom,0px));animation:arcin .28s steps(4) both}@keyframes arcin{0%{opacity:0}to{opacity:1}}#title.arcade:after,#title.arcade .bars,#title.arcade .tflash,#title.arcade .art{display:none}.arc-top,.arc-bot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;width:min(100%,1180px);font-family:var(--display);font-size:clamp(9px,2.2vmin,17px);letter-spacing:.1em;color:var(--bone);white-space:nowrap}.arc-top b{font-weight:400;margin-right:.7em}.arc-top span{color:var(--primary)}.arc-top div:nth-child(2) span{color:var(--accent)}.arc-top div{flex:1 1 0;text-align:center}.arc-top div:first-child{text-align:left}.arc-top div:last-child{text-align:right}.arc-bot a{color:var(--light);text-decoration:none}.arc-bot span{color:var(--light)}#title.arcade .logo{margin:0;width:100%;align-items:center;gap:min(1.6vh,12px)}#title.arcade .logo h1{width:min(94%,128vh,980px);transform:none;text-shadow:none;animation:arcdrop .5s steps(6) both;order:1}@keyframes arcdrop{0%{transform:translateY(-40vh)}to{transform:none}}#title.arcade .logo h1 canvas{width:100%;height:auto;display:block;image-rendering:pixelated;image-rendering:crisp-edges}#title.arcade .logo .jp{order:2;font-family:var(--display);font-size:clamp(12px,2.6vmin,22px);letter-spacing:.5em;margin-right:-.5em;color:var(--bone)}#title.arcade .logo .pre{order:3;font-family:var(--display);font-weight:400;font-size:clamp(11px,2.6vmin,21px);letter-spacing:.14em;color:var(--bone);text-shadow:none;animation:none;margin-top:min(1.4vh,10px);text-wrap:balance}#title.arcade .logo .by{order:4;animation:none}#title.arcade .mid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(10px,4vw,56px);width:min(100%,1040px)}#title.arcade .cta{margin:0;align-items:center;animation:none;gap:8px}#title.arcade .menu{align-items:center}#title.arcade .mi{transform:none;text-shadow:none;letter-spacing:.1em}#title.arcade .mi.sel,#title.arcade .mi:hover{color:var(--accent)}#title.arcade .press{font-family:var(--display);color:var(--primary);letter-spacing:.3em;margin-right:-.3em;text-shadow:none}.arc-side{display:flex;flex-direction:column;gap:.5em;font-family:var(--display);font-size:clamp(10px,2.3vmin,19px);letter-spacing:.12em;text-align:center}.arc-side b{font-weight:400;color:var(--bone)}.arc-side span{color:var(--primary)}#arcr span{color:var(--light)}#title.arcade .logo h1 canvas.tall{display:none}@media (max-aspect-ratio:1/1){#title.arcade .logo h1 canvas.wide{display:none}#title.arcade .logo h1 canvas.tall{display:block}#title.arcade .mid{grid-template-columns:1fr 1fr;row-gap:clamp(14px,3vh,30px)}#title.arcade .cta{grid-column:1/-1;grid-row:1}.arc-top{flex-wrap:wrap;justify-content:center;row-gap:6px}.arc-top div{flex:0 1 auto}}@media (min-aspect-ratio:1/1){#title{align-items:flex-start;justify-content:center;gap:min(5vh,40px);padding-left:max(5vw,env(safe-area-inset-left,0px))}#title.hasart .art{left:auto;right:0;width:auto;height:100%;aspect-ratio:3/4;object-position:50% 50%;transform-origin:70% 60%}#title.hasart:after{background:linear-gradient(90deg,var(--ink) 0,var(--ink) calc(100% - 75vh),color-mix(in srgb,var(--ink) 25%,transparent) calc(100% - 50vh),transparent 100%)}#title .logo{margin-top:0;align-items:flex-start;width:min(52vw,calc(100% - 62vh))}#title .logo h1{width:100%;transform-origin:20% 50%}#title .cta{align-items:flex-start;margin-bottom:0}#title .menu{align-items:flex-start}}.rows{display:grid;gap:14px;width:100%;max-width:560px;text-align:left}.row label,.rowl{display:block;font-weight:700;letter-spacing:.24em;font-size:12px;color:var(--light);text-transform:uppercase;margin-bottom:6px}.seg{display:flex;flex-wrap:wrap;gap:8px}.seg button{flex:1 1 0;min-width:88px;font-family:var(--display);font-size:clamp(13px,2.2vh,17px);padding:.7em .5em;background:var(--slab);color:var(--bone);border:0;outline:2px solid color-mix(in srgb,var(--bone) 30%,transparent);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}.seg button img{width:64px;height:64px;object-fit:cover;background:#1c2625}.seg button.on{background:var(--primary);color:#000;outline-color:#000;box-shadow:4px 4px #000}.seg button:focus-visible{outline:3px solid var(--light)}.acts{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:6px}.acts .btn{font-size:clamp(16px,2.6vh,21px);padding:.6em 1.2em;min-width:8em}.acts .btn.pri{background:var(--primary)}.moves{display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);gap:12px 18px;max-width:780px;width:100%;text-align:left;align-items:center}.moves h3{grid-column:1/-1;margin:10px 0 0;font-family:var(--display);font-weight:400;font-size:17px;color:var(--bone);letter-spacing:.06em}.moves .cmd{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.key{font-family:var(--display);font-size:12px;letter-spacing:.04em;background:var(--bone);color:#000;padding:.42em .6em;box-shadow:3px 3px #000;outline:2px solid #000;white-space:nowrap}.key.L{background:var(--primary)}.key.H{background:var(--accent)}.key.S{background:var(--slab);color:var(--bone);outline-color:var(--secondary)}.key.dir{background:var(--slab);color:var(--bone)}.moves p{margin:0;font-size:clamp(15px,2.2vh,18px);font-weight:500;line-height:1.3;letter-spacing:.02em}.moves p b{color:var(--primary);font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:block}@media (max-width:620px){.moves{grid-template-columns:minmax(0,1fr);gap:6px;max-width:420px}.moves .cmd{justify-content:flex-start;margin-top:10px}}#tale{justify-content:flex-end;background:linear-gradient(180deg,transparent 30%,color-mix(in srgb,var(--ink) 96%,transparent) 62%);cursor:pointer}#tale .box{width:100%;max-width:760px;display:flex;gap:16px;align-items:flex-end;text-align:left;margin-bottom:min(6vh,40px)}#tale img{width:min(34vw,220px);height:auto;flex:none;filter:drop-shadow(6px 6px 0 #000)}#tale .who{font-family:var(--display);color:var(--primary);font-size:clamp(16px,2.6vh,22px);letter-spacing:.06em;transform:skew(-6deg);margin-bottom:6px}#tale p{margin:0;font-size:clamp(18px,3vh,26px);font-weight:600;line-height:1.3;letter-spacing:.02em;text-wrap:pretty;min-height:3.9em}#tale .nav{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.lost h2{color:var(--danger)}#endsign{width:100%;max-width:460px}.endmore{display:flex;gap:18px;justify-content:center}.signup{display:flex;flex-direction:column;gap:10px;align-items:stretch;text-align:left;padding:16px;background:color-mix(in srgb,var(--slab) 80%,transparent);outline:2px solid color-mix(in srgb,var(--bone) 28%,transparent)}.signup h3{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(17px,2.6vh,22px);letter-spacing:.06em;color:var(--primary)}.signtext{margin:0;font-size:15px;line-height:1.35;opacity:.85}.signrow{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width:520px){.signrow:has(input+input){grid-template-columns:1.25fr 1fr}}.signup input[type=email],.signup input[type=tel]{box-sizing:border-box;min-width:0;width:100%;font:600 16px var(--util);letter-spacing:.02em;color:var(--bone);background:var(--ink);border:2px solid color-mix(in srgb,var(--bone) 45%,transparent);border-radius:0;padding:12px;min-height:46px}.signup input::placeholder{color:color-mix(in srgb,var(--bone) 55%,transparent)}.signup input:focus-visible{outline:3px solid var(--light);outline-offset:0;border-color:var(--light)}.signagree{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.35;opacity:.9;cursor:pointer;padding:4px 0}.signagree input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--primary)}.signup .btn{align-self:flex-start;font-size:clamp(15px,2.3vh,19px);padding:.6em 1.3em;background:var(--bone)}.signup .btn[disabled]{opacity:.6}.signnote{margin:0;min-height:1.3em;font-size:13px;font-weight:600;letter-spacing:.04em}.signnote.bad{color:var(--danger)}.signfine{margin:0;font-size:12px;line-height:1.35;opacity:.7}.signrow .btn{align-self:stretch;white-space:nowrap}@media (min-width:520px){.signrow:has(input+.btn){grid-template-columns:1fr auto}}.gate{width:100%;max-width:460px}.gate .signup .btn{align-self:stretch;font-size:clamp(17px,2.8vh,22px)}.signup .btn.pri{background:var(--primary)}.signdone{margin:0;font-family:var(--display);font-size:clamp(16px,2.4vh,20px);letter-spacing:.06em;color:var(--primary);text-align:center}.trap{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}.btn.off{opacity:.4;cursor:default;box-shadow:none}a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}#end.final{gap:12px}#end.final .stats{margin:2px 0 4px}.stats{display:grid;grid-template-columns:auto auto;gap:6px 22px;font-size:clamp(17px,2.8vh,22px);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums;margin:6px 0 10px}.stats dt{text-align:right;opacity:.7}.stats dd{text-align:left;margin:0;color:var(--bone)}.stats dd.big{color:var(--primary);font-family:var(--display);font-size:1.25em}#problems{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#3a0d0a;color:#ffe9e6;font:13px/1.45 ui-monospace,Menlo,monospace;padding:10px 14px;max-height:40%;overflow:auto;border-top:3px solid var(--danger);text-align:left;user-select:text}#problems b{display:block;margin-bottom:4px}@media (prefers-reduced-motion:reduce){.b-S.ready,#loader .flame,#title.go .logo h1,#title.go .logo .by,#title.go .logo .pre,#title.go .cta,#title.go .art,#title.go .tflash,.press,#loader.wait p{animation:none}}
