:root { color-scheme: dark; font-family: Inter, Arial, sans-serif; background: #12100e; color: #f7f1e7; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
.award-selections .grid > label, .award-selections select { min-width: 0; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top, #3b2b18, #12100e 48rem); }
a { color: #ffcb66; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem clamp(1rem, 5vw, 4rem); border-bottom: 1px solid #5f482c; background: rgba(18,16,14,.92); }
.brand { color: #fff2c8; font-size: 1.2rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.brand span { color: #ffba2e; }
nav { display: flex; flex-wrap: wrap; justify-content: end; gap: .15rem; }
nav a { border-radius: .4rem; color: #e8d9bc; padding: .55rem .7rem; text-decoration: none; }
nav a:hover, nav a.active { background: #6d4319; color: white; }
.signed-in { color: #d5c7ad; font-size: .85rem; padding: .55rem .35rem; }
.nav-logout, .inline-action { display: inline; }.nav-logout button, .link-button { background: transparent; color: #e8d9bc; padding: .55rem .7rem; }.nav-logout button:hover, .link-button:hover { background: #6d4319; color: white; }.link-button { font: inherit; font-weight: 400; text-decoration: underline; }.link-button:disabled { cursor: not-allowed; opacity: .5; }
.page { margin: 0 auto; max-width: 1180px; padding: clamp(1.2rem, 4vw, 3rem); }
h1 { margin: 0 0 .35rem; font-size: clamp(1.8rem, 5vw, 3rem); }
h2 { color: #ffd47b; font-size: 1.35rem; margin-top: 0; }
h3 { margin-bottom: .5rem; }
.lede { color: #d5c7ad; margin-top: 0; }
.notice, .empty, .flash { border: 1px solid #80613a; border-radius: .55rem; padding: 1rem; background: rgba(70,49,26,.5); }
.flash { margin-bottom: 1rem; }.flash.success { border-color: #658d63; background: #213c24; }.flash.error { border-color: #b55b52; background: #4c2623; }
.toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin: 1.4rem 0; }.toolbar form { display: flex; align-items: end; gap: .5rem; }
label { color: #decfac; display: block; font-size: .9rem; font-weight: 700; } input, select, textarea, button { font: inherit; }
input, select, textarea { border: 1px solid #80613a; border-radius: .35rem; background: #211b16; color: #fff8ec; margin-top: .3rem; min-height: 2.35rem; padding: .45rem .55rem; width: 100%; }
textarea { min-height: 5rem; resize: vertical; } input[type="checkbox"] { accent-color: #ec9e29; min-height: auto; width: auto; }
button, .button { border: 0; border-radius: .4rem; background: #d98324; color: #1f1307; cursor: pointer; display: inline-block; font-weight: 800; padding: .62rem .9rem; text-decoration: none; } button:hover, .button:hover { background: #ffb344; }.button.secondary, button.secondary { background: #5b4935; color: #fff6e6; }.button.danger { background: #9b4940; color: white; }
.table-wrap { border: 1px solid #604a31; border-radius: .6rem; overflow-x: auto; background: rgba(22,18,14,.84); } table { border-collapse: collapse; min-width: 680px; width: 100%; } th, td { border-bottom: 1px solid #493a28; padding: .7rem .65rem; text-align: left; white-space: nowrap; } th { background: #332617; color: #ffd47b; font-size: .8rem; letter-spacing: .035em; text-transform: uppercase; } th[role="button"] { cursor: pointer; user-select: none; } th[role="button"]:focus-visible { outline: 2px solid #ffcb66; outline-offset: -2px; } th[data-sort-direction]::after { color: #fff2c8; content: ' ↕'; margin-left: .3rem; } th[data-sort-direction="ascending"]::after { content: ' ↑'; } th[data-sort-direction="descending"]::after { content: ' ↓'; } tbody tr:hover { background: rgba(128,93,46,.18); } td.number, th.number { text-align: right; } td.rank { color: #ffbf3f; font-weight: 800; text-align: center; }
.table-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin: 1.5rem 0 .6rem; }.table-heading h2, .table-heading h3 { margin: 0; }.table-filters { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: end; }.table-filter, .table-name-filter { color: #f3dfb7; font-size: .85rem; font-weight: 600; }.table-filter input { margin: 0 .35rem 0 0; vertical-align: middle; }.table-filter span { color: #ae9f86; font-weight: 400; }.table-name-filter { align-items: center; display: flex; gap: .4rem; white-space: nowrap; }.table-name-filter input { margin: 0; min-height: 2rem; width: 12rem; }
.standings-chart { margin-top: 1.6rem; }.chart-controls { display: flex; flex-wrap: wrap; gap: .75rem; }.chart-select { align-items: center; display: flex; gap: .5rem; white-space: nowrap; }.chart-select select { margin: 0; min-width: 10rem; width: auto; }.chart-canvas-wrap { background: rgba(22,18,14,.84); border: 1px solid #604a31; border-radius: .6rem; height: 500px; position: relative; }.chart-canvas-wrap canvas { display: block; height: 100% !important; width: 100% !important; }
.cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }.card { background: rgba(31,25,19,.9); border: 1px solid #604a31; border-radius: .6rem; padding: 1rem; }.card p { color: #d5c7ad; }
.admin-warning { border-color: #c47f25; color: #ffe2a6; margin-bottom: 1.5rem; }.grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }.field-wide { grid-column: 1 / -1; }.actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }.form-card { background: rgba(31,25,19,.9); border: 1px solid #604a31; border-radius: .6rem; margin-bottom: 1.4rem; padding: 1.15rem; }
.narrow-form { margin-left: auto; margin-right: auto; max-width: 32rem; }.inline-form { border-top: 1px solid #4c3b28; margin-top: 1.25rem; padding-top: 1.25rem; }
.result-row { align-items: end; border-top: 1px solid #4c3b28; display: grid; gap: .65rem; grid-template-columns: minmax(10rem, 1.8fr) repeat(4, minmax(4.6rem, .7fr)) auto; padding: .8rem 0; }.result-row:first-child { border-top: 0; }.remove-row { background: transparent; color: #e9b4aa; padding: .55rem; }.player-combobox { display: block; position: relative; }.player-suggestions { background: #211b16; border: 1px solid #a87b3f; border-radius: .35rem; box-shadow: 0 .45rem 1.2rem rgba(0,0,0,.45); display: block; left: 0; margin-top: .2rem; max-height: 15rem; overflow-y: auto; position: absolute; right: 0; top: 100%; z-index: 5; }.player-suggestion { background: transparent; border-radius: 0; color: #fff8ec; display: block; font-weight: 400; padding: .45rem .55rem; text-align: left; width: 100%; }.player-suggestion:hover, .player-suggestion[aria-selected="true"] { background: #6d4319; color: white; }
.award-selections { border-top: 1px solid #4c3b28; margin-top: 1.2rem; padding-top: 1.2rem; }
.award-picker { display: block; position: relative; }
.award-picker select { appearance: none; color: transparent; }
.award-picker select option { background: #211b16; color: #fff8ec; }
.award-picker-name { align-items: center; color: #fff8ec; display: flex; height: 2.35rem; left: .55rem; overflow: hidden; pointer-events: none; position: absolute; right: 1.6rem; top: .3rem; white-space: nowrap; }
.award-picker::after { color: #fff8ec; content: '▾'; pointer-events: none; position: absolute; right: .55rem; top: .85rem; }
.award-needs-review { border-color: #ef8279; background: #492420; animation: award-attention .7s ease-in-out 2; }
.award-hint { color: #ffaaa2; display: block; font-size: .75rem; font-weight: 400; margin-top: .4rem; }
@keyframes award-attention { 50% { box-shadow: 0 0 0 3px rgba(239,130,121,.55); } }
@media (prefers-reduced-motion: reduce) { .award-needs-review { animation: none; } }
.award-selections .grid { gap: .65rem; grid-template-columns: repeat(5, minmax(0, 1fr)); }.award-selections label { font-size: .8rem; }.notes-field { margin-top: 1.2rem; }
.setup-grid, .progress-card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }.setup-card h3 { border-bottom: 1px solid #4c3b28; color: #f3dfb7; font-size: 1rem; margin: 1.25rem 0 .45rem; padding-bottom: .3rem; }.setup-card h3:first-of-type { margin-top: 0; }.reference-counts { display: grid; gap: .25rem .8rem; grid-template-columns: 1fr auto; margin: 0; }.reference-counts dt { color: #d5c7ad; }.reference-counts dd { color: #ffd47b; font-weight: 700; margin: 0; text-align: right; }.progress-card-group { overflow: hidden; padding: 0; }.progress-card-group h2 { align-items: center; display: flex; justify-content: space-between; margin: 0; padding: 1rem 1rem .5rem; }.progress-card-group h2 span { color: #ae9f86; font-size: .8rem; font-weight: 400; }.progress-card-group table { min-width: 0; }.progress-card-group th, .progress-card-group td { padding-left: 1rem; padding-right: 1rem; }
.stat { color: #ffd47b; font-size: .85rem; } .muted { color: #ae9f86; }.split { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.stat-grid { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0 0 1.5rem; }.stat-card { background: rgba(31,25,19,.9); border: 1px solid #604a31; border-radius: .55rem; padding: .85rem; }.stat-card span { color: #d5c7ad; display: block; font-size: .82rem; }.stat-card strong { color: #ffd47b; display: block; font-size: 1.2rem; margin-top: .25rem; }
footer { color: #8e806d; font-size: .85rem; padding: 2rem; text-align: center; }
@media (max-width: 720px) { .site-header { align-items: flex-start; flex-direction: column; }.result-row { grid-template-columns: 1fr 1fr; }.result-row label:first-child { grid-column: 1 / -1; }.remove-row { justify-self: end; }.award-selections .grid { grid-template-columns: 1fr 1fr; }.table-heading { align-items: flex-start; flex-direction: column; }.page { padding: 1rem; } }

.date-reminder { border-color: #ffbf53; background: #48321b; box-shadow: 0 0 0 2px rgba(255,191,83,.25); }
.date-reminder-text { color: #ffd47b; display: block; font-size: .8rem; font-weight: 400; margin-top: .4rem; }
