.theme-dark{--surface-app: #14101f;--surface-card: #1d1730;--surface-raised: #241c3a;--border: #3a2b1a;--text-hi: #f3edf7;--text-mid: #9d96ab;--text-low: #6f6880;--tile-p0: #181225;--tile-p1: #1e182e;--tile-p2: #261e39;--tile-p3: #302746;--tile-p4: #3d3155;--tile-elite-border: #d4a23a;--tile-text-lo: #f3edf7;--tile-text-hi: #f3edf7;--accent: #b21f2d;--accent-text: #fde7e7;--win: #d4a23a;--gold: #d4a23a;--gold-bright: #e8b94a;--draw: #b9a9cf;--pos-fw: #d98a4a;--pos-mf: #97c459;--pos-df: #8aa6e6;--timer-from: #d4a23a;--timer-mid: #d98a4a;--timer-to: #d83a44;color-scheme:dark}.theme-light{--surface-app: #efe7d6;--surface-card: #fbf7ee;--surface-raised: #e7dcc6;--border: #ccbb98;--text-hi: #2a2030;--text-mid: #6b6178;--text-low: #948aa0;--tile-p0: #f3ece0;--tile-p1: #ece2df;--tile-p2: #e2d4df;--tile-p3: #d3c1dd;--tile-p4: #bfa9d2;--tile-elite-border: #a8791f;--tile-text-lo: #2a2030;--tile-text-hi: #2a2030;--accent: #b21f2d;--accent-text: #ffffff;--win: #9c7016;--gold: #9c7016;--gold-bright: #b5852a;--draw: #7a6f8c;--pos-fw: #c2622a;--pos-mf: #5f8a1c;--pos-df: #4a64a8;--timer-from: #9c7016;--timer-mid: #c2622a;--timer-to: #b21f2d;color-scheme:light}.cb{--pos-fw: #e69f00;--pos-mf: #cc79a7;--pos-df: #0072b2;--timer-from: #56b4e9;--timer-mid: #56b4e9;--timer-to: #e69f00}.match{gap:10px}.scorestrip{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px}.scorestrip .side{display:flex;flex-direction:column;min-width:0}.scorestrip .side.right{align-items:flex-end}.scorestrip .pname{font-weight:700;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:9rem}.scorestrip .pscore{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;transition:color .3s ease}.scorestrip .pscore.lead{color:var(--win)}.scorestrip .mid{text-align:center;color:var(--text-low);font-size:.7rem;font-weight:700;letter-spacing:.04em}.progress{height:5px;border-radius:99px;background:var(--surface-raised);overflow:hidden}.progress>span{display:block;height:100%;background:var(--text-mid);transition:width .3s ease}.pcard{position:relative;background:repeating-radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--gold) 6%,transparent) 0 1.5px,transparent 1.5px 30px),var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.pcard .strip{height:3px;width:100%}.pcard .phead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px 8px}.pcard .pname{font-size:1.18rem;font-weight:800;letter-spacing:-.01em;line-height:1.1}.pcard .pclub{color:var(--text-mid);font-size:.8rem;margin-top:2px}.pcard .pills{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.pill{font-size:.72rem;font-weight:800;padding:4px 9px;border-radius:99px;white-space:nowrap}.pill-pos{color:#07101f}.pill-pos[data-pos=FW]{background:var(--pos-fw)}.pill-pos[data-pos=MF]{background:var(--pos-mf)}.pill-pos[data-pos=DF]{background:var(--pos-df)}.theme-light .pill-pos{color:#fff}.pill-mins{background:var(--surface-raised);color:var(--text-hi);border:1px solid transparent;cursor:default;display:inline-flex;gap:5px;align-items:baseline}.pill-mins .v{font-variant-numeric:tabular-nums}.pill-mins.selectable{cursor:pointer}.pill-mins.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.pbody{padding:4px 12px 10px;display:flex;flex-direction:column;gap:5px}.group-label{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-low);margin:4px 2px 1px}.group-label:before{content:"";display:inline-block;width:5px;height:5px;border-radius:1.5px;background:var(--win);opacity:.85;margin-right:6px;vertical-align:1.5px}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tile{position:relative;text-align:left;border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 8px;font:inherit;cursor:default;color:var(--tile-text-lo);background:var(--tile-p0);transition:transform .06s ease,box-shadow .1s ease}.tile[data-band="0"]{background:var(--tile-p0)}.tile[data-band="1"]{background:var(--tile-p1)}.tile[data-band="2"]{background:var(--tile-p2)}.tile[data-band="3"]{background:var(--tile-p3);color:var(--tile-text-hi)}.tile[data-band="4"]{background:var(--tile-p4);color:var(--tile-text-hi);border-color:var(--tile-elite-border)}.tile[data-band="4"] .tval{color:var(--gold-bright)}.tile.no-tint{background:var(--surface-raised);color:var(--text-hi);border-color:transparent}.tile.selectable{cursor:pointer}.tile.selectable:active{transform:translateY(1px)}.tile.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.tile .tlabel{display:block;font-size:.62rem;font-weight:700;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile .tval{display:block;font-size:1.02rem;font-weight:800;font-variant-numeric:tabular-nums;margin-top:1px}.tile .elite{position:absolute;top:5px;right:7px;font-size:.7rem;color:var(--tile-elite-border)}.pickbar{position:sticky;bottom:0;z-index:5;display:flex;flex-direction:column;gap:8px;padding-top:10px;padding-bottom:calc(6px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--surface-app) 62%,color-mix(in srgb,var(--surface-app) 60%,transparent) 88%,transparent)}.locked-beat,.match .waiting{position:sticky;bottom:6px;z-index:5}.waiting{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;color:var(--text-mid);background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);font-weight:600}.locked-beat{text-align:center;padding:14px;color:var(--win);background:color-mix(in srgb,var(--win) 12%,var(--surface-card));border:1px solid color-mix(in srgb,var(--win) 45%,transparent);border-radius:var(--radius);font-weight:800;letter-spacing:.01em}.dots:after{content:"…";animation:dots 1.2s steps(4,end) infinite;width:1em;display:inline-block;overflow:hidden;vertical-align:bottom}@keyframes dots{0%{width:0}to{width:1em}}.timer{display:flex;align-items:center;gap:10px}.timer .num{font-variant-numeric:tabular-nums;font-weight:800;font-size:.9rem;min-width:2.2ch;text-align:right}.timer .bar{flex:1;height:6px;border-radius:99px;background:var(--surface-raised);overflow:hidden}.timer .bar>span{display:block;height:100%;transition:width .25s linear,background .4s linear}.timer.urgent .bar>span{animation:pulse .9s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:18px;background:#0408129e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .18s ease both}.reveal:before{content:"";position:absolute;top:-8%;left:50%;transform:translate(-50%);width:130%;height:65%;background:radial-gradient(closest-side,color-mix(in srgb,var(--win) 20%,transparent),transparent 72%);pointer-events:none;z-index:0}.reveal-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:14px}.reveal .rstat{text-align:center;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--text-mid)}.reveal .versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.reveal .rside{position:relative;min-width:0;border-radius:var(--radius-sm);padding:12px 10px;text-align:center;border:2px solid transparent;transition:border-color .25s ease,opacity .25s ease}.reveal .rside.win:after,.reveal .rside.split:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:calc(var(--radius-sm) + 4px);border:2px solid var(--win);pointer-events:none;animation:ring-land .55s cubic-bezier(.2,.8,.2,1) both}.reveal .rside.split:after{border-color:var(--draw)}@keyframes ring-land{0%{opacity:0;transform:scale(1.6) rotate(-12deg)}60%{opacity:1}to{opacity:1;transform:scale(1) rotate(0)}}.reveal .rside .rname{font-weight:700;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reveal .rside .rval{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;margin-top:4px}.reveal .rside.win{border-color:var(--win);box-shadow:0 0 22px -6px var(--win)}.reveal .rside.lose{opacity:.5}.reveal .rside.split{border-color:var(--draw)}.reveal .vs{font-weight:800;color:var(--text-low);font-size:.8rem}.reveal .badge{align-self:center;font-weight:800;font-size:.82rem;padding:5px 12px;border-radius:99px}.reveal .badge.win{background:var(--win);color:#2a1f02}.reveal .badge.lose{background:var(--surface-raised);color:var(--text-mid)}.reveal .badge.split{background:var(--draw);color:#0a1428}.toss{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#040812b8;animation:fade .2s ease both}.toss .coin{text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.toss .disc{width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9a8,var(--win));box-shadow:0 8px 30px -8px var(--win);animation:flip 2.1s cubic-bezier(.25,.7,.2,1)}.toss .enters{font-size:.95rem;color:var(--text-mid)}.toss .enters strong{color:var(--text-hi)}.toss .who{font-weight:800;font-size:1.1rem;animation:who-in .4s ease both;animation-delay:1.9s}.timer-urge{margin-top:4px;text-align:center;font-size:.78rem;font-weight:700;color:var(--timer-to)}@keyframes fade{0%{opacity:0}}@keyframes flip{0%{transform:rotateY(0) scale(.7)}70%{transform:rotateY(1260deg) scale(1.06)}to{transform:rotateY(1440deg) scale(1)}}@keyframes who-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.reduced-motion .toss .disc{animation:fade .2s ease both}.reduced-motion .toss .who{animation:fade .2s ease both;animation-delay:0s}.reduced-motion .reveal{animation:none}.reduced-motion .reveal .rside.win:after,.reduced-motion .reveal .rside.split:after{animation:none}.reduced-motion .timer.urgent .bar>span{animation:none}.reduced-motion *{scroll-behavior:auto}*{box-sizing:border-box}:root{--maxw: 460px;--radius: 16px;--radius-sm: 9px;--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.serif{font-family:var(--font-serif)}.page-title{font-family:var(--font-serif);font-weight:800;font-size:1.8rem;line-height:1.1;margin:0;color:var(--gold-bright)}html,body,#root{height:100%;margin:0}body{background:var(--surface-app);color:var(--text-hi)}.app{min-height:100dvh;display:flex;justify-content:center;background:radial-gradient(60% 28% at 50% -6%,color-mix(in srgb,var(--gold) 9%,transparent),transparent 70%),radial-gradient(150% 85% at 50% -8%,#241c3a 0%,var(--surface-app) 60%);background-attachment:fixed}.theme-light .app{background:radial-gradient(60% 28% at 50% -6%,color-mix(in srgb,var(--gold) 13%,transparent),transparent 70%),radial-gradient(150% 85% at 50% -8%,#ffffff 0%,var(--surface-app) 62%);background-attachment:fixed}.brandmark{font-family:var(--font-serif);font-size:2.7rem;font-weight:800;letter-spacing:0;margin:0;line-height:1.05;background:linear-gradient(180deg,var(--gold-bright),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.screen{position:relative;z-index:1;width:100%;max-width:var(--maxw);padding:max(16px,env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.app:after{content:"";position:fixed;top:-70px;right:-70px;width:320px;height:320px;background:repeating-radial-gradient(circle at center,color-mix(in srgb,var(--gold) 22%,transparent) 0 1.5px,transparent 1.5px 34px);-webkit-mask-image:radial-gradient(circle at center,#000 52%,transparent 76%);mask-image:radial-gradient(circle at center,#000 52%,transparent 76%);opacity:.35;pointer-events:none;z-index:0}.h1{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;margin:0}.muted{color:var(--text-mid)}.tiny{font-size:.74rem;color:var(--text-low)}.btn{font:inherit;font-weight:700;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-hi);border-radius:var(--radius-sm);padding:13px 16px;cursor:pointer;transition:filter .12s ease,transform .06s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-accent{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-ghost{background:transparent}.btn-gold{background:transparent;color:var(--gold-bright);border-color:color-mix(in srgb,var(--gold) 60%,transparent)}.btn-gold:hover{border-color:var(--gold)}.btn-row{display:flex;gap:10px}.btn-row>.btn{flex:1}.field{display:flex;flex-direction:column;gap:6px}.input{font:inherit;background:var(--surface-card);border:1px solid var(--border);color:var(--text-hi);border-radius:var(--radius-sm);padding:12px 14px}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.seg{display:flex;gap:6px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px}.seg button{flex:1;font:inherit;font-weight:700;border:0;border-radius:7px;padding:9px 6px;background:transparent;color:var(--text-mid);cursor:pointer}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.card-surface{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.banner-warn{background:color-mix(in srgb,var(--win) 18%,var(--surface-card));border:1px solid var(--win);color:var(--text-hi);border-radius:var(--radius-sm);padding:10px 14px;font-size:.82rem;font-weight:600}.challenge-banner{display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--accent) 14%,var(--surface-card));border:1px solid var(--accent);border-radius:var(--radius);padding:10px 14px}.challenge-banner .ch-av{font-size:1.8rem;line-height:1}.challenge-banner .ch-text{font-size:.84rem;line-height:1.45}.avatar-current{font-size:1.3rem;width:46px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.avatar-current:hover{border-color:var(--accent)}.avatar-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px}.avatar-cell{aspect-ratio:1;font-size:1.1rem;border:1px solid transparent;border-radius:7px;background:transparent;cursor:pointer}.avatar-cell:hover{background:var(--surface-raised)}.avatar-cell.selected{border-color:var(--accent);background:var(--surface-raised)}.link-name .av,.av{font-size:.95rem}.vs-banner{background:var(--surface-raised);border:1px dashed var(--text-low);color:var(--text-mid);border-radius:var(--radius-sm);padding:8px 12px;font-size:.82rem;text-align:center}.vs-banner strong{color:var(--text-hi)}.spinner{width:46px;height:46px;margin:0 auto;border-radius:50%;border:4px solid var(--border);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reduced-motion .spinner{animation-duration:2.4s}.result-card{position:relative}.result-card.is-win{border-color:color-mix(in srgb,var(--win) 50%,var(--surface-raised))}.result-card.fullcape{border-color:var(--win);box-shadow:0 0 44px -12px var(--win);overflow:hidden}.result-card.fullcape:before{content:"";position:absolute;inset:-45% 0 auto 0;height:85%;background:radial-gradient(closest-side,color-mix(in srgb,var(--win) 28%,transparent),transparent 70%);pointer-events:none}.cape-headline{position:relative;background:linear-gradient(180deg,var(--text-hi),var(--win));-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:cape-pulse 1.4s ease-in-out infinite}@keyframes cape-pulse{50%{transform:scale(1.04)}}.reduced-motion .cape-headline{animation:none}.champion-banner{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:linear-gradient(100deg,color-mix(in srgb,var(--win) 22%,var(--surface-card)),var(--surface-card) 70%);border:1px solid var(--win);border-radius:var(--radius);padding:10px 14px;cursor:pointer;font:inherit;color:var(--text-hi)}.champion-banner .medal{font-size:1.6rem}.champion-banner .ch-body{display:flex;flex-direction:column;flex:1;min-width:0}.champion-banner .ch-label{font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-mid);font-weight:800}.champion-banner .ch-name{font-weight:800;font-size:1.02rem}.champion-banner .ch-pts{font-weight:800;color:var(--win);font-variant-numeric:tabular-nums}.rank-tag{display:inline-block;margin-top:3px;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--win);border:1px solid color-mix(in srgb,var(--win) 55%,transparent);border-radius:99px;padding:1px 7px;white-space:nowrap}.lb{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.84rem}.lb th,.lb td{padding:9px 6px;text-align:right;white-space:nowrap}.lb th.l,.lb td.l{text-align:left}.lb thead th{font-size:.66rem;letter-spacing:.04em;color:var(--text-low);border-bottom:1px solid var(--border);font-weight:800}.lb td{border-bottom:1px solid color-mix(in srgb,var(--surface-raised) 50%,transparent)}.lb tbody tr:last-child td{border-bottom:0}.lb td.name{font-weight:700;max-width:9rem;overflow:hidden;text-overflow:ellipsis}.link-name{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--text-hi);cursor:pointer;text-align:left;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-name:hover{color:var(--accent);text-decoration:underline}.lb td.pts{font-weight:800;color:var(--text-hi)}.lb th:first-child,.lb td:first-child{padding-left:14px}.lb th:last-child,.lb td:last-child{padding-right:14px}.lb tr.me td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.lb tr.me td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.lb td.pos-1{color:var(--gold-bright);font-weight:800}.lb td.pos-2{color:#c6c6d2;font-weight:800}.lb td.pos-3{color:#cf8552;font-weight:800}.lb tr.top1 td{background:color-mix(in srgb,var(--gold) 12%,transparent)}.lb tr.top1 td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:60}.confetti i{position:absolute;top:-28px;display:block;box-shadow:0 0 4px -1px color-mix(in srgb,var(--gold) 60%,transparent);animation-name:confetti-fall;animation-timing-function:cubic-bezier(.22,.55,.45,1);animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translate(0) rotate(0);opacity:1}88%{opacity:1}to{transform:translate(var(--drift),106vh) rotate(var(--rot));opacity:0}}.reduced-motion .confetti{display:none}.howto-stage{flex:1;display:flex;flex-direction:column;gap:8px;padding:18px 16px}.howto-visual{display:flex;align-items:center;justify-content:center;min-height:168px;padding:8px 0 14px}.howto-step-title{margin:2px 0 0;font-size:1.5rem;color:var(--gold-bright)}.howto-dots{display:flex;gap:7px;justify-content:center}.howto-dots span{width:7px;height:7px;border-radius:50%;background:var(--surface-raised);transition:background .2s,width .2s}.howto-dots span.on{width:20px;border-radius:99px;background:var(--gold)}.glossary-item{padding:9px 0;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.glossary-item:first-of-type{border-top:0}.gi-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.gi-label{font-weight:700;font-size:.94rem;color:var(--text-hi)}.gi-unit{flex:none;font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-bright);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:99px;padding:1px 7px;white-space:nowrap}.gi-desc{font-size:.84rem;margin-top:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
