:root{--slate:#46545e;--ink:#0b0b0b;--paper:#f4f4f4;--orange:#ff6a3d;--blue:#3fa4ff;--green:#5cb823;--gold:#ffb62b;--p1bg:#5a2d31;--p2bg:#1f3a60;--display:"Lilita One", "Arial Rounded MT Bold", system-ui, sans-serif;--body:"Nunito", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}[hidden]{display:none!important}html,body{background:var(--paper);height:100%;font-family:var(--body);-webkit-user-select:none;user-select:none;touch-action:manipulation;overscroll-behavior:none;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}#menu{background:var(--paper);flex-direction:column;max-width:960px;height:100dvh;margin:0 auto;display:flex;position:fixed;inset:0}.top{background:var(--slate);border-bottom:4px solid var(--ink);padding:calc(14px + env(safe-area-inset-top)) 16px 14px;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.logo{font-family:var(--display);letter-spacing:.5px;color:#fff;background:var(--gold);border:4px solid var(--ink);text-shadow:0 2px #0000004d;border-radius:40px;padding:2px 26px 4px;font-size:clamp(28px,6vw,40px);box-shadow:0 0 0 3px #fff36b}.gear{right:16px;top:calc(50% + env(safe-area-inset-top) / 2);border:3px solid var(--ink);background:#7591b0;border-radius:8px;place-items:center;width:46px;height:46px;display:grid;position:absolute;transform:translateY(-50%)}.gear svg{width:30px;height:30px}.tabs{background:#c5d7ea;border-radius:20px;flex:none;gap:6px;margin:14px 16px 6px;padding:6px;display:flex}.tabs button{text-align:left;color:#26323c;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 6px;font-size:15px;font-weight:800;line-height:1.1;display:flex}.tabs button.on{background:#fff}.tabs button:disabled{opacity:.55}.tabs i{font-size:22px;font-style:normal}.list{scroll-snap-type:y proximity;flex:1;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));align-content:start;gap:18px;min-height:0;padding:14px 16px 24px;display:grid;overflow-y:auto}.card{border:4px solid var(--ink);scroll-snap-align:start;border-radius:22px;height:clamp(140px,24dvh,200px);transition:transform .15s;position:relative;overflow:hidden;box-shadow:0 8px #00000047}.card h2{font-family:var(--display);color:#fff;text-shadow:0 3px #00000059,0 0 8px #00000040;z-index:2;font-size:38px;font-weight:400;line-height:1;position:absolute;bottom:14px;left:18px}.card.avail{cursor:pointer}.card.avail.sel{outline:5px solid var(--gold);outline-offset:3px;transform:translateY(-3px)}.card.soon{filter:saturate(.35)brightness(.85)}.card.soon .tag{color:#fff;background:#0000008c;border-radius:20px;padding:4px 10px;font-size:13px;font-weight:800;position:absolute;top:12px;right:14px}.card .art{position:absolute;inset:0}.c-tapaway{background:#1a1c38}.c-tapaway .art-board{opacity:.95;width:auto;height:150%;position:absolute;top:50%;right:-6%;transform:translateY(-50%)rotate(-14deg)}.c-quickreflexes{background:linear-gradient(112deg,#ff4f5e 0 46%,#00b9ff 46%)}.c-quickreflexes .art{align-items:center;width:62%;display:flex;left:auto;right:-8%}.c-quickreflexes .qr-card{--d:100%;aspect-ratio:1;width:100%;height:auto;box-shadow:0 0 0 4px #fff6}.c-quickreflexes .qr-card .sym{font-size:min(8vw,32px)}.bar{background:var(--slate);padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:4px solid var(--ink);flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.score{flex:none;width:74px;height:76px;position:relative}.score svg{width:100%;height:100%;position:absolute;inset:0}.score b{text-align:center;font-family:var(--display);color:#fff;text-shadow:0 2px #00000059;font-size:44px;font-weight:400;line-height:1;position:absolute;bottom:2px;left:0;right:0}.launch{background:var(--green);border:4px solid var(--ink);max-width:300px;font-family:var(--display);color:#fff;text-shadow:0 2px #0006;border-radius:14px;flex-direction:column;flex:1;align-items:center;padding:8px 10px 10px;font-size:24px;display:flex;box-shadow:inset 0 5px #ffffff38}.launch .swords{font-size:30px;line-height:1.1}.launch:active{transform:translateY(2px)}@media (max-height:460px){.top{padding-block:calc(6px + env(safe-area-inset-top)) 6px}.tabs{margin-block:8px 2px}.bar{padding-block:6px calc(6px + env(safe-area-inset-bottom))}.score{width:52px;height:54px}.score b{font-size:32px}.launch{flex-direction:row;justify-content:center;gap:10px;padding:4px 10px;font-size:20px}.launch .swords{font-size:22px}}#game{z-index:10;background:#000;flex-direction:column;height:100dvh;display:none;position:fixed;inset:0}#game.on{display:flex}.half{flex:1;min-height:0;position:relative;overflow:hidden}.half.top{background:var(--p2bg)}.half.bottom,.half.solo[data-seat="0"]{background:var(--p1bg)}.half.solo[data-seat="1"]{background:var(--p2bg)}.content{flex-direction:column;display:flex;position:absolute;inset:0}.half.top .content{transform:rotate(180deg)}.hud{flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:10px 46px 0 18px;display:flex}.time{font-family:var(--display);color:#fff;letter-spacing:.5px;white-space:nowrap;font-size:22px}.time b{margin-left:6px;font-weight:400}.stats{align-items:center;gap:14px;min-width:0;display:flex}.stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:6px 10px 10px;display:flex;position:relative}.half.bottom .content,.half.solo .content{padding-bottom:env(safe-area-inset-bottom)}.half.top .content{padding-bottom:env(safe-area-inset-top)}.half.solo .hud{padding-top:calc(10px + env(safe-area-inset-top))}.banner{z-index:6;pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.banner.count,.banner.result{background:#0000006b;display:flex}.cd{font-family:var(--display);color:#fff;text-shadow:0 6px #00000059;font-size:min(24dvh,30vw);animation:.5s ease-out pop}.res{font-family:var(--display);color:#fff;text-shadow:0 5px #0006;font-size:min(12dvh,17vw);animation:.4s ease-out pop}.banner.win .res{color:#ffe14d}.banner.lose .res{color:#c9d3dc}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.exit{z-index:30;color:#6f7c82;width:36px;font-family:var(--display);letter-spacing:1px;writing-mode:vertical-rl;background:#ced6d9;border:3px solid #fff;border-right:0;border-radius:10px 0 0 10px;padding:14px 4px;font-size:17px;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:0 2px 6px #0006}.layout-solo .exit{top:calc(8px + env(safe-area-inset-top));writing-mode:horizontal-tb;border-right:3px solid #fff;border-radius:10px;width:auto;padding:6px 12px;font-size:15px;right:8px;transform:none}.layout-solo .hud{padding-right:96px}.layout-split .half.top .hud{padding-left:46px;padding-right:18px}.after{z-index:40;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:92vw;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.layout-solo .after{top:auto;bottom:calc(6dvh + env(safe-area-inset-bottom));transform:translate(-50%)}#game.finished .after{display:flex}.after .row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.after .msg{font-family:var(--display);color:#fff;text-align:center;text-shadow:0 2px #00000080;background:#0000009e;border-radius:14px;padding:6px 16px;font-size:22px}.after .msg:empty{display:none}.after button{font-family:var(--display);border:4px solid var(--ink);color:#fff;background:var(--green);text-shadow:0 2px #0006;border-radius:14px;padding:10px 22px;font-size:22px;box-shadow:0 4px #00000059}.after button:disabled,.after button[data-a=menu]{background:#6b7c88}.mid{z-index:8;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:640px){.layout-solo .hud{flex-wrap:wrap;row-gap:10px;padding-right:18px}.layout-solo .stats{flex:100%;justify-content:space-between}}@media (max-height:460px){.hud{min-height:34px;padding-top:6px}.time{font-size:18px}}.scrim{z-index:100;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.panel{border:4px solid var(--ink);background:var(--paper);border-radius:22px;flex-direction:column;gap:12px;width:min(100%,380px);max-height:100%;padding:18px;display:flex;overflow-y:auto;box-shadow:0 8px #00000047}.panel h3{font-family:var(--display);text-align:center;color:#26323c;font-size:30px;font-weight:400;line-height:1}.panel p{text-align:center;color:#4a5660;font-weight:800;line-height:1.3}.chips{gap:6px;display:flex}.chip{border:3px solid var(--ink);background:#fff;border-radius:12px;flex:1;min-width:0;padding:8px 4px;font-size:13px;font-weight:800;line-height:1.15}.chip[aria-pressed=true]{background:var(--gold)}.choice{border:4px solid var(--ink);text-align:left;background:#fff;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 4px #00000040}.choice:active{transform:translateY(2px);box-shadow:0 2px #00000040}.choice .ico{font-size:32px;line-height:1}.choice b{font-family:var(--display);color:#26323c;font-size:21px;font-weight:400;display:block}.choice small{color:#5c6a74;font-weight:800;display:block}.join{gap:8px;display:flex}.code-input{border:4px solid var(--ink);min-width:0;font-family:var(--display);letter-spacing:.2em;text-align:center;text-transform:uppercase;-webkit-user-select:text;user-select:text;background:#fff;border-radius:14px;flex:1;padding:6px 4px;font-size:26px}.btn{border:4px solid var(--ink);background:var(--green);color:#fff;font-family:var(--display);text-shadow:0 2px #0006;border-radius:14px;padding:10px 18px;font-size:20px;box-shadow:0 4px #0000004d}.btn.alt{background:#3b8fd8}.btn.ghost{box-shadow:none;color:#4a5660;text-shadow:none;background:0 0;border-color:#0000;font-size:18px}.btn:disabled{opacity:.45;box-shadow:none}.wait .code{border:4px dashed var(--slate);font-family:var(--display);letter-spacing:.18em;text-align:center;color:#26323c;-webkit-user-select:all;user-select:all;background:#fff;border-radius:16px;padding:6px 0 6px .18em;font-size:min(20vw,76px)}.spinner{border:5px solid #c5d7ea;border-top-color:var(--slate);border-radius:50%;width:30px;height:30px;margin:0 auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#toasts{left:0;right:0;bottom:calc(20px + env(safe-area-inset-bottom));z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast{color:#fff;text-align:center;background:#222;border-radius:14px;max-width:min(100%,420px);padding:10px 16px;font-weight:800;animation:.25s ease-out pop}.game-quickreflexes{--dm:min(38vw, 21dvh)}.qr-stage{container-type:size}.qr-wrap{flex-direction:column;justify-content:center;align-items:center;gap:2cqh;width:100%;height:100%;display:flex}.layout-split.game-quickreflexes .content{flex-direction:column-reverse}.layout-split.game-quickreflexes .hud{padding:0 46px 10px 18px}.layout-split.game-quickreflexes .stage{padding-top:calc(var(--dm) / 2 + 10px);padding-bottom:4px}.layout-split .qr-own .qr-card{--d:min(100cqw, 100cqh)}.mid .qr-card{--d:var(--dm);box-shadow:0 0 0 5px #ffe14d,0 8px 20px #00000073}.layout-solo .qr-center .qr-card{--d:min(60cqw, 34cqh);box-shadow:0 0 0 5px #ffe14d,0 8px 20px #00000073}.layout-solo .qr-own .qr-card{--d:min(100cqw, 62cqh)}@container (aspect-ratio>=5/4){.layout-solo .qr-wrap{flex-direction:row;gap:4cqw}.layout-solo .qr-center .qr-card{--d:min(36cqw, 90cqh)}.layout-solo .qr-own .qr-card{--d:min(58cqw, 100cqh)}}.stats .pip{color:#ffffff38;margin-left:2px;font-size:26px;transition:color .2s,transform .2s}.stats .pip.on{color:#ffd21f;transform:scale(1.15)}.stats .opp .pip{font-size:16px}.qr-card{width:var(--d);height:var(--d);background:#fff;border-radius:50%;flex:none;transition:opacity .2s,filter .2s;position:relative;box-shadow:0 0 0 5px #ffffff4d,0 8px 18px #00000059}.qr-card .sym{width:1.3em;height:1.3em;font-size:calc(var(--d) * var(--f));cursor:pointer;justify-content:center;align-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;line-height:1;display:flex;position:absolute}.stage.locked .qr-own .qr-card{opacity:.4;filter:grayscale(.7)}.stage.lost .qr-own .qr-card{opacity:.55}.sym.good{animation:.5s ease-out forwards good}.sym.bad{animation:.35s ease-out bad}@keyframes good{50%{filter:drop-shadow(0 0 10px #2ecc40)}to{background:#2ecc4059;border-radius:50%}}@keyframes bad{0%,60%{background:#ff3b3b73;border-radius:50%}to{background:0 0}}.ta-board{width:100%;height:100%;display:block;overflow:visible}.snake{cursor:pointer}.snake .hit{pointer-events:stroke}.snake.bad .vis{stroke:#ff3b3b!important}.snake.bad .arrow{fill:#ff3b3b!important}.snake.blocker{animation:.5s ease-out blocker}@keyframes blocker{0%,60%{filter:drop-shadow(0 0 5px #fff)brightness(1.5)}to{filter:none}}.ta-hearts{gap:6px;display:flex}.heart{width:30px;height:28px;display:block}.lost{opacity:.22;filter:grayscale()}.ta-opp{flex:none;align-items:center;gap:8px;display:flex}.ta-opp .who{font-family:var(--display);color:#ffffffbf;font-size:14px}.ta-opp .track{background:#fff3;border-radius:6px;flex:none;width:min(24vw,100px);height:10px;overflow:hidden}.ta-opp .track i{background:#ffd21f;width:0;height:100%;transition:width .3s;display:block}.ta-opp .mini{gap:2px;display:flex}.ta-opp .mini .heart{width:16px;height:15px}@media (max-width:380px){.heart{width:24px;height:22px}.ta-opp .who{display:none}}
