*{box-sizing:border-box}body{margin:0;background:#091629;color:#fff;font-family:Arial,Helvetica,sans-serif}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{font:inherit;color:inherit;border:1px solid #46556e;background:transparent;border-radius:6px;padding:12px 17px}button:hover{border-color:#f2c751}button:disabled{opacity:.6;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #f2c751;outline-offset:4px}header{max-width:1200px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:28px 35px;border-bottom:1px solid #29364a}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white;letter-spacing:1px;font-weight:800}.brand b{background:#f2c751;color:#091629;padding:10px;font-size:25px;letter-spacing:-2px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px;color:#becbe0}main{max-width:1200px;margin:auto;padding:65px 35px 55px;display:grid;grid-template-columns:1fr 1fr;gap:75px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:3px;color:#f2c751;margin:0 0 21px}h1{font-size:clamp(58px,6.6vw,90px);line-height:.95;letter-spacing:-4px;margin:0;font-weight:900}h1 em{font-style:normal;color:#f2c751}.lede{font-size:19px;line-height:1.6;color:#cad4e5;margin:25px 0 35px}.totals{display:flex;align-items:baseline;gap:12px}.totals strong{font-size:48px;letter-spacing:-2px}.totals span{color:#bdc9dc;font-size:15px}progress{display:block;width:100%;height:10px;border:0;background:#2d3a50;border-radius:9px;margin:15px 0}progress::-webkit-progress-bar{background:#2d3a50;border-radius:9px}progress::-webkit-progress-value{background:#f2c751;border-radius:9px}progress::-moz-progress-bar{background:#f2c751;border-radius:9px}.stats{display:flex;justify-content:space-between;font-size:13px;color:#e0e8f5}.note{font-size:12px;line-height:1.6;color:#a9b9d0}.steps{border-top:1px solid #29364a;margin-top:30px;padding-top:12px}.steps p{font-size:14px;color:#d0daea}.steps b{color:#f2c751;margin-right:14px;font-size:11px}.status{font-size:13px;line-height:1.5;color:#f2d78e}.board-panel{border:1px solid #34455e;border-radius:15px;padding:24px;background:radial-gradient(ellipse at center,#183d70,#101f35 75%);align-self:start}.board-top{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1.4px;color:#b3c2d9}#mode{color:#f2c751}#singlet svg{display:block;width:100%;max-height:630px;margin:14px auto 8px}.tile{cursor:pointer}.tile rect{fill:#1d4f94;stroke:#aabbd5;stroke-width:2;transition:fill .3s}.tile:hover rect,.tile:focus rect{fill:#3774c7;stroke:#fff}.tile text{fill:#fff;font-size:18px;font-weight:800;pointer-events:none;text-anchor:middle}.tile .donor{font-size:8px;font-weight:500}.tile.paid rect{fill:#f2c751;stroke:#ffe69c}.tile.paid text{fill:#122035}.tile.held rect{fill:#48576c}.tile .held-label{font-size:8px}.tile.paid{filter:drop-shadow(0 0 5px #f2c75166)}.legend{display:flex;gap:20px;justify-content:center;font-size:10px;color:#b9c7da}.legend i{display:inline-block;width:8px;height:8px;background:#2861a6;border:1px solid #aabbd5;border-radius:2px;margin-right:5px}.legend .gold{background:#f2c751;border-color:#f2c751}.legend .held{background:#48576c}.board-hint{text-align:center;color:#a9b9d0;font-size:12px;margin:17px 0}details{border-top:1px solid #34455e;padding-top:13px}summary{font-size:12px;color:#d4dfef}.tile-list{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding-top:15px}.tile-list button{padding:10px 3px;font-size:12px;min-height:45px}.tile-list small{display:block;font-size:8px}.tile-list .paid{background:#f2c751;color:#091629}footer{max-width:1130px;border-top:1px solid #29364a;padding:25px 0;margin:auto;font-size:12px;letter-spacing:1px;color:#a6b6ce;display:flex;justify-content:space-between}footer span{letter-spacing:0}dialog{background:#102039;color:white;border:1px solid #4b5e7a;border-radius:15px;width:430px;max-width:calc(100% - 30px);padding:30px}dialog::backdrop{background:#020913cc;backdrop-filter:blur(5px)}h2{font-size:40px;letter-spacing:-1px;margin:10px 0}.close{position:absolute;right:10px;top:10px;padding:4px 10px;border:0;font-size:25px}dialog .eyebrow{font-size:9px;margin-top:15px}dialog label{font-size:14px;line-height:1.5}dialog input:not([type=checkbox]){display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #60748f;border-radius:5px;background:#091629;color:white;font:inherit}.check{display:flex;align-items:flex-start;gap:9px;margin:20px 0}.check input{width:18px;height:18px;flex-shrink:0;accent-color:#f2c751}.pay{width:100%;background:#f2c751;border:0;color:#091629;font-weight:800;margin-top:10px}#modal-error,#notice{font-size:13px;line-height:1.5}#modal-error{color:#ffd1be}[hidden]{display:none!important}@media(max-width:760px){header{padding:20px;gap:10px}header button{font-size:11px;padding:10px}.brand{font-size:12px}main{grid-template-columns:1fr;padding:36px 20px;gap:25px}h1{font-size:68px}.lede{font-size:17px;margin:20px 0}.steps{display:none}.board-panel{padding:18px}footer{margin:0 20px;gap:20px;font-size:10px}#singlet svg{max-height:650px}.tile-list button{min-height:44px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Donation tracker page */
.brand-link{color:inherit;margin-right:1rem;font-weight:600}
.donations-page{max-width:900px;margin:0 auto;padding:3rem 1.25rem 5rem}
.donations-head h1{margin:.25rem 0 .5rem}
.donations-summary{display:flex;gap:2.5rem;margin:1.5rem 0 1rem}
.donations-summary strong{display:block;font-size:2rem;line-height:1.1}
.donations-summary span{opacity:.75;font-size:.9rem}
.donations-links{margin-bottom:2rem;font-size:.95rem}
.donations-links a{color:inherit}
.donations-empty{opacity:.8;padding:2rem 0}
.donations-table{width:100%;border-collapse:collapse;font-size:.98rem}
.donations-table th,.donations-table td{text-align:left;padding:.75rem .5rem;border-bottom:1px solid rgba(211,223,239,.25)}
.donations-table th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.donations-table td.amount{text-align:right;font-weight:700;white-space:nowrap}
.donations-table th:last-child{text-align:right}

.donations-page{display:block !important;grid-template-columns:none !important}
.donations-head{display:block !important;grid-template-columns:none !important;position:static !important;padding:0 !important;border:0 !important}
.donations-summary{display:flex !important}
