:root{--bg:#f4f6f4;--surface:#fff;--surface-2:#eef1ee;--line:#e3e7e4;--line-strong:#c8d0ca;--text:#141a17;--text-2:#4a544e;--muted:#737f78;--accent:#1f7a4d;--accent-strong:#19673f;--accent-ink:#fff;--accent-soft:#e3f2e9;--neg:#c4404e;--neg-soft:#fbe9eb;--gold:#a87a10;--gold-soft:#fbf3dc;--info:#2f6fa8;--header:#17422d;--pitch:#2b7a4b;--radius:8px;--radius-sm:6px;--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1, "kern" 1;margin:0;padding:0;font-size:15px;line-height:1.45}body{min-height:100svh;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.app-shell{max-width:460px;margin:0 auto;padding:0 16px}.site-header{background:var(--header);color:#fff;padding-top:env(safe-area-inset-top)}.site-header-inner{justify-content:space-between;align-items:center;gap:12px;max-width:460px;height:52px;margin:0 auto;padding:0 16px;display:flex}.wordmark{color:#fff;letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:9px;font-size:15.5px;font-weight:700;text-decoration:none;display:inline-flex}.wordmark svg{opacity:.9}.site-header nav{gap:4px;display:flex}.site-header nav a{color:#ffffffd1;border-radius:var(--radius-sm);padding:6px 9px;font-size:14px;font-weight:500;text-decoration:none}.site-header nav a:hover{color:#fff;background:#ffffff1a}.site-header nav a[aria-current=page]{color:#fff;background:#ffffff24}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}button:disabled{cursor:default}input,select,textarea{font:inherit;color:var(--text)}.icon{vertical-align:-.16em;flex-shrink:0;display:inline-block}.fade-in{animation:.18s ease-out both fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fade-in{animation:none}}.screen{padding:12px 0 8px}.brand{padding:26px 0 4px}.brand h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700;line-height:1.15}.brand h1 em{font-style:normal}.brand p{color:var(--text-2);max-width:40ch;margin:10px 0 0;font-size:15px;line-height:1.5}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:14px;padding:16px}.btn{text-align:center;background:var(--accent);width:100%;color:var(--accent-ink);border-radius:var(--radius);padding:13px 16px;font-size:15px;font-weight:600;transition:background .12s,transform 60ms;display:block}.btn:hover{background:var(--accent-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{background:var(--line);color:var(--muted)}.btn.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong)}.btn.secondary:hover{background:var(--line)}.btn.subtle{color:var(--text-2);background:0 0;padding:10px;font-weight:500}.btn.subtle:hover{color:var(--text);background:0 0}.label{color:var(--text-2);margin:0 0 8px;font-size:13px;font-weight:600;display:block}.text-input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;padding:12px;font-size:16px}.text-input::placeholder{color:var(--muted)}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.notice{border:1px solid var(--line);border-left:3px solid var(--neg);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);margin-top:12px;padding:10px 12px;font-size:13.5px}.kit{outline-offset:-1px;border-radius:2px;outline:1px solid #0000001f;flex-shrink:0;width:10px;height:24px;display:inline-flex;overflow:hidden}.kit i{flex:1;height:100%;display:block}.pos{letter-spacing:.03em;color:var(--muted);min-width:30px;font-size:11.5px;font-weight:600}.tag{font-size:11.5px;font-weight:600}.tag.inj{color:var(--neg)}.tag.hot{color:var(--accent-strong)}.tag.cold{color:var(--info)}.season-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.season-cell{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);text-align:center;color:var(--text);padding:11px 4px;font-size:14.5px;font-weight:500;transition:border-color .1s,background .1s}.season-cell:hover{border-color:var(--muted)}.season-cell.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:600}.rules h2{font-size:13px}.rules ol{color:var(--text-2);margin:0;padding-left:22px;font-size:14px;line-height:1.5}.rules li{margin:8px 0;padding-left:2px}.rules li::marker{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.budget-bar{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 0 0;position:sticky;top:0}.budget-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.budget-big{letter-spacing:-.01em;font-size:22px;font-weight:700}.budget-big.over{color:var(--neg)}.budget-meta{color:var(--muted);font-size:12.5px}.slot-dots{color:var(--muted);gap:12px;margin-top:4px;font-size:12px;display:flex}.slot-dots b{color:var(--text);font-weight:600}.tabs{scrollbar-width:none;margin-top:8px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--muted);border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:9px 12px 8px;font-size:13.5px;font-weight:500}.tab:hover{color:var(--text-2)}.tab.active{color:var(--text);border-bottom-color:var(--text);font-weight:600}.filter-row{scrollbar-width:none;gap:8px;padding:10px 0;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.budget-bar .filter-row{border-top:1px solid var(--line)}.select-inline{background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:34px;padding:7px 10px;font-size:13px;font-weight:500}.select-inline::placeholder{color:var(--muted)}.select-inline:focus{border-color:var(--accent);outline:none}.player-list{margin-top:2px}.player-row{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:12px;width:100%;padding:10px 2px;display:flex}.player-row:last-child{border-bottom:none}.player-row:active{background:var(--surface)}.player-row.picked .nm{color:var(--text)}.player-row.disabled{opacity:.4}.player-name{flex:1;min-width:0}.player-name .nm{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;display:block;overflow:hidden}.player-name .sub{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex;overflow:hidden}.player-name .sub .pos{min-width:0}.player-price{text-align:right;min-width:52px;font-size:14.5px;font-weight:600}.pick-mark{border-radius:var(--radius-sm);border:1px solid var(--line-strong);width:28px;height:28px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.player-row.picked .pick-mark{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.sticky-cta{bottom:calc(10px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg) 45%);z-index:20;padding-top:12px;position:sticky}.pitch{background:repeating-linear-gradient(0deg, #ffffff0d 0 40px, transparent 40px 80px), var(--pitch);border-radius:var(--radius);margin-top:12px;padding:14px 6px 8px}.pitch-row{justify-content:center;gap:6px;margin-bottom:10px;display:flex}.pitch-slot{text-align:center;border-radius:var(--radius-sm);background:var(--surface);border:1px solid #0000;width:78px;padding:7px 4px;box-shadow:0 1px 2px #0000002e}.pitch-slot.selectable:hover{border-color:var(--line-strong)}.pitch-slot.highlight{border-color:var(--accent);background:var(--accent-soft)}.pitch-slot.injured{border-color:var(--neg)}.pitch .pitch-slot[style]{box-shadow:none;color:#fff;background:#ffffff59}.pitch .pitch-slot[style] .pr{color:#ffffffd9}.pitch-slot .nm{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.pitch-slot .pr{color:var(--muted);margin-top:1px;font-size:10.5px}.bench-title{color:var(--text-2);margin:18px 2px 4px;font-size:13px;font-weight:600}.ticker-feed{cursor:pointer;min-height:200px;margin-top:8px}.ticker-item{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:10px 2px;font-size:14px;display:flex}.ticker-item .tx{color:var(--text-2);align-items:center;gap:8px;font-weight:500;display:flex}.ticker-item .sx{color:var(--muted);font-size:12.5px}.ticker-item.news .tx .ic{color:var(--neg);display:inline-flex}.ticker-item.fixture{padding-top:12px}.ticker-item.fixture .tx{color:var(--text);font-size:15px;font-weight:600}.ticker-item.fixture.good .tx .pts{color:var(--accent-strong)}.ticker-item.fixture.bad .tx .pts{color:var(--neg)}.ticker-item.fixture .tx .pts{margin-left:auto;font-size:16px;font-weight:700}.ticker-item.points .tx{color:var(--text);font-size:17px;font-weight:700}.ticker-item.summary{border-bottom:none;border-top:1px solid var(--line-strong);margin-top:4px;padding-top:14px}.ticker-item.summary .tx{color:var(--text);font-size:15.5px;font-weight:700}.ticker-item.pending{color:var(--muted);border-bottom:none}.gw-top{flex-wrap:wrap;gap:4px 12px;margin-top:2px;display:flex}.gw-chip{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.gw-chip b{color:var(--text-2);font-weight:500}.gw-chip .n{color:var(--text);font-weight:600}.gw-chip .m{color:var(--muted);align-items:center;gap:1px;display:inline-flex}.gw-chip .m.star{color:var(--gold)}.squad-month-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 0;font-size:14px;display:flex}.squad-month-row:last-child{border-bottom:none}.squad-month-row .nm{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:8px;min-width:0;font-weight:500;display:flex;overflow:hidden}.squad-month-row .mp{text-align:right;min-width:42px;font-weight:600}.squad-month-row .mp.hot{color:var(--accent-strong)}.squad-month-row .mp.cold{color:var(--muted)}.squad-month-row .sp{color:var(--muted);text-align:right;min-width:40px;font-size:12.5px}.bd-grid{grid-template-columns:repeat(2,1fr);gap:0 20px;display:grid}@media (width>=520px){.bd-grid{grid-template-columns:repeat(4,1fr)}}.bd-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;font-size:13.5px;display:flex}.bd-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bd-val{font-weight:600}.bd-val.neg{color:var(--neg)}.bd-foot{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin-top:12px;font-size:13px;display:flex}.bd-foot b{color:var(--text);font-weight:600}.scoring-link{color:var(--muted);font-size:12.5px;text-decoration:none}.scoring-link:hover{color:var(--text);text-decoration:underline}.pace-panel{margin-top:10px}.pace-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-bottom:10px;font-size:14.5px;display:flex}.pace-line b{font-size:18px;font-weight:700}.rival-list{margin-top:4px}.rival-row{border-radius:var(--radius-sm);align-items:baseline;gap:10px;padding:7px 6px;font-size:14px;display:flex}.rival-row .rank{color:var(--muted);min-width:16px;font-weight:500}.rival-row .who{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.rival-row .pts{font-weight:600}.rival-row.you{background:var(--gold-soft)}.rival-row.you .who:after{content:" (you)";color:var(--gold);font-size:12px;font-weight:600}.month-header{justify-content:space-between;align-items:baseline;margin-top:14px;display:flex}.month-header h2{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700}.month-header .sub{color:var(--muted);font-size:13.5px;font-weight:500}.window-banner{border-bottom:1px solid var(--line);padding:16px 0 14px}.window-banner h2{letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:700}.window-banner p{color:var(--text-2)!important}.transfer-slot{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;font-size:14px;display:flex}.transfer-slot:last-child{border-bottom:none}.transfer-slot .arrow{color:var(--muted);display:inline-flex}.transfer-slot .out{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-strong)}.transfer-slot .in{flex:1;font-weight:500}.transfer-slot .rm{color:var(--muted);border-radius:4px;padding:4px;display:inline-flex}.transfer-slot .rm:hover{color:var(--text);background:var(--surface-2)}.finale-hero{padding:28px 0 8px}.finale-hero .pos{letter-spacing:-.03em;color:var(--text);min-width:0;font-size:60px;font-weight:700;line-height:1}.finale-hero .pts{color:var(--muted);margin-top:8px;font-size:14.5px}.finale-hero .pts b{color:var(--text-2);font-weight:600}.stat-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.stat-cell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px}.stat-cell .k{color:var(--muted);font-size:12px}.stat-cell .v{margin-top:4px;font-size:14.5px;font-weight:600}.lb-row{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:8px 6px;font-size:14px;display:flex}.lb-row:last-child{border-bottom:none}.lb-row .rank{min-width:30px;color:var(--muted);font-weight:500}.lb-row .who{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.lb-row .season{color:var(--muted);font-size:12px}.lb-row .pts{font-weight:600}.lb-row.you{background:var(--gold-soft);border-radius:var(--radius-sm);border-bottom-color:#0000}.lb-row.gap{color:var(--muted);letter-spacing:.2em;justify-content:center;font-size:12px}.share-card{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;display:block}.share-actions{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.share-actions .btn{padding:10px 6px;font-size:14px}.site-footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin-top:28px;padding:12px 4px 4px;font-size:12px;line-height:1.5}.content{padding:16px 0 10px}.content h1{letter-spacing:-.02em;text-wrap:balance;margin:12px 0 10px;font-size:clamp(26px,6.5vw,34px);font-weight:700;line-height:1.15}.content h2{letter-spacing:-.01em;margin:28px 0 6px;font-size:18px;font-weight:600}.content p{color:var(--text-2);margin:8px 0;font-size:15px;line-height:1.65}.content .lede{color:var(--text-2);font-size:16.5px;line-height:1.55}.content a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.content a:hover{text-decoration-color:var(--text)}.content section{margin-top:4px}.table-wrap{-webkit-overflow-scrolling:touch;margin:12px 0;overflow-x:auto}.scoring-table{border-collapse:collapse;width:100%;min-width:340px;font-size:14px}.scoring-table th,.scoring-table td{border-bottom:1px solid var(--line);padding:9px 8px}.scoring-table thead th{color:var(--muted);text-align:center;font-size:12.5px;font-weight:600}.scoring-table thead th:first-child{text-align:left}.scoring-table tbody th{text-align:left;color:var(--text);font-weight:500}.scoring-table td{text-align:center;font-weight:600}.scoring-table td.neg{color:var(--neg)}.scoring-table tbody tr:last-child th,.scoring-table tbody tr:last-child td{border-bottom:none}.crumbs{color:var(--muted);font-size:12.5px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text)}.crumbs span{opacity:.6;margin:0 6px}.crumbs b{color:var(--text-2);font-weight:500}.content .cta{text-align:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);margin:20px 0;padding:13px 16px;font-size:15px;font-weight:600;text-decoration:none;display:block}.content .cta:hover{background:var(--accent-strong)}.facts{margin:8px 0;padding:0;list-style:none}.facts li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:9px 2px;font-size:14.5px;display:flex}.facts li span{color:var(--muted)}.facts li b{text-align:right;font-weight:600}.player-cards{counter-reset:pc;margin:8px 0;padding:0;list-style:none}.player-cards li{counter-increment:pc;border-bottom:1px solid var(--line);grid-template-columns:22px 1fr auto;align-items:baseline;gap:2px 10px;padding:9px 2px;display:grid}.player-cards li:before{content:counter(pc);color:var(--muted);font-size:12.5px}.player-cards .pnm{font-size:15px;font-weight:500}.player-cards .pmeta{color:var(--muted);grid-column:2;font-size:12.5px}.player-cards .pprice{grid-row:1/span 2;align-self:center;font-weight:600}.prevnext{justify-content:space-between;gap:8px;margin:22px 0 6px;font-size:14px;display:flex}.prevnext a{color:var(--text-2);font-weight:500;text-decoration:none}.prevnext a:hover{color:var(--text)}.season-index{border-top:1px solid var(--line);margin-top:30px;padding-top:18px}.season-index h2{margin:0 0 4px;font-size:17px;font-weight:600}.season-index p{color:var(--muted);margin:0 0 10px;font-size:13.5px}.season-links{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.season-links a{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:center;color:var(--text);padding:10px 6px;font-size:14px;font-weight:500;text-decoration:none}.season-links a:hover{border-color:var(--line-strong)}.season-links a b{font-weight:600;display:block}.season-links a span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;font-weight:400;display:block;overflow:hidden}.contact-form{flex-direction:column;gap:6px;margin-top:18px;display:flex}.contact-form label{color:var(--text-2);margin-top:10px;font-size:13px;font-weight:600}.contact-form label span{color:var(--muted);font-weight:400}.contact-form textarea.text-input{resize:vertical;min-height:130px;font-family:inherit;line-height:1.5}.contact-form .hint{color:var(--muted);margin:2px 0 0;font-size:12.5px}.contact-form .btn{margin-top:16px}.contact-form .botcheck{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.cf-status{min-height:1.2em;color:var(--muted);margin:10px 0 0;font-size:13.5px}.cf-status.good{color:var(--accent-strong);font-weight:600}.cf-status.bad{color:var(--neg)}.content-footer{border-top:1px solid var(--line);margin-top:36px;padding:18px 4px 8px}.content-footer nav{flex-wrap:wrap;gap:6px 18px;display:flex}.content-footer nav a{color:var(--text-2);font-size:13.5px;font-weight:500;text-decoration:none}.content-footer nav a:hover{color:var(--text)}.content-footer p{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.55}
