:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05070d;--surface-sunken:#0a0f1a;--surface:#111827;--surface-raised:#1a2336;--separator:#8ca5d23d;--edge-highlight:#ffffff12;--lift:inset 0 1px 0 #ffffff0d, 0 10px 28px -16px #000000bf;--lift-high:inset 0 1px 0 #ffffff0f, 0 24px 60px -20px #000000d9;--sheen:linear-gradient(180deg, #ffffff09, transparent 45%);--text:#f5f7fb;--text-2:#cdd6e4;--text-3:#9eabbf;--accent:#ff6352;--accent-alt:#7cb2ff;--signal:#3ee0f2;--accent-fill:#dc3528;--on-accent:#fff;--positive:#2af08e;--negative:#ff3c48;--caution:#ff6f2b;--info:#9c5fff;--r:16px;--r-sm:10px;--r-tight:6px;--gutter:16px;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:ui-rounded, "Nunito", system-ui, sans-serif;--font-num:var(--font-display);--font-code:ui-monospace, "JetBrains Mono", monospace;--micro-tracking:.09em}:root[data-contrast=high]{--surface:#182033;--surface-raised:#24304a;--separator:#a3b5d699;--edge-highlight:#ffffff24;--text:#fff;--text-2:#eaeef2;--text-3:#ccd3db;--signal:#40eef6}:root[data-colors=red-green]{--positive:#4fb6ff;--negative:#ff8a2a;--caution:#5cffbe}:root[data-colors=red-green] .badge.tournament{color:var(--negative)}:root[data-colors=red-green] .badge.practice{color:var(--caution)}:root[data-colors=blue-yellow]{--caution:#ff9ecf}@font-face{font-family:Nunito;src:url(/fonts/nunito.woff2)format("woff2");font-weight:200 1000;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2)format("woff2");font-weight:100 800;font-display:swap}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);font-family:var(--font-ui);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:0 0;margin:0;font-size:16px;line-height:1.45}:root{--tex-plane:linear-gradient(to bottom, #090c13 0%, #05070b 55%, #030406 100%);--tex-light:radial-gradient(65% 50% at 12% -8%, #5684ff1c, transparent 70%), radial-gradient(55% 45% at 100% 108%, #764cff14, transparent 72%), radial-gradient(40% 30% at 0% 100%, #ff5a4c09, transparent 70%);--tex-vignette:radial-gradient(130% 95% at 50% 35%, transparent 50%, #0000008c 100%);--tex-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--tex-floor:0;--plane-base:var(--bg)}:root[data-texture=bold]{--tex-plane:linear-gradient(to bottom, #0d1220 0%, #070a12 50%, #030408 100%);--tex-light:radial-gradient(65% 50% at 12% -8%, #5684ff2e, transparent 70%), radial-gradient(55% 45% at 100% 108%, #764cff21, transparent 72%), radial-gradient(45% 35% at 85% 12%, #14eaf40d, transparent 70%), radial-gradient(40% 30% at 0% 100%, #ff5a4c0f, transparent 70%);--tex-vignette:radial-gradient(130% 95% at 50% 35%, transparent 45%, #000000b3 100%);--tex-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--tex-floor:1}:root[data-texture=off]{--plane-base:#000;--tex-plane:none;--tex-light:none;--tex-vignette:none;--tex-grain:none;--tex-floor:0}:root{--bar:#0a0e19bd;--bar-light:.04;--bar-solid:#0d101c}:root[data-texture=off]{--bar-light:0;--bar-solid:#070a13}:root[data-contrast=high]{--bar:#12151b;--bar-solid:#12151b}body:before{content:"";z-index:-1;pointer-events:none;background-color:var(--plane-base);background-image:var(--tex-grain), var(--tex-vignette), var(--tex-light), var(--tex-plane);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;height:62vh;opacity:var(--tex-floor);transform-origin:50% 100%;background-image:linear-gradient(#78a0ff33 1px,#0000 1px),linear-gradient(90deg,#78a0ff29 1px,#0000 1px);background-position:bottom;background-size:64px 48px;position:fixed;bottom:-2px;left:-50%;right:-50%;transform:perspective(520px)rotateX(64deg);-webkit-mask-image:linear-gradient(#0000 15%,#0009 60%,#000 100%);mask-image:linear-gradient(#0000 15%,#0009 60%,#000 100%)}:root[data-contrast=high] body:after{opacity:calc(var(--tex-floor) * .45)}:root[data-contrast=high] body:before{opacity:.45}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}.app{grid-template-rows:1fr auto;min-height:100dvh;display:grid}.main{width:100%;min-width:0;max-width:1100px;padding:20px var(--gutter) 110px;margin:0 auto}.tabbar{background-color:var(--bar);--bar-dir:to bottom;background-image:linear-gradient(var(--bar-dir), rgb(255 255 255/var(--bar-light)), transparent 60%);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);border-top:1px solid var(--separator);box-shadow:inset 0 1px 0 var(--edge-highlight);padding:8px 6px calc(6px + env(safe-area-inset-bottom));z-index:10;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}html{background:var(--bar-solid)}.tab{border-radius:var(--r-sm);color:var(--text-3);font-family:var(--font-ui);letter-spacing:var(--micro-tracking);text-transform:uppercase;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:10px;font-weight:700;text-decoration:none;display:flex}.tab svg{width:22px;height:22px}.tab{text-align:center;line-height:1.15;position:relative}.tab.active{color:var(--text)}.tab.active:before{content:"";background:var(--accent);border-radius:0 0 2px 2px;width:22px;height:2px;margin-left:-11px;position:absolute;top:-8px;left:50%}.tab.active svg{color:var(--accent)}.brand{font-family:var(--font-display);align-items:center;gap:10px;padding:4px 12px 20px;font-size:20px;font-weight:700;text-decoration:none;display:none}.brand-name span{color:var(--accent)}.brand-top{min-height:44px;margin:calc(-8px + env(safe-area-inset-top)) 0 4px;font-family:var(--font-display);align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand-top img{flex:none}@media (width>=900px){.brand-top{display:none}.app{grid-template-rows:none;grid-template-columns:220px 1fr}.tabbar{border-top:0;border-right:1px solid var(--separator);flex-direction:column;gap:2px;height:100dvh;padding:24px 12px;display:flex;position:sticky;top:0}.brand{display:flex}.brand img{flex:none;width:40px;height:40px}.tab{flex-direction:row;gap:12px;padding:10px 12px;font-size:12px}.tab.active{background:var(--surface)}.tabbar{--bar-dir:to left;box-shadow:inset -1px 0 0 var(--edge-highlight)}.tab.active:before{border-radius:0 2px 2px 0;width:2px;height:18px;margin:-9px 0 0;top:50%;left:0}.tab-admin{margin-top:auto}.main{padding:32px 32px 64px}}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-weight:750}h1{font-size:32px;font-weight:800}h2{font-size:20px}h3{font-size:17px}.micro{font-family:var(--font-ui);letter-spacing:var(--micro-tracking);text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:700}.readout{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:800}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.signal{color:var(--signal)}.accent{color:var(--accent)}.roster>.roster-row{border-top:1px solid var(--separator);gap:8px;padding:12px 0;display:grid}.roster>.roster-row:first-child{border-top:0;padding-top:4px}.roster-edit{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.roster-edit .input{min-height:40px;padding:6px 10px;font-size:15px}.input.compact{min-height:36px;padding:4px 8px}.roster-avg{align-items:center;gap:6px;display:flex}.roster-avg .input{text-align:right;width:64px}.settings{align-items:start;gap:28px;display:grid}.settings-menu,.settings-panel{min-width:0}.settings:not(.has-open) .settings-panel,.settings.has-open .settings-menu{display:none}.settings-back{color:var(--text-2);align-items:center;gap:4px;min-height:44px;margin-bottom:-16px;font-size:14px;text-decoration:none;display:inline-flex}.page-back{color:var(--text-2);justify-self:start;align-items:center;gap:4px;min-height:44px;margin-bottom:-16px;font-size:14px;text-decoration:none;display:inline-flex}.settings .item.current{background:var(--surface-raised)}.settings .item.current .item-title{color:var(--text)}.settings .item.current:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.settings .item{position:relative}@media (width<=999px){.settings .item.current:not([aria-current]){background:0 0}.settings .item.current:not([aria-current]):before{display:none}}@media (width>=1000px){.settings{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:36px}.settings:not(.has-open) .settings-panel,.settings.has-open .settings-menu{display:grid}.settings-back{display:none}.settings-panel{padding-top:64px}}.subnav{background:var(--surface-sunken);border:1px solid var(--separator);border-radius:var(--r-sm);gap:4px;margin-bottom:-8px;padding:4px;display:flex}.subnav a,.subnav button{cursor:pointer;min-width:0;min-height:36px;color:var(--text-2);text-align:center;background:0 0;border:0;border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;padding:6px 8px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:flex}.subnav a.on,.subnav button.on{background:var(--surface-raised);color:var(--text);box-shadow:var(--lift)}@media (pointer:coarse){.subnav a,.subnav button{min-height:44px}}@media (width>=640px){.subnav{place-self:flex-start start}.subnav a,.subnav button{flex:none;padding:6px 18px}}.subnav.fit>*{white-space:nowrap;flex:auto;padding-left:10px;padding-right:10px}@media (width<=399px){.subnav.fit>*{padding-left:6px;padding-right:6px}}@media (width<=359px){.subnav a,.subnav button{font-size:13px}}.subnav.fit{min-width:0;max-width:100%}.subnav.fit>*{text-overflow:ellipsis;min-width:0;overflow:hidden}.btn.icon-btn{flex:none;justify-content:center;width:44px;min-width:44px;padding:0}.btn.icon-btn.on{border-color:var(--accent);color:var(--text)}.subnav.fit{margin-bottom:0}@media (width>=640px){.subnav.fit>*{flex:none;padding-left:16px;padding-right:16px}}.subnav.scroll{scrollbar-width:none;max-width:100%;overflow-x:auto}.subnav.scroll::-webkit-scrollbar{display:none}.subnav.scroll>*{flex:1 0 auto}.subnav .count{background:var(--caution);color:#111;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 5px;font-size:12px;font-weight:700;display:inline-grid}table.data.score-grid{width:auto;min-width:min(100%,420px)}.league-facts summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:14px;list-style:none;display:flex}.league-facts summary::-webkit-details-marker{display:none}.league-facts summary .micro{color:var(--accent-alt);flex:none}.league-facts ul{margin:8px 0 0;padding-left:18px;font-size:14px}.choice-grid{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}@media (width>=480px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.choice{text-align:left;border-radius:var(--r-sm,10px);border:1px solid var(--separator);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;font:inherit;gap:2px;padding:10px 12px;display:grid}.choice.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice-title{font-size:15px;font-weight:600}.choice-sub{color:var(--text-3);font-size:12px}.section-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:10px;display:flex}.section-note{color:var(--text-3);margin:-4px 0 10px;font-size:13px}.group{background:var(--sheen), var(--surface);border:1px solid var(--separator);border-radius:var(--r);box-shadow:var(--lift);overflow:hidden}.group+.group{margin-top:10px}.item{width:100%;min-height:54px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;padding:11px 14px;text-decoration:none;display:flex}.group>.item+.item,.group>.item+.item-block,.group>.item-block+.item{border-top:1px solid var(--separator)}.item-block{padding:12px 14px}a.item,button.item,label.item{cursor:pointer}a.item:hover,button.item:hover,label.item:hover{background:var(--surface-raised)}.item>svg{color:var(--text-3);flex:none}.item-text{flex:1;min-width:0}.item-title{font-weight:600}.item-sub{color:var(--text-3);margin-top:1px;font-size:13px}.item .input{width:auto;min-height:38px;padding:6px 10px;font-size:15px}.item input.input{text-align:right;width:76px}.item.danger .item-title{color:var(--negative)}.switch{appearance:none;border-radius:var(--r-sm);background:var(--surface-sunken);border:1px solid var(--separator);cursor:pointer;flex:none;width:44px;height:26px;margin:0;transition:background .15s,border-color .15s;position:relative}.switch:after{content:"";border-radius:var(--r-tight);background:var(--text-3);width:18px;height:18px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--accent-fill);border-color:var(--accent-fill)}.switch:checked:after{background:#fff;transform:translate(18px)}.card.profile{background:radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), var(--sheen), var(--surface);gap:14px;display:grid}.profile-top{align-items:center;gap:14px;min-width:0;display:flex}.profile-name{text-overflow:ellipsis;white-space:nowrap;font-size:24px;overflow:hidden}.avatar-lg{object-fit:cover;background:linear-gradient(140deg, var(--accent) 0%, #2b3a78 100%);color:#fff;width:60px;height:60px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:26px;font-weight:800;display:grid;box-shadow:0 8px 20px -10px #000c,inset 0 1px #ffffff40}.status-pill{color:var(--text-2);border:1px solid var(--separator);background:#ffffff0a;border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status-pill.positive:before{background:var(--positive)}.status-pill.signal:before{background:var(--signal)}.status-pill.caution:before{background:var(--caution)}.status-pill.negative:before{background:var(--negative)}.account-exit{justify-content:space-between;align-items:flex-start}.danger-zone>summary{list-style:none}.danger-zone>summary::-webkit-details-marker{display:none}.danger-zone[open]{flex-basis:100%}.avatar{border-radius:var(--r-sm);background:var(--surface-raised);border:1px solid var(--separator);object-fit:cover;flex:none;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.signin-page{max-width:480px;padding:max(32px, env(safe-area-inset-top)) var(--gutter) 48px;margin:0 auto}.mini-stats{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:10px;display:grid}.mini-stats>*{min-width:0}.pos{color:var(--positive)}.neg{color:var(--negative)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.page-head .micro{margin-bottom:4px}.stack>*,.stack-lg>*,.grid-2>*,.grid-tiles>*,.form-grid>*,.page-head>*{min-width:0}.page-head .row{flex-wrap:wrap}.spread>*{min-width:0}section>.spread,.spread>.row,.card.spread{flex-wrap:wrap}.stack{gap:12px;display:grid}.stack-lg{gap:24px;display:grid}.row{align-items:center;gap:10px;display:flex}.row.wrap,.spread.wrap{flex-wrap:wrap}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:1;min-width:0}.grid-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.grid-2{gap:16px;display:grid}@media (width>=760px){.grid-2{grid-template-columns:1fr 1fr}}.card{background:var(--sheen), var(--surface);border:1px solid var(--separator);border-radius:var(--r);box-shadow:var(--lift);padding:16px;position:relative}.card.raised{background:var(--sheen), var(--surface-raised)}.card.sunken{background:var(--surface-sunken);box-shadow:inset 0 1px 3px #00000059}.card.tight{padding:12px}a.card{text-decoration:none;display:block}a.card:hover,button.card:hover{border-color:#94a8c273}.tile .micro{margin-bottom:6px}.tile .readout{font-size:26px;line-height:1.1}.tile .sub{color:var(--text-3);margin-top:4px;font-size:12px}.hero .readout{color:var(--text);font-size:56px;line-height:1}.list{gap:8px;display:grid}.list-row{background:var(--sheen), var(--surface);border:1px solid var(--separator);border-radius:var(--r);box-shadow:var(--lift);text-align:left;align-items:center;gap:12px;width:100%;padding:12px 14px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}button.list-row{cursor:pointer}.list-row:hover{border-color:#96afdc73}a.list-row:active,button.list-row:active{transform:scale(.995)}.empty{background:var(--surface-sunken);border:1px dashed var(--separator);border-radius:var(--r);text-align:center;color:var(--text-2);padding:28px 20px}.btn{border-radius:var(--r-sm);border:1px solid var(--separator);background:var(--surface-raised);min-height:42px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:600;text-decoration:none;transition:border-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:hover{border-color:#96afdc99}.btn:active:not(:disabled){transform:translateY(1px)}.btn:not(.primary):not(.ghost){background:var(--sheen), var(--surface-raised);border-color:#96afdc59;box-shadow:inset 0 1px #ffffff0f,0 4px 12px -8px #000c}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);box-shadow:inset 0 1px #ffffff2e,0 8px 22px -10px #dc3528d9}.btn.primary:hover{filter:brightness(1.03)}.btn.danger{color:var(--negative)}.btn.ghost{background:0 0}.btn.small{min-height:32px;padding:0 10px;font-size:13px}.btn.block{white-space:normal;text-align:center;width:100%;padding-top:8px;padding-bottom:8px;line-height:1.25}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--r-sm);border:1px solid var(--separator);font-family:var(--font-ui);text-transform:capitalize;color:var(--text-2);cursor:pointer;background:#ffffff05;padding:7px 12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.chip.as-is{text-transform:none}.chip:hover{border-color:#96afdc73}.chip.on{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text);border-color:color-mix(in srgb, var(--accent) 70%, transparent)}.badge{border-radius:var(--r-tight);font-family:var(--font-ui);letter-spacing:var(--micro-tracking);text-transform:uppercase;border:1px solid color-mix(in srgb, currentColor 55%, transparent);background:color-mix(in srgb, currentColor 13%, transparent);padding:2px 7px;font-size:10px;font-weight:800;display:inline-block}.badge.league{color:var(--accent-alt)}.badge.tournament{color:var(--caution)}.badge.practice{color:var(--positive)}.field{gap:6px;display:grid}.field>span{font-family:var(--font-ui);letter-spacing:var(--micro-tracking);text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:700}.input,select.input,textarea.input{background:var(--surface-sunken);border:1px solid var(--separator);border-radius:var(--r-sm);outline:none;width:100%;min-height:44px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 3px #00000059}.input:focus{border-color:var(--signal);box-shadow:inset 0 1px 3px #00000059, 0 0 0 3px color-mix(in srgb, var(--signal) 22%, transparent)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.input:focus-visible{outline-offset:0}.skip-link{z-index:100;border-radius:var(--r-sm);background:var(--surface-raised);border:1px solid var(--signal);color:var(--text);padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.main:focus{outline:none}textarea.input{resize:vertical;min-height:80px}.input{appearance:none}select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239eabbf' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;padding-right:32px!important}input.input[type=date],input.input[type=time]{text-align:left;min-width:0;max-width:100%;line-height:1.4;display:block}.input::-webkit-date-and-time-value{text-align:left}select.input.filter-select{flex:140px;width:auto;min-width:140px;min-height:36px;padding-top:6px;padding-bottom:6px;font-size:14px}.form-grid{gap:14px;display:grid}@media (width>=640px){.form-grid.two{grid-template-columns:1fr 1fr}}.check{cursor:pointer;align-items:center;gap:10px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#03050c9e;place-items:end center;padding:0;display:grid;position:fixed;inset:0}.sheet{background:var(--sheen), var(--surface);border:1px solid var(--separator);width:100%;max-width:560px;max-height:92dvh;box-shadow:var(--lift-high);padding:20px var(--gutter) calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow:auto}@media (width>=640px){.overlay{place-items:center;padding:24px}.sheet{border-radius:var(--r);padding:24px}}.scorecard{border:1px solid var(--separator);border-radius:var(--r-sm);background:var(--surface-sunken);grid-template-columns:repeat(9,1fr) 1.45fr;display:grid;overflow:hidden}.frame{border-right:1px solid var(--separator);min-width:0}.frame:last-child{border-right:0}.frame.current{background:var(--surface-raised);box-shadow:inset 0 -2px 0 var(--accent)}.frame-no{font-family:var(--font-num);color:var(--text-3);text-align:center;border-bottom:1px solid var(--separator);padding:3px 0;font-size:10px}.frame-balls{justify-content:flex-end;height:22px;display:flex}.ball-mark{width:50%;font-family:var(--font-num);border-left:1px solid var(--separator);border-bottom:1px solid var(--separator);place-items:center;font-size:13px;font-weight:700;display:grid}.frame.tenth .ball-mark{width:33.33%}.ball-mark:first-child{border-left:0}.frame:not(.tenth) .ball-mark:first-child{border-bottom:0}.ball-mark.x{color:var(--accent)}.ball-mark.sp{color:var(--signal)}.ball-mark.split{color:var(--negative);text-underline-offset:2px;text-decoration:underline}.frame-score{text-align:center;font-family:var(--font-num);height:26px;font-size:15px;font-weight:600;line-height:26px}@media (width<=480px){.ball-mark{font-size:11px}.frame-score{font-size:12px}}.deck{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:center;gap:10px;padding:8px 0;display:grid}.deck-row{justify-content:center;gap:12px;display:flex}.pin{color:#0b1220;width:54px;height:54px;font-family:var(--font-num);cursor:pointer;touch-action:manipulation;background:radial-gradient(circle at 34% 28%,#fff 0%,#eef1f7 45%,#c9d1df 100%);border:1px solid #ffffffe6;border-radius:50%;font-size:17px;font-weight:800;transition:background 80ms,color 80ms;box-shadow:0 6px 14px -6px #000c,inset 0 -2px 4px #0000001f}.pin.down{color:var(--text-3);border-color:var(--separator);box-shadow:none;background:#ffffff05}.pin.gone{visibility:hidden}@media (width<=400px){.pin{width:46px;height:46px}.deck-row{gap:9px}}.keypad{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.key{border-radius:var(--r-sm);background:var(--sheen), var(--surface-raised);min-height:52px;font-family:var(--font-num);cursor:pointer;touch-action:manipulation;border:1px solid #96afdc4d;font-size:21px;font-weight:800;box-shadow:inset 0 1px #ffffff0f,0 4px 12px -8px #000c}.key:disabled{opacity:.25;cursor:default}.key.x{color:var(--accent)}.key.sp{color:var(--signal)}.key.enter{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);font-family:var(--font-ui);font-size:16px}.chart{width:100%;height:auto;display:block}.chart-wrap{position:relative}.league-cards{gap:16px;display:grid}.league-night.tonight{background:color-mix(in srgb, var(--signal) 8%, transparent)}@media (width>=900px){.league-cards{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}.league-card .mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.chart-tip{z-index:2;border-radius:var(--r-sm);background:var(--surface-raised);border:1px solid var(--separator);min-width:170px;max-width:260px;box-shadow:var(--lift-high);pointer-events:none;gap:2px;padding:8px 10px;font-size:13px;display:grid;position:absolute}.legend{color:var(--text-2);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.legend-key{align-items:center;gap:6px;display:inline-flex}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable button{all:unset;cursor:pointer;align-items:center;justify-content:inherit;box-sizing:border-box;gap:3px;min-width:24px;min-height:28px;display:inline-flex}th.sortable.num button{justify-content:flex-end}th.sortable button:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:3px}th[aria-sort]{color:var(--text)}tr.picked td{background:#e5574a1f}tr.mine td{background:#1a9fb21f}.league-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.league-tools .input{flex:160px;width:auto;min-width:0}.bar-track{background:var(--surface-sunken);border-radius:2px;height:6px;position:relative;overflow:hidden}.bar-mark{background:var(--text);opacity:.7;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.bar-fill{background:var(--signal);height:100%}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{text-align:left;font-family:var(--font-ui);letter-spacing:var(--micro-tracking);text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--separator);padding:6px 8px;font-size:10px;font-weight:600}table.data td{border-bottom:1px solid var(--separator);padding:8px}table.data td.num,table.data th.num{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums}table.data tr:last-child td{border-bottom:0}.table-scroll{overflow-x:auto}.toast{background:var(--surface-raised);border:1px solid var(--separator);border-radius:var(--r-sm);z-index:60;padding:10px 16px;font-size:14px;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.stack>p{margin:0}.bigkey{border-radius:var(--r);border:1px solid var(--accent-fill);background:var(--accent-fill);width:100%;min-height:68px;color:var(--on-accent);font-family:var(--font-ui);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:12px;font-size:22px;font-weight:800;transition:transform 80ms,filter .12s;display:flex;box-shadow:inset 0 1px #fff3,0 12px 28px -12px #dc3528e6}.bigkey:active{transform:scale(.985)}.bigkey.spare{background:var(--signal);border-color:var(--signal);color:#00181a}.bigkey.record{background:var(--surface-raised);border-color:var(--separator);color:var(--text);font-size:18px}.bigkey-mark{font-family:var(--font-num);font-size:30px;line-height:1}.key.small{min-height:44px;font-family:var(--font-ui);justify-content:center;align-items:center;gap:6px;font-size:15px;font-weight:600;display:inline-flex}.keypad.count{grid-template-columns:repeat(5,1fr)}.keypad.count .key{min-height:48px;font-size:18px}.chip.split.on{border-color:var(--negative);color:var(--negative)}.live-board{--live-game:2.7em;--live-series:3.3em}.live-teams{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;display:grid}.live-team{background:var(--surface-sunken);border:1px solid var(--separator);border-radius:var(--r-sm);min-width:0;padding:2px 12px 4px}.live-team-head{justify-content:space-between;align-items:baseline;gap:10px;padding:10px 0 2px;display:flex}.live-team-head .readout{font-size:18px}.live-row{border-top:1px solid var(--separator);align-items:center;column-gap:5px;padding:7px 0;display:grid}.live-row.live-head{border-top:0;padding:2px 0 4px}.live-row.live-head .micro{font-size:10px}.live-board .frame-ticks i{width:3px}@media (width<=420px){.live-board.card{padding-left:12px;padding-right:12px}.live-team{padding:2px 9px 4px}}.live-row .num{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums}.live-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.main:has(.live-page){max-width:none}@media (width>=1400px){.live-board{font-size:clamp(15px,1.05vw,21px)}}.frame-ticks{justify-content:flex-end;gap:1px;margin-top:3px;display:flex}.live-row .num{position:relative}.live-row .frame-ticks{margin-top:1px;position:absolute;top:100%;right:0}.frame-ticks i{background:var(--separator);border-radius:1px;width:4px;height:3px}.frame-ticks i.done{background:var(--text-3)}.frame-ticks i.now{background:var(--accent)}.score-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.score-toolbar .segmented{flex:none}.score-ball{flex:0 170px;width:auto;min-width:0;min-height:36px;padding:4px 8px;font-size:14px}select.input.score-ball{text-overflow:ellipsis;background-position:right 7px center;background-size:12px;padding-right:24px!important}.score-footer{border-top:1px solid var(--separator);margin-top:2px;padding-top:10px}.segmented{border:1px solid var(--separator);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--separator);color:var(--text-2);font-family:var(--font-ui);letter-spacing:var(--micro-tracking);text-transform:uppercase;cursor:pointer;background:0 0;padding:7px 14px;font-size:11px;font-weight:700}.segmented button:last-child{border-right:0}.segmented button.on{background:var(--surface-raised);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.pin{transition:background .12s,color .12s,border-color .12s,transform .12s}.pin:not(.down):not(.gone){transform:translateY(-2px)}.pin:active{transform:scale(.94)}.celebrate{pointer-events:none;z-index:5;place-items:center;display:grid;position:absolute;inset:0}.celebrate-label{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;border-radius:var(--r-sm);background:#000000b8;padding:6px 18px;font-size:clamp(34px,9vw,52px);font-weight:800;animation:1.2s cubic-bezier(.2,.9,.3,1.2) forwards pop}.celebrate.split .celebrate-label{font-size:26px;animation-name:nudge}.celebrate.perfect .celebrate-label{animation-duration:2.5s}.celebrate.club .celebrate-label{border:2px solid var(--signal);padding:8px 16px;font-size:clamp(24px,6.5vw,34px);animation:2.3s cubic-bezier(.2,.9,.3,1.1) forwards stamp}@keyframes stamp{0%{opacity:0;transform:scale(2.2)rotate(-14deg)}14%{opacity:1;transform:scale(.96)rotate(-5deg)}22%{transform:scale(1)rotate(-6deg)}82%{opacity:1;transform:scale(1)rotate(-6deg)}to{opacity:0;transform:scale(1)rotate(-6deg)translateY(-6px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}18%{opacity:1;transform:scale(1.06)}30%{transform:scale(1)}78%{opacity:1}to{opacity:0;transform:scale(1.02)translateY(-6px)}}@keyframes nudge{0%{opacity:0;transform:translate(0)}15%{opacity:1;transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-3px)}60%{opacity:1;transform:translate(0)}to{opacity:0}}.scatter{z-index:2;width:0;height:0;position:absolute;top:30%;left:50%}.flypin{transform-origin:50% 60%;filter:drop-shadow(0 0 #0000);width:17px;height:44px;margin:-22px -8.5px;animation:1s cubic-bezier(.2,.7,.3,1) forwards tumble;position:absolute}@keyframes tumble{0%{opacity:0;transform:translateY(8px)rotate(0)scale(.9)}10%{opacity:1;transform:translate(0)rotate(0)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 120px)) rotate(var(--r)) scale(.85)}}.sweep{background:linear-gradient(100deg,#0000 30%,#00e2ec38 50%,#0000 70%);animation:.9s ease-out forwards sweep;position:absolute;inset:0}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.count-in{animation:.6s cubic-bezier(.2,.9,.3,1.2) countin}@keyframes countin{0%{opacity:0;transform:translateY(8px)scale(.9)}to{opacity:1;transform:none}}:root[data-motion=off] *,:root[data-motion=off] :before,:root[data-motion=off] :after{transition:none!important;animation:none!important}:root[data-motion=off] .celebrate{display:none}@media (prefers-reduced-motion:reduce){.scatter,.sweep{display:none}.celebrate-label{animation:1.2s forwards fade}.count-in{animation:none}.pin,.bigkey{transition:none}}@keyframes fade{0%{opacity:0}15%{opacity:1}80%{opacity:1}to{opacity:0}}@media (pointer:coarse){.input,select.input,textarea.input,.input.compact,.roster-edit .input,.item .input,select.input.filter-select{font-size:16px}select.input.filter-select,.btn,.btn.small,.chip,.segmented button,.input,select.input,.input.compact,.roster-edit .input,.item .input,.score-ball{min-height:44px}th.sortable button{min-width:44px;min-height:44px}}.print-sheet{color:#111;border-radius:var(--r-sm);font-family:var(--font-ui);box-shadow:var(--lift-high);background:#fff;padding:clamp(14px,4vw,36px);font-size:12px;line-height:1.35;overflow-x:auto}.print-sheet h1{font-family:var(--font-display);color:#111;margin:0;font-size:22px}.print-sheet h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#333;margin:14px 0 4px;font-size:13px}.print-sheet table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.print-sheet th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#555;white-space:nowrap;border-bottom:1.5px solid #111;padding:3px 4px;font-size:10px}.print-sheet td{white-space:nowrap;border-bottom:1px solid #ddd;padding:2px 4px}.print-sheet .num{text-align:right}.print-sheet .ps-team td{background:#f1f3f6;border-bottom:1px solid #bbb;padding-top:5px;font-weight:700}.print-sheet .ps-vs{color:#595959;text-align:center;width:30px}.ps-head{color:#333;border-bottom:2px solid #111;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:6px;display:flex}.ps-week{text-align:right;color:#111;font-weight:700}.ps-two{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0 20px;display:grid}.ps-foot{color:#555;border-top:1px solid #bbb;gap:2px;margin-top:14px;padding-top:6px;font-size:10px;display:grid}.print-tools{align-items:center;gap:10px}@media print{@page{size:letter portrait;margin:.4in}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{background:#fff!important}body:before,body:after,nav.tabbar,.skip-link,[data-print-hide]{display:none!important}.app{display:block!important}.main{max-width:none!important;padding:0!important}.print-sheet{box-shadow:none;border-radius:0;padding:0 6px;font-size:10.5px;overflow:visible}.print-sheet tr,.print-sheet section,.ps-bowlers tbody{break-inside:avoid}}table.data tr.t-cut td{border-bottom:2px dashed var(--signal);color:var(--signal);letter-spacing:var(--micro-tracking);text-transform:uppercase;padding:3px 8px;font-size:11px;font-weight:700}.t-entry{gap:10px;display:grid}.t-entry .t-bowler{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;display:flex}.t-ladder{gap:10px;display:grid}.t-ladder .t-match{grid-template-columns:minmax(0,1fr) clamp(64px,18vw,88px);align-items:center;gap:6px 10px;display:grid}.print-sheet .t-sign{min-width:90px}.score-input{text-align:right;width:clamp(50px,14vw,70px)}.t-games-inline{display:none}@media (width<=479.98px){.t-standings .t-game{display:none}.t-games-inline{display:block}}table.data td:has(>.score-input){padding:4px}.safety-sign{text-align:center;padding:clamp(20px,6vw,48px)}.safety-sign h1{font-size:clamp(30px,8vw,54px)}.safety-sign .ss-lead{margin:12px 0;font-size:clamp(16px,3.4vw,22px);font-weight:700}.safety-sign .ss-qr{width:min(70%,360px);margin:18px auto}.safety-sign .ss-qr svg{width:100%;height:auto;display:block}.safety-sign .ss-url{margin:4px 0 18px;font-size:clamp(16px,3.6vw,24px);font-weight:700}.safety-sign .ss-small{color:#333;max-width:46ch;margin:0 auto;font-size:13px}.safety-sign .ss-foot{color:#555;border-top:1px solid #bbb;margin-top:22px;padding-top:8px;font-size:12px}@media print{.safety-sign{padding:.4in .2in}.safety-sign .ss-small{font-size:12pt}}
