*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body), system-ui, sans-serif}button{font:inherit;color:inherit}#app{z-index:1;flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.theme-sadu{--on-bg:var(--ink);--display-weight:400;--display-nudge:.14em}.theme-gamenight{--on-bg:var(--surface);--display-weight:900;--display-nudge:0}.title,.v,.t,.rk,.pt,.primary,.wrong,.btag,.bstake,.bteam,.chip,.order,.ba,.bbtns button,.x2{font-family:var(--font-display), sans-serif;font-weight:var(--display-weight)}.box,.sc,.row,.tb,.bcard{background:var(--surface);border:var(--border) solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow) var(--shadow) 0 var(--ink)}.theme-sadu{background:var(--bg)}.theme-sadu:before{content:"";z-index:3;background:linear-gradient(45deg, var(--ink) 25%, transparent 25% 75%, var(--ink) 75%) 0 0 / 14px 14px, linear-gradient(-45deg, var(--ink) 25%, transparent 25% 75%, var(--ink) 75%) 0 0 / 14px 14px, var(--primary);height:12px;position:fixed;top:0;left:0;right:0}.grain{display:none}.theme-sadu .grain{z-index:0;opacity:.35;mix-blend-mode:multiply;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .32 0 0 0 0 .2 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");display:block;position:fixed;inset:0}.theme-gamenight{--dots:radial-gradient(#ffffff29 1.6px, transparent 1.8px) center bottom / 18px 18px;background:var(--bg)}.theme-gamenight:before{content:"";background:var(--dots);pointer-events:none;z-index:0;position:fixed;inset:-50vh 0 0}.status{color:var(--on-bg);align-items:center;gap:12px;padding:22px 16px 6px;font-size:13px;font-weight:600;display:flex}.status b{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:.06em;color:var(--accent);font-size:16px}.theme-sadu .status b{color:var(--primary)}.conn{opacity:.7;align-items:center;gap:6px;margin-inline-start:auto;display:flex}.conn i{background:var(--danger);border-radius:50%;width:8px;height:8px}.conn.on{opacity:1}.conn.on i{background:var(--good)}.lang{all:unset;cursor:pointer;border-radius:var(--radius);border:2px solid;padding:4px 10px;font-size:12px;font-weight:700}.scroll{flex-direction:column;flex:1;gap:12px;padding:8px 16px 16px;display:flex;overflow:auto}.center{text-align:center;color:var(--on-bg);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:20px 18px;display:flex}.title{color:var(--on-bg);padding-top:var(--display-nudge);margin:0;font-size:34px;line-height:1.15}.theme-gamenight .title{color:var(--surface);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)}.sub{opacity:.85;margin:0;font-weight:600}.preview{max-width:360px;margin:4px 0;font-size:18px;font-weight:700}.big-note{max-width:320px;font-size:18px;font-weight:700;line-height:1.6}.actions{z-index:2;padding:12px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;display:flex;position:sticky;bottom:0}.theme-sadu .actions{background:var(--surface);border-top:3px solid var(--ink)}.theme-gamenight .actions{color:var(--surface);background:0 0}.theme-gamenight .actions:before{content:"";z-index:-1;background:var(--dots), var(--bg);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 22px);mask-image:linear-gradient(#0000,#000 22px)}.actions.slim{background:0 0!important;border:0!important}.primary{all:unset;box-sizing:border-box;min-height:60px;padding:8px 16px var(--display-nudge);text-align:center;cursor:pointer;background:var(--primary);color:var(--surface);border:var(--border) solid var(--ink);border-radius:var(--radius);box-shadow:0 5px 0 var(--ink);place-items:center;font-size:24px;display:grid}.theme-gamenight .primary{background:var(--accent);color:var(--ink)}.primary:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.primary:disabled{opacity:.55;font-size:16px;font-family:var(--font-body);font-weight:700;transform:none}.link{all:unset;cursor:pointer;text-underline-offset:3px;align-self:center;padding:2px 8px;font-size:13px;font-weight:700;text-decoration:underline}.link:disabled{opacity:.4}.primary small{font-family:var(--font-body);margin-top:2px;font-size:12px;font-weight:600;display:block}.row.static{cursor:default}.row .ico{place-items:center;padding-inline-end:12px;display:grid}.row .ico img{width:32px;height:32px}.confetti{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.confetti i{width:var(--w);height:var(--h);background:var(--c);border-radius:var(--br);animation:fall var(--d) linear var(--dl) infinite;position:absolute;top:-30px}@keyframes fall{0%{transform:translate(0, 0) rotate(var(--r0))}to{transform:translate(var(--dx), 110dvh) rotate(var(--r))}}.pop{animation:.8s cubic-bezier(.3,1.6,.5,1) both pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1}to{transform:none}}.scores{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sc{--tc:var(--team-a);flex-direction:column;display:flex;position:relative}.sc.b{--tc:var(--team-b)}.sc .n{font-size:15px;font-weight:700}.sc .row2{justify-content:space-between;align-items:center;display:flex}.sc .v{font-size:38px;line-height:1.1}.dots{gap:5px;display:flex}.dots i{border:2px solid var(--tc);width:11px;height:11px}.dots i.on{background:var(--tc)}.theme-sadu .sc .n{background:var(--tc);color:var(--surface);font-family:var(--font-display);padding:6px 10px 2px;font-size:18px;font-weight:400}.theme-sadu .sc .v{padding:6px 10px 0}.theme-sadu .sc .dots{padding-inline-end:10px}.theme-sadu .dots i{transform:rotate(45deg)}.theme-sadu .sc:not(.on){opacity:.75}.theme-sadu .sc.on{box-shadow:0 7px 0 var(--tc)}.theme-gamenight .sc{background:var(--tc);padding:8px 12px 10px}.theme-gamenight .sc .n{font-weight:900}.theme-gamenight .sc .v{color:var(--surface);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)}.theme-gamenight .dots i{border-color:var(--ink);background:#fff6;border-radius:50%}.theme-gamenight .dots i.on{background:var(--surface);box-shadow:inset 0 0 0 3px var(--ink)}.theme-gamenight .sc.on{transform:rotate(-1.5deg)}.theme-gamenight .sc:not(.on){filter:saturate(.5)}.turn{--tc:var(--team-a);justify-content:space-between;align-items:center;gap:10px;display:flex}.turn.b{--tc:var(--team-b)}.turn .who{font-family:var(--font-display);font-weight:var(--display-weight);font-size:22px;line-height:1.15}.turn .who small{min-height:4px;font-family:var(--font-body);font-size:12px;font-weight:700;display:block}.theme-sadu .turn{background:var(--ink);color:var(--surface);border-inline-start:10px solid var(--tc);padding:10px 16px 6px}.theme-sadu .turn small{color:var(--accent)}.theme-sadu .turn .t{color:var(--accent);padding-top:var(--display-nudge);font-size:44px;line-height:1}.theme-sadu .turn .t.low{color:#ff8a7a}.theme-gamenight .turn{background:var(--surface);border:var(--border) solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-inline-start:12px solid var(--tc);border-radius:16px;padding:10px 12px 10px 16px}.theme-gamenight .turn .t{background:var(--accent);border:3px solid var(--ink);width:76px;height:76px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;flex:none;place-items:center;font-size:26px;display:grid}.theme-gamenight .turn .t.low{background:var(--danger);color:var(--surface)}.t{font-variant-numeric:tabular-nums;direction:ltr}.t.frozen{opacity:.55}.q{color:var(--on-bg)}.chip{background:var(--primary);color:var(--surface);margin-inline-end:8px;padding:2px 10px 0;font-size:15px;display:inline-block}.theme-gamenight .chip{background:var(--accent);color:var(--ink);border:2px solid var(--ink);border-radius:7px;padding:0 8px;font-size:13px}.round-no{opacity:.8;font-size:12px;font-weight:700}.q p{margin:8px 0 0;font-size:17px;font-weight:700;line-height:1.45}.list{flex-direction:column;gap:8px;display:flex}.row{all:unset;box-sizing:border-box;--tc:var(--ink);cursor:pointer;background:var(--surface);border:var(--border) solid var(--ink);border-radius:var(--radius);width:100%;min-height:56px;box-shadow:calc(var(--shadow) * .6) calc(var(--shadow) * .6) 0 var(--ink);align-items:center;gap:12px;display:flex}.row.byA{--tc:var(--team-a)}.row.byB{--tc:var(--team-b)}.rk{flex:none;place-items:center;font-size:22px;display:grid}.theme-sadu .rk{width:46px;padding-top:var(--display-nudge);background:var(--closed);color:var(--closed-ink);clip-path:polygon(0 0,100% 0,80% 100%,0 100%);align-self:stretch}[dir=rtl] .theme-sadu .rk{clip-path:polygon(0 0,100% 0,100% 100%,20% 100%)}.theme-gamenight .rk{background:var(--ink);width:34px;height:34px;color:var(--accent);border-radius:9px;margin-inline-start:8px;font-size:17px}.tx{flex-direction:column;flex:1;min-width:0;padding:6px 0;line-height:1.3;display:flex}.tx b{font-size:16px}.tx small{color:var(--muted);font-size:12px}.tx .ontv{color:var(--ink);align-items:center;gap:4px;font-weight:700;display:inline-flex}.tx .ontv svg{width:14px;height:14px}.pt{color:var(--primary);direction:ltr;unicode-bidi:isolate;padding:0 14px;font-size:20px}.theme-gamenight .pt{color:var(--ink)}.chk{width:22px;height:22px;color:var(--tc);margin-inline-end:14px;display:none}.row.done{cursor:default;box-shadow:none}.row.done .tx{opacity:.5}.row.done .rk{background:var(--tc);color:var(--surface)}.row.done .pt{display:none}.row.done .chk{display:block}.theme-gamenight .row.done{background:var(--accent)}.row.hinted{outline:3px solid var(--accent);outline-offset:-1px}.row.picked{background:var(--accent)}.row:not(.done):active{transform:translate(2px,2px)}.paused-note{background:var(--accent);color:var(--ink);border-radius:var(--radius);align-self:center;padding:4px 16px;font-weight:800}.wrong{all:unset;box-sizing:border-box;cursor:pointer;height:62px;padding-top:var(--display-nudge);background:var(--danger);color:var(--danger-ink);border:var(--border) solid var(--ink);border-radius:calc(var(--radius) * 1.5);box-shadow:0 5px 0 var(--ink);justify-content:center;align-items:center;gap:10px;font-size:26px;display:flex}.wrong svg{width:26px;height:26px}.wrong:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.wrong.done-mode{background:var(--good);color:var(--good-ink)}.theme-gamenight .wrong{-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}.theme-gamenight .wrong svg{color:var(--ink)}.tools{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.tb{all:unset;box-sizing:border-box;cursor:pointer;height:58px;color:var(--ink);background:var(--bg);border:2px solid var(--ink);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:700;display:flex;position:relative}.theme-gamenight .tb{background:var(--surface);box-shadow:3px 3px 0 var(--ink);border-width:3px}.tb svg{width:20px;height:20px}.tb .x2{direction:ltr;font-size:18px;line-height:20px}.tb .badge{top:5px;background:var(--accent);min-width:18px;height:18px;color:var(--ink);border-radius:calc(var(--radius) / 2);place-items:center;font-size:11px;font-weight:800;display:grid;position:absolute;inset-inline-end:6px}.tb:disabled{opacity:.35}.tb.on{background:var(--accent)}.screen-battle .battle-bg{z-index:-1;position:fixed;inset:0}.theme-sadu .screen-battle{--on-bg:var(--surface)}.theme-sadu .battle-bg{background:var(--ink)}.theme-gamenight .screen-battle{--on-bg:var(--ink)}.theme-gamenight .battle-bg{background:repeating-conic-gradient(from 0deg at 50% 40%, #ffd23f 0 10deg, #ffc21a 10deg 20deg)}.battle{gap:10px}.btag{color:var(--accent);padding-top:var(--display-nudge);align-items:center;gap:10px;font-size:32px;display:flex}.btag svg{width:30px;height:30px}.theme-gamenight .btag{color:var(--surface);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);transform:rotate(-3deg)}.theme-gamenight .btag svg{color:var(--ink)}.bteam{--tc:var(--team-a);background:var(--tc);color:var(--surface);padding:4px 18px var(--display-nudge);font-size:20px}.bteam.b{--tc:var(--team-b)}.theme-gamenight .bteam{color:var(--ink);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:10px;transform:rotate(2deg)}.bstake{padding-top:var(--display-nudge);direction:ltr;font-size:96px;line-height:1}.theme-sadu .bstake{color:var(--surface)}.theme-gamenight .bstake{color:var(--surface);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;text-shadow:6px 6px 0 var(--ink)}.bsub{opacity:.8;margin-top:-4px;font-size:14px;font-weight:600}.bask{margin:8px 0 0;font-weight:700}.bcard{width:100%;color:var(--ink);padding:14px 16px}.theme-sadu .bcard{border-color:var(--accent)}.bcard .lbl{color:var(--muted);letter-spacing:.05em;font-size:12px;font-weight:700}.bcard .bq{margin:4px 0 10px;font-size:18px;font-weight:700}.ba{padding:4px 14px var(--display-nudge);background:var(--accent);color:var(--ink);font-size:20px;display:inline-block}.theme-gamenight .ba{border:2.5px solid var(--ink);border-radius:9px}.t.small{margin-top:8px;font-size:20px}.bbtns{grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-top:6px;display:grid}.bbtns button{all:unset;box-sizing:border-box;height:64px;padding-top:var(--display-nudge);cursor:pointer;border:var(--border) solid var(--ink);border-radius:calc(var(--radius) * 1.3);box-shadow:0 5px 0 var(--ink);place-items:center;font-size:24px;display:grid}.theme-sadu .bbtns button{border-color:var(--surface);box-shadow:none}.bbtns .no{background:var(--danger);color:var(--danger-ink)}.bbtns .yes{background:var(--good);color:var(--good-ink)}.bbtns .ghost{color:var(--on-bg);background:0 0}.team-btn.a{background:var(--team-a);color:var(--surface)}.team-btn.b{background:var(--team-b);color:var(--surface)}.theme-gamenight .team-btn{color:var(--ink)!important}.winner{font-size:44px}#toast{z-index:10;background:var(--ink);max-width:90vw;color:var(--surface);border-radius:var(--radius);opacity:0;pointer-events:none;padding:10px 16px;font-size:14px;font-weight:700;transition:all .25s;position:fixed;bottom:150px;left:50%;transform:translate(-50%,10px)}#toast.show{opacity:1;transform:translate(-50%)}.sc.edit{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:6px;display:grid}.sc.edit .n{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sc.edit .dots{justify-content:center}.sc .adj{direction:ltr;justify-content:center;gap:10px;margin-bottom:6px;display:flex}.sc .adj button{width:22px;height:22px;font:800 15px/1 var(--font-body);color:var(--ink);border:2px solid var(--ink);touch-action:manipulation;background:#fff;border-radius:50%;place-items:center;padding:0;display:grid}.sc .adj button:active{transform:scale(.9)}.timeup-note{text-align:center;color:var(--ink);background:var(--accent);border:3px solid var(--ink);border-radius:var(--radius);padding:10px 12px;font-size:15px;font-weight:800;animation:1s ease-in-out infinite alternate timeup-pulse}@keyframes timeup-pulse{0%{transform:scale(1)}to{transform:scale(1.03)}}.secondary{font:inherit;font-family:var(--font-display);color:var(--ink);background:var(--surface);border:3px solid var(--ink);border-radius:var(--radius);padding:10px 14px;font-size:20px}.secondary small{font-family:var(--font-body);margin-top:2px;font-size:12px;font-weight:600;display:block}.actions .links{justify-content:center;gap:18px;display:flex}.link svg{vertical-align:-3px;width:16px;height:16px;margin-inline-end:4px}
