*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,sans-serif;line-height:1.5}body{background:var(--bg);min-height:100dvh;margin:0}h1,h2,h3{margin:0 0 .5em;line-height:1.3}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);font-weight:600}.vs{color:var(--muted);margin:0 .35em;font-style:italic;font-weight:700}.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.btn{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:.4em;padding:.45em 1em;font-weight:600;text-decoration:none;display:inline-flex}.btn.small{border-radius:8px;min-height:32px;padding:.2em .7em;font-size:.85rem}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.btn.ghost{background:0 0}.logo{object-fit:contain;background:var(--logo-bg);border-radius:50%;flex:none;display:inline-block}.logo-fallback{color:#fff;background:hsl(var(--logo-hue) 70% 38%);justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex}.badge{white-space:nowrap;border-radius:999px;padding:.05em .5em;font-size:.72rem;font-weight:700;display:inline-block}.badge.designated{background:var(--warn-bg);color:var(--warn);animation:1.2s ease-in-out infinite blink}.badge.confirmed{background:var(--live-bg);color:var(--live)}.final-tag,.playoff-tag{white-space:nowrap;background:var(--final-bg);color:var(--final);border-radius:4px;flex:none;margin-right:.4em;padding:0 .45em;font-size:.72rem;font-weight:800;display:inline-block}.playoff-tag{margin:0 0 0 .4em}.champion-tag{white-space:nowrap;background:var(--gold-bg);color:var(--gold);border-radius:4px;flex:none;margin-left:.4em;padding:0 .45em;font-size:.72rem;font-weight:800;display:inline-block}.champion{border:2px solid var(--gold);background:var(--gold-bg);text-align:center;border-radius:16px;justify-items:center;gap:4px;margin:12px 0 16px;padding:16px;display:grid}.champion-eyebrow{letter-spacing:.2em;color:var(--muted);font-size:.75rem;font-weight:800}.champion-label{letter-spacing:.3em;color:var(--gold);font-size:.9rem;font-weight:900}.champion-name{font-size:1.4rem;line-height:1.3}.champion-congrats{color:var(--gold);font-weight:800}@keyframes blink{50%{opacity:.35}}.matrix-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;overflow-x:auto}.matrix{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:calc(76px + var(--cols,7) * 44px);font-size:.8rem}.matrix th,.matrix td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;height:46px;padding:4px 2px}.matrix thead th{background:var(--surface-2);vertical-align:bottom;font-weight:700}.matrix thead th .logo,.matrix .row-head .logo{margin:0 auto 2px;display:block}.matrix .logo.logo-fallback{display:flex}.matrix .short{overflow-wrap:anywhere;font-size:.7rem;line-height:1.2;display:block}.matrix .corner,.matrix .row-head{z-index:1;background:var(--surface-2);width:76px;position:sticky;left:0}.matrix .wins-head,.matrix .wins{width:36px;font-weight:800}.matrix .wins{background:var(--surface-2);font-size:1rem}.matrix td{background:var(--surface)}.matrix .diag{background:repeating-linear-gradient(135deg, var(--surface-2) 0 5px, var(--line) 5px 6px)}.matrix .mark{font-size:1.1rem;font-weight:900;line-height:1.1;display:block}.matrix .mark.win{color:var(--win)}.matrix .mark.lose{color:var(--lose)}.matrix .score{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.7rem;display:block}.matrix .clickable{cursor:pointer}.matrix .clickable:hover{outline:2px solid var(--accent);outline-offset:-2px}.matrix .flash{animation:1s ease-in-out 4 cell-flash}@keyframes cell-flash{50%{background:var(--flash)}}.standings table{border-collapse:collapse;width:100%;font-size:.9rem}.standings th,.standings td{border-bottom:1px solid var(--line);text-align:center;padding:6px 4px}.standings th{white-space:nowrap;color:var(--muted);font-size:.75rem;font-weight:600}.standings .team-col{text-align:left}.standings td.team-col{align-items:center;gap:8px;display:flex}.standings .rank{font-size:1.1rem;font-weight:900}.note{color:var(--muted);margin:-.2em 0 .6em;font-size:.78rem}.finals ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.finals li{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px;display:grid}.finals .side{align-items:center;gap:6px;font-weight:700;display:flex}.finals .side:last-child{justify-content:flex-end}.finals .side.winner{color:var(--win)}.finals .mid{text-align:center}.finals .mid strong{font-size:1.2rem;display:block}.modal-backdrop{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:16px;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:min(520px,100%);max-height:calc(100dvh - 32px);padding:20px;animation:.2s ease-out pop-in;overflow-y:auto;box-shadow:0 20px 60px #00000059}.modal-title{font-size:1.15rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)translateY(8px)}}.toasts{z-index:70;left:50%;bottom:max(16px, env(safe-area-inset-bottom));pointer-events:none;gap:8px;width:min(480px,100% - 32px);display:grid;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;text-align:left;border:1px solid var(--line);background:var(--toast-bg);color:var(--text);border-radius:12px;padding:12px 14px;font-size:.9rem;font-weight:600;animation:.3s cubic-bezier(.2,1.4,.4,1) toast-in;box-shadow:0 8px 24px #0000004d}.toast.error{border-color:var(--danger);color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)}}.toast{position:relative;overflow:hidden}.toast-bar{background:var(--t-accent,var(--accent));opacity:.75;transform-origin:0;width:100%;height:3px;animation:toast-bar var(--toast-ms,5s) linear forwards;position:absolute;bottom:0;left:0}.toast.error{--t-accent:var(--danger)}.toast.checkin{--t-accent:var(--win)}:root .toasts .toast.leaving{pointer-events:none;animation:.28s ease-in forwards toast-out}.toast.rich{border-left:4px solid var(--t-accent);align-items:center;gap:10px;padding:10px 12px 12px 10px;display:flex}.t-designated{--t-accent:var(--live)}.t-confirmed{--t-accent:var(--win)}.t-cancelled{--t-accent:var(--danger)}.t-finished{--t-accent:var(--gold)}.t-corrected{--t-accent:var(--corrected,#c46a00)}.toast.rich:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 38%,#ffffff38 50%,#0000 62%);animation:.9s ease-out .2s t-shine;position:absolute;inset:0;transform:translate(-110%)}.t-icon{background:color-mix(in srgb, var(--t-accent) 16%, transparent);width:36px;height:36px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--t-accent) 60%, transparent);border-radius:50%;flex:none;place-items:center;animation:.5s cubic-bezier(.3,1.8,.5,1) .1s both t-icon;display:grid}.t-icon svg{fill:none;width:20px;height:20px;stroke:var(--t-accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.t-confirmed .t-icon svg{fill:var(--t-accent)}.t-designated .t-icon svg{transform-origin:50% 15%;animation:.9s ease-in-out .35s t-ring}.t-main{flex:1;gap:3px;min-width:0;display:grid}.t-head{align-items:center;gap:6px;display:flex}.t-label{letter-spacing:.15em;color:var(--t-accent);font-size:.7rem;font-weight:900}.t-final-tag{background:var(--final-bg);color:var(--final);border-radius:999px;padding:0 7px;font-size:.68rem;font-weight:900}.t-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.t-team{align-items:center;gap:6px;min-width:0;animation:.4s cubic-bezier(.2,1.2,.4,1) .12s both t-in-l;display:flex}.t-team.right{justify-content:flex-end;animation-name:t-in-r}.t-team .logo{flex:none}.t-name{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.t-row:has(.score) .t-team:not(.win){opacity:.6}.t-team.win .t-name{color:var(--t-accent)}.t-team.win .logo{box-shadow:0 0 0 2px var(--t-accent)}.t-mid{color:var(--muted);font-style:italic;font-weight:900;animation:.45s cubic-bezier(.3,1.8,.5,1) .22s both t-pop}.t-mid.score{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.1rem;font-style:normal}.t-sub{color:var(--muted);font-size:.78rem;font-weight:600}.t-cancelled .t-row{-webkit-text-decoration:line-through 2px color-mix(in srgb, var(--danger) 70%, transparent);text-decoration:line-through 2px color-mix(in srgb, var(--danger) 70%, transparent)}@keyframes toast-out{to{opacity:0;transform:translate(60px)scale(.96)}}@keyframes toast-bar{to{transform:scaleX(0)}}@keyframes t-shine{to{transform:translate(110%)}}@keyframes t-icon{0%{opacity:0;transform:scale(.3)rotate(-30deg)}}@keyframes t-ring{20%{transform:rotate(18deg)}40%{transform:rotate(-14deg)}60%{transform:rotate(9deg)}80%{transform:rotate(-5deg)}}@keyframes t-in-l{0%{opacity:0;transform:translate(-14px)}}@keyframes t-in-r{0%{opacity:0;transform:translate(14px)}}@keyframes t-pop{0%{opacity:0;transform:scale(2)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.trophy{display:block;overflow:visible}.trophy-glint{animation:2.6s ease-in-out .8s infinite trophy-glint}@keyframes trophy-glint{0%{transform:skew(-20deg)translate(0)}45%,to{transform:skew(-20deg)translate(190px)}}.rank-badge{border-radius:50%;place-items:center;min-width:1.7em;height:1.7em;font-size:.9em;font-weight:900;display:inline-grid}.rank-badge.r1{color:#4a3200;background:linear-gradient(135deg,#fff1a8,#f5b400 55%,#c98a00);animation:2.8s ease-in-out infinite medal-shine;box-shadow:0 0 0 2px #f5b40059}.rank-badge.r2{color:#2b3240;background:linear-gradient(135deg,#f4f6fa,#b7c0cf 55%,#8a94a6)}.rank-badge.r3{color:#3a1d05;background:linear-gradient(135deg,#ffe0c2,#d08a4a 55%,#9a5a24)}@keyframes medal-shine{50%{box-shadow:0 0 0 5px #f5b4002e}}.team-cell{flex:1;gap:3px;min-width:0;display:grid}.team-line{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.leader-crown{font-size:.85em;animation:1.8s ease-in-out infinite crown-bob}@keyframes crown-bob{50%{transform:translateY(-2px)rotate(-8deg)}}.win-bar{background:var(--line);border-radius:999px;height:4px;display:block;overflow:hidden}.win-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--win));height:100%;transition:width .9s cubic-bezier(.2,1,.3,1);display:block}.val-pop{animation:.5s cubic-bezier(.3,1.8,.5,1) val-pop;display:inline-block}@keyframes val-pop{0%{color:var(--win);transform:scale(1.8)}}.standings .diff-plus{color:var(--win);font-weight:700}.standings .diff-minus{color:var(--danger)}.form-dots{gap:3px;display:inline-flex}.form-dots i{border-radius:50%;width:9px;height:9px;animation:.5s cubic-bezier(.3,1.8,.5,1) dot-in}.form-dots i.w{background:var(--win)}.form-dots i.l{box-shadow:inset 0 0 0 2px var(--lose);background:0 0}@keyframes dot-in{0%{opacity:0;transform:scale(2.4)}}@media (width<=420px){.standings .form-col{display:none}}.standings.big table{font-size:clamp(1.1rem,2.6vw,2.2rem)}.standings.big th{font-size:.6em}.standings.big th,.standings.big td{padding:.55em .5em}.standings.big .win-bar{height:7px}.standings.big .form-dots i{width:.7em;height:.7em}.standings.big h2,.standings.big .note{display:none}.matrix-block{gap:8px;display:grid}.matrix-progress{gap:5px;display:grid}.mp-text{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:.8rem;font-weight:700;display:flex}.mp-text strong{color:var(--text);font-size:1.15em}.mp-live{color:var(--live);animation:1.4s ease-in-out infinite blink}.mp-wait{color:var(--warn)}.mp-bar{background:var(--line);border-radius:999px;height:6px;display:flex;overflow:hidden}.mp-bar i{height:100%;transition:width .8s cubic-bezier(.2,1,.3,1);display:block}.mp-bar .done{background:var(--win)}.mp-bar .live{background:repeating-linear-gradient(45deg, var(--live) 0 6px, color-mix(in srgb, var(--live) 60%, transparent) 6px 12px);background-size:17px 17px;animation:.8s linear infinite stripes}.mp-bar .wait{background:var(--warn);opacity:.6}@keyframes stripes{to{background-position:17px 0}}.matrix th,.matrix td{transition:background-color .15s,box-shadow .15s}.matrix td.hl,.matrix th.hl{background-color:color-mix(in srgb, var(--accent) 9%, var(--surface))}.matrix thead th.hl,.matrix th.row-head.hl{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.matrix th.row-head.hl{box-shadow:inset 3px 0 0 var(--accent)}.matrix td.target{box-shadow:inset 0 0 0 2px var(--accent);background-color:color-mix(in srgb, var(--accent) 16%, var(--surface))}.matrix td.cell.confirmed{background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--live) 10%, transparent) 0 8px, transparent 8px 16px);background-size:23px 23px;animation:1.2s linear infinite stripes}.matrix .badge.confirmed:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:3px;animation:1s ease-in-out infinite blink;display:inline-block}.matrix td.cell.designated{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--warn) 45%, transparent)}.matrix .badge{animation:.4s cubic-bezier(.3,1.8,.5,1) badge-in}.matrix .badge.designated{animation:.4s cubic-bezier(.3,1.8,.5,1) badge-in,1.2s ease-in-out .4s infinite blink}.matrix .result{display:block}.matrix .flash .result .mark{animation:.5s cubic-bezier(.3,1.8,.5,1) mark-stamp}.matrix .flash .result .score{animation:.4s .25s both fade-in}.matrix td.flash{position:relative}.matrix td.flash:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 2px var(--win);animation:1.2s ease-out 3 cell-ring;position:absolute;inset:0}.matrix th.hd-flash{animation:1s ease-in-out 3 cell-flash}@keyframes badge-in{0%{opacity:0;transform:scale(.3)}}@keyframes mark-stamp{0%{opacity:0;transform:scale(2.8)rotate(-15deg)}}@keyframes cell-ring{0%{opacity:1}to{opacity:0}}.cell-detail{border:1px solid var(--accent);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:8px 12px;font-size:.85rem;animation:.3s ease-out cd-rise;display:flex}.cd-score{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:900}.cd-score.win{color:var(--win)}.cd-score.lose{color:var(--lose)}.cd-text{color:var(--muted);flex-basis:100%;font-size:.8rem}@keyframes cd-rise{0%{opacity:0;transform:translateY(8px)}}:root[data-theme=player]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#04060d;--surface:#0a1226;--surface-2:#0e1934;--line:#1a2a52;--text:#e8f6ff;--muted:#8395c0;--cyan:#22e6ff;--green:#3dff8f;--accent:var(--cyan);--on-accent:#001318;--danger:#ff5c7a;--win:var(--green);--lose:#5b6a92;--warn:#ffd84a;--warn-bg:#ffd84a24;--live:var(--cyan);--live-bg:#22e6ff24;--final:#ff6bd6;--final-bg:#ff6bd626;--gold:#ffd84a;--gold-bg:#ffd84a1a;--flash:#3dff8f59;--logo-bg:#0e1934;--backdrop:#02040abf;--toast-bg:#0a1226f2;--mine:#22e6ff1f;--glow-cyan:0 0 6px #22e6ffe6, 0 0 18px #22e6ff80;--glow-green:0 0 6px #3dff8fe6, 0 0 18px #3dff8f80}:root[data-theme=player] body{background:radial-gradient(ellipse 80% 40% at 50% -10%, #22e6ff1f, transparent 70%), radial-gradient(ellipse 60% 30% at 100% 100%, #3dff8f12, transparent 70%), var(--bg);background-attachment:fixed}.player-page{max-width:720px;padding:16px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.player-page.center{text-align:center;place-content:center;gap:8px;min-height:100dvh;display:grid}.player-page h2{letter-spacing:.15em;color:var(--cyan);text-shadow:var(--glow-cyan);margin:24px 0 10px;font-size:.8rem}.message{color:var(--muted);font-size:1.05rem}.home-title{color:var(--cyan);text-shadow:var(--glow-cyan);font-size:1.6rem}.home-admin{color:var(--muted);margin-top:40px;font-size:.85rem}.eyebrow{letter-spacing:.2em;color:var(--green);font-size:.7rem;font-weight:700;display:block}.empty-teams{text-align:center;margin-top:32px}.select-head{text-align:center;padding:16px 0 8px}.select-head h1{font-size:1.4rem}.select-head .lead{color:var(--cyan);text-shadow:var(--glow-cyan);font-weight:700}.team-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.team-tile{border:1px solid var(--line);background:linear-gradient(160deg, var(--surface-2), var(--surface));border-radius:16px;place-items:center;gap:10px;width:100%;min-height:150px;padding:16px 10px;transition:transform .12s,box-shadow .12s,border-color .12s;display:grid}.team-tile:active,.team-tile:hover{border-color:var(--cyan);box-shadow:var(--glow-cyan);transform:translateY(-2px)}.team-tile .name{font-weight:700;line-height:1.3}.confirm-team{text-align:center}.confirm-team .logo{margin:8px auto}.logo.glow{box-shadow:var(--glow-cyan)}.confirm-name{color:var(--cyan);text-shadow:var(--glow-cyan);margin:8px 0 0;font-size:1.5rem;font-weight:900}.confirm-q{color:var(--muted)}.confirm-team .actions{gap:10px;margin-top:16px;display:grid}.player-page .btn.primary{min-height:52px;box-shadow:var(--glow-cyan);font-size:1.05rem}.my-banner{z-index:10;padding:max(12px, env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--cyan);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#22e6ff38,#3dff8f1f),#04060deb;align-items:center;gap:12px;margin:-16px -16px 12px;display:flex;position:sticky;top:0;box-shadow:0 0 22px #22e6ff59}.my-banner .who{flex:1;min-width:0;display:grid}.my-banner strong{white-space:nowrap;text-overflow:ellipsis;font-size:1.1rem;overflow:hidden}.my-banner .stat{color:var(--green);font-size:.8rem;font-weight:700}.my-banner .change{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:8px;padding:6px 10px;font-size:.75rem}.title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.title-row h1{color:var(--muted);margin:0;font-size:1rem}.live{letter-spacing:.1em;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:800}.live.open{color:var(--green);border:1px solid var(--green);box-shadow:var(--glow-green)}.live.connecting,.live.reconnecting{color:var(--warn);border:1px solid var(--warn)}.push-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:12px 0 4px;padding:12px 14px;font-size:.85rem}.push-card p{margin:0}.push-card .push-btn{width:100%;min-height:44px;margin-top:10px;font-size:.95rem}.push-card.on{border-color:#3dff8f66;padding:8px 14px}.push-on{color:var(--green);justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}.push-on .link{color:var(--muted);font-weight:400}.push-note{color:var(--muted);line-height:1.6}.push-note strong{color:var(--text)}.player-page .champion{box-shadow:0 0 22px #ffd84a59}.player-page .champion-name{color:#fff;text-shadow:0 0 10px #ffd84acc}.player-page .champion.mine{animation:1.6s ease-in-out infinite champion-glow}@keyframes champion-glow{50%{box-shadow:0 0 40px #ffd84ab3}}.active ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.active li{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:4px;padding:10px 12px;font-weight:700;display:flex}.active li .badge{margin-left:auto}.active li.mine{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.player-page .matrix-wrap{background:var(--surface)}.player-page .matrix .mine-row>*,.player-page .matrix .mine-col{background-color:var(--mine)}.player-page .matrix .mine-row>th{color:var(--cyan);text-shadow:var(--glow-cyan);box-shadow:inset 3px 0 0 var(--cyan);background:#0c2a3a}.player-page .matrix thead .mine-col{color:var(--cyan);text-shadow:var(--glow-cyan);box-shadow:inset 0 -3px 0 var(--cyan);background:#0c2a3a}.player-page .matrix .mark.win{text-shadow:var(--glow-green)}.player-page .standings .mine-row td{background:var(--mine);color:var(--cyan);font-weight:800}.player-page .finals li.mine{border-color:var(--cyan);box-shadow:var(--glow-cyan)}:root[data-theme=player] .toasts{top:calc(max(12px, env(safe-area-inset-top)) + 72px);bottom:auto}:root[data-theme=player] .toast{background:#0a1226;padding:10px 12px;font-size:.85rem;animation:.45s cubic-bezier(.2,1.4,.4,1) toast-drop}:root[data-theme=player] .toast.rich{--corrected:#ff9f43;border-color:color-mix(in srgb, var(--t-accent) 55%, transparent);border-left-color:var(--t-accent);box-shadow:0 0 16px color-mix(in srgb, var(--t-accent) 35%, transparent), 0 8px 24px #00000073;padding:10px 12px 12px 10px}:root[data-theme=player] .t-team.win .t-name{text-shadow:0 0 8px color-mix(in srgb, var(--t-accent) 70%, transparent)}:root[data-theme=player] .toast-bar{box-shadow:0 0 8px var(--t-accent,var(--accent))}@keyframes toast-drop{0%{opacity:0;transform:translateY(-30px)scale(.92)}}.toast.mine{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.vs-overlay{z-index:60;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));text-align:center;background:#02040a;grid-template-rows:1fr auto auto 1fr;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.vs-bg{filter:saturate(1.2);background:linear-gradient(105deg,#22e6ff59 0 49.6%,#0000 49.6% 50.4%,#3dff8f4d 50.4%),repeating-linear-gradient(105deg,#0000 0 22px,#ffffff08 22px 24px);animation:.5s ease-out both vs-bg-in;position:absolute;inset:-20%}.vs-bg:after{content:"";background:radial-gradient(circle at 50% 45%,#0000 0 18%,#02040ad9 70%);position:absolute;inset:0}.vs-overlay>:not(.vs-bg){position:relative}.vs-kind{letter-spacing:.4em;color:#fff;text-shadow:var(--glow-cyan);align-self:end;margin:0 0 12px;font-size:.85rem;font-weight:900;animation:.4s .2s both fade-in}.vs-stage{grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;width:100%;max-width:560px;display:grid}.vs-side{justify-items:center;gap:10px;min-width:0;display:grid}.vs-side .logo{border:3px solid}.vs-side.left{color:var(--cyan);animation:.55s cubic-bezier(.2,1.2,.4,1) .15s both slide-left}.vs-side.left .logo{box-shadow:var(--glow-cyan)}.vs-side.right{color:var(--green);animation:.55s cubic-bezier(.2,1.2,.4,1) .15s both slide-right}.vs-side.right .logo{box-shadow:var(--glow-green)}.vs-name{color:#fff;text-shadow:0 0 10px;overflow-wrap:anywhere;font-size:1.05rem;font-weight:900;line-height:1.25}.vs-side.left .vs-name{text-shadow:var(--glow-cyan)}.vs-side.right .vs-name{text-shadow:var(--glow-green)}.vs-mark{letter-spacing:-.04em;color:#fff;background:linear-gradient(180deg, #fff 30%, var(--cyan) 55%, var(--green));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px #22e6ffcc)drop-shadow(0 0 28px #3dff8f80);-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,16vw,5.5rem);font-style:italic;font-weight:900;animation:.5s cubic-bezier(.3,1.6,.5,1) .6s both vs-slam,1.6s ease-in-out 1.2s infinite vs-pulse}.vs-format{color:var(--muted);margin:16px 0 0;font-weight:700;animation:.4s .9s both fade-in}.vs-foot{align-self:start;justify-items:center;gap:10px;margin-top:28px;animation:.4s 1s both fade-in;display:grid}.vs-ok{letter-spacing:.2em;color:#001318;background:linear-gradient(90deg, var(--cyan), var(--green));border:0;border-radius:999px;min-width:220px;min-height:64px;font-size:1.6rem;font-weight:900;animation:1.4s ease-in-out 1.4s infinite ok-breathe;box-shadow:0 0 18px #22e6ffcc,0 0 40px #3dff8f80}.vs-ok:active{transform:scale(.96)}.vs-hint{color:var(--muted);margin:0;font-size:.85rem}.vs-wait{color:var(--warn);margin:0;font-weight:800;animation:1.4s ease-in-out infinite blink}.vs-stamp{color:var(--green);text-shadow:var(--glow-green);margin:0;font-size:2.2rem;font-weight:900;animation:.45s cubic-bezier(.3,1.8,.5,1) both stamp}.vs-overlay.confirmed .vs-bg,.vs-overlay.confirmed .vs-side{animation:none}.vs-overlay.confirmed .vs-foot,.vs-overlay.confirmed .vs-format,.vs-overlay.confirmed .vs-kind{animation-delay:0s}@keyframes vs-bg-in{0%{opacity:0;transform:scale(1.3)}}@keyframes slide-left{0%{opacity:0;transform:translate(-120%)skew(-12deg)}}@keyframes slide-right{0%{opacity:0;transform:translate(120%)skew(12deg)}}@keyframes vs-slam{0%{opacity:0;transform:scale(4)rotate(-12deg)}70%{transform:scale(.9)rotate(2deg)}}@keyframes vs-pulse{50%{transform:scale(1.06)}}@keyframes ok-breathe{50%{box-shadow:0 0 26px #22e6ff,0 0 60px #3dff8fb3}}@keyframes stamp{0%{opacity:0;transform:scale(2.5)rotate(-8deg)}}.vs-overlay.confirmed{animation:.42s ease-out 80ms cf-shake}.vs-stage{position:relative}.vs-overlay>.cf-flash{z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 45%,#fff 0%,#dcfff5e6 40%,#22e6ff80 100%);animation:.5s ease-out both cf-flash;position:absolute;inset:0}.cf-burst{z-index:2;pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.cf-ring{border:3px solid var(--green);width:40px;height:40px;box-shadow:var(--glow-green);opacity:0;border-radius:50%;animation:.9s cubic-bezier(.1,.7,.3,1) both cf-ring;position:absolute;top:-20px;left:-20px}.cf-ring:nth-child(2){border-color:var(--cyan);box-shadow:var(--glow-cyan);animation-delay:.12s}.cf-ring:nth-child(3){border-color:#ffd84a;animation-delay:.24s}.cf-spark{background:var(--c);width:8px;height:8px;box-shadow:0 0 8px var(--c), 0 0 16px var(--c);opacity:0;animation:cf-spark .85s cubic-bezier(.15, .8, .3, 1) var(--d) both;border-radius:50%;position:absolute;top:-4px;left:-4px}.vs-overlay.confirmed .vs-side .logo{animation:.6s cubic-bezier(.3,1.8,.5,1) 50ms both cf-logo}.vs-overlay.confirmed .vs-mark{animation:.5s cubic-bezier(.3,1.8,.5,1) both cf-mark,1.6s ease-in-out .6s infinite vs-pulse}.vs-overlay.confirmed .vs-foot{width:100%}.cf-band{background:linear-gradient(90deg,#0000,#22e6fff2 18%,#3dff8ff2 82%,#0000);justify-items:center;width:calc(100% + 32px);margin:0 -16px;padding:10px 0 14px;animation:.5s cubic-bezier(.2,1,.3,1) .12s both cf-band;display:grid;transform:rotate(-6deg);box-shadow:0 0 30px #3dff8f8c}.cf-band-en{letter-spacing:.45em;color:#002a2a;padding-left:.45em;font-size:.8rem;font-style:italic;font-weight:900}.cf-band-ja{color:#00141a;text-shadow:0 2px #ffffff80;font-size:2.5rem;font-weight:900;line-height:1.1;animation:.45s cubic-bezier(.3,1.8,.5,1) .42s both stamp}.cf-hint{margin-top:14px;animation:.4s .8s both fade-in}@keyframes cf-flash{0%{opacity:.95}to{opacity:0}}@keyframes cf-shake{0%,to{transform:none}20%{transform:translate(-7px,3px)}40%{transform:translate(6px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(2px,-1px)}}@keyframes cf-ring{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(9)}}@keyframes cf-spark{0%{opacity:1;transform:translate(0)scale(1.4)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.3)}}@keyframes cf-logo{40%{filter:brightness(1.6);transform:scale(1.18)}}@keyframes cf-mark{0%{filter:brightness(2.5)drop-shadow(0 0 30px #fff);transform:scale(1.8)}}@keyframes cf-band{0%{opacity:0;transform:translate(-110%)rotate(-6deg)}}.vs-logo{line-height:0;display:block;position:relative}.vs-ok{transition:background .3s,color .3s,box-shadow .3s;position:relative}.vs-ok-label{animation:.4s cubic-bezier(.3,1.8,.5,1) both ok-pop;display:inline-block}.vs-ok:not(.done) .vs-ok-label{animation:none}.vs-ok.done{color:var(--green);box-shadow:inset 0 0 0 3px var(--green), 0 0 18px #3dff8f73;letter-spacing:.1em;background:#3dff8f1a;font-size:1.3rem;animation:none}.vs-ok:disabled{cursor:default}.ok-shock{pointer-events:none;position:absolute;inset:0}.ok-shock i{border:3px solid var(--cyan);box-shadow:var(--glow-cyan);opacity:0;border-radius:999px;animation:.75s cubic-bezier(.1,.7,.3,1) both ok-shock;position:absolute;inset:0}.ok-shock i:nth-child(2){border-color:var(--green);box-shadow:var(--glow-green);animation-delay:.1s}.ok-shock i:nth-child(3){box-shadow:none;border-color:#fff;animation-delay:.2s}.ok-shock:before{content:"";background:#fff;border-radius:999px;animation:.35s ease-out both ok-flash;position:absolute;inset:0}.ok-badge{background:var(--green);color:#002312;letter-spacing:.06em;border-radius:999px;align-items:center;gap:2px;padding:5px 12px 5px 7px;font-size:1.2rem;font-style:italic;font-weight:900;line-height:1;animation:.45s cubic-bezier(.3,1.8,.5,1) both ok-stamp;display:flex;position:absolute;bottom:-10px;right:-10px;transform:rotate(-8deg);box-shadow:0 0 10px #3dff8fe6,0 0 26px #3dff8f80}.ok-badge svg{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;width:22px;height:22px;animation:.35s ease-out .2s both ok-check}.ok-badge-ring{border:3px solid var(--green);width:150px;height:150px;box-shadow:var(--glow-green);opacity:0;pointer-events:none;border-radius:50%;margin:-75px 0 0 -75px;animation:.7s cubic-bezier(.1,.7,.3,1) 50ms both ok-badge-ring;position:absolute;top:50%;left:50%}.vs-side.is-ok .logo{border-color:var(--green);box-shadow:var(--glow-green)}.vs-logo:has(.ok-badge) .logo{border-color:var(--green);box-shadow:var(--glow-green)}.vs-side.awaiting .vs-logo:after{content:"";border:2px solid var(--warn);opacity:0;border-radius:50%;animation:1.6s ease-out infinite ok-radar;position:absolute;inset:-6px}.vs-side.awaiting .logo{filter:saturate(.7)brightness(.85)}.ok-opp{color:var(--warn);text-shadow:0 0 10px #ffd84a99;margin:0;font-weight:900;line-height:1.5;animation:.4s ease-out both res-rise}.vs-overlay.pending:has(.ok-opp) .vs-ok:not(:disabled){animation-duration:.7s}.ok-dots{gap:3px;margin-left:4px;display:inline-flex}.ok-dots i{background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite ok-dot}.ok-dots i:nth-child(2){animation-delay:.2s}.ok-dots i:nth-child(3){animation-delay:.4s}.vs-overlay.waiting .vs-wait{animation:.4s ease-out both res-rise}.vs-overlay.final .ok-shock i{border-color:#ffd84a;box-shadow:0 0 8px #ffd84a}.vs-overlay.final .ok-shock i:nth-child(2){border-color:#ff6bd6;box-shadow:0 0 8px #ff6bd6}@keyframes ok-pop{0%{opacity:0;transform:scale(.4)}}@keyframes ok-shock{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.7,2.6)}}@keyframes ok-flash{0%{opacity:.9}to{opacity:0}}@keyframes ok-stamp{0%{opacity:0;transform:rotate(-8deg)scale(2.6)}}@keyframes ok-check{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes ok-badge-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.3)}}@keyframes ok-radar{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes ok-dot{0%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.checkin-overlay{z-index:60;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));text-align:center;background:radial-gradient(circle at 50% 36%,#22e6ff38,#0000 55%),radial-gradient(90% 40% at 50% 100%,#3dff8f1f,#0000 70%),#02040a;align-content:center;justify-items:center;gap:2px;display:grid;position:fixed;inset:0;overflow:hidden}.checkin-overlay>:not(.ci-grid){position:relative}.ci-grid{background:linear-gradient(#22e6ff12 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#22e6ff12 1px,#0000 1px) 0 0/28px 28px;animation:.5s both fade-in,6s linear infinite ci-grid;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 36%,#000,#0000 70%);mask-image:radial-gradient(circle at 50% 36%,#000,#0000 70%)}.ci-eyebrow{color:var(--muted);letter-spacing:.2em;margin:0 0 14px;font-size:.8rem;font-weight:800;animation:.4s .1s both fade-in}.ci-scan{place-items:center;width:180px;height:180px;display:grid;position:relative}.ci-logo{border:3px solid var(--cyan);box-shadow:var(--glow-cyan);animation:.9s ease-out .15s both ci-logo}.ci-corner{border:0 solid var(--cyan);width:34px;height:34px;filter:drop-shadow(0 0 6px var(--cyan));position:absolute}.ci-corner.tl{--ci-from:translate(-26px, -26px);border-width:4px 0 0 4px;border-top-left-radius:10px;top:0;left:0}.ci-corner.tr{--ci-from:translate(26px, -26px);border-width:4px 4px 0 0;border-top-right-radius:10px;top:0;right:0}.ci-corner.bl{--ci-from:translate(-26px, 26px);border-width:0 0 4px 4px;border-bottom-left-radius:10px;bottom:0;left:0}.ci-corner.br{--ci-from:translate(26px, 26px);border-width:0 4px 4px 0;border-bottom-right-radius:10px;bottom:0;right:0}.checkin-overlay .ci-corner{animation:.5s cubic-bezier(.2,1.2,.4,1) both ci-corner,.3s ease-out 1.05s forwards ci-corner-ok}.ci-line{background:linear-gradient(90deg, transparent, #fff, var(--cyan), #fff, transparent);height:3px;box-shadow:0 0 12px var(--cyan), 0 0 30px #22e6ff99;opacity:0;border-radius:3px;animation:.75s ease-in-out .3s both ci-line;position:absolute;top:10px;left:8px;right:8px}.ci-ring{border:3px solid var(--green);box-shadow:var(--glow-green);opacity:0;border-radius:50%;animation:.8s cubic-bezier(.1,.7,.3,1) 1.05s both ci-ring;position:absolute;inset:20px}.ci-check{fill:#04130b;width:56px;height:56px;stroke:var(--green);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px #3dff8fe6);animation:.4s cubic-bezier(.3,1.8,.5,1) 1.05s both ok-stamp;position:absolute;bottom:4px;right:4px}.ci-check circle{stroke-dasharray:151;animation:.4s ease-out 1.1s both ci-draw-circle}.ci-check path{stroke-width:5px;stroke-dasharray:40;animation:.3s ease-out 1.35s both ci-draw-check}.ci-en{color:var(--green);letter-spacing:.45em;text-shadow:var(--glow-green);margin:14px 0 0;padding-left:.45em;font-size:.85rem;font-style:italic;font-weight:900;animation:.3s 1.1s both fade-in}.ci-word{color:#fff;text-shadow:0 0 10px #3dff8fe6,0 0 30px #3dff8f80;margin:0;font-size:clamp(2.6rem,14vw,3.6rem);font-weight:900;line-height:1.15;animation:.45s cubic-bezier(.3,1.8,.5,1) 1.15s both stamp}.ci-team{color:var(--cyan);text-shadow:var(--glow-cyan);overflow-wrap:anywhere;margin:4px 0 0;font-size:1.35rem;font-weight:900;animation:.5s ease-out 1.4s both res-rise}.ci-welcome{max-width:300px;color:var(--text);margin:10px 0 0;font-weight:700;line-height:1.6;animation:.5s 1.7s both fade-in}.ci-progress{justify-items:center;gap:8px;margin-top:18px;animation:.5s ease-out 1.9s both res-rise;display:grid}.ci-count{color:var(--muted);font-weight:700}.ci-count strong{color:var(--green);text-shadow:var(--glow-green);font-size:1.4rem}.ci-dots{gap:8px;display:flex}.ci-dots i{border:2px solid var(--line);background:var(--surface);border-radius:50%;width:14px;height:14px;transition:background .3s,border-color .3s,box-shadow .3s}.ci-dots i.on{border-color:var(--green);background:var(--green);box-shadow:0 0 8px #3dff8fcc}.ci-dots i.me{border-color:var(--cyan);background:var(--cyan);box-shadow:var(--glow-cyan);animation:.5s cubic-bezier(.3,1.8,.5,1) 2.2s both ci-me}.ci-hint{margin-top:16px;animation:.4s 2.3s both fade-in}@keyframes ci-grid{to{background-position:0 28px,0 0}}@keyframes ci-logo{0%{opacity:0;filter:grayscale()brightness(.5)}30%{opacity:.6}to{opacity:1;filter:none}}@keyframes ci-corner{0%{opacity:0;transform:var(--ci-from)}}@keyframes ci-corner-ok{to{border-color:var(--green);filter:drop-shadow(0 0 8px var(--green))}}@keyframes ci-line{0%{opacity:1;transform:translateY(0)}50%{opacity:1;transform:translateY(154px)}to{opacity:0;transform:translateY(0)}}@keyframes ci-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.6)}}@keyframes ci-draw-circle{0%{stroke-dashoffset:151px}to{stroke-dashoffset:0}}@keyframes ci-draw-check{0%{stroke-dashoffset:40px}to{stroke-dashoffset:0}}@keyframes ci-me{0%{background:#fff;transform:scale(2.2)}}.vs-mid{justify-items:center;display:grid;position:relative}.vs-overlay.final{background:#07030b}.vs-overlay.final .vs-bg{background:linear-gradient(105deg,#22e6ff42 0 49.6%,#ffd84ae6 49.6% 50.4%,#3dff8f38 50.4%),radial-gradient(70% 50%,#ff6bd640,#0000 70%),repeating-linear-gradient(105deg,#0000 0 22px,#ffffff08 22px 24px)}.vs-overlay>.fn-rays{pointer-events:none;background:repeating-conic-gradient(#ffd84a29 0 5deg, transparent 5deg 15deg);width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;animation:.6s .4s both fade-in,20s linear infinite res-spin;position:absolute;top:50%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 40%);mask-image:radial-gradient(circle,#000 0,#0000 40%)}.vs-overlay.final .vs-kind{color:var(--gold);text-shadow:0 0 10px #ffd84acc;gap:2px;display:grid}.fn-sub{letter-spacing:.3em;color:#fff;text-shadow:0 0 10px #ff6bd6e6,0 0 26px #ff6bd699;padding-left:.3em;font-size:1.7rem}.vs-overlay.final .vs-mark{background:linear-gradient(#fff 25%,#ffd84a 55%,#ff6bd6);filter:drop-shadow(0 0 12px #ffd84ae6)drop-shadow(0 0 30px #ff6bd699);-webkit-background-clip:text;background-clip:text}.fn-trophy{filter:drop-shadow(0 0 12px #ffd84acc);margin-bottom:-6px;animation:.7s cubic-bezier(.3,1.5,.5,1) .9s both champ-drop,2.4s ease-in-out 2s infinite champ-float}.fn-bolt{fill:#ffe98a;filter:drop-shadow(0 0 6px #ffd84a)drop-shadow(0 0 14px #ff6bd6);opacity:0;width:22px;height:58px;animation:1.8s step-end 1.3s infinite fn-flicker;position:absolute;top:34px}.fn-bolt.l{left:-18px;transform:rotate(-14deg)}.fn-bolt.r{animation-delay:1.55s;right:-18px;transform:scaleX(-1)rotate(-14deg)}.vs-overlay.final .vs-ok{color:#1d0016;background:linear-gradient(90deg,#ffd84a,#ff6bd6);animation-name:fn-breathe;box-shadow:0 0 18px #ffd84acc,0 0 40px #ff6bd680}.fn-watch{color:var(--gold);text-shadow:0 0 10px #ffd84ab3;margin:0;font-size:1.15rem;font-weight:900;animation:1.6s ease-in-out 2.4s infinite blink}.vs-overlay.final>.cf-flash{background:radial-gradient(circle at 50% 45%,#fff 0%,#fff0bee6 40%,#ff6bd68c 100%)}.vs-overlay.final .cf-ring{border-color:#ffd84a;box-shadow:0 0 8px #ffd84a,0 0 18px #ffd84a99}.vs-overlay.final .cf-ring:nth-child(2){border-color:#ff6bd6;box-shadow:0 0 8px #ff6bd6,0 0 18px #ff6bd699}.vs-overlay.final .cf-band{background:linear-gradient(90deg,#0000,#ffd84af5 18%,#ff6bd6f5 82%,#0000);box-shadow:0 0 34px #ff6bd699}.vs-overlay.final .cf-band-en,.vs-overlay.final .cf-band-ja{color:#2a0020}.vs-overlay>.fn-title{z-index:5;pointer-events:none;background:radial-gradient(circle,#ff6bd666,#07030b 68%);grid-template-rows:auto auto;grid-template-columns:auto auto auto;place-content:center;justify-items:center;column-gap:6px;animation:.45s ease-in 1.15s both fn-title-out;display:grid;position:absolute;inset:0}.vs-overlay>.fn-title:before{content:"";background:#fff;animation:.45s ease-out .12s both cf-flash;position:absolute;inset:0}.fn-title-en{color:#0000;background:linear-gradient(100deg,#a36d00 0%,#ffd84a 30%,#fff 48%,#ffd84a 62%,#a36d00 100%) 0 0/200% 100%;filter:drop-shadow(0 0 14px #ffd84ae6)drop-shadow(0 0 34px #ff6bd6b3);-webkit-background-clip:text;background-clip:text;grid-column:2;font-size:clamp(4.5rem,26vw,8.5rem);font-style:italic;font-weight:900;line-height:1;animation:.5s cubic-bezier(.3,1.6,.5,1) 50ms both fn-slam,1.2s linear .4s infinite champ-shine}.fn-title-ja{letter-spacing:.5em;color:#fff;text-shadow:0 0 10px #ff6bd6e6,0 0 24px #ff6bd699;grid-column:1/-1;margin-top:6px;padding-left:.5em;font-size:1.5rem;font-weight:900;animation:.3s .45s both fade-in}.fn-title-bolt{fill:#ffe98a;filter:drop-shadow(0 0 8px #ffd84a)drop-shadow(0 0 18px #ff6bd6);grid-row:1;width:30px;height:80px;animation:.25s ease-out .35s both fn-bolt-in}.fn-title-bolt.l{grid-column:1}.fn-title-bolt.r{grid-column:3;transform:scaleX(-1)}.vs-overlay.confirmed .fn-trophy{animation:2.4s ease-in-out infinite champ-float}.vs-overlay.fn-intro .vs-bg{animation-delay:1.15s}.vs-overlay.fn-intro .vs-kind{animation-delay:1.35s}.vs-overlay.fn-intro .vs-side.left,.vs-overlay.fn-intro .vs-side.right{animation-delay:1.3s}.vs-overlay.fn-intro .fn-trophy{animation-delay:1.7s,2.6s}.vs-overlay.fn-intro .vs-mark{animation-delay:1.85s,2.5s}.vs-overlay.fn-intro .fn-bolt.l{animation-delay:2.3s}.vs-overlay.fn-intro .fn-bolt.r{animation-delay:2.55s}.vs-overlay.fn-intro .vs-format{animation-delay:2.1s}.vs-overlay.fn-intro .vs-foot{animation-delay:2.2s}.vs-overlay.fn-intro .vs-ok{animation-delay:2.6s}.res-final{color:#ff6bd6;letter-spacing:.2em;border:1px solid #ff6bd6;border-radius:999px;margin:0 0 8px;padding:2px 14px;font-size:.8rem;font-weight:900;box-shadow:0 0 12px #ff6bd680}@keyframes fn-flicker{0%,to{opacity:0}4%{opacity:1}8%{opacity:.2}12%{opacity:1}22%{opacity:0}}@keyframes fn-breathe{50%{box-shadow:0 0 26px #ffd84a,0 0 60px #ff6bd6b3}}@keyframes fn-slam{0%{opacity:0;filter:blur(6px);transform:scale(3.5)}70%{transform:scale(.94)}}@keyframes fn-bolt-in{0%{opacity:0;translate:0 -30px}}@keyframes fn-title-out{to{opacity:0;visibility:hidden;transform:scale(1.3)}}.vs-overlay.cancelled{animation:.4s steps(2,end) 50ms cx-glitch}.vs-overlay.cancelled .vs-bg{animation:.8s ease-out .15s both cx-drain}.vs-overlay>.cx-flash{pointer-events:none;background:radial-gradient(circle at 50% 45%,#0000 35%,#6e001c73);animation:.9s ease-out both cx-flash;position:absolute;inset:0}.vs-overlay.cancelled .vs-kind{color:var(--muted);text-shadow:none;-webkit-text-decoration:line-through 2px var(--danger);text-decoration:line-through 2px var(--danger);animation:.3s both fade-in}.vs-overlay.cancelled .vs-side.left{animation:.7s cubic-bezier(.2,.8,.3,1) .3s both cx-apart-l}.vs-overlay.cancelled .vs-side.right{animation:.7s cubic-bezier(.2,.8,.3,1) .3s both cx-apart-r}.cx-mid{place-items:center;display:grid}.cx-mid>*{grid-area:1/1}.cx-vs{letter-spacing:-.04em;background:linear-gradient(180deg, #fff 30%, var(--cyan) 55%, var(--green));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px #22e6ffcc);-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,16vw,5.5rem);font-style:italic;font-weight:900;line-height:1.15}.vs-overlay.final .cx-vs{background:linear-gradient(#fff 25%,#ffd84a 55%,#ff6bd6);-webkit-background-clip:text;background-clip:text}.cx-vs.top{clip-path:polygon(0 0,100% 0,100% 40%,0 60%);animation:.8s cubic-bezier(.2,.8,.3,1) .25s both cx-split-top}.cx-vs.bottom{clip-path:polygon(0 60%,100% 40%,100% 100%,0 100%);animation:.9s cubic-bezier(.4,0,.6,1) .25s both cx-split-bottom}.cx-crack{background:linear-gradient(90deg, transparent, #fff 20%, var(--danger) 50%, #fff 80%, transparent);width:150%;height:3px;box-shadow:0 0 10px var(--danger);animation:.5s ease-out .18s both cx-crack;transform:rotate(-11deg)scaleX(0)}.cx-stamp{z-index:3;border:4px solid var(--danger);color:var(--danger);background:#1a020ab8;border-radius:10px;justify-items:center;padding:6px 14px 8px;animation:.45s cubic-bezier(.3,1.8,.5,1) .55s both cx-stamp;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-10deg);box-shadow:0 0 18px #ff5c7a99,inset 0 0 12px #ff5c7a59}.cx-stamp-en{letter-spacing:.04em;text-shadow:0 0 12px #ff5c7acc;font-size:clamp(1.8rem,9vw,2.6rem);font-style:italic;font-weight:900;line-height:1.05}.cx-stamp-ja{letter-spacing:.4em;color:#ffd0da;padding-left:.4em;font-size:1rem;font-weight:900}.cx-foot{gap:4px}.cx-msg{margin:0;font-size:1.15rem;font-weight:900;line-height:1.5}.cx-next{color:var(--muted);margin:0 0 6px;font-weight:700}@keyframes cx-glitch{0%{transform:translate(-6px,2px)}50%{transform:translate(5px,-3px)}to{transform:none}}@keyframes cx-drain{to{filter:grayscale(.9)brightness(.45)}}@keyframes cx-flash{0%{opacity:0}12%{opacity:1;background-color:#ff5c7a73}to{opacity:1;background-color:#0000}}@keyframes cx-apart-l{to{opacity:.55;filter:grayscale(.8);transform:translate(-12px)rotate(-5deg)scale(.9)}}@keyframes cx-apart-r{to{opacity:.55;filter:grayscale(.8);transform:translate(12px)rotate(5deg)scale(.9)}}@keyframes cx-split-top{to{opacity:.3;transform:translate(-12px,-22px)rotate(-14deg)}}@keyframes cx-split-bottom{to{opacity:.2;transform:translate(14px,46px)rotate(12deg)}}@keyframes cx-crack{60%{opacity:1;transform:rotate(-11deg)scaleX(1)}to{opacity:0;transform:rotate(-11deg)scaleX(1)}}@keyframes cx-stamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(-10deg)scale(2.6)}}.result-overlay{z-index:60;text-align:center;background:radial-gradient(circle at 50% 42%,#3dff8f47,#0000 62%),#02040a;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.result-overlay.lose{background:radial-gradient(circle at 50% 42%,#465a8c59,#0000 65%),#03050c}.res-body{z-index:2;justify-items:center;gap:2px;padding:16px;display:grid;position:relative}.res-flash{z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 40%,#fff,#c8ffe1d9 45%,#3dff8f66);animation:.55s ease-out both cf-flash;position:absolute;inset:0}.res-rays{z-index:0;pointer-events:none;background:repeating-conic-gradient(#3dff8f29 0 8deg, transparent 8deg 22deg);width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;animation:.6s .2s both fade-in,14s linear infinite res-spin;position:absolute;top:42%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 45%);mask-image:radial-gradient(circle,#000 0,#0000 45%)}.res-confetti{z-index:1;pointer-events:none;position:absolute;inset:0}.res-confetti i{background:var(--c);width:7px;height:12px;box-shadow:0 0 6px var(--c);opacity:0;animation:res-confetti var(--t) cubic-bezier(.25, .4, .6, 1) var(--d) both;border-radius:2px;position:absolute;top:-20px}.res-corrected{border:1px solid var(--warn);color:var(--warn);letter-spacing:.2em;border-radius:999px;margin:0 0 8px;padding:2px 12px;font-size:.8rem;font-weight:800}.res-logo{border:3px solid var(--green);box-shadow:var(--glow-green);animation:.55s cubic-bezier(.3,1.6,.5,1) .1s both res-logo-drop}.result-overlay.lose .res-logo{box-shadow:none;filter:saturate(.6)brightness(.85);border-color:#5d6f9c;animation:.6s .1s both fade-in}.result-word{color:var(--green);text-shadow:var(--glow-green), 0 0 60px #3dff8f99;margin:10px 0 0;font-size:clamp(4rem,24vw,7.5rem);font-style:italic;font-weight:900;line-height:1;animation:.5s cubic-bezier(.3,1.8,.5,1) .25s both stamp}.result-overlay.lose .result-word{color:#9fb0d8;text-shadow:0 0 14px #9fb0d873;animation:.8s cubic-bezier(.2,.8,.3,1) .2s both res-sink}.result-sub{margin:0;font-size:1.3rem;font-weight:800;animation:.4s .45s both fade-in}.result-score{font-variant-numeric:tabular-nums;color:var(--cyan);text-shadow:var(--glow-cyan);align-items:baseline;gap:10px;margin:10px 0 0;font-size:3rem;font-weight:900;animation:.3s .4s both fade-in;display:flex}.res-dash{color:var(--muted);text-shadow:none}.result-overlay.lose .result-score{color:#c4d0ec;text-shadow:none}.res-games{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;animation:.4s 1s both fade-in}.res-vs{color:var(--muted);margin:6px 0 0;font-weight:700;animation:.4s 1s both fade-in}.res-nice{color:var(--text);gap:2px;margin:18px 0 0;font-weight:700;animation:.6s ease-out 1.3s both res-rise;display:grid}.res-nice span{letter-spacing:.12em;color:var(--cyan);text-shadow:var(--glow-cyan);font-size:1.5rem;font-style:italic;font-weight:900}.res-hint{margin-top:16px;animation:.4s 1.6s both fade-in}@keyframes res-spin{to{transform:rotate(360deg)}}@keyframes res-confetti{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--x), 105vh) rotate(var(--r))}}@keyframes res-logo-drop{0%{opacity:0;transform:translateY(-60px)scale(1.8)}}@keyframes res-sink{0%{opacity:0;letter-spacing:.2em;transform:translateY(-24px)}}@keyframes res-rise{0%{opacity:0;transform:translateY(12px)}}.champ-overlay{z-index:60;text-align:center;background:radial-gradient(circle at 50% 34%,#ffd84a4d,#0000 60%),radial-gradient(90% 40% at 50% 110%,#ffaa002e,#0000 70%),#050308;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.champ-overlay.other{background:radial-gradient(circle at 50% 36%,#ffd84a29,#0000 60%),#03050c}.champ-flash{z-index:4;pointer-events:none;background:radial-gradient(circle at 50% 34%,#fff,#ffeca0e6 40%,#ffbe2880);animation:.7s ease-out both cf-flash;position:absolute;inset:0}.champ-overlay.other .champ-flash{opacity:0;animation:none}.champ-rays{z-index:0;pointer-events:none;background:repeating-conic-gradient(#ffd84a33 0 6deg, transparent 6deg 18deg);width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;animation:.8s .2s both fade-in,18s linear infinite res-spin;position:absolute;top:34%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 46%);mask-image:radial-gradient(circle,#000 0,#0000 46%)}.champ-overlay.other .champ-rays{opacity:.55}.champ-fireworks,.champ-confetti{z-index:1;pointer-events:none;position:absolute;inset:0}.fw{width:0;height:0;position:absolute}.fw i{background:var(--c);width:6px;height:6px;box-shadow:0 0 6px var(--c), 0 0 14px var(--c);opacity:0;animation:fw-burst 2.6s cubic-bezier(.15, .7, .3, 1) var(--d) infinite;border-radius:50%;position:absolute;top:-3px;left:-3px}.champ-confetti i{background:var(--c);width:8px;height:13px;box-shadow:0 0 6px var(--c);opacity:0;animation:res-confetti var(--t) cubic-bezier(.25, .4, .6, 1) var(--d) infinite;border-radius:2px;position:absolute;top:-20px}.champ-body{z-index:2;justify-items:center;gap:4px;max-width:100%;padding:16px;display:grid;position:relative}.champ-eyebrow{color:var(--gold);letter-spacing:.25em;margin:0;font-size:.8rem;font-weight:800;animation:.5s .3s both fade-in}.champ-finished{letter-spacing:.2em;margin:0 0 6px;font-size:1.8rem;font-weight:900;animation:.6s ease-out .15s both res-rise}.champ-trophy{filter:drop-shadow(0 0 18px #ffd84abf)drop-shadow(0 0 40px #ffaa0073);margin-top:4px;animation:.8s cubic-bezier(.3,1.5,.5,1) .1s both champ-drop;position:relative}.champ-trophy:after{content:"";z-index:-1;background:radial-gradient(closest-side,#ffd84a8c,#0000);border-radius:50%;width:140%;height:22px;position:absolute;bottom:-6px;left:50%;translate:-50%}.champ-overlay.mine .champ-trophy .trophy{animation:2.4s ease-in-out 1s infinite champ-float}.champ-overlay.other .champ-trophy{animation:.7s ease-out .3s both res-rise}.champ-word{letter-spacing:.04em;color:#0000;background:linear-gradient(100deg,#a36d00 0%,#ffd84a 30%,#fff 48%,#ffd84a 62%,#a36d00 100%) 0 0/200% 100%;filter:drop-shadow(0 0 10px #ffd84ab3);-webkit-background-clip:text;background-clip:text;margin:8px 0 0;font-size:clamp(2.6rem,15vw,4.6rem);font-style:italic;font-weight:900;line-height:1;animation:.55s cubic-bezier(.3,1.8,.5,1) .6s both stamp,2.4s linear 1.2s infinite champ-shine}.champ-overlay.other .champ-word{font-size:clamp(1.8rem,10vw,2.8rem);animation:.5s .6s both fade-in,2.4s linear 1.2s infinite champ-shine}.champ-team{align-items:center;gap:12px;max-width:100%;margin-top:10px;animation:.6s ease-out .95s both res-rise;display:flex}.champ-logo{border:3px solid var(--gold);flex:none;box-shadow:0 0 8px #ffd84ae6,0 0 22px #ffd84a80}.champ-name{text-align:left;color:#fff;text-shadow:0 0 12px #ffd84acc;overflow-wrap:anywhere;font-size:1.5rem;font-weight:900;line-height:1.25;display:grid}.champ-label{letter-spacing:.3em;color:var(--gold);text-shadow:none;font-size:.8rem}.champ-congrats{color:var(--gold);text-shadow:0 0 10px #ffd84ab3;margin:12px 0 0;font-size:1.25rem;font-weight:900;animation:.6s ease-out 1.3s both res-rise,1.6s ease-in-out 2s infinite champ-pulse}.champ-record{color:var(--muted);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:.9rem;animation:.5s 1.6s both fade-in}.champ-mine{border-top:1px solid var(--line);gap:2px;margin:16px 0 0;padding-top:12px;font-weight:700;animation:.6s ease-out 1.5s both res-rise;display:grid}.champ-mine span{color:var(--cyan);text-shadow:var(--glow-cyan)}.champ-hint{margin-top:16px;animation:.4s 2.2s both fade-in}@keyframes fw-burst{0%{opacity:1;transform:translate(0)scale(1.4)}45%{opacity:1}70%,to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 28px)) scale(.4)}}@keyframes champ-drop{0%{opacity:0;transform:translateY(-120px)scale(1.6)rotate(-8deg)}}@keyframes champ-float{50%{transform:translateY(-6px)}}@keyframes champ-shine{0%{background-position:200% 0}to{background-position:0 0}}@keyframes champ-pulse{50%{transform:scale(1.06)}}.player-page .champion{position:relative;overflow:hidden}.player-page .champion:before{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#fff0b438 50%,#0000 65%) 0 0/200% 100%;animation:3.2s linear infinite champ-shine;position:absolute;inset:0}.player-page .champion-trophy{filter:drop-shadow(0 0 10px #ffd84ab3)}.intro{z-index:100;pointer-events:none;background:radial-gradient(circle at 50% 45%,#0a1d33 0%,#02040a 65%);place-content:center;justify-items:center;gap:6px;animation:1s ease-in both intro-out;display:grid;position:fixed;inset:0}.intro-flash{border:3px solid var(--cyan);width:60vmin;height:60vmin;box-shadow:var(--glow-cyan), inset 0 0 30px #22e6ff66;border-radius:50%;margin:-30vmin 0 0 -30vmin;animation:.6s cubic-bezier(.2,.8,.3,1) .1s both intro-ring;position:absolute;top:45%;left:50%}.intro-paddle{filter:drop-shadow(0 0 10px #22e6ffe6)drop-shadow(0 0 24px #3dff8f80);width:132px;height:132px;animation:.45s cubic-bezier(.3,1.6,.5,1) both intro-paddle}.intro-face{fill:#22e6ff2e;stroke:var(--cyan);stroke-width:7px}.intro-grip{fill:var(--green)}.intro-ball{fill:#ffd84a;transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.3,1.4,.5,1) .15s both intro-ball}.intro-title{letter-spacing:.04em;color:#fff;text-shadow:var(--glow-cyan);margin:0;font-size:2.4rem;font-style:italic;font-weight:900;animation:.4s ease-out .2s both intro-title}.intro-title span{color:var(--green);text-shadow:var(--glow-green)}.intro-sub{letter-spacing:.6em;color:var(--muted);margin:0;padding-left:.6em;font-size:.85rem;font-weight:800;animation:.3s ease-out .4s both fade-in}@keyframes intro-out{0%,78%{opacity:1}to{opacity:0;transform:scale(1.06)}}@keyframes intro-ring{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.4)}}@keyframes intro-paddle{0%{opacity:0;transform:scale(.3)rotate(-60deg)}}@keyframes intro-ball{0%{opacity:0;transform:translate(-40px,40px)scale(.4)}}@keyframes intro-title{0%{opacity:0;letter-spacing:.6em;filter:blur(6px)}}:root[data-theme=player] .toasts{flex-direction:column-reverse;display:flex}.player-page .rank-badge.r1{box-shadow:0 0 10px #ffd84acc}.player-page .win-bar i{background:linear-gradient(90deg, var(--cyan), var(--green));box-shadow:0 0 6px var(--green)}.player-page .form-dots i.w{box-shadow:0 0 6px var(--green)}.player-page .matrix td.hl,.player-page .matrix th.hl{background-color:#22e6ff1a}.player-page .matrix td.target{box-shadow:inset 0 0 0 2px var(--cyan), 0 0 12px #22e6ff80}.player-page .matrix td.flash:after{box-shadow:inset 0 0 0 2px var(--green), inset 0 0 14px #3dff8f99}.player-page .cell-detail{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.player-page .mp-bar .done{background:linear-gradient(90deg, var(--cyan), var(--green));box-shadow:0 0 6px var(--green)}:root[data-theme=admin]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f9;--surface:#fff;--surface-2:#f0f3f7;--line:#dce2ea;--text:#1b2430;--muted:#637184;--accent:#0b7fae;--on-accent:#fff;--danger:#cf3346;--win:#128a46;--lose:#9aa5b4;--warn:#9a6a00;--warn-bg:#fff3c9;--live:#0b7fae;--live-bg:#def3fb;--final:#a1307f;--final-bg:#fbe4f4;--gold:#9a6a00;--gold-bg:#fff6d6;--flash:#d5f7e3;--logo-bg:#eef2f6;--backdrop:#141e2d73;--toast-bg:#fff}.admin-shell{min-height:100dvh}.admin-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{color:var(--text);font-weight:900;text-decoration:none}.brand span,.admin-login h1 span{color:var(--muted);margin-left:.3em;font-size:.85em;font-weight:600}.admin-header nav{align-items:center;gap:16px;display:flex}.admin-header nav a{color:var(--muted);font-weight:600;text-decoration:none}.admin-header nav a.active{color:var(--accent)}.admin-page{max-width:1200px;margin:0 auto;padding:20px 16px 120px}.admin-page>h1{font-size:1.4rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:16px}.card h2{font-size:1.05rem}.alert{background:var(--warn-bg);color:var(--warn);border-radius:10px;margin-bottom:16px;padding:12px 14px;font-weight:700}.alert p{margin:0}.count{background:var(--surface-2);min-width:1.6em;color:var(--muted);text-align:center;border-radius:999px;padding:0 .4em;font-size:.8rem;display:inline-block}label{color:var(--muted);gap:4px;font-size:.85rem;font-weight:600;display:grid}:root[data-theme=admin] input:not([type=checkbox],[type=radio]),:root[data-theme=admin] select{border:1px solid var(--line);min-height:40px;color:var(--text);background:#fff;border-radius:8px;padding:6px 10px;font-size:1rem}fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 12px}legend{color:var(--muted);font-size:.85rem;font-weight:600}label.radio{color:var(--text);align-items:center;gap:8px;padding:4px 0;font-size:.95rem;font-weight:500;display:flex}.inline-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.inline-form h2{width:100%;margin:0}.inline-form label{flex:220px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:16px;display:grid}.list,.team-list,.match-list,.entry-list,.pair-list,.confirm-list{margin:0;padding:0;list-style:none}.list li a{border-bottom:1px solid var(--line);color:var(--text);padding:12px 4px;text-decoration:none;display:grid}.list li a:hover strong{color:var(--accent)}.team-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.logo-button{color:var(--accent);background:0 0;border:0;justify-items:center;gap:2px;font-size:.7rem;display:grid}.team-info{flex:1;min-width:160px;display:grid}.row-form{flex-wrap:wrap;flex:1;gap:8px;display:flex}.row-actions{gap:6px;margin-left:auto;display:flex}.team-reg{margin-top:4px}.t-head .entry-count{color:var(--muted);margin:-.2em 0 8px}.entry-count strong{color:var(--text);font-size:1.1em}strong.bump{animation:.6s cubic-bezier(.3,1.8,.5,1) count-bump;display:inline-block}@keyframes count-bump{0%{color:var(--win);transform:scale(1.8)}}.toast.checkin{border-color:var(--win);color:var(--win);border-left-width:5px}.team-scope{background:var(--live-bg);color:var(--accent);border-radius:10px;margin-bottom:16px;padding:12px 14px;font-weight:600}.team-scope p{margin:8px 0 0}.scope-select{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:.95rem;display:flex}.back-link{color:var(--accent);margin-bottom:12px;font-weight:700;text-decoration:none;display:inline-block}.team-form-body{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.logo-picker{justify-items:center;gap:6px;display:grid}.logo-drop{border:2px dashed var(--line);background:var(--surface-2);width:120px;height:120px;color:var(--accent);border-radius:50%;place-items:center;padding:0;font-size:.85rem;font-weight:700;line-height:1.4;display:grid;overflow:hidden}.logo-drop:hover{border-color:var(--accent)}.logo-drop img{object-fit:contain;width:100%;height:100%}.team-form-fields{flex:260px;justify-items:start;gap:12px;display:grid}.team-form-fields label{width:100%}.team-info .tag{margin-left:8px}.t-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px;display:flex}.t-head p{margin:0}.t-head-side{align-items:center;gap:12px;display:flex}.conn{font-size:.8rem;font-weight:700}.conn.open{color:var(--win)}.conn.connecting,.conn.reconnecting{color:var(--warn)}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:12px 0 16px;display:flex;overflow-x:auto}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:10px 14px;font-weight:700;text-decoration:none}.tabs a.active{color:var(--accent);border-bottom-color:var(--accent)}.board-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}@media (width<=960px){.board-grid{grid-template-columns:minmax(0,1fr)}}.actions-bar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.actions-bar .btn{min-height:48px;font-size:1rem}.match-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;display:flex}.match-list li:last-child{border-bottom:0}.match-teams{flex-wrap:wrap;align-items:center;gap:4px;font-weight:700;display:flex}.match-teams .t{align-items:center;gap:6px;display:inline-flex}.ok-chip{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:0 6px;font-size:.7rem}.ok-chip.done{color:var(--win);background:#dcf5e6}.match-list.compact li{padding:6px 0}.result-line{flex-wrap:wrap;flex:1;align-items:baseline;gap:6px;display:inline-flex}.result-line .winner{color:var(--win);font-weight:800}.board-side .card h2{margin-bottom:.4em}.seg{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);color:var(--muted);border:0;padding:8px 18px;font-weight:700}.seg button.on{background:var(--accent);color:var(--on-accent)}.field{margin-bottom:12px}.pair-list{border:1px solid var(--line);border-radius:10px;max-height:46dvh;overflow-y:auto}.pair-list label{border-bottom:1px solid var(--line);color:var(--text);cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:1rem;font-weight:600;display:flex}.pair-list input{width:20px;height:20px}.tag{background:var(--warn-bg);color:var(--warn);border-radius:4px;padding:0 6px;font-size:.7rem}.final-pick{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.final-pick .confirm-list{width:100%}.confirm-list li{background:var(--surface-2);border-radius:10px;margin-bottom:6px;padding:10px 12px;font-size:1.05rem}.confirm-list .link{margin-left:12px;font-size:.85rem}.score-table{border-collapse:collapse;width:100%;margin:8px 0}.score-table th,.score-table td{text-align:center;padding:6px}.score-table thead th{font-size:.9rem}.score-table thead th>*{margin:0 auto;display:block}.score-table tbody th{color:var(--muted);text-align:left;white-space:nowrap;font-size:.85rem}.score-table input{text-align:center;width:100%;max-width:110px;font-weight:800;min-height:52px!important;font-size:1.5rem!important}.ok-line{color:var(--win);font-weight:800}.result-confirm{text-align:center;padding:8px 0}.result-confirm .logo{margin:0 auto}.winner-name{color:var(--win);margin:8px 0 0;font-size:1.4rem;font-weight:900}.big-score{font-variant-numeric:tabular-nums;margin:4px 0;font-size:1.8rem;font-weight:900}.saved{z-index:5;color:var(--win);background:#dcf5e6;border-radius:8px;margin:0 0 12px;padding:8px 12px;font-weight:700;position:sticky;top:60px}.entry-cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px;display:grid}.entry-cols h3{color:var(--muted);font-size:.9rem}.entry-list li{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 0;display:flex}.grow{flex:1;min-width:0}.danger-zone{border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.admin-login{place-items:center;min-height:100dvh;padding:16px;display:grid}.admin-login form{gap:14px;width:min(380px,100%);display:grid}.admin-login h1{font-size:1.2rem}.qr-page{text-align:center}.qr-title{margin:8px 0 0;font-size:1.6rem;font-weight:900}.qr-lead{color:var(--muted)}.qr-img{width:min(420px,100%);height:auto;image-rendering:pixelated}.qr-url{word-break:break-all;color:var(--muted);font-family:ui-monospace,monospace}.no-print{justify-content:center;gap:8px;display:flex}@media print{.admin-header,.t-head,.tabs,.no-print,.toasts{display:none!important}.card{border:0}.qr-img{width:70%}}.match-list li.fresh{animation:.45s cubic-bezier(.2,1.2,.4,1) row-in,2.4s ease-out row-flash}.sec-waiting .match-list li.fresh{--row-flash:var(--live-bg);--row-edge:var(--live)}.sec-playing .match-list li.fresh{--row-flash:#dcf5e6;--row-edge:var(--win)}.board-side .match-list li.fresh{--row-flash:var(--gold-bg);--row-edge:var(--gold)}@keyframes row-in{0%{opacity:0;transform:translate(-24px)}}@keyframes row-flash{0%,35%{background:var(--row-flash,var(--live-bg));box-shadow:inset 4px 0 0 var(--row-edge,var(--accent))}}.ok-chip.done{font-weight:800;animation:.5s cubic-bezier(.3,1.8,.5,1) chip-pop}@keyframes chip-pop{0%{background:var(--win);color:#fff;transform:scale(2.2)}}.wait-time{color:var(--muted);font-variant-numeric:tabular-nums}.match-list li.late .wait-time{color:var(--warn);font-weight:800}.match-list li.late .wait-time:before{content:"⏱ "}.match-list li.very-late{box-shadow:inset 4px 0 0 var(--danger);padding-left:10px;animation:2s ease-in-out infinite late-bg}.match-list li.very-late .wait-time{color:var(--danger);font-weight:800}.match-list li.very-late .wait-time:before{content:"⚠ "}.match-list li.very-late .btn.primary{animation:1.4s ease-in-out infinite nudge}@keyframes late-bg{50%{background:#fdecee}}@keyframes nudge{50%{box-shadow:0 0 0 5px #0b7fae40}}.standings .rank{white-space:nowrap;position:relative}.rank-move{margin-left:4px;font-size:.7rem;font-weight:900;animation:.3s .4s both fade-in}.rank-move.up{color:var(--win)}.rank-move.down{color:var(--danger)}.standings tr.moved-up{animation:2.4s ease-out rank-up}@keyframes rank-up{0%,40%{background:#dcf5e6}}.champion{position:relative;overflow:hidden}.champion.celebrate{animation:.6s cubic-bezier(.3,1.6,.5,1) champion-in}.champion-confetti{pointer-events:none;position:absolute;inset:0}.champion-confetti i{background:var(--c);opacity:0;width:7px;height:11px;animation:admin-confetti var(--t) cubic-bezier(.25, .4, .6, 1) var(--d) 2 both;border-radius:2px;position:absolute;top:-14px}@keyframes champion-in{0%{opacity:0;transform:scale(.9)}}@keyframes admin-confetti{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--x), 220px) rotate(var(--r))}}.modal.result-done{text-align:center}.done-mark{place-items:center;margin:4px 0 8px;display:grid}.done-mark svg{fill:none;width:84px;height:84px;stroke:var(--win);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;animation:.45s cubic-bezier(.3,1.8,.5,1) done-pop}.done-mark circle{fill:#e6f8ee;stroke-dasharray:151;animation:.45s ease-out both draw-151}.done-mark path{stroke-width:4.5px;stroke-dasharray:40;animation:.3s ease-out .3s both draw-40}.done-title{color:var(--win);margin:0;font-size:1.3rem;font-weight:900}@keyframes done-pop{0%{opacity:0;transform:scale(.4)}}@keyframes draw-151{0%{stroke-dashoffset:151px}to{stroke-dashoffset:0}}@keyframes draw-40{0%{stroke-dashoffset:40px}to{stroke-dashoffset:0}}@media (width>=960px){:root[data-theme=admin] .toasts{width:min(400px,100% - 32px);left:auto;right:16px;transform:none}}.team-form-body{border-radius:12px;transition:background .2s,box-shadow .2s;position:relative}.team-form-body.dragging{background:var(--live-bg);box-shadow:0 0 0 2px var(--accent), 0 0 0 8px var(--live-bg)}.team-form-body.dragging .logo-drop{border-color:var(--accent);background:#fff;border-style:solid;animation:.9s ease-in-out infinite drop-breathe}.logo-drop{transition:border-color .2s,transform .2s}.logo-drop:hover{transform:scale(1.04)}.logo-drop img{animation:.5s cubic-bezier(.3,1.6,.5,1) logo-in}@keyframes drop-breathe{50%{transform:scale(1.08);box-shadow:0 0 0 6px #0b7fae2e}}@keyframes logo-in{0%{opacity:0;transform:scale(.4)rotate(-20deg)}}.label-row{justify-content:space-between;gap:8px;display:flex}.char-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.char-count.full{color:var(--warn);font-weight:800}.team-preview{color:#e8f6ff;background:radial-gradient(80% 50% at 50% 0,#22e6ff2e,#0000 70%),#04060d;border-radius:14px;flex:0 220px;justify-items:center;gap:8px;padding:12px;display:grid}.pv-caption{letter-spacing:.1em;color:#8395c0;font-size:.7rem;font-weight:800}.pv-tile{background:#0a1226;border:1px solid #1a2a52;border-radius:12px;justify-items:center;gap:6px;width:100%;padding:12px 8px;display:grid}.pv-logo{object-fit:contain;background:#0e1934;border:2px solid #22e6ff;border-radius:50%;width:64px;height:64px;box-shadow:0 0 6px #22e6ffe6,0 0 18px #22e6ff80}.pv-fallback{color:#22e6ff;place-items:center;font-size:1.7rem;font-weight:900;display:grid}.pv-name{text-align:center;overflow-wrap:anywhere;max-width:100%;font-weight:800}.pv-name.empty,.pv-chip .empty{color:#4b5b85}.pv-matrix{justify-items:center;gap:4px;display:grid}.pv-chip{background:#0e1934;border:1px solid #1a2a52;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:.8rem;font-weight:800;display:inline-flex}.pv-chip .pv-logo{width:22px;height:22px;box-shadow:none;border-width:1px;font-size:.7rem}.team-list li{position:relative}.team-list li.flash-new{--row-flash:#dcf5e6;--row-edge:var(--win);animation:.5s cubic-bezier(.2,1.2,.4,1) row-in,3s ease-out team-flash}.team-list li.flash-in{--row-flash:#dcf5e6;--row-edge:var(--win);animation:2.4s ease-out team-flash}.team-list li.flash-out{--row-flash:var(--surface-2);--row-edge:var(--muted);animation:2.4s ease-out team-flash}.team-list li.flash-logo{--row-flash:var(--live-bg);--row-edge:var(--accent);animation:2.4s ease-out team-flash}.team-list li.removing{pointer-events:none;animation:.35s ease-in forwards row-out}@keyframes team-flash{0%,40%{background:var(--row-flash);box-shadow:inset 4px 0 0 var(--row-edge)}}@keyframes row-out{to{opacity:0;background:#fdecee;transform:translate(40px)}}.new-badge{z-index:1;background:var(--win);color:#fff;letter-spacing:.1em;border-radius:999px;padding:1px 7px;font-size:.65rem;font-weight:900;animation:.5s cubic-bezier(.3,1.8,.5,1) .2s both chip-pop;position:absolute;top:4px;left:40px}.logo.logo-pop{animation:.6s cubic-bezier(.3,1.6,.5,1) logo-in}.team-info .ok-chip{display:inline-block}.team-list li.flash-in .team-info .ok-chip.done{animation:.5s cubic-bezier(.3,1.8,.5,1) chip-pop}.saved.pop{animation:.4s cubic-bezier(.2,1.4,.4,1) saved-in}.saved.pop:before{content:"✓ ";font-weight:900}@keyframes saved-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}}.tournament-form{align-items:stretch}.tournament-form-fields{flex-wrap:wrap;flex:320px;align-self:center;align-items:end;gap:12px;display:flex}.tournament-form-fields label{flex:220px}.day-badge{white-space:nowrap;border-radius:999px;padding:0 8px;font-size:.72rem;font-weight:800;animation:.4s cubic-bezier(.3,1.8,.5,1) chip-pop;display:inline-block}.day-badge.today{background:var(--danger);color:#fff;animation:.4s cubic-bezier(.3,1.8,.5,1) chip-pop,1.6s ease-in-out .4s infinite today-pulse}.day-badge.soon{background:var(--warn-bg);color:var(--warn)}.day-badge.later{background:var(--live-bg);color:var(--accent)}.day-badge.past{background:var(--surface-2);color:var(--muted)}@keyframes today-pulse{50%{box-shadow:0 0 0 4px #cf334633}}.tournament-preview{flex:0 240px;justify-items:center;gap:6px;display:grid}.tp-screen{color:#e8f6ff;text-align:center;background:radial-gradient(80% 40% at 50% -10%,#22e6ff33,#0000 70%),#04060d;border:3px solid #1b2430;border-radius:16px;justify-items:center;gap:4px;width:100%;padding:14px 12px;display:grid}.tp-date{letter-spacing:.1em;color:#22e6ff;font-size:.7rem;font-weight:800}.tp-name{overflow-wrap:anywhere;text-shadow:0 0 10px #22e6ff80;max-width:100%;font-size:1.05rem;font-weight:900;line-height:1.3}.tp-name.empty{color:#4b5b85;text-shadow:none}.tp-lead{color:#8395c0;font-size:.65rem}.tp-tiles{grid-template-columns:repeat(2,1fr);gap:6px;width:100%;margin-top:6px;display:grid}.tp-tiles i{background:#0a1226;border:1px solid #1a2a52;border-radius:8px;height:26px}.tournament-list li{animation:row-in .4s cubic-bezier(.2, 1.2, .4, 1) calc(var(--i,0) * 60ms) both}.tournament-list li a{border-radius:8px;transition:background .15s,transform .15s}.tournament-list li a:hover{background:var(--surface-2);transform:translate(4px)}.t-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.created-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f4f6f9d9;place-items:center;animation:.25s both fade-in;display:grid;position:fixed;inset:0;overflow:hidden}.created-confetti{pointer-events:none;position:absolute;inset:0}.created-confetti i{background:var(--c);opacity:0;width:9px;height:14px;animation:created-confetti var(--t) cubic-bezier(.25, .4, .6, 1) var(--d) both;border-radius:2px;position:absolute;top:-16px}.created-card{text-align:center;background:#fff;border-radius:18px;justify-items:center;gap:4px;min-width:min(380px,100vw - 32px);padding:24px 28px;animation:.5s cubic-bezier(.2,1.4,.4,1) created-in;display:grid;position:relative;box-shadow:0 24px 60px #141e2d40}.created-title{color:var(--win);margin:0;font-size:1.3rem;font-weight:900}.created-name{margin:4px 0 0;font-size:1.5rem;font-weight:900;animation:.3s .35s both fade-in}.created-next{color:var(--accent);margin:10px 0 0;font-weight:700;animation:.3s .7s both fade-in}@keyframes created-in{0%{opacity:0;transform:translateY(30px)scale(.9)}}@keyframes created-confetti{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--x), 105vh) rotate(var(--r))}}.next-steps{background:linear-gradient(90deg,#e9f9f0,#f2fbff);border:1px solid #b9e3d0;border-radius:12px;margin:0 0 16px;padding:14px 16px;animation:.5s cubic-bezier(.2,1.4,.4,1) created-in}.ns-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.next-steps ol{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.next-steps li{border:1px solid var(--line);animation:row-in .4s cubic-bezier(.2, 1.2, .4, 1) calc(.3s + var(--i) * .12s) both;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.ns-mark{border:2px solid var(--accent);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.next-steps li.done .ns-mark{border-color:var(--win);background:var(--win);color:#fff;animation:chip-pop .5s cubic-bezier(.3, 1.8, .5, 1) calc(.5s + var(--i) * .12s) both}.ns-text{font-weight:800;display:grid}.ns-text a{color:var(--accent)}.next-steps li.done .ns-text>span{color:var(--win)}.ns-text small{color:var(--muted);font-weight:600}.qr-frame{width:min(420px,100%);margin:8px auto;line-height:0;position:relative}.qr-frame .qr-img{width:100%;animation:.9s cubic-bezier(.4,0,.2,1) .1s both qr-reveal}.qr-corner{border:0 solid var(--accent);width:44px;height:44px;animation:.5s cubic-bezier(.2,1.2,.4,1) both qr-corner;position:absolute}.qr-corner.tl{--from:translate(-18px, -18px);border-width:5px 0 0 5px;border-top-left-radius:12px;top:-6px;left:-6px}.qr-corner.tr{--from:translate(18px, -18px);border-width:5px 5px 0 0;border-top-right-radius:12px;top:-6px;right:-6px}.qr-corner.bl{--from:translate(-18px, 18px);border-width:0 0 5px 5px;border-bottom-left-radius:12px;bottom:-6px;left:-6px}.qr-corner.br{--from:translate(18px, 18px);border-width:0 5px 5px 0;border-bottom-right-radius:12px;bottom:-6px;right:-6px}.qr-scan{background:linear-gradient(90deg, transparent, var(--accent), #3ddc84, var(--accent), transparent);opacity:.8;pointer-events:none;border-radius:3px;height:3px;animation:3.2s ease-in-out 1s infinite qr-scan;position:absolute;top:4%;left:4%;right:4%;box-shadow:0 0 12px #0b7fae99}@keyframes qr-reveal{0%{clip-path:inset(0 0 100%);filter:blur(4px)}to{clip-path:inset(0);filter:none}}@keyframes qr-corner{0%{opacity:0;transform:var(--from)}}@keyframes qr-scan{0%,to{opacity:0;top:4%}10%,90%{opacity:.8}50%{top:95%}}.qr-welcome{box-shadow:0 0 0 4px var(--win), 0 20px 50px #141e2d40;background:#fffffff0;border-radius:20px;place-content:center;justify-items:center;gap:8px;line-height:1.3;animation:4s cubic-bezier(.2,1.4,.4,1) both qr-welcome;display:grid;position:absolute;inset:10%}.qr-welcome strong{font-size:1.4rem}.qr-welcome span{color:var(--win);font-size:1.6rem;font-weight:900}@keyframes qr-welcome{0%{opacity:0;transform:scale(.6)}10%,85%{opacity:1;transform:none}to{opacity:0;transform:scale(.95)}}.reception{border:1px solid var(--line);background:var(--surface-2);text-align:left;border-radius:14px;max-width:560px;margin:16px auto 8px;padding:14px 16px;display:block}.rc-head{justify-content:space-between;align-items:baseline;display:flex}.rc-count strong{color:var(--win);font-size:1.5rem}.rc-bar{background:var(--line);border-radius:999px;height:8px;margin:8px 0 12px;overflow:hidden}.rc-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--win));height:100%;transition:width .8s cubic-bezier(.2,1,.3,1);display:block}.rc-teams{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.rc-teams li{border:1px dashed var(--line);background:var(--surface);border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:8px;display:grid}.rc-teams li .logo{filter:grayscale();opacity:.55;grid-row:1/3}.rc-name{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.rc-state{color:var(--muted);font-size:.72rem}.rc-teams li.in{border-style:solid;border-color:var(--win);background:#e9f9f0}.rc-teams li.in .logo{filter:none;opacity:1}.rc-teams li.in .rc-state{color:var(--win);font-weight:800}.rc-teams li.in.just{animation:.6s cubic-bezier(.3,1.6,.5,1) rc-flip}@keyframes rc-flip{0%{transform:rotateY(90deg)scale(1.1)}}.rc-all{color:var(--win);text-align:center;background:#e9f9f0;border-radius:10px;margin:0 0 12px;padding:8px 12px;font-weight:900;animation:.5s cubic-bezier(.3,1.8,.5,1) chip-pop;position:relative;overflow:visible}.rc-confetti{pointer-events:none;height:0;position:absolute;top:0;left:0;right:0}.rc-confetti i{background:var(--c);opacity:0;width:7px;height:11px;animation:admin-confetti var(--t) cubic-bezier(.25, .4, .6, 1) var(--d) 2 both;border-radius:2px;position:absolute;top:0}.qr-actions{flex-wrap:wrap;margin-top:12px}.btn.copied{border-color:var(--win);color:var(--win);animation:.4s cubic-bezier(.3,1.8,.5,1) chip-pop}.qr-page.kiosk{z-index:90;background:radial-gradient(ellipse 70% 40% at 50% 0, var(--live-bg), transparent 70%), var(--surface);border:0;border-radius:0;align-content:safe center;justify-items:center;margin:0;padding:16px 24px;animation:.3s both fade-in;display:grid;position:fixed;inset:0;overflow:auto}.qr-page.kiosk .qr-date{color:var(--accent);letter-spacing:.1em;margin:0;font-weight:800}.qr-page.kiosk .qr-title{margin:0;font-size:clamp(1.6rem,3.6vw,2.4rem)}.qr-page.kiosk .qr-lead{font-size:1.15rem}.qr-page.kiosk .qr-frame{width:min(46vh,480px,90vw)}.qr-page.kiosk .reception{width:min(720px,100%);max-width:none}@media print{.qr-corner,.qr-scan,.qr-welcome{display:none!important}.qr-frame .qr-img{animation:none}}.standings-card{position:relative}.standings-card .big-btn{position:absolute;top:12px;right:12px}.standings-screen{z-index:90;background:radial-gradient(ellipse 70% 40% at 50% 0, var(--live-bg), transparent 70%), var(--surface);padding:clamp(16px,3vw,40px);animation:.3s both fade-in;position:fixed;inset:0;overflow:auto}.standings-screen .standings tbody tr{animation:.5s cubic-bezier(.2,1.2,.4,1) both row-in}.standings-screen .standings tbody tr:nth-child(2){animation-delay:80ms}.standings-screen .standings tbody tr:nth-child(3){animation-delay:.16s}.standings-screen .standings tbody tr:nth-child(4){animation-delay:.24s}.standings-screen .standings tbody tr:nth-child(n+5){animation-delay:.32s}.ss-head{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-bottom:16px;display:flex}.ss-head>div:first-child{flex:320px}.ss-head h1{margin:0;font-size:clamp(1.6rem,3.4vw,2.6rem)}.ss-date{color:var(--accent);letter-spacing:.1em;margin:0;font-weight:800}.ss-progress{min-width:220px;color:var(--muted);gap:6px;font-weight:700;display:grid}.ss-progress strong{color:var(--text);font-size:1.3em}.ss-progress .rc-bar{margin:0;display:block}
