@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#10211a;--bg-raised:#1b3129;--bg-sunken:#0b1712;--card:linear-gradient(180deg, #1e372d 0%, #172b23 100%);--chalk:#f4f2e8;--chalk-dim:#a7b8aa;--accent:#ffd166;--accent-2:#f28c38;--good:#6ee7a0;--danger:#ff7b72;--line:#2b4a3c;--line-soft:#f4f2e812;--ink-on-accent:#221a00;--radius:14px;--radius-sm:10px;--shadow-1:0 1px 2px #0000004d, 0 6px 18px #0000002e;--shadow-2:0 16px 40px #00000073;--font-display:"Outfit Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-size:16px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:radial-gradient(1100px 520px at 50% -8%, #ffd1660e, transparent 62%), radial-gradient(900px 480px at 88% 108%, #f28c380d, transparent 60%), var(--bg);color:var(--chalk);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root,.app{flex-direction:column;min-height:100vh;display:flex}::selection{background:#ffd1664d}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}::-webkit-scrollbar-track{background:0 0}:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);outline:none}.app input:focus,.app select:focus,.app textarea:focus{border-color:#ffd1668c;outline:none;box-shadow:0 0 0 3px #ffd1661f}.app-header{border-bottom:1px solid var(--line-soft);z-index:40;-webkit-backdrop-filter:blur(12px);background:#10211ad1;flex-wrap:nowrap;align-items:center;gap:.8rem;padding:.55rem 1rem;display:flex;position:sticky;top:0}.app-title{color:var(--chalk);font-family:var(--font-display);letter-spacing:.01em;align-items:center;gap:.4rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.app-main{flex-direction:column;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.25rem 1rem 2rem;display:flex}h1,h2,h3,h4{font-family:var(--font-display)}h2{letter-spacing:-.01em;margin:.5rem 0;font-size:1.6rem;font-weight:800}.app-main h3{text-transform:uppercase;letter-spacing:.14em;color:var(--chalk-dim);align-items:center;gap:.7rem;margin:1.4rem 0 .7rem;font-size:.82rem;font-weight:700;display:flex}.app-main h3:after{content:"";background:var(--line-soft);flex:1;height:1px}.muted{color:var(--chalk-dim)}.center{text-align:center;margin-top:3rem}.btn{border:1px solid var(--line);color:var(--chalk);font-family:var(--font-display);cursor:pointer;touch-action:manipulation;background:linear-gradient(#234438 0%,#1b342a 100%);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.3rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s,filter .12s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:var(--shadow-1);border-color:#3d6a54;transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:none;filter:brightness(.95);transform:translateY(0)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{color:var(--ink-on-accent);background:linear-gradient(#ffdd85 0%,#ffc94f 100%);border-color:#ffdd8580;box-shadow:inset 0 1px #ffffff59,0 2px 10px #ffc94f33}.btn-primary:hover:not(:disabled){border-color:#ffdd85;box-shadow:inset 0 1px #ffffff59,0 4px 16px #ffc94f52}.btn-danger{color:#2b0300;background:linear-gradient(#ff8d84 0%,#f26a60 100%);border-color:#ff8d8480}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){border-color:var(--line);box-shadow:none}.btn.small{padding:.35rem .8rem;font-size:.85rem}.btn-big{padding:.95rem 2rem;font-size:1.2rem}.home-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin:1.25rem 0 1.5rem;display:grid}.action-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--chalk);box-shadow:var(--shadow-1);flex-direction:column;gap:.15rem;padding:1rem 1.1rem .9rem;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.action-card:hover{box-shadow:var(--shadow-2);border-color:#3d6a54;transform:translateY(-2px)}.action-card .action-icon{margin-bottom:.35rem;font-size:1.6rem}.action-card .action-title{font-family:var(--font-display);font-size:1.1rem;font-weight:800}.action-card .action-sub{color:var(--chalk-dim);font-size:.85rem}.action-card.primary{color:var(--ink-on-accent);background:linear-gradient(#ffdd85 0%,#ffc94f 100%);border-color:#ffdd8580}.action-card.primary .action-sub{color:#221a00a6}.action-card.primary:hover{border-color:#fff;box-shadow:0 10px 28px #ffc94f47}.match-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.match-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--chalk);box-shadow:var(--shadow-1);align-items:center;gap:1rem;padding:.85rem 1rem;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.match-card:hover{box-shadow:var(--shadow-2);border-color:#3d6a54;transform:translateY(-1px)}.match-names{flex:1;font-weight:600}.match-names em{color:var(--chalk-dim);padding:0 .3rem;font-style:normal;font-weight:400}.match-score{font-variant-numeric:tabular-nums}.match-status{letter-spacing:.09em;text-transform:uppercase;background:var(--bg-sunken);border:1px solid var(--line-soft);color:var(--chalk-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.match-status.status-live{color:#ffb4ab;background:#ff7b7224;border-color:#ff7b7259}.match-status.status-live:before{content:"";background:#ff7b72;border-radius:999px;width:.45rem;height:.45rem;animation:1.6s infinite live-pulse}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.match-status.status-complete{color:var(--good);border-color:#6ee7a040}.match-status.status-open{color:var(--accent);background:#ffd1661f;border-color:#ffd16659}.setup{width:100%;max-width:560px;margin:0 auto}.setup-grid{grid-template-columns:1fr 1fr;gap:.9rem;margin:1rem 0;display:grid}.setup label,.setup .setup-field{color:var(--chalk-dim);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.setup input[type=text],.setup input:not([type]),.setup select,.setup input[list]{background:var(--bg-sunken);border:1px solid var(--line);color:var(--chalk);border-radius:10px;padding:.7rem .8rem;font-size:1.05rem}.setup label.setup-check{color:var(--chalk);flex-direction:row;align-items:center;gap:.6rem;font-size:1rem}.setup-check input{width:1.3rem;height:1.3rem}.form-error{color:var(--danger);font-weight:600}body.chalk-mode .app-header{display:none}body.chalk-mode .app-main{padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));padding-top:calc(.6rem + env(safe-area-inset-top));max-width:none}.chalkboard{flex-direction:column;flex:1;gap:.7rem;min-height:0;display:flex}.chalk-top{grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;display:grid}.legs-chip{background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-display);font-variant-numeric:tabular-nums;padding:.15rem 1.2rem;font-size:1.7rem;font-weight:800}.chalk-top-center{text-align:center}.chalk-bestof{font-family:var(--font-display);font-size:1.05rem;font-weight:800}.chalk-subline{color:var(--chalk-dim);font-size:.8rem}.chalk-abandon{color:var(--chalk-dim);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0 0 0 .7rem;font-size:.8rem;text-decoration:underline}.chalk-abandon:hover{color:var(--danger)}.score-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.score-panel{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-1);padding:.8rem 1rem;transition:border-color .15s,box-shadow .15s}.score-panel.throwing{color:#04240f;box-shadow:0 0 30px #17e46838, var(--shadow-1);background:linear-gradient(#17e468 0%,#0cc954 100%);border-color:#17e46899}.score-panel.throwing .score-meta{color:#04240fb8}.score-panel.throwing .score-meta strong{color:#04240f}.score-panel.throwing .busted-text,.score-panel.throwing .needs-open{color:#7a1d00}.score-name{font-family:var(--font-display);justify-content:center;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;display:flex}.score-remaining{font-variant-numeric:tabular-nums;text-shadow:0 2px 18px #00000059;font-size:clamp(3.5rem,12vw,7rem);font-weight:800;line-height:1.05}.score-meta{color:var(--chalk-dim);font-variant-numeric:tabular-nums;justify-content:center;gap:1rem;font-size:.95rem;display:flex}.needs-open{color:var(--accent);font-weight:600}.chalk-error{text-align:center;margin:0}.chalk-toast{background:var(--danger);color:#2b0300;font-family:var(--font-display);z-index:80;white-space:nowrap;box-shadow:var(--shadow-2);border-radius:14px;padding:.8rem 1.6rem;font-size:1.2rem;font-weight:800;animation:.35s toast-shake,2.6s forwards toast-fade;position:fixed;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes toast-shake{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 9px),-50%)}75%{transform:translate(calc(9px - 50%),-50%)}}@keyframes toast-fade{0%,80%{opacity:1}to{opacity:0}}.score-meta strong{color:var(--chalk)}.score-meta .busted-text{color:var(--danger)}.checkout-confirm{width:100%;margin-bottom:.8rem;padding:1.1rem;font-size:1.6rem}.modal-actions-secondary{justify-content:flex-end}.chalk-entry{flex-direction:column;gap:.5rem;width:100%;max-width:540px;margin:0 auto;display:flex}.keypad-area{flex-direction:column;gap:.5rem;display:flex}.entry-row{gap:.5rem;display:flex}.entry-row .entry-display{flex:1}.undo-key{width:4.6rem;min-height:0;font-size:1.3rem}.undo-key.armed{color:#2b0300;background:linear-gradient(#ff8d84 0%,#f26a60 100%);border-color:#ff8d8480;font-size:1rem}.keypad-wrap{grid-template-columns:minmax(3.2rem,4.2rem) 1fr minmax(3.2rem,4.2rem);gap:.5rem;display:grid}.quick-col{flex-direction:column;gap:.5rem;display:flex}.quick-chip{background:var(--bg-sunken);border:1px solid var(--line);min-height:0;color:var(--chalk);border-radius:var(--radius);font-family:var(--font-display);cursor:pointer;font-variant-numeric:tabular-nums;touch-action:manipulation;flex:1;padding:0;font-size:1.05rem;font-weight:700;transition:border-color .12s,background .12s}.quick-chip:hover:not(:disabled){background:var(--bg-raised);border-color:#3d6a54}.quick-chip:active:not(:disabled){background:var(--line)}.quick-chip:disabled{opacity:.45}.entry-display{background:var(--bg-sunken);border:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;border-radius:12px;min-height:3.4rem;padding:.4rem;font-size:2.2rem;font-weight:700}.entry-display[data-empty=true]{color:var(--chalk-dim);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.keypad{flex:1;grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.key{border:1px solid var(--line);color:var(--chalk);border-radius:var(--radius);font-family:var(--font-display);cursor:pointer;touch-action:manipulation;background:linear-gradient(#234438 0%,#1b342a 100%);min-height:64px;font-size:1.8rem;font-weight:700;transition:transform 60ms,box-shadow 60ms,filter 60ms;box-shadow:0 2px #00000040}.key:active{box-shadow:none;filter:brightness(1.12);transform:translateY(2px)}.key:disabled{opacity:.45}.key-enter{color:#dfffe9;background:linear-gradient(#1a9e5c 0%,#117a44 100%);border-color:#1a9e5c8c;font-size:1.4rem;box-shadow:0 2px #042e18b3,0 2px 12px #1a9e5c33}.key-del{color:#ffc4be;background:linear-gradient(#6b2823 0%,#531e1a 100%);border-color:#ff7b724d;font-size:1.4rem}.key-mod{color:var(--chalk-dim)}.chalk-side{flex-direction:column;gap:.6rem;min-height:0;display:flex}.undo{width:100%}.undo.armed{background:var(--danger);border-color:var(--danger);color:#2b0300}.chalk-history{background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;flex:1;width:100%;max-width:700px;min-height:5rem;margin:0 auto;display:flex;overflow:hidden;box-shadow:inset 0 2px 8px #00000040}.ch-head{border-bottom:1px solid var(--line);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--chalk-dim);grid-template-columns:1fr 1fr;font-size:.8rem;font-weight:700;display:grid}.ch-head span{text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:.45rem .8rem;overflow:hidden}.ch-head span:first-child{border-right:1px solid var(--line)}.ch-scroll{flex:1;overflow-y:auto}.ch-row{grid-template-columns:1fr 1fr;display:grid}.ch-row:nth-child(2n){background:#f4f2e808}.ch-cell{border:none;border-bottom:1px dashed var(--line-soft);color:var(--chalk);cursor:pointer;font-variant-numeric:tabular-nums;text-align:left;background:0 0;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.4rem .8rem;font-size:1rem;display:flex}.ch-row .ch-cell:first-child{border-right:1px solid var(--line)}button.ch-cell:hover{background:#ffd16614}.ch-cell .ch-score{font-size:1.05rem;font-weight:800}.ch-cell.busted .ch-score{color:var(--danger)}.ch-cell .ch-left{color:var(--chalk-dim)}.ch-cell-empty{cursor:default}.ch-empty{text-align:center;padding:.8rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:50;background:#050c09a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow-2);border-radius:18px;padding:1.2rem 1.4rem;animation:.16s modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.modal h3{margin:0 0 .8rem}.modal input{background:var(--bg-sunken);border:1px solid var(--line);width:100%;color:var(--chalk);text-align:center;border-radius:10px;padding:.7rem .8rem;font-size:1.4rem}.modal-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.pick-row{align-items:center;gap:.8rem;margin:.6rem 0;display:flex}.pick-row>span{color:var(--chalk-dim);flex:1}.pick-options{gap:.4rem;display:flex}.pick{border:1px solid var(--line);background:var(--bg-sunken);min-width:48px;min-height:48px;color:var(--chalk);cursor:pointer;border-radius:10px;font-size:1.1rem;font-weight:700}.pick.selected{background:var(--accent);border-color:var(--accent);color:#221a00}.leg-transition{color:var(--chalk);z-index:60;cursor:pointer;text-align:center;background:#0a1410eb;border:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.leg-transition h2{font-size:2rem}.leg-transition .next-up{color:var(--accent);margin-top:1.5rem;font-weight:600}.summary{text-align:center;width:100%;max-width:640px;margin:0 auto}.winner-line{font-size:1.8rem}.score-line{color:var(--chalk-dim);font-size:1.3rem}.stats-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:1rem 0}.stats-table th,.stats-table td{border-bottom:1px solid var(--line);padding:.45rem .6rem}.stats-table tbody th{color:var(--chalk-dim);font-weight:600}.stat-a{text-align:right}.stat-b{text-align:left}.leg-list{text-align:left;max-width:420px;color:var(--chalk-dim);margin:0 auto}.leg-list strong{color:var(--chalk)}.summary-actions{justify-content:center;gap:.8rem;margin:1.5rem 0;display:flex}.tournament-header{flex-wrap:wrap;align-items:baseline;gap:1rem;display:flex}.champion-line{color:var(--accent);font-size:1.3rem;font-weight:700}.entry-add{gap:.5rem;margin:.5rem 0;display:flex}.entry-add input{background:var(--bg-sunken);border:1px solid var(--line);color:var(--chalk);border-radius:10px;flex:1;padding:.7rem .8rem;font-size:1.05rem}.entry-list{flex-direction:column;gap:.3rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.entry-list li{background:var(--bg-raised);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;padding:.35rem .8rem;display:flex}.group-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem;display:grid}.group-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:.8rem 1rem}.group-card h4{margin:0 0 .5rem}.group-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:.6rem;font-size:.9rem}.group-table th,.group-table td{text-align:left;border-bottom:1px dashed var(--line);padding:.25rem .4rem}.group-table th:not(:first-child),.group-table td:not(:first-child){text-align:right}.group-table tr.qualifying td:first-child{color:var(--good);font-weight:600}.group-matches{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.group-matches li{align-items:center;gap:.6rem;font-size:.92rem;display:flex}.gm-names{flex:1}.gm-names em{color:var(--chalk-dim);font-style:normal}.gm-score{font-variant-numeric:tabular-nums;font-weight:700}.bracket{align-items:stretch;gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.bracket-round{flex-direction:column;gap:.6rem;min-width:220px;display:flex}.bracket-round>h4{color:var(--chalk-dim);text-align:center;margin:0}.slot-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);flex-direction:column;gap:.25rem;padding:.5rem .7rem;display:flex}.slot-card.slot-decided{border-color:#6ee7a033}.bracket-round .slot-card{margin:auto 0}.slot-card.slot-bye{opacity:.35;text-align:center}.slot-side{font-weight:600}.slot-side.slot-winner{color:var(--accent)}.slot-action{justify-content:flex-end;align-items:center;gap:.5rem;min-height:1.6rem;display:flex}.slot-result{color:var(--good);font-size:.85rem;font-weight:600}.small-note{font-size:.8rem}.league-table{border-collapse:collapse;font-variant-numeric:tabular-nums;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-1);overflow:hidden}.league-table th,.league-table td{border-bottom:1px solid var(--line);text-align:right;padding:.45rem .55rem}.league-table .lt-name{text-align:left;width:40%}.league-table thead th{color:var(--chalk-dim);font-weight:600}.lt-points{color:var(--accent);font-weight:700}.fixture-round h4{color:var(--chalk-dim);margin:.8rem 0 .4rem}.fixture-night h2{margin-bottom:.2rem}.fixture-night em,.slot-game em{color:var(--chalk-dim);font-style:normal}.slot-game-list{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.slot-game{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:.7rem 1rem}.slot-game-head{justify-content:space-between;align-items:baseline;margin-bottom:.4rem;display:flex}.slot-game-body{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.slot-game-fill{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.side-fill{flex-direction:column;gap:.4rem;display:flex}.side-fill input{background:var(--bg-sunken);border:1px solid var(--line);color:var(--chalk);border-radius:8px;padding:.5rem .7rem}.start-gate{text-align:center;margin-top:2.5rem}.start-gate em{color:var(--chalk-dim);font-style:normal}.start-gate-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.auth-card{background:var(--card);border:1px solid var(--line);max-width:440px;box-shadow:var(--shadow-2);border-radius:18px;margin-top:2rem;padding:1.5rem 1.5rem 1.25rem}.user-label{white-space:nowrap;transition:color .12s}.app-header .btn{white-space:nowrap}@media (width<=1023px){.user-chip .user-label{display:none}}@media (width>=701px) and (width<=900px){.app-header .nav-link{padding:.4rem .7rem;font-size:.9rem}.app-header .sync-word{display:none}.app-header{gap:.55rem}.app-header .app-nav{margin-left:.3rem}}@media (width<=700px){.app-header{gap:.55rem;padding:.5rem .75rem}.app-header .app-nav,.app-header .sync-word{display:none}}.auth-fields{flex-direction:column;gap:.9rem;margin:1rem 0;display:flex}.auth-fields label{color:var(--chalk-dim);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.auth-fields input{background:var(--bg-sunken);border:1px solid var(--line);color:var(--chalk);border-radius:10px;padding:.7rem .8rem;font-size:1.05rem}.org-choice{cursor:pointer;width:100%;font-size:1rem}.header-spacer{flex:1}.user-chip{color:var(--chalk-dim);align-items:center;gap:.45rem;text-decoration:none;transition:color .12s;display:inline-flex}.user-chip:hover{color:var(--chalk)}.user-avatar{border:1px solid var(--line);width:2rem;height:2rem;font-family:var(--font-display);color:var(--chalk);letter-spacing:.03em;background:linear-gradient(#234438 0%,#1b342a 100%);border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.user-chip:hover .user-avatar{border-color:#3d6a54}.user-label{font-size:.85rem}.sync-dot{font-size:.8rem;font-weight:600}.sync-dot.online{color:var(--good)}.sync-dot.offline{color:var(--chalk-dim)}.admin section{margin-bottom:1.5rem}.storage-chip{color:#ffe3a3;cursor:pointer;background:#5c4a1f;border:1px solid #8a6d2a;border-radius:8px;padding:.25rem .55rem;font-size:.8rem;font-weight:700}.player-picker{position:relative}.player-picker input{background:var(--bg-sunken);border:1px solid var(--line);width:100%;color:var(--chalk);border-radius:10px;padding:.7rem .8rem;font-size:1.05rem}.picker-menu{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);z-index:60;box-shadow:var(--shadow-2);flex-direction:column;animation:.12s modal-in;display:flex;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:hidden}.picker-item{color:var(--chalk);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .8rem;font-size:.95rem;display:flex}.picker-item:hover{background:var(--bg-sunken)}.picker-linked{letter-spacing:.06em;color:var(--good);font-size:.7rem;font-weight:700}.picker-create{border-top:1px solid var(--line);color:var(--accent);font-weight:600}.picker-empty{padding:.55rem .8rem;font-size:.9rem}.player-chip{background:var(--bg-sunken);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .9rem;font-weight:600;display:inline-flex}.player-chip button{color:var(--chalk-dim);cursor:pointer;background:0 0;border:none;font-size:.9rem}.scope-switcher{position:relative}.scope-menu{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);z-index:70;min-width:200px;box-shadow:var(--shadow-2);flex-direction:column;animation:.12s modal-in;display:flex;position:absolute;top:calc(100% + .3rem);right:0;overflow:hidden}.scope-item{color:var(--chalk);text-align:left;cursor:pointer;background:0 0;border:none;padding:.6rem .9rem;font-size:.95rem}.scope-item:hover{background:var(--bg-sunken)}.scope-item.selected{color:var(--accent);font-weight:700}.scope-item.scope-new{border-top:1px solid var(--line);color:var(--chalk-dim)}.update-banner{background:var(--accent);color:#221a00;justify-content:center;align-items:center;gap:.8rem;padding:.5rem 1rem;font-weight:600;display:flex}.update-banner button{cursor:pointer;background:0 0;border:1px solid #221a00;border-radius:8px;padding:.25rem .7rem;font-weight:700}.continue-strip{flex-direction:column;gap:.5rem;margin-bottom:.6rem;display:flex}.continue-banner{border-radius:var(--radius);color:var(--chalk);box-shadow:var(--shadow-1);background:linear-gradient(100deg,#57201d 0%,#1e372d 55%);border:1px solid #8a3a3a;align-items:center;gap:1rem;padding:.85rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.continue-banner:hover{box-shadow:var(--shadow-2);border-color:#b25050;transform:translateY(-1px)}.continue-label{letter-spacing:.06em;color:#ffb4ab;white-space:nowrap;font-size:.8rem;font-weight:700}.continue-names{font-size:1.05rem;font-weight:700}.continue-names em{color:var(--chalk-dim);font-style:normal;font-weight:400}.bracket-round .slot-card{position:relative}.bracket-round:not(:first-child) .slot-card:not(.slot-bye):before{content:"";background:var(--line);width:.55rem;height:1px;position:absolute;top:50%;left:-.6rem}.bracket-round:not(:last-child) .slot-card:not(.slot-bye):after{content:"";background:var(--line);width:.55rem;height:1px;position:absolute;top:50%;right:-.6rem}.up-next-strip{gap:.8rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.up-next-strip .slot-card{min-width:220px}@media (width>=701px) and (width<=1100px){.key{min-height:72px}.ch-cell{padding:.5rem .9rem}}@media (width<=700px){.keypad-wrap{grid-template-columns:minmax(2.9rem,3.4rem) 1fr minmax(2.9rem,3.4rem);gap:.4rem}.quick-chip{font-size:.95rem}.key{min-height:56px}.legs-chip{padding:.1rem .9rem;font-size:1.35rem}.score-remaining{font-size:clamp(2.8rem,16vw,4.5rem)}.score-panel{padding:.6rem .5rem}.score-name{font-size:1rem}.score-meta{gap:.55rem;font-size:.82rem}.score-meta span{white-space:nowrap}.score-last{font-size:.85rem}.ch-cell{padding:.3rem .6rem;font-size:.95rem}}@media (display-mode:standalone){.app-header{padding-top:calc(.5rem + env(safe-area-inset-top))}}.discover-search{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;display:flex}.discover-search input{background:var(--bg-sunken);border:1px solid var(--line);min-width:12rem;color:var(--chalk);border-radius:8px;flex:1;padding:.6rem .8rem;font-size:1rem}.discover-where{font-size:.85rem;font-weight:400}.watch-enter{flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:1rem;display:flex}.watch{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.watch-header h2{margin:.25rem 0}.watch-header em{color:var(--chalk-dim);font-style:normal}.watch-board{grid-template-columns:1fr 1fr;gap:1rem;width:100%;max-width:46rem;display:grid}.watch-side{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);flex-direction:column;align-items:center;gap:.35rem;padding:1rem;transition:border-color .2s,box-shadow .2s;display:flex}.watch-side.watch-throwing{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 28px #ffd16624, var(--shadow-1)}.watch-name{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.watch-remaining{font-variant-numeric:tabular-nums;text-shadow:0 2px 18px #00000059;font-size:clamp(3rem,14vw,6rem);font-weight:800;line-height:1}.watch-meta{color:var(--chalk-dim);flex-wrap:wrap;justify-content:center;gap:.9rem;font-size:.95rem;display:flex}.watch-arrow{color:var(--accent);font-size:.9rem}.watch-note{font-size:.85rem}@media (width<=700px){.watch-board{grid-template-columns:1fr}}.app-logo{vertical-align:-.4rem;border-radius:6px;width:1.6rem;height:1.6rem;margin-right:.15rem}.auth-logo{border-radius:16px;width:min(11rem,55vw);margin:0 auto .5rem;display:block}.opp-toggle{gap:.4rem;margin-bottom:.4rem;display:flex}.opp-pick{flex:1;min-height:44px;font-size:.95rem}.bot-field{grid-column:1/-1}.bot-tiers{flex-wrap:wrap;gap:.4rem;display:flex}.bot-tiers .bot-tier{flex:5.2rem;min-width:4.8rem}.bot-tier{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;min-height:54px;font-size:.9rem;line-height:1.15;display:flex}.bot-tier em{opacity:.75;font-size:.75rem;font-style:normal;font-weight:500}.bot-dots{align-items:center;gap:.25rem;display:inline-flex}.bot-dots i{opacity:.35;background:currentColor;border-radius:999px;width:.4rem;height:.4rem;animation:1.1s infinite bot-dot}.bot-dots i:nth-child(2){animation-delay:.18s}.bot-dots i:nth-child(3){animation-delay:.36s}@keyframes bot-dot{0%,to{opacity:.25}40%{opacity:1}}.app-nav{align-items:center;gap:.3rem;margin-left:.9rem;display:flex}.nav-link{font-family:var(--font-display);color:var(--chalk);border:1px solid #0000;border-radius:999px;padding:.42rem .95rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.nav-link:hover{background:var(--bg-raised);border-color:var(--line)}.nav-link.nav-active{color:var(--accent);background:#ffd16624;border-color:#ffd16659}.profile-head h2{margin-bottom:.1rem}.profile-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.7rem;max-width:560px;margin:1rem 0 .5rem;display:grid}.stat-chip{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);flex-direction:column;gap:.1rem;padding:.7rem .9rem;display:flex}.stat-chip strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.stat-chip span{color:var(--chalk-dim);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}.match-date{font-size:.85rem;font-weight:400}.match-status.status-won{color:var(--good);background:#6ee7a01f;border-color:#6ee7a059}.match-status.status-lost{color:#e8a09a;background:#ff7b721a;border-color:#ff7b7240}.player-link{color:var(--chalk);text-decoration:none}.player-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.home-history-hint{margin-top:1.5rem;font-size:.9rem}.home-history-hint a{color:var(--accent)}.tab-bar{z-index:40;padding:.35rem .6rem calc(.35rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line-soft);background:#10211ae0;grid-template-columns:repeat(4,1fr);gap:.25rem;display:none;position:fixed;bottom:0;left:0;right:0}.tab-item{border-radius:var(--radius-sm);color:var(--chalk-dim);font-family:var(--font-display);letter-spacing:.02em;flex-direction:column;align-items:center;gap:.15rem;padding:.3rem 0 .2rem;font-size:.68rem;font-weight:600;text-decoration:none;transition:color .12s,background .12s;display:flex}.tab-item svg{width:22px;height:22px}.tab-item:active{background:var(--bg-raised)}.tab-item.nav-active{color:var(--accent)}body.chalk-mode .tab-bar{display:none}@media (width<=700px){.tab-bar{display:grid}body:not(.chalk-mode) .app-main{padding-bottom:calc(4.8rem + env(safe-area-inset-bottom))}}.scope-item.scope-signout{border-top:1px solid var(--line);color:var(--danger)}.setup-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);margin-bottom:1rem;padding:1rem 1.2rem 1.2rem}.setup-card h3{margin-top:.1rem}.vs-grid{grid-template-columns:1fr auto 1fr;align-items:start;gap:.9rem;display:grid}.vs-side{flex-direction:column;gap:.4rem;min-width:0;display:flex}.vs-label{color:var(--chalk-dim);font-size:.85rem}.vs-badge{background:var(--bg-sunken);border:1px solid var(--line);width:2.4rem;height:2.4rem;font-family:var(--font-display);color:var(--chalk-dim);letter-spacing:.05em;border-radius:999px;justify-content:center;align-self:center;align-items:center;margin-top:1.4rem;font-size:.85rem;font-weight:800;display:inline-flex}.bot-field{flex-direction:column;gap:.45rem;margin-top:.9rem;display:flex}.bot-field input{background:var(--bg-sunken);border:1px solid var(--line);color:var(--chalk);border-radius:10px;max-width:16rem;padding:.7rem .8rem;font-size:1.05rem}.format-row{flex-direction:column;gap:.4rem;margin-bottom:.9rem;display:flex}.format-row:last-child{margin-bottom:0}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.pick.chip{min-width:3rem;min-height:42px;font-size:.95rem;font-family:var(--font-display);padding:0 .7rem}.pick.chip-wide{min-width:7.2rem}.setup-start{width:100%;margin-top:.3rem}@media (width<=700px){.vs-grid{grid-template-columns:1fr}.vs-badge{margin:0 auto}}.opp-row{flex-direction:column;gap:.4rem;margin-bottom:.9rem;display:flex}.vs-grid{align-items:center}.vs-badge{margin-top:1.4rem}.bot-chip{font-family:var(--font-display);justify-content:center;align-self:stretch;padding:.68rem .9rem}.custom-line{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.15rem;display:flex}.chip-custom-input{background:var(--bg-sunken);border:1px solid var(--line);color:var(--chalk);font-variant-numeric:tabular-nums;border-radius:10px;width:7.5rem;padding:.55rem .7rem;font-size:1rem}.chip-row.tight{gap:.35rem}.chip-row.tight .pick.chip{min-width:2.5rem;padding:0 .5rem}.bot-tiers .bot-avg-input{text-align:center;flex:4.8rem;width:auto;min-width:4.4rem;min-height:54px;font-size:1.05rem}
