:root{--bg: #f7f6f3;--panel: #ffffff;--panel-2: #f0efec;--line: #ddd9d2;--ink: #16150f;--ink-2: #55524a;--ink-3: #86827a;--accent: #2f7d4f;--accent-ink: #ffffff;--warn: #a8631a;--bad: #a4342a;--good: #2f7d4f;--elite: #6d4ea8;--strong: #2f7d4f;--fair: #a8631a;--weak: #a4342a;--panel-hi: #ffffff;--glow-a: rgb(47 125 79 / 10%);--glow-b: rgb(168 99 26 / 8%);--ring: rgb(22 21 15 / 8%);--radius: 14px;--shadow: 0 1px 2px rgb(0 0 0 / 5%), 0 12px 32px -8px rgb(0 0 0 / 10%);--shadow-lift: 0 2px 4px rgb(0 0 0 / 6%), 0 22px 48px -14px rgb(0 0 0 / 22%);--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #131311;--panel: #1c1c19;--panel-2: #232320;--line: #33322d;--ink: #f2f0ea;--ink-2: #a9a69d;--ink-3: #78756d;--accent: #4fae74;--accent-ink: #0d1a12;--warn: #d59544;--bad: #e0685a;--good: #4fae74;--elite: #a98ae0;--strong: #4fae74;--fair: #d59544;--weak: #e0685a;--panel-hi: #232320;--glow-a: rgb(79 174 116 / 13%);--glow-b: rgb(213 149 68 / 8%);--ring: rgb(255 255 255 / 8%);--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 12px 32px -8px rgb(0 0 0 / 45%);--shadow-lift: 0 2px 4px rgb(0 0 0 / 45%), 0 24px 52px -14px rgb(0 0 0 / 60%)}}[data-surface=grass]{--accent: #3f9d5f;--accent-ink: #04150a}[data-surface=clay]{--accent: #c0663a;--accent-ink: #1a0b05}[data-surface=hard]{--accent: #3f7fbf;--accent-ink: #04101d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(60rem 40rem at 12% -10%,var(--glow-a),transparent 65%),radial-gradient(48rem 34rem at 92% 8%,var(--glow-b),transparent 60%)}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}a.btn{color:inherit;text-decoration:none}input{font:inherit;color:inherit}h1,h2,h3{line-height:1.15;font-weight:660;letter-spacing:-.022em;text-wrap:balance}.app{max-width:62rem;margin:0 auto;padding:1.5rem 1.25rem 5rem}.masthead{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin-bottom:1.75rem}.masthead h1{font-size:1.05rem;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.5rem}.masthead h1:before{content:"";width:.62rem;height:.62rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.masthead .tagline{color:var(--ink-3);font-size:.85rem}.masthead .spacer{flex:1}.panel{background:linear-gradient(180deg,var(--panel-hi),var(--panel) 42%);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:0 1px 2px var(--ring)}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.muted{color:var(--ink-2)}.faint{color:var(--ink-3);font-size:.85rem}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.section-title{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.75rem}.btn{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:.5rem .95rem;font-size:.9rem;font-weight:550;transition:background .12s,border-color .12s,transform 60ms}.btn:hover{border-color:var(--ink-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,white),var(--accent));color:var(--accent-ink);border-color:transparent;box-shadow:0 1px 2px #0000001f,0 8px 20px -8px color-mix(in srgb,var(--accent) 70%,transparent);font-weight:620}.btn.primary:hover{box-shadow:0 1px 2px #00000024,0 12px 26px -8px color-mix(in srgb,var(--accent) 85%,transparent);filter:brightness(1.04)}:where(.btn,.choice,.option,.nation):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.ghost{background:transparent}.btn.small{padding:.3rem .6rem;font-size:.8rem}.field{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:.5rem .7rem;font-family:var(--mono);width:100%}.field:focus{outline:2px solid var(--accent);outline-offset:1px}.choices{display:flex;gap:.4rem;flex-wrap:wrap}.choice{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:.35rem .85rem;font-size:.85rem}.choice[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:transparent}.choice[aria-pressed=true] .faint{color:inherit;opacity:.72}.bar{height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden}.bar>i{display:block;height:100%;border-radius:999px;transition:width .4s ease}.bar>i[data-band=elite]{background:var(--elite)}.bar>i[data-band=strong]{background:var(--strong)}.bar>i[data-band=fair]{background:var(--fair)}.bar>i[data-band=weak]{background:var(--weak)}.attr-row{display:grid;grid-template-columns:6.5rem 1fr 2.5rem;align-items:center;gap:.75rem}.attr-row .name{font-size:.85rem;color:var(--ink-2)}.attr-row .value{text-align:right;font-weight:600;font-family:var(--mono)}.progress-rail{display:flex;gap:.35rem;margin-bottom:1.5rem}.progress-rail .step{flex:1;border-radius:999px;height:4px;background:var(--panel-2);border:1px solid var(--line)}.progress-rail .step[data-state=done]{background:var(--accent);border-color:transparent}.progress-rail .step[data-state=current]{background:var(--ink-3);border-color:transparent}.option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}.option{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .12s,transform .1s,box-shadow .16s}.option{position:relative;overflow:hidden}.option:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent);transform:scaleY(0);transform-origin:50% 0;transition:transform .18s ease}.option:hover:before{transform:scaleY(1)}.option:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-3px);box-shadow:var(--shadow-lift)}.option .who{font-weight:620;font-size:1rem;margin-bottom:.15rem}.option .where{color:var(--ink-3);font-size:.8rem;line-height:1.35}.option .big-row{margin-top:.5rem}.option .big{font-family:var(--mono);font-size:2.4rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.lockout{display:flex;gap:.35rem;flex-wrap:wrap}.lockout .tag{font-size:.72rem;border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem;color:var(--ink-3);text-decoration:line-through}.standing{font-size:.72rem;color:var(--ink-3);letter-spacing:.02em}.bonus-strip{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.85rem;padding:.5rem .75rem;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:8px}.bonus-tag{font-weight:600;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;padding:.1rem .5rem;font-size:.8rem}.bracket{display:flex;flex-direction:column;gap:.3rem}.bracket .seat{display:grid;grid-template-columns:3.5rem 1fr auto auto;grid-template-areas:"round who rating mark";align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.bracket .seat[data-state=won]{border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.bracket .seat[data-state=lost]{border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.bracket .seat[data-state=next]{border-color:var(--accent);background:var(--panel-2)}.bracket .round{grid-area:round;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.bracket .who{grid-area:who}.bracket .rating{grid-area:rating;font-family:var(--mono);font-weight:600}.bracket .mark{grid-area:mark;width:1.2rem;text-align:center;font-weight:700}.bracket .mark[data-r=W]{color:var(--good)}.bracket .mark[data-r=L]{color:var(--bad)}.scoreboard{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.scoreboard .line{display:grid;grid-template-columns:1.2rem 1fr repeat(var(--sets, 3),1.9rem) 3rem;align-items:center;gap:.5rem;padding:.6rem .85rem;font-variant-numeric:tabular-nums}.scoreboard .line+.line{border-top:1px solid var(--line)}.scoreboard .line[data-serving=true] .dot{color:var(--accent)}.scoreboard .dot{font-size:.7rem}.scoreboard .who{font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboard .set{font-family:var(--mono);text-align:center;color:var(--ink-2)}.scoreboard .set[data-current=true]{color:var(--ink);font-weight:640}.scoreboard .pts{font-family:var(--mono);font-size:1.15rem;font-weight:640;text-align:right}.ticker{display:flex;flex-direction:column;gap:.2rem;min-height:11rem}.ticker .pt{display:grid;grid-template-columns:4rem 1fr auto;gap:.6rem;align-items:baseline;padding:.3rem .5rem;border-radius:6px;font-size:.85rem;animation:slide-in .22s ease}.ticker .pt[data-key=true]{background:var(--panel-2)}.ticker .pt .call{font-family:var(--mono);color:var(--ink-3);font-size:.78rem}.ticker .pt .tag{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:640}.ticker .pt .tag[data-kind=break]{color:var(--warn)}.ticker .pt .tag[data-kind=set]{color:var(--elite)}.ticker .pt .tag[data-kind=match]{color:var(--bad)}@keyframes slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.momentum{height:4px;background:var(--panel-2);border-radius:999px;position:relative;overflow:hidden}.momentum>i{position:absolute;top:0;bottom:0;background:var(--accent);transition:left .3s,right .3s}.boxscore{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.boxscore td,.boxscore th{padding:.4rem .5rem;font-size:.87rem}.boxscore thead th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.boxscore tbody tr+tr{border-top:1px solid var(--line)}.boxscore .label{color:var(--ink-2);text-align:center;font-size:.8rem}.boxscore .num{font-family:var(--mono);width:30%}.boxscore .num.left{text-align:right}.boxscore .num.right{text-align:left}.boxscore .lead{font-weight:660;color:var(--accent)}.radar{display:block;width:100%;max-width:20rem;margin:0 auto}.radar .grid{fill:none;stroke:var(--line)}.radar .axis{stroke:var(--line)}.radar .shape{fill:color-mix(in srgb,var(--accent) 22%,transparent);stroke:var(--accent);stroke-width:2}.radar .label{fill:var(--ink-3);font-size:9px;font-family:var(--sans)}.radar .vertex{fill:var(--accent)}.mode-card{justify-content:space-between}.tally-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-align:center}.tally-strip>div{display:flex;flex-direction:column;gap:.1rem}.tally-number{font-family:var(--mono);font-size:1.35rem;font-weight:680}.event-row .surface-dot{font-size:.6rem;color:var(--accent);vertical-align:middle}.event-row[data-surface-row=clay] .surface-dot{color:#c0663a}.event-row[data-surface-row=grass] .surface-dot{color:#3f9d5f}.event-row[data-surface-row=hard] .surface-dot{color:#3f7fbf}.bracket .event-row{grid-template-columns:3.5rem 1fr auto auto auto;grid-template-areas:"round who rating points mark"}.event-row .rating{font-family:var(--sans);font-weight:500;font-size:.88rem}.event-points{grid-area:points;color:var(--ink-3);font-size:.8rem;min-width:3.2rem;text-align:right}.insight{line-height:1.5;padding-left:.7rem;border-left:2px solid var(--line)}.insight[data-tone=good]{border-left-color:var(--good)}.insight[data-tone=bad]{border-left-color:var(--bad)}.event-row .title-mark{color:var(--good)}.event-row .beaten{color:var(--ink-2)}.event-row[data-state=won]{background:color-mix(in srgb,var(--good) 7%,var(--panel))}.group-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.group-table th,.group-table td{padding:.4rem .5rem;font-size:.9rem;text-align:left}.group-table thead th{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.group-table .num{text-align:right;font-family:var(--mono);width:3rem}.group-table tbody tr+tr{border-top:1px solid var(--line)}.group-table tbody tr[data-me=true]{font-weight:640}.group-table tbody tr[data-q=false]{color:var(--ink-2)}.group-table .q{display:inline-block;width:1rem;color:var(--good);font-weight:700;font-size:.8rem}.challenge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.challenge{display:grid;grid-template-columns:1.6rem 1fr auto;gap:.7rem;align-items:start;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.challenge[data-done=true]{border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.challenge[data-done=false]{opacity:.72}.challenge .tick{font-size:1rem;color:var(--ink-3);line-height:1.4}.challenge[data-done=true] .tick{color:var(--good)}.challenge[data-tier=legendary][data-done=true] .tick{color:#d8b24a}.challenge-name{font-weight:600;font-size:.95rem}.challenge-progress{font-size:.75rem;color:var(--warn);margin-top:.15rem}.challenge-where{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.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}.earned-banner{border:1px solid color-mix(in srgb,var(--good) 50%,var(--line));background:color-mix(in srgb,var(--good) 10%,var(--panel))}.intro{border-left:3px solid var(--accent);padding-left:1rem}.intro ol{margin:0 0 .75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.intro li{color:var(--ink-2)}.intro strong{color:var(--ink)}.seed-details summary{cursor:pointer;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}details summary{cursor:pointer}.coin{color:#d8b24a;font-size:.7em;margin-left:.25rem;vertical-align:middle}.coin-amount{font-weight:640;white-space:nowrap}.daily{display:grid;grid-template-columns:1.6rem 1fr auto;gap:.7rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.daily[data-done=true]{border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.daily .tick{font-size:1rem;color:var(--ink-3)}.daily[data-done=true] .tick,.daily[data-done=true] .coin-amount{color:var(--good)}.daily-tier{text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.shop-item{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.shop-item[data-owned=true]{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.shop-effect{font-size:.82rem;color:var(--accent)}.linkish{text-decoration:underline;text-underline-offset:2px;padding:0;font:inherit;color:inherit}.lockout-cost{font-size:.72rem;color:var(--warn)}.card-frame{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#111310;max-width:24rem;align-self:center;box-shadow:var(--shadow)}.share-canvas{display:block;width:100%;height:auto}.btn.support{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.btn.support span{color:var(--bad)}.btn.support.primary span{color:inherit}.support-panel{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line)}.verdict{text-align:center;padding:2rem 1rem}.verdict .headline{font-size:1.7rem;font-weight:680;letter-spacing:-.02em}.verdict .trophy{font-size:2.5rem}.share{display:flex;gap:.5rem;align-items:center}.share input{flex:1;font-size:.78rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:64rem){.option-grid,.shop-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:46rem){.grid-2,.option-grid{grid-template-columns:1fr}.attr-row{grid-template-columns:5rem 1fr 2.2rem}.bracket .seat{grid-template-columns:3rem 1fr auto;grid-template-areas:"round who mark" "round rating mark";row-gap:.15rem;font-size:.9rem}.bracket .rating{justify-self:start;font-size:.85rem}.tally-strip{grid-template-columns:repeat(3,1fr);row-gap:.75rem}.bracket .event-row{grid-template-columns:3rem 1fr auto;grid-template-areas:"round who mark" "round rating mark" "round points mark"}.event-points{text-align:left}.challenge-grid,.shop-grid{grid-template-columns:1fr}.daily{grid-template-columns:1.4rem 1fr auto}.app{padding:1rem .85rem 4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.nameplate{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--panel-2)),var(--panel-2));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))}.flagcode{font-family:var(--mono);font-weight:700;font-size:.82rem;letter-spacing:.09em;padding:.3rem .5rem;border-radius:6px;background:var(--accent);color:var(--accent-ink)}.invented{font-size:1.5rem;font-weight:680;letter-spacing:-.02em}.nations{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.45rem}.nation{display:flex;align-items:baseline;gap:.45rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:9px;background:var(--panel);text-align:left;transition:border-color .12s,background .12s,transform 80ms}.nation:hover{border-color:var(--ink-3);transform:translateY(-1px)}.nation .code{font-family:var(--mono);font-weight:700;font-size:.8rem;letter-spacing:.06em}.nation .country{font-size:.75rem;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nation[data-on=true]{background:var(--accent);color:var(--accent-ink);border-color:transparent}.nation[data-on=true] .country{color:inherit;opacity:.78}.bracket .seat[data-state=hidden]{border-style:dashed;background:transparent;opacity:.62}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1.25rem;background:#0a0a088c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:overlay-in .16s ease}.overlay-card{width:min(30rem,100%);text-align:center;padding:2rem 1.75rem 1.6rem;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-hi),var(--panel) 46%);box-shadow:var(--shadow-lift);animation:card-in .22s cubic-bezier(.2,.9,.3,1.2)}.overlay-card[data-title=true]{border-color:color-mix(in srgb,var(--good) 55%,var(--line));box-shadow:var(--shadow-lift),0 0 0 4px color-mix(in srgb,var(--good) 12%,transparent)}.overlay-kicker{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.9rem}.overlay-card .trophy{font-size:2.6rem;line-height:1;margin-bottom:.4rem}.overlay-headline{font-size:1.45rem;font-weight:680;letter-spacing:-.02em;line-height:1.25}.overlay-headline .beaten{color:inherit}.overlay-headline .beaten .faint{display:block;font-size:.9rem;margin-top:.3rem}.overlay-why{color:var(--ink-2);font-size:.92rem;line-height:1.5;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}.overlay-points{margin-top:.9rem;font-size:1.1rem;font-weight:660;color:var(--accent)}.overlay-actions{justify-content:center;margin-top:1.4rem}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes card-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:46rem){.nations{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr))}.invented{font-size:1.25rem}.overlay-card{padding:1.5rem 1.1rem 1.2rem}.overlay-headline{font-size:1.2rem}}.overlay-sub{margin-top:.4rem;color:var(--ink-2);font-size:.95rem;font-family:var(--mono)}.nameplate.compact{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .6rem .3rem .35rem;border-radius:999px;background:var(--panel-2);border:1px solid var(--line)}.nameplate.compact .flagcode{font-size:.68rem;padding:.15rem .4rem}.nameplate.compact .invented{font-size:.95rem;font-weight:620}.setup-step .step-no{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;margin-right:.45rem;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-family:var(--mono);font-size:.72rem;font-weight:700;vertical-align:-.3rem}.setup-step .section-title{display:flex;align-items:center}.big-choices .choice{padding:.55rem 1.05rem;font-size:.95rem}.btn.big{padding:.7rem 1.4rem;font-size:1rem}
