@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/baloo-2-latin-400-normal-D8VfTcZx.woff2)format("woff2"),url(/assets/baloo-2-latin-400-normal-DCk_bY-6.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2)format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}:root{--bg:#131a2b;--bg-soft:#1d2740;--panel:#222f4e;--panel-2:#2b3a5e;--line:#3b4c74;--ink:#f3f7ff;--ink-dim:#a9b8d8;--accent:#ffc93c;--accent-2:#4cc4ff;--good:#49b356;--bad:#e8453c;--red:#e8453c;--blue:#3f7ee8;--yellow:#f2c12e;--green:#49b356;--radius:16px;--shadow:0 10px 30px #00000059}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 800px at 50% -10%, #24314f 0%, var(--bg) 60%);height:100%;color:var(--ink);margin:0;font-family:"Baloo 2",system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;overflow:hidden}#app{width:100vw;height:100vh;position:relative}#game-layer,#hud-layer,#screen-layer,#toast-layer{position:absolute;inset:0}#game-layer{place-items:center;display:grid;top:96px;bottom:128px}#hud-layer,#toast-layer{pointer-events:none}#screen-layer{overflow:auto}#screen-layer:empty{pointer-events:none}.screen{place-items:center;min-height:100%;padding:28px 20px;display:grid}.card{background:linear-gradient(180deg, var(--panel) 0%, var(--bg-soft) 100%);border:2px solid var(--line);width:min(920px,100%);box-shadow:var(--shadow);border-radius:22px;padding:26px 28px}.card.narrow{width:min(460px,100%)}.brand{align-items:center;gap:12px;margin-bottom:6px;display:flex}.brand h1{letter-spacing:.5px;margin:0;font-size:40px;font-weight:800}.brand .dot{color:var(--accent)}.subtitle{color:var(--ink-dim);margin:0 0 22px;font-size:17px}h2{margin:0 0 12px;font-size:24px;font-weight:700}h3{color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;font-size:18px;font-weight:700}label{color:var(--ink-dim);margin:14px 0 6px;font-size:15px;display:block}input{width:100%;font:inherit;color:var(--ink);border:2px solid var(--line);background:#16203a;border-radius:12px;outline:none;padding:13px 15px;font-size:18px}input:focus{border-color:var(--accent-2)}input.code{text-transform:uppercase;letter-spacing:6px;text-align:center;font-size:26px;font-weight:700}button{font:inherit;color:#12192a;background:var(--accent);cursor:pointer;border:none;border-radius:12px;padding:13px 20px;font-size:17px;font-weight:700;transition:transform 60ms,filter .15s}button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){transform:translateY(2px)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{color:var(--ink);border:2px solid var(--line);background:0 0}button.ghost:hover:not(:disabled){border-color:var(--accent-2)}button.wide{width:100%}button.small{padding:8px 14px;font-size:15px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.grow{flex:1 1 0;min-width:0}.stack{gap:14px;display:grid}.cols{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}.cols>.stack{align-content:start}@media (width<=780px){.cols{grid-template-columns:1fr}}.error{border:1px solid var(--bad);color:#ffd9d6;background:#e8453c24;border-radius:10px;margin-top:14px;padding:10px 14px;font-size:15px}.hint{color:var(--ink-dim);font-size:14px}.muted{color:var(--ink-dim)}.empty{color:var(--ink-dim);padding:10px 0;font-style:italic}.game-card{background:var(--panel-2);border:2px solid var(--line);border-radius:var(--radius);align-items:center;gap:16px;padding:16px 18px;display:flex}.game-card .icon{font-size:34px}.game-card h4{margin:0 0 4px;font-size:20px}.game-card p{color:var(--ink-dim);margin:0;font-size:15px}table{border-collapse:collapse;width:100%;font-size:16px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px}th{color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;font-size:13px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.me td{background:#ffc93c1f}.code-box{border:2px dashed var(--accent);border-radius:var(--radius);background:#16203a;place-items:center;gap:6px;padding:18px;display:grid}.code-box .code{letter-spacing:10px;color:var(--accent);font-size:54px;font-weight:800;line-height:1}.player-slot{background:var(--panel-2);border:2px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.player-slot.empty-slot{opacity:.5;border-style:dashed}.chip{border-radius:8px;flex:none;width:26px;height:26px;box-shadow:inset 0 -3px #00000040}.tag{background:var(--line);color:var(--ink);border-radius:999px;padding:3px 8px;font-size:13px}.tag.host{background:var(--accent);color:#12192a}.tag.off{background:var(--bad)}.ulti-pick{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ulti-option{text-align:left;background:var(--panel-2);color:var(--ink);border:2px solid var(--line);padding:14px}.ulti-option.selected{border-color:var(--accent);background:#33406a}.ulti-option b{margin-bottom:4px;font-size:17px;display:block}.ulti-option span{color:var(--ink-dim);font-size:14px}.hud{grid-template-rows:auto 1fr auto;gap:8px;padding:10px 14px 12px;font-size:16px;display:grid;position:absolute;inset:0}.hud-top{align-items:flex-start;gap:12px;display:flex}.hud-bottom{align-items:flex-end;gap:12px;display:flex}.panel{border:2px solid var(--line);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#141b2dd1;border-radius:14px;padding:10px 14px}.rule{text-align:center;flex:auto}.rule .kind{letter-spacing:2px;text-transform:uppercase;color:var(--accent-2);font-size:13px}.rule .text{font-size:22px;font-weight:700}.rule .tiny{color:var(--ink-dim);font-size:13px}.timer{text-align:center;min-width:108px}.timer .big{font-size:30px;font-weight:800;line-height:1}.timer .lbl{color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;font-size:12px}.scoreboard{min-width:190px}.scoreboard .line{align-items:center;gap:8px;padding:3px 0;display:flex}.scoreboard .line .nm{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.scoreboard .line .sc{font-variant-numeric:tabular-nums;font-weight:700}.scoreboard .line.dim{opacity:.5}.progress{text-align:center;flex:auto}.progress .big{font-size:30px;font-weight:800}.progress .word{letter-spacing:8px;font-size:30px;font-weight:800}.progress .word .done{color:var(--accent)}.progress .word .next{color:var(--accent-2);text-decoration:underline}.progress .def{color:var(--ink-dim);font-size:14px}.energy{justify-content:center;gap:5px;margin-top:6px;display:flex}.energy i{background:#31405f;border-radius:4px;width:26px;height:10px;display:block}.energy i.on{background:var(--accent);box-shadow:0 0 10px #ffc93cb3}.cooldown{color:var(--ink-dim);font-size:13px}.cooldown.ready{color:var(--good);font-weight:700}.quickchat{pointer-events:auto;flex-wrap:wrap;gap:6px;max-width:360px;display:flex}.quickchat button{background:var(--panel-2);color:var(--ink);border:2px solid var(--line);padding:6px 10px;font-size:14px}.quickchat button.emoji{padding:4px 9px;font-size:18px}.bubble{color:#17203a;white-space:nowrap;background:#fff;border-radius:12px;padding:6px 10px;font-size:15px;font-weight:700;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 10px #0000004d}.bubble:after{content:"";border:6px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.banner{color:var(--accent);text-shadow:0 6px #00000059;font-size:76px;font-weight:800;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.banner.small{font-size:40px}#toast-layer{align-content:start;justify-items:center;gap:8px;padding-top:14px;display:grid}.toast{border:2px solid var(--accent);color:var(--ink);background:#141b2df0;border-radius:999px;padding:9px 16px;font-size:15px;animation:.2s pop}.toast.bad{border-color:var(--bad)}@keyframes pop{0%{opacity:0;transform:translateY(-8px)}}#too-small{display:none}@media (width<=1099px),(height<=619px){#app{display:none}#too-small{text-align:center;place-items:center;height:100vh;padding:24px;display:grid}#too-small h1{margin-bottom:8px;font-size:28px}#too-small p{color:var(--ink-dim);line-height:1.6}}
