:root{color:#12233f;font-synthesis:none;text-rendering:optimizelegibility;--font-display:"Barlow Condensed", "Archivo", sans-serif;--color-bg:#f4f2ec;--color-bg-soft:#fff;--color-panel:#fff;--color-panel-soft:#f1f0e9;--color-border:#12233f24;--color-border-strong:#12233f4d;--color-text:#12233f;--color-muted:#5c6576;--color-muted-strong:#34405a;--color-accent:#b3242f;--color-accent-strong:#8f1c25;--color-navy:#12233f;--color-navy-strong:#0a1626;--color-danger:#c2242f;--color-warning:#a86a08;--shadow-panel:0 1px 2px #12233f0f;--radius-lg:10px;--radius-md:6px;--radius-sm:4px;--color-pos-gk:#a86a08;--color-pos-def:#12233f;--color-pos-mid:#43586e;--color-pos-fwd:#b3242f;background:#f4f2ec;font-family:Archivo,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;padding:.75rem 1.1rem;font-size:1rem;font-weight:700;transition:background .14s,color .14s,border-color .14s}button:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}button:disabled{cursor:not-allowed;opacity:.45}input,select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:#fff;outline:none;padding:.7rem .85rem}input:focus,select:focus{border-color:var(--color-navy);box-shadow:0 0 0 2px #12233f1f}select option{color:var(--color-text);background:#fff}code{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-panel-soft);color:var(--color-navy);padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;display:inline-block}.page-shell{width:min(1180px,100% - 2rem);margin:0 auto;padding:3rem 0}.hero{margin-bottom:2rem;padding:1.25rem 0 .5rem}.eyebrow{color:var(--color-accent);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.85rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{max-width:820px;color:var(--color-navy);font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;margin-bottom:1rem;font-size:clamp(2.4rem,5.5vw,4.4rem);font-weight:700;line-height:.98}h2{color:var(--color-navy);font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;margin-bottom:1rem;font-size:1.35rem;font-weight:700}h3{color:var(--color-navy);font-family:var(--font-display);letter-spacing:.01em;margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.hero-copy{max-width:720px;color:var(--color-muted-strong);font-size:1.02rem;line-height:1.6}.grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;margin-bottom:1rem;display:grid}.card,.standings-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-panel);box-shadow:var(--shadow-panel);padding:1.25rem}.card{min-width:0}.form{gap:1rem;display:grid}.form label{color:var(--color-muted-strong);letter-spacing:.04em;text-transform:uppercase;gap:.4rem;font-size:.85rem;font-weight:600;display:grid}.muted{color:var(--color-muted)}pre{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-navy);color:#dfe6ef;min-height:180px;margin:0;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.5;overflow:auto}.button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.secondary-button{border:1px solid var(--color-navy);width:100%;color:var(--color-navy);background:#fff;margin-top:1rem}.secondary-button:hover:not(:disabled){background:var(--color-panel-soft)}.league-list-shell,.player-list-shell{margin-top:1rem}.league-list,.member-list,.player-list,.validation-list,.score-components{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.league-item,.member-item,.player-item,.roster-summary,.roster-editor-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel-soft)}.league-item,.member-item,.player-item{gap:.35rem;padding:.85rem;display:grid}.league-item span,.member-item span,.player-item span,.player-select-row small,.detail-row span{color:var(--color-muted);font-size:.9rem}.league-item code,.player-item code{width:fit-content}.league-item button{width:fit-content;margin-top:.35rem}.league-detail{gap:.9rem;display:grid}.detail-row{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:1rem;padding-bottom:.65rem;display:flex}.roster-summary{gap:.45rem;padding:.9rem;display:grid}.roster-summary p{color:var(--color-muted);margin:0}.roster-editor-summary{color:var(--color-muted-strong);gap:.35rem;margin-bottom:.9rem;padding:.85rem;font-size:.92rem;display:grid}.player-select-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.player-select-row span{gap:.2rem;display:grid}.lineup-player-row{grid-template-columns:minmax(0,1fr) auto auto}.lineup-slot-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.lineup-slot-actions label{color:var(--color-muted-strong);align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;display:inline-flex}.player-select-row input,.lineup-slot-actions input{width:auto}.validation-list{gap:.35rem;padding-left:1rem;list-style:outside}.validation-errors{color:var(--color-danger)}.validation-warnings{color:var(--color-warning)}.section-heading{margin-bottom:.9rem}.section-heading p{color:var(--color-muted);margin:0;line-height:1.45}.table-wrap{overflow-x:auto}.standings-table{border-collapse:collapse;width:100%;min-width:520px}.standings-table th,.standings-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.65rem .6rem}.standings-table th{color:var(--color-navy);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600}.standings-table td:first-child{color:var(--color-navy);font-weight:700}.score-components{gap:.35rem;margin-top:.65rem}.score-components li{color:var(--color-muted);justify-content:space-between;gap:.75rem;font-size:.82rem;display:flex}.score-components-empty{color:var(--color-muted);margin-top:.5rem;font-size:.82rem;display:block}.gameweek-selector-card{gap:.9rem;display:grid}.gameweek-selector-controls{color:var(--color-muted-strong);gap:.45rem;font-weight:700;display:grid}@media (width<=900px){.grid{grid-template-columns:1fr}.page-shell{padding:2rem 0}}@media (width<=620px){.button-row,.lineup-player-row,.player-select-row{grid-template-columns:1fr}.lineup-slot-actions{justify-content:flex-start}.detail-row{gap:.25rem;display:grid}}.admin-panel,.admin-operations-summary,.admin-gameweek-lock{gap:1rem;display:grid}.admin-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1rem;display:grid}.admin-summary-grid .detail-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel-soft);gap:.25rem;padding:.75rem;display:grid}.admin-lock-action{border:1px solid var(--color-border-strong);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-panel-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem;display:grid}.admin-lock-action p{color:var(--color-muted-strong);margin:0}.admin-gameweek-table .selected-row td{background:#b3242f0f}@media (width<=900px){.admin-summary-grid,.admin-lock-action{grid-template-columns:1fr}.admin-lock-action button{width:100%}}.product-shell{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.product-hero{margin-bottom:.5rem}.product-nav{z-index:10;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding:.5rem;display:grid;position:sticky;top:0}.product-nav-item{border-radius:var(--radius-sm);min-height:4rem;color:var(--color-text);text-align:left;background:0 0;border:1px solid #0000;border-left-width:3px;gap:.15rem;padding:.65rem .75rem;display:grid}.product-nav-item:hover:not(:disabled),.product-nav-item.active{border-left-color:var(--color-accent);background:var(--color-panel-soft)}.product-nav-item span{color:var(--color-navy);font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:1rem;font-weight:700}.product-nav-item small{color:var(--color-muted);font-size:.74rem;line-height:1.25}.product-content,.product-section,.workspace-stack,.home-actions,.product-status-list{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.home-actions .secondary-button{margin-top:0}@media (width<=980px){.product-nav{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (width<=560px){.product-nav{grid-template-columns:1fr}}.pitch-view{gap:.9rem;display:grid}.pitch{border:1px solid var(--color-navy);border-radius:var(--radius-lg);background:repeating-linear-gradient(#1f6b46 0 4.5rem,#1b5e3d 4.5rem 9rem);gap:.9rem;padding:1.1rem .75rem;display:grid}.pitch-row{flex-wrap:wrap;justify-content:center;gap:.6rem;min-height:3.2rem;display:flex}.pitch-row-empty{color:#ffffffc7;align-self:center;font-size:.8rem;font-style:italic}.captain-tag{color:var(--color-accent);letter-spacing:.04em;text-transform:uppercase;font-size:.78em;font-weight:700}.chip-selector{margin-bottom:.9rem}.chip-selector h4{color:var(--color-navy);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .6rem;font-size:.85rem;font-weight:700}.chip-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.chip-option{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);text-align:center;background:#fff;justify-items:center;gap:.3rem;padding:.75rem .5rem;display:grid}.chip-option:hover:not(:disabled){border-color:var(--color-navy);background:var(--color-panel-soft)}.chip-option-active{border-color:var(--color-accent);color:var(--color-accent);background:#b3242f0f}.chip-option-label{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:.95rem;font-weight:700}.chip-option-status{color:var(--color-muted);letter-spacing:.03em;text-transform:uppercase;font-size:.66rem;font-weight:700}.chip-option-active .chip-option-status{color:var(--color-accent)}@media (width<=620px){.chip-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.transfer-penalty-tag{color:var(--color-danger);letter-spacing:.03em;text-transform:uppercase;font-size:.8em;font-weight:700}.auto-sub-tag{color:var(--color-warning);letter-spacing:.03em;text-transform:uppercase;font-size:.8em;font-weight:700}.pitch-player-wrap{justify-items:center;gap:.3rem;display:grid}.pitch-captain-actions{gap:.3rem;display:flex}.captain-pill{border-radius:var(--radius-sm);color:#fff;width:1.35rem;height:1.35rem;font-family:var(--font-display);background:#12233f8c;border:1px solid #ffffff8c;padding:0;font-size:.7rem;font-weight:700;line-height:1}.captain-pill:hover:not(:disabled){background:#12233fcc}.captain-pill-active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.pitch-captain-badge{border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;width:1.15rem;height:1.15rem;font-family:var(--font-display);justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:inline-flex;position:absolute;top:-.4rem;right:-.4rem}.pitch-player-card{border:1px solid var(--color-navy);border-radius:var(--radius-sm);width:5.6rem;color:var(--color-text);text-align:center;background:#fff;justify-items:center;gap:.28rem;padding:.55rem .4rem;font-weight:600;display:grid;position:relative}.pitch-player-card:hover:not(:disabled){border-color:var(--color-accent);background:#fff}.pitch-player-badge{border-radius:var(--radius-sm);color:#fff;width:2rem;height:1.5rem;font-family:var(--font-display);letter-spacing:.02em;justify-content:center;align-items:center;font-size:.66rem;font-weight:700;display:inline-flex}.pitch-player-name{width:100%;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600;overflow:hidden}.pitch-player-price{color:var(--color-accent);font-family:var(--font-display);font-size:.78rem;font-weight:700}.bench-strip{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-panel-soft);padding:.85rem}.bench-strip h4{color:var(--color-navy);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .65rem;font-size:.85rem;font-weight:700}.bench-row{flex-wrap:wrap;gap:.6rem;display:flex}.player-search-input{margin-bottom:.9rem}.player-group{margin-bottom:1rem}.player-group-heading{color:var(--color-navy);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.9rem;font-weight:700;display:flex}.player-group-heading[data-position=GK]{color:var(--color-pos-gk)}.player-group-heading[data-position=DEF]{color:var(--color-pos-def)}.player-group-heading[data-position=MID]{color:var(--color-pos-mid)}.player-group-heading[data-position=FWD]{color:var(--color-pos-fwd)}.player-group-count{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-panel-soft);color:var(--color-muted-strong);letter-spacing:normal;text-transform:none;padding:.05rem .5rem;font-size:.7rem}.lineup-toggle{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:#fff;padding:.3rem .65rem}.lineup-toggle-active{border-color:var(--color-accent);color:var(--color-accent);background:#b3242f0f}@media (width<=620px){.pitch-player-card{width:4.9rem}}
