:root{--green-dark:#0b3d2e;--green:#1a6b4a;--green-bright:#2fae6f;--cream:#f7f5ef;--ink:#182420;--muted:#6b7a73;--border:#e0ddd3;--error:#c0392b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.nav{background:var(--green-dark);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 2rem;display:flex}.brand{font-size:1.1rem;font-weight:700}.nav-links{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.nav-links a{color:#fff;opacity:.85;text-decoration:none}.nav-links a:hover{opacity:1}.main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:2rem}.page h2{margin-top:0}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--error);font-size:.9rem}.card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1.25rem}.auth-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{flex-direction:column;gap:.9rem;width:100%;max-width:360px;display:flex}.auth-card h1{text-align:center;margin:0;font-size:1.4rem}.subtitle{text-align:center;color:var(--muted);margin:0 0 .5rem}label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:500;display:flex}input,select{border:1px solid var(--border);border-radius:8px;padding:.6rem .7rem;font-family:inherit;font-size:1rem}input:focus,select:focus{outline:2px solid var(--green-bright);outline-offset:1px}input[type=checkbox]{width:auto;padding:0}button.primary{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.7rem 1rem;font-size:1rem;font-weight:600}button.primary:hover:not(:disabled){background:var(--green-bright)}button.primary:disabled{opacity:.5;cursor:not-allowed}.link-button{color:var(--green);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.squad-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem;margin-top:1rem;display:grid}.player-card{text-align:left;font:inherit;color:inherit;flex-direction:column;gap:.2rem;display:flex}.player-card.selectable{cursor:pointer;transition:border-color .15s}.player-card.selectable:hover{border-color:var(--green-bright)}.player-card.selected{border-color:var(--green);background:#eafaf1}.players-table{border-collapse:collapse;width:100%;margin-top:1rem}.players-table th,.players-table td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .7rem}.stats-table input{width:60px;padding:.35rem .4rem}.ownership-bar{background:var(--border);border-radius:6px;width:140px;height:20px;position:relative;overflow:hidden}.ownership-fill{background:var(--green-bright);border-radius:6px;position:absolute;inset:0}.ownership-bar span{z-index:1;color:var(--ink);padding-left:6px;font-size:.75rem;font-weight:600;line-height:20px;position:relative}.transfer-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.transfer-row select{flex:1;min-width:160px}.gameweek-list{flex-direction:column;gap:.7rem;margin-top:1rem;display:flex}.gameweek-card{color:inherit;flex-direction:column;gap:.2rem;text-decoration:none;transition:border-color .15s;display:flex}.gameweek-card:hover{border-color:var(--green-bright)}.badge{border-radius:999px;width:fit-content;margin-top:.3rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-open{color:var(--green);background:#eafaf1}.badge-played{color:#3452a5;background:#eef2fb}.badge-locked{color:#a35a00;background:#fff4e5}.banner{color:#7a4300;text-align:center;background:#fff4e5;padding:.6rem 1rem;font-weight:600}.banner a{color:inherit;text-decoration:underline}.nav-badge{color:#fff;background:#b3261e;border-radius:999px;margin-left:.25rem;padding:0 .4rem;font-size:.7rem}.notification.unread{border-left:4px solid var(--green)}.badge-will{color:var(--green);background:#eafaf1}.badge-likely{color:#a35a00;background:#fff4e5}.badge-closed{color:#666;background:#f0f0f0}.leaderboard{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.leaderboard-row{padding:.9rem 1.1rem}.leaderboard-summary{cursor:pointer;align-items:center;gap:.9rem;display:flex}.rank{color:var(--muted);width:1.5rem;font-weight:700}.name{flex:1;font-weight:600}.chip-tag{color:#a5610a;background:#fff2e0;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.total{color:var(--green);font-weight:700}.admin-form-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-top:.5rem;display:flex}.screen-head{align-items:center;gap:.7rem;margin-bottom:.5rem;display:flex}.screen-head h2{margin:0}.back{width:38px;height:38px;color:var(--ink);background:#e6ede8;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;text-decoration:none;display:flex}.screen-meta{margin:.25rem 0}.notice{color:#6b4e00;background:#fff8e6;border:1px solid #f2dfa8;border-radius:10px;padding:.6rem .8rem;font-size:.9rem}.success{color:var(--green);text-align:center;font-weight:600}.hero{color:#fff;background:linear-gradient(160deg,#0b3d2e 0%,#1a6b4a 60%,#2fae6f 130%);border-radius:22px;flex-direction:column;gap:.5rem;padding:1.2rem;display:flex}.hero-user{align-items:center;gap:.8rem;display:flex}.hero-avatar{background:#fff3;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-weight:800;display:flex}.hero-name{font-size:1.25rem;font-weight:800}.hero-sub{opacity:.8;font-size:.9rem}.hero-divider{background:#ffffff40;height:1px;margin:.4rem 0}.hero-label{text-align:center;opacity:.85}.hero-points{justify-content:space-around;align-items:flex-end;display:flex}.hero-side,.hero-main{flex-direction:column;align-items:center;display:flex}.hero-side strong{font-size:2rem}.hero-main strong{font-size:3.6rem;line-height:1}.hero-side span,.hero-main span{opacity:.85;font-size:.85rem}.hero-season{text-align:center;opacity:.9;font-size:.9rem}.hero-deadline{text-align:center;font-size:1.05rem;font-weight:700}.hero-button{text-align:center;color:#fff;background:#00000047;border-radius:999px;margin-top:.4rem;padding:.9rem;font-weight:600;text-decoration:none;display:block}.hero-button:hover{background:#0006}.menu{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:1rem;overflow:hidden}.menu-row{color:var(--ink);border-bottom:1px solid var(--border);justify-content:space-between;padding:1rem 1.1rem;font-weight:700;text-decoration:none;display:flex}.menu-row:last-child{border-bottom:none}.stat-row{text-align:center;justify-content:space-around;margin:.75rem 0;display:flex}.stat{flex-direction:column;align-items:center;gap:.25rem;display:flex}.stat-value{font-size:1.25rem;font-weight:800}.stat-label{color:var(--muted);font-size:.78rem}.stat-pill{color:var(--green);background:#dff5e8;border-radius:8px;padding:.1rem .6rem}.stat-pill-bad{color:#b3261e;background:#fde3e0}.season-tokens{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.5rem;margin:1rem 0;display:grid}.season-token{border:1px solid var(--border);text-align:center;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .4rem;display:flex}.season-token-icon{width:36px;height:36px;color:var(--green);background:#eaf3ee;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex}.season-token-name{font-size:.78rem;font-weight:700}.pill{border:1.5px solid var(--green-dark);color:var(--green-dark);font:inherit;cursor:pointer;background:#fff;border-radius:8px;width:100%;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.pill:disabled{opacity:.4;cursor:not-allowed}.pill-active{background:var(--green);color:#fff;border-color:var(--green)}.pill-done{color:#5b6a63;cursor:default;text-align:center;background:#eef0ee;border-color:#0000;display:block}.pitch{background:repeating-linear-gradient(#3aa864 0 44px,#34a05e 44px 88px);border:2px solid #ffffff59;border-radius:18px;max-width:440px;margin:1rem auto;padding:1.4rem .5rem 1.6rem;position:relative;overflow:hidden}.pitch:before{content:"";border:2px solid #ffffff73;border-top:none;height:24%;position:absolute;top:0;left:12%;right:12%}.pitch-centre{border:2px solid #fff6;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;position:absolute;top:62%;left:50%}.pitch-row{justify-content:center;gap:.7rem;margin:1.1rem 0;display:flex;position:relative}.tile{width:96px;color:var(--ink);font:inherit;text-align:center;background:#fff;border:2px solid #0000;border-radius:10px;flex-direction:column;padding:0;display:flex;position:relative;box-shadow:0 2px 6px #0003}.tile-button{cursor:pointer}.tile-button:hover{border-color:var(--green-bright)}.tile-name{border-radius:8px 8px 0 0;justify-content:center;align-items:center;height:2.9rem;padding:.4rem .3rem;font-size:.76rem;font-weight:700;line-height:1.15;display:flex;overflow:hidden}.tile-price{color:var(--green);background:#e8f5ee;border-radius:0 0 8px 8px;padding:.25rem;font-size:.75rem;font-weight:700}.tile-changed{border-color:#f5b400}.tile-selected{border-color:var(--green);box-shadow:0 0 0 2px var(--green-bright)}.tile-badge{background:var(--ink);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 4px;font-size:.65rem;font-weight:800;display:flex;position:absolute;top:-8px;left:-8px}.tile-dot{border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;top:-5px;right:-5px}.tile-dot-will_play{background:#2fae6f}.tile-dot-likely{background:#f5a623}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:.6rem;margin-top:1rem;display:grid}.tile-grid .tile{width:auto}.sheet-overlay{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:560px;max-height:82vh;padding:1rem 1.1rem 1.5rem;animation:.18s ease-out sheet-up;overflow-y:auto}@keyframes sheet-up{0%{opacity:.5;transform:translateY(30px)}to{opacity:1;transform:none}}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:1.05rem;display:flex}.sheet-close{cursor:pointer;background:0 0;border:none;font-size:1.1rem}.sheet-row{border:none;border-bottom:1px solid var(--border);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem .2rem;display:flex}.sheet-row:disabled{opacity:.45;cursor:not-allowed}.sheet-token{justify-content:flex-start}.sheet-token-text{flex-direction:column;gap:.15rem;display:flex}.sheet-secondary{border:1px solid var(--border);width:100%;font:inherit;cursor:pointer;background:#fff;border-radius:10px;margin-top:.75rem;padding:.7rem;font-weight:600}.sheet-wide{width:100%}.sheet-current{background:#eafaf1;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.6rem .8rem;display:flex}.sheet-current .pill{width:auto}.action-bar{background:linear-gradient(to top, var(--cream) 70%, transparent);gap:.6rem;margin-top:1rem;padding:.75rem 0;display:flex;position:sticky;bottom:0}.action-bar button{border:1px solid var(--border);font:inherit;cursor:pointer;background:#fff;border-radius:10px;flex:1;padding:.8rem;font-weight:700}.action-bar button.primary{background:var(--green);color:#fff;border:none}.action-bar button:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.main{padding:1rem}.nav{padding:.75rem 1rem}.nav-links{gap:.9rem;font-size:.9rem}}.pitch-wrap{max-width:440px;margin:1rem auto}.pitch-wrap .pitch{margin:0}.pitch-row{flex-wrap:wrap}.bench{background:#cfe7d8;border-radius:14px;justify-content:center;align-items:center;gap:.9rem;margin-top:.6rem;padding:.7rem;display:flex}.bench-label{letter-spacing:.05em;text-transform:uppercase;color:var(--green-dark);font-size:.8rem;font-weight:800}.tile-faded{opacity:.55}.tile-points{background:var(--green-dark);color:#fff}.points-head{text-align:center;justify-content:space-around;align-items:center;margin:.75rem 0;display:flex}.points-head div{flex-direction:column;align-items:center;display:flex}.points-head strong{font-size:1.9rem;line-height:1.1}.points-head span{color:var(--muted);font-size:.85rem}.points-total{color:#fff;background:linear-gradient(160deg,#1a6b4a,#2fae6f);border-radius:14px;padding:.6rem 1.2rem}.points-total strong{font-size:2.6rem}.points-total span{color:#ffffffd9}.gw-switch{justify-content:center;align-items:center;gap:1.2rem;font-size:1.2rem;display:flex}.gw-switch button{cursor:pointer;color:var(--ink);background:0 0;border:none;font-size:1.8rem;line-height:1}.gw-switch button:disabled{opacity:.25;cursor:default}.hero-switch{justify-content:center;gap:1rem;margin-bottom:.25rem}.hero-switch .hero-label{text-align:center;min-width:8rem;margin:0}.hero-switch button{color:#fff;background:#ffffff1f;border-color:#0000}.hero-switch button:disabled{opacity:.3}.sort-btn{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;padding:0;display:inline-flex}.sort-arrow{opacity:.4;font-size:.75em}.sort-arrow.active{opacity:1}.lineup-list{margin:.4rem 0 0;padding:0;list-style:none}.lineup-list li{border-bottom:1px solid #00000014;padding:.35rem 0}.lineup-list li:last-child{border-bottom:0}.player-list{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:1rem;overflow:hidden}.player-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 5.5rem 4rem 4.5rem;align-items:center;gap:.5rem;padding:.9rem 1.1rem;display:grid}.player-row:last-child{border-bottom:none}.player-head{color:var(--muted,#6b7a70);background:#00000008;padding:.7rem 1.1rem;font-size:.8rem;font-weight:700}.player-head .sort-btn{justify-self:start}.player-name{color:var(--ink);font-weight:700}.form-pill{min-width:2.4rem;color:var(--green);text-align:center;background:#1f8c5a24;border-radius:999px;padding:.15rem .5rem;font-weight:700;display:inline-block}.player-pick{border:0;border-bottom:1px solid var(--border);width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:0}.player-pick:last-child{border-bottom:none}.player-pick:hover:not(:disabled){background:#00000008}.player-pick:disabled{cursor:not-allowed}.player-owned{opacity:.4}.player-pick:disabled:not(.player-owned){opacity:.55}.nav{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem 1.25rem .9rem}.nav-links{scrollbar-width:none;flex-wrap:nowrap;gap:.4rem;padding-bottom:2px;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a,.nav-logout{color:#fff;font:inherit;opacity:.85;cursor:pointer;white-space:nowrap;background:#ffffff14;border:0;border-radius:999px;flex:none;padding:.45rem .95rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s,opacity .15s}.nav-links a:hover,.nav-logout:hover{opacity:1;background:#ffffff2e}.nav-links a.active{color:var(--green-dark);opacity:1;background:#fff}.nav-links a.active .nav-badge{background:#b3261e}.nav-logout{background:0 0;margin-left:auto;box-shadow:inset 0 0 0 1px #ffffff59}.nav{z-index:20;position:sticky;top:0}
