@font-face{font-family:"Press Start 2P";src:url(/assets/PressStart2P-_wFEWmAB.woff2)format("woff2");font-display:block}@property --ground{syntax:"<color>";inherits:true;initial-value:#0e1426}@property --pa{syntax:"<color>";inherits:true;initial-value:#3b6cf6}@property --pb{syntax:"<color>";inherits:true;initial-value:#f5a524}@property --pd{syntax:"<color>";inherits:true;initial-value:#2a4aa6}:root{--ink:#f7f4ea;--ink-dim:#b7bbcc;--well:#05060a;--win:#7be08f;--lose:#ff6b7a;--px:3px;--font:"Press Start 2P", ui-monospace, monospace;--t-xs:10px;--t-s:12px;--t-m:16px;--t-l:24px;--t-xl:32px;--ease:cubic-bezier(.16, 1, .3, 1);--tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' shape-rendering='crispEdges'%3E%3Crect width='15' height='15' fill='%23fff' fill-opacity='.03'/%3E%3Crect width='15' height='1' fill='%23fff' fill-opacity='.08'/%3E%3Crect width='1' height='15' fill='%23fff' fill-opacity='.08'/%3E%3Crect y='15' width='16' height='1' fill='%23000' fill-opacity='.5'/%3E%3Crect x='15' width='1' height='16' fill='%23000' fill-opacity='.5'/%3E%3C/svg%3E");--cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='7' viewBox='0 0 5 7' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h1v7H0zM1 1h1v5H1zM2 2h1v3H2zM3 3h1v1H3z'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transition:--ground .6s,--pa .6s,--pb .6s,--pd .6s}*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%;margin:0}#app{overflow-x:clip}body{min-height:100dvh;color:var(--ink);font:var(--t-s) / 1.7 var(--font);-webkit-font-smoothing:none;background:var(--tile) 0 0 / calc(var(--px) * 16) var(--ground);animation:40s linear infinite drift;overflow-x:hidden}body.in-game{animation:none}@keyframes drift{to{background-position:0 calc(var(--px) * 160)}}::selection{background:var(--pb);color:var(--well)}:focus-visible{outline:var(--px) solid var(--pb);outline-offset:var(--px)}[data-nav]:focus-visible{outline:none}*{scrollbar-color:var(--pa) var(--well);scrollbar-width:thin}h1,h2,h3,p{margin:0;font-weight:400}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.detail{color:var(--ink-dim);line-height:1.9}.muted{color:var(--ink-dim)}.hot{color:var(--pb)}.label{font-size:var(--t-xs);color:var(--ink-dim);letter-spacing:.04em}.px-icon{width:calc(var(--w,7) * var(--px));height:auto;display:block}.frame{border:calc(var(--px) * 3) solid transparent;border-image:var(--frame) 3 fill / calc(var(--px) * 3) stretch}kbd{min-width:calc(var(--px) * 9);height:calc(var(--px) * 9);padding:0 var(--px);margin-right:var(--px);font:var(--t-xs) var(--font);color:var(--well);background:var(--ink);border-bottom:var(--px) solid var(--ink-dim);place-items:center;display:inline-grid}kbd .px-icon{width:calc(var(--px) * 3)}.screen{flex-direction:column;justify-content:center;align-items:stretch;gap:24px;max-width:720px;min-height:100dvh;margin:0 auto;padding:88px 16px 40px;display:flex}.screen.wide{max-width:1000px}.screen.enter{animation:enter .24s var(--ease) both}.screen.enter-back{animation:enter-back .24s var(--ease) both}@keyframes enter{0%{opacity:0;transform:translate(40px)}}@keyframes enter-back{0%{opacity:0;transform:translate(-40px)}}.plate{font-size:var(--t-m);letter-spacing:.08em;border:calc(var(--px) * 3) solid transparent;border-image:var(--frame) 3 fill / calc(var(--px) * 3) stretch;align-self:center;padding:8px 20px}.card-body{flex-direction:column;gap:12px;padding:20px 24px;display:flex}.menu-chrome{pointer-events:none;z-index:5;justify-content:space-between;display:flex;position:fixed;inset:16px 16px auto}.menu-chrome>*{pointer-events:auto}.icon-btn{min-width:44px;height:44px;color:var(--ink);border:calc(var(--px) * 3) solid transparent;border-image:var(--frame) 3 fill / calc(var(--px) * 3) stretch;place-items:center;padding:0 10px;transition:color .12s;display:grid}.icon-btn:hover{color:var(--pb)}.icon-btn:active{transform:translateY(var(--px))}.icon-btn.text{font-size:var(--t-xs)}.options{flex-direction:column;gap:4px;display:flex}.option{padding:12px 12px 12px calc(var(--px) * 10);text-align:left;color:var(--ink);flex-direction:column;gap:8px;display:flex;position:relative}.option b{font-weight:400}.option.big b{font-size:var(--t-m);letter-spacing:.04em}.option small{font-size:var(--t-xs);color:var(--ink-dim);line-height:1.8}.option:before{content:"";left:calc(var(--px) * 2);width:calc(var(--px) * 5);height:calc(var(--px) * 7);background:var(--pb);-webkit-mask:var(--cursor) no-repeat center / contain;mask:var(--cursor) no-repeat center / contain;opacity:0;transition:transform .16s var(--ease), opacity .1s;position:absolute;top:13px;transform:translate(-8px)}.option.big:before{top:14px}.option.cur{color:var(--pb)}.option.cur:before{opacity:1;animation:.8s step-end .2s infinite nudge;transform:none}@keyframes nudge{50%{translate:var(--px) 0}}.option:active b{translate:var(--px) var(--px)}.choices{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:4px;display:flex}.option.primary{padding:10px 18px 10px calc(var(--px) * 10);border:calc(var(--px) * 3) solid transparent;border-image:var(--frame) 3 / calc(var(--px) * 3) stretch;background:var(--pd) padding-box;color:var(--ink);font-size:var(--t-m)}.bot-info .option.primary{font-size:var(--t-s)}.option.primary:before{background:var(--ink);top:11px}.option.primary.cur{color:var(--ink)}#title{text-align:center;align-items:center;gap:20px;max-width:920px}.logo-well{width:min(100%,864px)}#logo{margin:0 auto;display:block}.band{background:var(--pd);width:min(100%,520px);color:var(--ink);font-size:clamp(var(--t-l), 5vw, 40px);letter-spacing:.5em;text-indent:.5em;clip-path:inset(0 50%);transition:clip-path .5s var(--ease), background-color .6s;margin-top:-8px;padding:10px 0}.tagline{color:var(--ink-dim);opacity:0;line-height:2;transition:opacity .4s .25s}.press-start{font-size:var(--t-m);color:var(--pb);letter-spacing:.08em;visibility:hidden;margin-top:16px;padding:12px 16px}#title.ready .band{clip-path:inset(0)}#title.ready .tagline{opacity:1}#title.ready .press-start{visibility:visible;animation:1.06s step-end .6s infinite blink}@keyframes blink{50%{opacity:0}}.controls{font-size:var(--t-xs);color:var(--ink-dim);flex-wrap:wrap;justify-content:center;gap:12px 20px;display:flex}.controls span{align-items:center;gap:6px;display:inline-flex}.level-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.lv{font-size:var(--t-m);outline:var(--px) solid #f7f4ea1f;outline-offset:calc(var(--px) * -1);background:#05060a99;flex-direction:column;align-items:center;gap:8px;padding:12px 4px 10px;display:flex;position:relative}.lv .chips{gap:var(--px);display:flex}.lv .chips i{width:calc(var(--px) * 4);height:calc(var(--px) * 4);background:var(--ca)}.lv .chips i:first-child{background:var(--ink);box-shadow:inset 0 0 0 var(--px) var(--ca)}.lv .chips i:last-child{background:var(--cb)}.lv:hover{outline-color:#f7f4ea66}.lv.cur{outline:var(--px) solid var(--cb);color:var(--cb);background:#f7f4ea0f;animation:.5s step-end infinite cell-flash}@keyframes cell-flash{50%{outline-color:var(--ink)}}.lv small{color:var(--cb);position:absolute;top:5px;right:5px}.lv small .px-icon{width:calc(var(--px) * 3)}.best-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.best-list li{justify-content:space-between;gap:16px;display:flex}.best-list b{color:var(--pb);font-variant-numeric:tabular-nums;font-weight:400}.mode-record{color:var(--pb)!important}.mode-record .px-icon,.medal .px-icon{vertical-align:-1px;width:calc(var(--px) * 3);margin-right:4px;display:inline-block}.bot-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);align-items:stretch;gap:16px;display:grid}.bot-list{gap:2px;padding:12px 8px}.bot-option{grid-template-columns:1fr auto;align-items:center;gap:8px 12px;display:grid}.bot-option b{grid-column:1}.bot-option .meter{grid-area:1/2;gap:2px;display:flex}.bot-option .meter i{width:calc(var(--px) * 3);height:calc(var(--px) * 3);background:#f7f4ea26}.bot-option .meter i.on{background:var(--pa)}.bot-option.cur .meter i.on{background:var(--pb)}.bot-option small{grid-column:1/-1}.bot-option.picked:not(.cur){color:var(--ink)}.bot-option.picked:not(.cur):before{opacity:.45;transform:none}.medal{color:var(--pb)}.bot-detail{flex-direction:row;gap:20px}.preview-well{box-sizing:content-box;border:calc(var(--px) * 3) solid transparent;border-image:var(--frame) 3 / calc(var(--px) * 3) stretch;background:var(--well);flex:none;align-self:flex-start;width:200px}.bot-head{flex-direction:column;gap:12px;display:flex}#bot-live{min-height:3.8em}#bot-live span{white-space:nowrap;display:block}#preview{display:block}.bot-info{flex-direction:column;gap:12px;min-width:0;display:flex}.bot-title{font-size:var(--t-m);color:var(--pb)}.level-pick{align-items:center;gap:12px;display:flex}.segments{gap:8px;display:flex}.segment{font-size:var(--t-s);outline:var(--px) solid #f7f4ea33;outline-offset:calc(var(--px) * -1);padding:8px 12px}.segment.on{background:var(--pd);outline-color:var(--ink)}.segment.cur{outline-color:var(--pb);color:var(--pb)}.segment.on.cur{color:var(--ink)}.daily-match,.challenge-text{font-size:var(--t-m);color:var(--ink);line-height:1.8}#arena{justify-content:flex-start;gap:16px;max-width:none;padding:12px 16px 16px}.hud{grid-template-columns:auto 1fr auto;align-items:start;gap:12px;display:grid}.hud-buttons{gap:8px;display:flex}.status{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.status-title{font-size:var(--t-xs);color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.status-main{font-size:var(--t-m);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:16px;display:flex}.status-main .ahead{color:var(--win)}.status-main .even{color:var(--pb)}.status-main>span{white-space:nowrap}.status-main .sep{color:var(--ink-dim)}.status-main .behind{color:var(--lose)}.lead{gap:2px;display:flex}.lead i{width:calc(var(--px) * 3);height:calc(var(--px) * 3);background:#f7f4ea1f;transition:background-color .15s}.lead i:nth-child(10){margin-right:calc(var(--px) * 2)}.lead i.ahead{background:var(--win)}.lead i.behind{background:var(--lose)}.boards{flex:1;justify-content:center;align-items:flex-start;gap:clamp(16px,3vw,48px);display:flex}.player{--cell:min(calc((100dvh - 250px) / 20), 3.2vw);grid-template-columns:auto auto;grid-template-areas:"tag tag""lines.""well side";align-items:start;gap:8px 12px;display:grid}.player.them{--cell:calc(min(calc((100dvh - 250px) / 20), 3.2vw) * .78);grid-template-areas:"tag tag"".lines""side well"}.player.them .tag{text-align:right}.boards.single .player{--cell:min(calc((100dvh - 250px) / 20), 4.2vw)}.tag{font-size:var(--t-m);letter-spacing:.06em;grid-area:tag}.player.them .tag{color:var(--pb)}.lines-box{font-size:var(--t-s);grid-area:lines;justify-content:space-between;gap:12px;padding:6px 12px;display:flex}.lines-box b{font-variant-numeric:tabular-nums;font-weight:400}.well{width:calc(var(--cell) * 10);box-sizing:content-box;border:calc(var(--px) * 3) solid transparent;border-image:var(--frame) 3 / calc(var(--px) * 3) stretch;background:var(--well);grid-area:well;position:relative}.board{display:block}.well.flash:after{content:"";background:var(--ink);opacity:0;pointer-events:none;animation:.36s step-end flash;position:absolute;inset:0}@keyframes flash{0%,50%{opacity:.55}25%,75%{opacity:0}}.well.shake{animation:.28s step-end shake}@keyframes shake{20%{translate:calc(var(--px) * -2) var(--px)}40%{translate:calc(var(--px) * 2) calc(var(--px) * -1)}60%{translate:calc(var(--px) * -1) 0}80%{translate:var(--px) var(--px)}}.board-overlay{text-align:center;font-size:max(var(--t-s), calc(var(--cell) * .9));pointer-events:none;opacity:0;place-items:center;line-height:1.6;display:grid;position:absolute;inset:0}.board-overlay.show{opacity:1;background:#05060a99}.board-overlay.count{font-size:calc(var(--cell) * 2.6);color:var(--pb);background:0 0}.board-overlay.tick span{animation:count-in .32s var(--ease);display:block}@keyframes count-in{0%{opacity:0;transform:scale(1.9)}}.board-overlay.out{animation:.3s steps(3,end) .85s both out-in}@keyframes out-in{0%{opacity:0}}.pop{pointer-events:none;position:absolute;inset:0;overflow:hidden}.pop-text{text-align:center;font-size:max(var(--t-s), calc(var(--cell) * .8));color:var(--pb);text-shadow:var(--px) var(--px) 0 var(--well);animation:rise 1.4s var(--ease) forwards;position:absolute;inset:38% 0 auto}.pop-text.tetris{color:var(--ink);font-size:max(var(--t-m), calc(var(--cell) * 1.05))}@keyframes rise{0%{opacity:0;transform:translateY(30%)scale(.5)}14%{opacity:1;transform:none}70%{opacity:1}to{opacity:0;transform:translateY(-140%)}}.side{flex-direction:column;grid-area:side;gap:8px;width:clamp(150px,11vw,176px);display:flex}.box{flex-direction:column;gap:6px;padding:6px 10px 8px;display:flex}.box b{font-weight:400;font-size:var(--t-m);font-variant-numeric:tabular-nums}.box b.long{font-size:var(--t-s)}.box.bump b{animation:bump .4s var(--ease)}@keyframes bump{0%{color:var(--pb);transform:scale(1.5)}}.next-well{width:100%}.next{margin:4px auto 2px;display:block}.pad-bar{padding:4px 8px calc(8px + env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;display:none}.touch-device .pad-bar{display:flex}.dpad{grid-template:repeat(3,46px)/repeat(3,46px);display:grid}.dpad>*{background:color-mix(in srgb, var(--pa) 28%, var(--well));color:var(--ink);touch-action:none;place-items:center;display:grid}.dpad-up{grid-area:1/2}.dpad [data-button=left]{grid-area:2/1}.dpad-hub{grid-area:2/2}.dpad [data-button=right]{grid-area:2/3}.dpad [data-button=down]{grid-area:3/2}.dpad .px-icon{width:calc(var(--px) * 4)}.dpad [data-button=down] .px-icon{width:calc(var(--px) * 6)}.dpad .held{background:var(--pa)}.start-plate{border:calc(var(--px) * 3) solid transparent;border-image:var(--frame) 3 fill / calc(var(--px) * 3) stretch;color:var(--ink-dim);font-size:var(--t-xs);align-self:flex-end;margin-bottom:18px;padding:6px 10px}.start-plate:active{color:var(--pb)}.ab{align-items:flex-end;gap:16px;display:flex}.ab button{background:var(--btn) center / 100% 100% no-repeat;width:62px;height:62px;image-rendering:pixelated;color:var(--well);font-size:var(--t-m);touch-action:none}.ab button[data-button=cw]{margin-bottom:26px}.ab .held{transform:translateY(var(--px));color:var(--ink)}.toast{max-width:min(520px,100vw - 32px);font-size:var(--t-xs);z-index:25;animation:drop-in .3s var(--ease);padding:12px 16px;line-height:1.8;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.overlay{z-index:10;background:#05060a8c;place-items:safe center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.overlay:has(.slim){pointer-events:none;background:0 0;place-items:end center;padding-bottom:14vh}.dialog{pointer-events:auto;min-width:min(400px,100%);max-width:100%;animation:drop-in .34s var(--ease);flex-direction:column;gap:14px;padding:24px 28px;display:flex}@keyframes drop-in{0%{opacity:0;transform:translateY(-24px)}}.dialog h2{font-size:var(--t-l);line-height:1.4}.dialog:not(.slim){margin:auto}.dialog.slim{min-width:0;font-size:var(--t-xs);flex-direction:row;align-items:center;gap:16px;padding:12px 16px}.dialog.slim .option{padding-top:6px;padding-bottom:6px}.dialog.slim .option:before{top:5px}.result.you h2{color:var(--win)}.result.bot h2{color:var(--lose)}.result .best{color:var(--pb);animation:.5s step-end 6 blink}.tally{border-collapse:collapse;font-variant-numeric:tabular-nums}.tally th,.tally td{text-align:right;padding:6px 0 6px 20px;font-weight:400}.tally th:first-child,.tally td:first-child{text-align:left;color:var(--ink-dim);padding-left:0}.tally th{font-size:var(--t-xs);color:var(--ink-dim)}.tally tr{animation:row-in .3s var(--ease) both;animation-delay:calc(var(--i) * .11s + .2s)}@keyframes row-in{0%{opacity:0;transform:translate(-12px)}}.dialog .options{padding:0}.fx-layer{pointer-events:none;z-index:20;width:100vw;height:100vh;position:fixed;inset:0}#wipe{pointer-events:auto;z-index:30}@media (width<=720px){:root{--px:2px;--t-m:14px;--t-l:20px}.screen{gap:20px;padding:76px 16px 32px}.card-body{padding:16px}.tagline{font-size:var(--t-xs)}.option{padding-top:8px;padding-bottom:8px}.option:before{top:9px}.bot-layout{grid-template-columns:1fr}.bot-list{padding:8px 4px}.bot-option small{font-size:var(--t-xs)}.bot-detail{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px 14px;display:grid}.bot-info{display:contents}.preview-well{width:116px}.bot-detail .detail{font-size:var(--t-xs)}#bot-blurb,.level-pick,.bot-detail .choices{grid-column:1/-1}.level-grid{gap:6px}.lv{font-size:var(--t-s);padding:10px 2px 8px}#arena{gap:8px;padding:8px 8px 0}.hud .icon-btn{min-width:40px;height:40px}.status-main{font-size:var(--t-s);flex-direction:column;align-items:center;gap:2px}.status-main .sep{display:none}.boards,.boards.single{grid-template:"ylines yside""ywell yside""ywell them"1fr/auto minmax(0,1fr);align-items:start;gap:8px 10px;display:grid}.boards.single{grid-template-rows:auto 1fr;grid-template-areas:"ylines yside""ywell yside"}.player.you{--cell:min(calc((100dvh - 330px) / 20), 5.6vw);display:contents}.touch-device .player.you{--cell:min(calc((100dvh - 360px) / 20), 5.6vw)}.player.you .tag{display:none}.player.you .lines-box{grid-area:ylines}.player.you .well{grid-area:ywell}.player.you .side{grid-area:yside;width:auto;min-width:0}.player.them{--cell:min(calc((100dvh - 330px) / 46), 2.6vw);grid-area:them;grid-template-columns:auto;grid-template-areas:"tag""well""side";justify-items:start;gap:6px}.player.them .tag{text-align:left;font-size:var(--t-xs)}.player.them .lines-box,.player.them .next-box,.player.them .trt-box,.player.them .level-box{display:none}.player.them{margin-top:8px}.player.them .side{width:auto;min-width:0}.player.them .box{padding:4px 6px}.box b,.box .label{font-size:var(--t-xs)}.lines-box{font-size:var(--t-xs);padding:4px 8px}.side .trt-box{display:none}}@media (height<=560px){.dialog{gap:8px;padding:14px 18px}.dialog h2{font-size:var(--t-m)}.tally th,.tally td{padding-top:2px;padding-bottom:2px}.dialog .option{padding-top:6px;padding-bottom:6px}.dialog .option:before{top:7px}.dialog .option:not([data-key=link]) small{display:none}}@media (prefers-reduced-motion:reduce){body{animation:none}.screen.enter,.screen.enter-back{animation:.16s both fade}@keyframes fade{0%{opacity:0}}.option.cur:before,#title.ready .press-start,.lv.cur,.well.shake{animation:none}.well.flash:after{animation-duration:.2s}.pop-text{animation:1.4s forwards fade-out}@keyframes fade-out{0%{opacity:0}15%,70%{opacity:1}to{opacity:0}}.board-overlay.tick span,.dialog,.tally tr,.box.bump b{animation:.16s both fade}.band{transition:none}.result .best{animation:none}}
