:root{color-scheme:light;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f2f5f3;color:#122116;font-size:17px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#fff,#e8efe9 58%,#dbe6de);line-height:1.45}.layout{max-width:1100px;margin:0 auto;padding:16px;display:grid;gap:12px}.score-feedback-toast{position:sticky;top:12px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:#123b2d;color:#fff;box-shadow:0 12px 24px #123b2d2e}.app-header{display:flex;justify-content:space-between;align-items:flex-start;background:#1b4332;color:#fff;padding:12px 16px;border-radius:12px;flex-wrap:wrap;gap:8px}.options-toggle-button{border:0;border-radius:7px;padding:4px 10px;cursor:pointer;background:#2d6a4f;color:#fff;font-size:1.1rem;line-height:1;flex-shrink:0}.options-toggle-button:hover{background:#40916c}.options-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:100%;padding-top:4px;border-top:1px solid #2d6a4f}.sync-pill{background:#2d6a4f;border-radius:999px;padding:4px 10px;font-size:.78rem}.options-bar-button{border:0;border-radius:6px;padding:4px 9px;cursor:pointer;background:#d8f3dc;color:#081c15;font-weight:700;font-size:.78rem}.options-bar-button:disabled{opacity:.55;cursor:not-allowed}.options-bar-button.danger{background:#ffd6cc;color:#5c1a0b}.header-actions{display:flex;align-items:center;gap:8px}.header-actions .secondary-button,.header-actions .danger-button{padding:6px 9px;font-size:.82rem;border-radius:7px}.secondary-button{border:0;border-radius:8px;padding:8px 10px;cursor:pointer;background:#d8f3dc;color:#081c15;font-weight:700;font-size:.95rem}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.inline-edit-trigger{margin-left:8px;padding:2px 8px;font-size:.75rem;border:1px solid #aaa;border-radius:4px;background:transparent;cursor:pointer;color:inherit}.team-name-edit-form{display:flex;align-items:center;gap:6px;margin:4px 0}.team-name-edit-form input{padding:4px 8px;border:1px solid #aaa;border-radius:4px;font-size:1rem}.danger-button{border:0;border-radius:8px;padding:8px 10px;cursor:pointer;background:#ffe3e3;color:#8c1c13;font-weight:700;font-size:.95rem}.panel{background:#fff;border:1px solid #d7e2da;border-radius:12px;padding:12px}.key-view-title{margin:0;font-size:clamp(1.2rem,1rem + 1vw,1.65rem);font-weight:800;letter-spacing:.01em;color:#123b2d}.auth-layout{min-height:100vh;align-content:center}.auth-panel{max-width:460px;margin:0 auto;width:100%}.auth-form{display:grid;gap:10px}.google-signin-container{min-height:44px}.auth-error{margin:4px 0 0;color:#8c1c13;font-weight:600}.auth-form label{display:grid;gap:6px;font-weight:600}.auth-form input{border:1px solid #c7d8cc;border-radius:8px;padding:10px}.auth-form button{border:0;border-radius:8px;padding:10px 12px;cursor:pointer;background:#2d6a4f;color:#fff;font-weight:700}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-title-row>div{display:grid;gap:4px}.panel-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.inline-actions{display:flex;gap:8px}.tab-row,.page-nav{display:flex;gap:8px;flex-wrap:wrap}.tab-row button,.page-nav button,.inline-actions button,.roster-form button,.stat-button{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;background:#d8f3dc;color:#081c15;font-weight:700}.tab-row .active-tab{background:#52b788;color:#fff}.page-nav .active-page{background:#2d6a4f;color:#fff}.help-text{margin:8px 0;font-size:.98rem}.on-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.live-card{border:1px solid #d7e2da;border-radius:10px;padding:8px}.live-card.active{border-color:#40916c;background:#f0fbf5}.live-card-header{display:flex;gap:8px;align-items:center;font-weight:600}.stat-button-grid{margin-top:8px;display:grid;grid-template-columns:1fr;gap:8px}.stat-adjust-row{display:grid;grid-template-columns:1fr auto;gap:8px}.stat-button{min-height:52px;transition:transform .12s ease,background-color .12s ease,color .12s ease}.stat-button:active{transform:scale(.97)}.stat-button-pressed{background:#2d6a4f;color:#fff;transform:scale(.98)}.stat-button-decrement{min-width:52px;background:#ffe3e3;color:#8c1c13}.stat-button-decrement-pressed{background:#c92a2a;color:#fff;transform:scale(.98)}.stat-button:disabled{opacity:.55;cursor:not-allowed}.game-log{margin-top:12px;border-top:1px solid #ecf2ed;padding-top:10px}.game-log h3{margin:0 0 8px}.game-log-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.game-log-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #e6eee8;border-radius:8px;padding:8px 10px;background:#fbfdfb}.point-outcome{font-weight:700;font-size:.85rem;border-radius:999px;padding:4px 8px}.point-outcome.outcome-us{background:#d8f3dc;color:#1b5e20}.point-outcome.outcome-them{background:#ffe3e3;color:#8c1c13}.point-score-visual{font-weight:800;letter-spacing:.04em;color:#1b4332}.table-wrap{overflow-x:auto}.table-wrap table{min-width:640px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #ecf2ed;text-align:left;padding:8px;font-size:.95rem}.roster-form{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:start}.roster-form input,.roster-form select{border:1px solid #c7d8cc;border-radius:8px;padding:10px;min-height:44px;height:44px;line-height:1.2;width:100%;min-width:0}.roster-aux-field{align-self:end}.roster-submit-button{min-height:44px;height:44px;align-self:end;width:100%}.roster-form input::placeholder{color:#7d8b81}.roster-form label{display:grid;gap:6px;min-width:0}.roster-required-note{margin:0;max-width:42rem}.required-field span{font-weight:700;font-size:.94rem;line-height:1.1}.games-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.games-form input{border:1px solid #c7d8cc;border-radius:8px;padding:10px}.games-form button{border:0;border-radius:8px;padding:10px 12px;cursor:pointer;background:#d8f3dc;color:#081c15;font-weight:700}.games-list{margin-top:12px;display:grid;gap:8px}.game-card{border:1px solid #ecf2ed;border-radius:8px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.game-card p{margin:4px 0 0;font-size:.97rem}.games-score-line{font-weight:700;color:#1b4332}.game-card button{border:0;border-radius:8px;padding:8px 10px;cursor:pointer;background:#d8f3dc;color:#081c15;font-weight:700}.games-edit-form{display:grid;gap:8px;width:100%}.games-edit-form input{border:1px solid #c7d8cc;border-radius:8px;padding:8px}.games-card-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.game-card .active-game-button{background:#2d6a4f;color:#fff}.game-card .status-button-complete{background:#2f7d32;color:#fff}.game-card .status-button-reopen{background:#f4b400;color:#1f2933}.player-list{margin-top:12px;display:grid;gap:6px}.player-chip{border:1px solid #ecf2ed;border-radius:8px;padding:8px;display:flex;gap:10px;flex-wrap:wrap}.inline-edit-input{border:1px solid #c7d8cc;border-radius:8px;padding:8px;min-width:120px}.inline-edit-actions{display:flex;gap:8px}.player-chip button{border:0;border-radius:8px;padding:8px 10px;cursor:pointer;background:#d8f3dc;color:#081c15;font-weight:700}.lineup-builder{margin-top:16px;border-top:1px solid #ecf2ed;padding-top:12px;display:grid;gap:10px}.lineup-form{display:grid;grid-template-columns:1fr auto;gap:8px}.lineup-form input{border:1px solid #c7d8cc;border-radius:8px;padding:10px}.lineup-form button{border:0;border-radius:8px;padding:10px 12px;cursor:pointer;background:#d8f3dc;color:#081c15;font-weight:700}.lineup-player-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.lineup-player-option{display:flex;align-items:center;gap:8px;border:1px solid #ecf2ed;border-radius:8px;padding:8px}.lineup-existing-list,.lineup-group-list{display:grid;gap:8px}.lineup-group-card{border:1px solid #ecf2ed;border-radius:8px;padding:8px;display:grid;gap:8px}.lineup-group-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.lineup-group-members{display:grid;gap:4px;font-size:.92rem}.lineup-group-members-label{font-weight:700}.lineup-group-toggle-button{justify-self:start;border:0;background:transparent;color:#2d6a4f;font-weight:700;font-size:.8rem;padding:0;cursor:pointer}.lineup-group-toggle-button:hover{text-decoration:underline}.lineup-group-card button{border:0;border-radius:8px;padding:8px 10px;cursor:pointer;background:#d8f3dc;color:#081c15;font-weight:700}.lineup-group-edit-button{justify-self:start;padding:4px 8px;font-size:.82rem;border-radius:6px}@media(max-width:960px){.layout{padding:12px}.panel{padding:10px}.app-header,.panel-title-row,.panel-header,.game-card{flex-direction:column;align-items:stretch}.header-actions,.options-bar,.inline-actions,.games-card-actions{width:100%;justify-content:stretch;flex-wrap:wrap}.header-actions button,.options-bar button,.inline-actions button,.games-card-actions button{flex:1 1 120px}.page-nav,.tab-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));width:100%}.page-nav button,.tab-row button{width:100%}.games-form{grid-template-columns:1fr}.games-form button{width:100%}.roster-form{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-submit-button{grid-column:1 / -1}.lineup-form{grid-template-columns:1fr}.lineup-form button{width:100%}.stat-adjust-row{grid-template-columns:1fr}.stat-button-decrement{min-width:0}}@media(max-width:640px){.layout{padding:8px}.app-header{gap:10px}.header-actions,.options-bar,.team-name-edit-form{flex-direction:column;align-items:stretch}.header-actions button,.options-bar button,.team-name-edit-form input,.team-name-edit-form button,.page-nav button,.tab-row button,.games-form button,.roster-submit-button{width:100%}.page-nav,.tab-row{grid-template-columns:1fr 1fr}.panel-title-row,.panel-header,.game-card{gap:10px}.roster-form{grid-template-columns:1fr}.roster-form label,.roster-form input,.roster-form select,.roster-submit-button,.player-chip,.games-edit-form,.lineup-group-card{width:100%}.game-log-item{grid-template-columns:1fr;justify-items:start}.game-log-item>span:last-child{justify-self:end}.table-wrap{margin-inline:-10px;padding-inline:10px}}@media(max-width:520px){th,td{padding:6px 8px;font-size:.88rem}.table-wrap table{min-width:580px}.game-log-item{gap:6px}}
