*{box-sizing:border-box}:root{--bg: #0f1220;--panel: #1a1f36;--panel-2: #242a45;--text: #f5f6fa;--muted: #a0a6c2;--accent: #ffb13b;--accent-press: #e69420;--success: #3ddc84;--error: #ff6b6b;--border: #323856}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;-webkit-tap-highlight-color:transparent}.app{max-width:520px;margin:0 auto;padding:24px 20px 80px;min-height:100vh}.brand{text-align:center;margin-bottom:24px}.brand h1{font-size:28px;margin:0 0 4px;letter-spacing:.5px}.brand p{margin:0;color:var(--muted);font-size:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px}.card h2{margin:0 0 12px;font-size:20px}.card p{margin:0 0 12px;color:var(--muted);line-height:1.5}label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}input[type=text],input[type=password],input[type=tel],input[type=date]{width:100%;padding:14px 16px;font-size:17px;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:12px;outline:none}input:focus{border-color:var(--accent)}.btn{display:block;width:100%;padding:16px;font-size:17px;font-weight:600;color:#0f1220;background:var(--accent);border:none;border-radius:12px;cursor:pointer;touch-action:manipulation}.btn:active{background:var(--accent-press)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.stack>*+*{margin-top:12px}.hint{font-size:13px;color:var(--muted);margin-top:8px}.error{color:var(--error);font-size:14px;margin-top:10px;min-height:18px}.success-icon{font-size:56px;text-align:center;margin:8px 0 16px}.center{text-align:center}.ballot-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;color:var(--muted)}.ballot-status strong{color:var(--text)}.player-list{display:grid;gap:10px;margin-bottom:16px}.player{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--panel-2);border:2px solid var(--border);border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:border-color .15s,background .15s}.player.selected{border-color:var(--accent);background:#ffb13b1f}.player.disabled{opacity:.4;cursor:not-allowed}.checkbox{flex:0 0 24px;width:24px;height:24px;border:2px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#0f1220}.player.selected .checkbox{background:var(--accent);border-color:var(--accent)}.player-name{flex:1;font-size:17px}.reasons-list{display:grid;gap:14px;margin-bottom:16px}.reason-item{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:14px}.reason-item .reason-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.reason-item .reason-header .checkbox{background:var(--accent);border-color:var(--accent)}.reason-item .reason-header .player-name{font-weight:700}.reason-item label{font-size:13px;color:var(--muted);margin-bottom:6px;display:flex;justify-content:space-between}.reason-item textarea{width:100%;min-height:84px;resize:vertical;padding:10px 12px;font-size:16px;font-family:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;outline:none}.reason-item textarea:focus{border-color:var(--accent)}.reason-item .char-count{font-variant-numeric:tabular-nums}.reason-item .char-count.too-short,.reason-item .char-count.too-long{color:var(--error)}.reason-item .char-count.ok{color:var(--success)}.ballot-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px}.ballot-voter{font-weight:700;font-size:15px;margin-bottom:8px;color:var(--accent)}.ballot-entry{padding:8px 0;border-top:1px solid var(--border)}.ballot-entry:first-of-type{border-top:none}.ballot-entry-name{font-size:14px;font-weight:600;margin-bottom:4px}.ballot-entry-reason{font-size:13px;color:var(--muted);line-height:1.4;white-space:pre-wrap}.ballot-entry-reason.empty{font-style:italic}.awards-list{display:grid;gap:0}.award-card{position:relative}.award-card.has-pick{border-color:#ffb13b80}.award-title{margin:0 0 4px;font-size:18px}.award-desc{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.4}.award-pick-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:16px;cursor:pointer;text-align:left}.award-pick-toggle:active{transform:scale(.99)}.award-card.has-pick .award-pick-toggle{border-color:var(--accent);background:#ffb13b1a}.award-current{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.award-current.empty{color:var(--muted)}.award-checkmark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--accent);color:#0f1220;font-size:14px;font-weight:700;flex:0 0 auto}.award-caret{color:var(--muted);font-size:14px}.award-player-list{margin-top:12px}.award-results-card{margin-bottom:14px}.award-results-card h3{margin:0 0 4px;font-size:18px}.award-results-card .award-desc{margin-bottom:10px}.award-leader{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffb13b1f;border:1px solid var(--accent);border-radius:10px;margin-bottom:8px}.award-leader .name{font-weight:700;color:var(--accent)}.award-leader .count{color:var(--accent);font-variant-numeric:tabular-nums}.award-runner{display:flex;justify-content:space-between;padding:6px 12px;font-size:14px;color:var(--muted)}.award-runner .name{flex:1}.award-runner .count{font-variant-numeric:tabular-nums}.award-empty{font-size:13px;color:var(--muted);font-style:italic;padding:6px 0}.award-ballot-pick{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:6px 0;border-top:1px solid var(--border);font-size:13px}.award-ballot-pick:first-of-type{border-top:none}.award-ballot-pick .cat{color:var(--muted)}.award-ballot-pick .name{font-weight:600}.coach-badge{display:inline-block;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#0f1220;background:var(--accent);border-radius:999px;vertical-align:middle}select,textarea{width:100%;padding:12px 14px;font-size:16px;font-family:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:10px;outline:none}select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:160px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.4}.btn-link{background:none;border:none;color:var(--accent);padding:0;font:inherit;cursor:pointer;text-decoration:underline}.file-drop{display:flex;align-items:center;justify-content:center;min-height:100px;border:2px dashed var(--border);border-radius:12px;background:var(--panel-2);cursor:pointer;padding:20px;text-align:center;transition:border-color .15s}.file-drop:active,.file-drop.has-file{border-color:var(--accent)}.file-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-drop-text{font-size:16px;color:var(--muted);line-height:1.4}.file-drop.has-file .file-drop-text{color:var(--accent);font-weight:600}.coach-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.coach-tool-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px 16px;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}.coach-tool-card:active{transform:scale(.98)}.coach-tool-card:hover{border-color:var(--accent)}.coach-tool-card .tool-icon{font-size:28px;margin-bottom:8px}.coach-tool-card .tool-name{font-size:16px;font-weight:700;margin-bottom:4px}.coach-tool-card .tool-desc{font-size:12px;color:var(--muted);line-height:1.4}@media (max-width: 400px){.coach-tools-grid{grid-template-columns:1fr}}.preview-table-wrap{overflow-x:auto;margin:12px -8px 0}.preview-table{font-size:13px;min-width:100%}.preview-table th,.preview-table td{padding:8px 10px;white-space:nowrap}.page-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:18px;padding:0;-webkit-overflow-scrolling:touch}.page-tabs button{background:none;border:none;color:var(--muted);font-family:inherit;font-size:15px;font-weight:600;padding:12px 16px;margin-bottom:-1px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;flex-shrink:0}.page-tabs button:hover{color:var(--text)}.page-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.page-tabs button.hide,.tab-panel.hide{display:none}.stats-section{margin-bottom:32px}.stats-section-title{font-size:14px;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.stats-sort{display:flex;align-items:center;gap:10px;margin-bottom:10px}.stats-sort label{font-size:13px;color:var(--muted);margin:0;flex-shrink:0}.stats-sort .sort-select{flex:1;max-width:260px;padding:8px 12px;font-size:16px}.stats-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -8px}.stats-table{width:100%;border-collapse:collapse;font-size:13px;min-width:600px}.stats-table thead{background:var(--panel)}.stats-table th,.stats-table td{padding:9px 10px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}.stats-table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}.stats-table td.player-name-cell{text-align:left;font-weight:600;color:var(--text)}.stats-table td.positions-cell{text-align:left;color:var(--muted);font-size:12px}@media (max-width: 640px){.stats-table{min-width:0}.stats-table thead{display:none}.stats-table,.stats-table tbody,.stats-table tr,.stats-table td{display:block;width:100%}.stats-table tr{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 0 10px;padding:12px 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 10px}.stats-table td{padding:0;border:none;text-align:left;font-size:14px;display:flex;flex-direction:column;align-items:flex-start}.stats-table td:before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:2px}.stats-table td.player-name-cell{grid-column:1 / -1;padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--border);font-size:16px}.stats-table td.player-name-cell:before{display:none}.stats-table td.positions-cell{grid-column:1 / -1}.stats-table.roster-table tr{grid-template-columns:1fr;gap:12px}.stats-table.roster-table td{grid-column:1 / -1}.stats-table.roster-table input[type=text],.stats-table.roster-table select{width:100%}}.tally-row{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);font-size:16px}.tally-row:last-child{border-bottom:none}.tally-row.top{background:#ffb13b1a;border-radius:6px;font-weight:600}.tally-name{flex:1}.tally-count{color:var(--muted)}.tally-row.top .tally-count{color:var(--accent)}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.summary-tile{background:var(--panel-2);border-radius:12px;padding:14px;text-align:center}.summary-tile .big{font-size:28px;font-weight:700;color:var(--accent)}.summary-tile .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--muted)}.hide{display:none!important}.page{max-width:960px;margin:0 auto;padding:16px 16px 80px}.site-header{display:flex;align-items:center;gap:14px;padding:14px 4px 18px;border-bottom:1px solid var(--border);margin-bottom:20px}.site-header .logo{width:48px;height:48px;flex-shrink:0}.site-header .logo img{width:100%;height:100%;object-fit:contain}.site-header h1{font-size:22px;margin:0;letter-spacing:1px;font-weight:800}.site-header h1 a{color:var(--text);text-decoration:none}.site-header .tagline{font-size:12px;color:var(--muted);margin:2px 0 0;letter-spacing:.5px;text-transform:uppercase}.team-nav{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 0 14px;margin-bottom:14px;border-bottom:1px solid var(--border)}.team-nav a{flex-shrink:0;padding:8px 14px;border-radius:999px;font-size:14px;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);text-decoration:none;white-space:nowrap}.team-nav a.active{color:#0f1220;background:var(--accent);border-color:var(--accent);font-weight:700}.team-nav a.muted{background:transparent}.team-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}.team-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s;cursor:pointer}.team-card:active{transform:scale(.98)}.team-card:hover{border-color:var(--accent)}.team-card.today,.team-card:has(next-game-card[data-today]){background:linear-gradient(135deg,#ffb13b2e,#ffb13b0a);border-color:#ffb13b80}.team-card.today .team-name,.team-card:has(next-game-card[data-today]) .team-name{color:var(--accent)}.team-card.today .today-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;color:#0f1220;background:var(--accent);padding:2px 7px;border-radius:999px;margin-left:8px;vertical-align:middle;text-transform:uppercase}.team-card .team-name{font-size:20px;font-weight:700;margin-bottom:4px}.team-card .next-line{font-size:13px;color:var(--muted);line-height:1.4;min-height:2.6em}@media (max-width: 500px){.team-cards{grid-template-columns:1fr}}.team-title{font-size:28px;margin:4px 0 20px;font-weight:800}.next-game-card{background:linear-gradient(135deg,#ffb13b26,#ffb13b0a);border:1px solid rgba(255,177,59,.4);border-radius:14px;padding:18px 20px;margin-bottom:20px}.next-game-card .label{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.next-game-card.today{background:linear-gradient(135deg,#ffb13b47,#ffb13b14);border-color:var(--accent);box-shadow:0 0 0 1px #ffb13b40}.next-game-card .today-pill{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.5px;color:#0f1220;background:var(--accent);padding:3px 10px;border-radius:999px;text-transform:uppercase}.next-game-card .today-venue{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,177,59,.3)}.next-game-card .today-venue .venue-name{font-size:15px;font-weight:600;margin-bottom:2px}.next-game-card .today-venue .venue-address{font-size:13px;color:var(--muted)}.next-game-card .today-weather{margin-top:10px;font-size:14px;color:var(--text);min-height:1.2em}.next-game-card .today-weather .weather-loading{color:var(--muted);font-style:italic}.next-game-card .directions-btn{margin-top:14px;text-decoration:none;text-align:center;display:block}.team-card .today-extra{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,177,59,.2);font-size:13px}.team-card .today-weather-hub{color:var(--text);min-height:1em}.team-card .directions-link-hub{color:var(--accent);text-decoration:none;font-weight:700;font-size:13px}.team-card .directions-link-hub:hover{text-decoration:underline}.next-game-card .when{font-size:22px;font-weight:700;margin-bottom:4px}.next-game-card .opponent-line{font-size:17px;margin-bottom:4px}.next-game-card .location-line{font-size:14px;color:var(--muted)}.schedule-table-wrap{margin-top:8px}.schedule-table{width:100%;border-collapse:collapse;font-size:14px}.schedule-table thead{background:var(--panel)}.schedule-table th,.schedule-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.schedule-table th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}.schedule-table tr.past td{color:var(--muted)}.schedule-table tr.canceled td{text-decoration:line-through;color:var(--muted)}.schedule-table td.opponent{font-weight:600;color:var(--text)}.schedule-table tr.past td.opponent{color:var(--muted)}.result-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.result-pill.win{background:#3ddc8433;color:var(--success)}.result-pill.loss{background:#ff6b6b26;color:var(--error)}.result-pill.tie,.result-pill.canceled{background:var(--panel-2);color:var(--muted)}.il-pill,.captain-pill{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.5px}.il-pill{background:#ff6b6b2e;color:var(--error)}.captain-pill{background:#f5b3352e;color:var(--gold, #f5b335)}.follow-star{display:inline-block;margin-right:6px;color:var(--gold, #f5b335);font-weight:800}tr.player-il{opacity:.55}tr.player-followed{background:#f5b33514;box-shadow:inset 3px 0 0 var(--gold, #f5b335)}.team-info{background:var(--panel);border:1px solid var(--panel-2);border-radius:10px;padding:10px 14px;margin:0 0 14px;font-size:14px}.team-info-row{margin:2px 0;line-height:1.5}.team-info-label{font-weight:700;color:var(--muted);margin-right:8px;text-transform:uppercase;font-size:11px;letter-spacing:1px}.follow-banner{background:var(--panel);border:1px solid var(--panel-2);border-radius:14px;padding:16px 18px;margin:0 0 18px}.follow-banner.empty{background:linear-gradient(135deg,var(--panel) 0%,var(--panel-2) 100%);position:relative}.follow-banner-title{font-size:14px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.follow-banner-title.gold{color:var(--gold, #f5b335)}.follow-banner-dismiss{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:0}.follow-banner-dismiss:hover{background:#ffffff14;color:var(--text)}.follow-banner-sub{margin:4px 0 12px;color:var(--muted)}.follow-chip-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.follow-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--panel-2);border-radius:999px;font-size:14px}.follow-chip-star{color:var(--gold, #f5b335);font-weight:800}.follow-chip-name{color:var(--text);text-decoration:none;font-weight:700}.follow-chip-name:hover{text-decoration:underline}.follow-chip-team{color:var(--muted);font-size:12px}.follow-chip-remove{margin-left:4px;width:22px;height:22px;border-radius:50%;border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0}.follow-chip-remove:hover{background:#ffffff14;color:var(--text)}.follow-banner-add{background:none;border:0;padding:0;color:var(--gold, #f5b335);font-weight:700;cursor:pointer;font-size:14px}.player-search input[type=search]{width:100%;font-size:16px;padding:10px 12px;border-radius:8px;border:1px solid var(--panel-2);background:var(--bg);color:var(--text)}.player-search-results{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow-y:auto;border:1px solid var(--panel-2);border-radius:8px;background:var(--bg)}.player-search-results li{border-bottom:1px solid var(--panel-2)}.player-search-results li:last-child{border-bottom:0}.player-search-result{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;background:transparent;border:0;color:var(--text);text-align:left;cursor:pointer}.player-search-result:hover:not([disabled]){background:var(--panel-2)}.player-search-result[disabled]{opacity:.55;cursor:default}.psr-name{font-weight:700}.psr-meta{font-size:12px;color:var(--muted)}.psr-flag{margin-top:4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--gold, #f5b335)}.home-section-title{font-size:14px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--text);margin:18px 0 10px}.home-section-title.muted{color:var(--muted)}.team-cards.subdued .team-card{opacity:.78}.team-card.has-followed{border-color:var(--gold, #f5b335)}.team-card-following{margin:2px 0 8px;font-size:13px;font-weight:700;color:var(--gold, #f5b335)}.following-here{display:inline-block;margin:-4px 0 14px;padding:4px 10px;background:#f5b3351f;color:var(--gold, #f5b335);border-radius:999px;font-size:13px;font-weight:700}.spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 16px}.spinner-wrap.inline{flex-direction:row;padding:12px 0}.spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--panel-2);border-top-color:var(--gold, #f5b335);animation:spinner-rotate .8s linear infinite}.spinner-wrap.inline .spinner{width:18px;height:18px;border-width:2px}.spinner-label{font-size:13px;color:var(--muted)}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2s}}@media (max-width: 680px){.schedule-table thead{display:none}.schedule-table,.schedule-table tbody,.schedule-table tr,.schedule-table td{display:block;width:100%}.schedule-table tr{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:12px 14px}.schedule-table td{border:none;padding:2px 0}.schedule-table td:before{content:attr(data-label) ": ";font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin-right:6px;font-weight:600}.schedule-table td.opponent{font-size:16px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:6px}.schedule-table td.opponent:before{display:none}}.meta-footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);text-align:center}.hub-actions{display:flex;gap:10px;margin:28px 0 0}.hub-action{flex:1;text-align:center;padding:14px 16px;min-height:48px;background:var(--panel);border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none;font-size:15px;font-weight:600;transition:border-color .15s,background .15s}.hub-action:active{background:var(--panel-2)}.hub-action:hover{border-color:var(--accent)}.hub-actions+.meta-footer{margin-top:16px;border-top:none;padding-top:0}.meta-footer a{color:var(--muted)}.meta-footer .dot{margin:0 8px;color:var(--border)}.loading-block{padding:40px 20px;text-align:center;color:var(--muted)}.change-entry{display:flex;gap:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.change-entry .time{font-size:12px;color:var(--muted);flex-shrink:0;width:90px}.change-entry .body{flex:1;font-size:14px;line-height:1.4}.change-entry .team-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-right:6px}.change-entry .type-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;margin-right:6px}.change-entry .type-tag.result_posted{background:#3ddc8433;color:var(--success)}.change-entry .type-tag.reschedule{background:#ffb13b33;color:var(--accent)}.change-entry .type-tag.canceled{background:#ff6b6b33;color:var(--error)}.change-entry .type-tag.new_game{background:#3ddc8426;color:var(--success)}.change-entry .type-tag.removed_game{background:#ff6b6b26;color:var(--error)}.change-entry .type-tag.location_change,.change-entry .type-tag.opponent_change,.change-entry .type-tag.result_changed,.change-entry .type-tag.reinstated{background:var(--panel-2);color:var(--muted)}@media (max-width: 500px){.change-entry{flex-direction:column;gap:4px}.change-entry .time{width:auto}}.announcements{margin:8px 0 20px}.announcements h2{margin:0 0 10px;font-size:18px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}.announcement{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:12px 14px;margin-bottom:8px}.announcement.today{background:linear-gradient(135deg,#ffb13b2e,#ffb13b0a);border-color:#ffb13b80;border-left-width:4px}.announcement.today .announcement-title{color:var(--accent)}.announcement-date{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.today-pill-sm{display:inline-block;padding:1px 6px;border-radius:999px;background:var(--accent);color:#0f1220;font-size:10px;font-weight:800;letter-spacing:.5px;margin-right:4px;vertical-align:middle}.announcement-title{font-weight:600;font-size:16px;line-height:1.3}.announcement-body{margin-top:6px;font-size:14px;line-height:1.5;color:var(--text);white-space:pre-wrap;word-wrap:break-word}.announcement-meta{margin-top:8px;font-size:12px;color:var(--muted)}.announcement-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.announcement.admin .delete-btn{color:var(--error);flex-shrink:0}textarea.textarea{font-family:inherit;min-height:100px;font-size:16px}input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;max-width:100%}input[type=date]::-webkit-calendar-picker-indicator{opacity:.6}input[type=date]::-webkit-date-and-time-value{text-align:left}p.muted{color:var(--muted);margin:0}
