*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0f0f1a;--color-surface:#1a1a2e;--color-surface-raised:#232342;--color-border:#2a2a4a;--color-primary:#e94560;--color-primary-dim:#c73a52;--color-accent:#f5a623;--color-text:#eaeaea;--color-text-secondary:#9a9ab0;--color-success:#2ecc71;--color-rank-gold:#f5a623;--color-rank-silver:silver;--color-rank-bronze:#cd7f32;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--tap-target:44px;--bottom-nav-height:64px;--header-height:56px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius:12px;--radius-sm:8px}html{font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:16px}body{background:var(--color-bg);color:var(--color-text);min-height:100dvh;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}.page-container{width:100%;max-width:600px;padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--space-lg));margin:0 auto;container:page/inline-size}button,a,[role=button],input,select,textarea{min-height:var(--tap-target);font-family:var(--font)}button{cursor:pointer;color:var(--color-text);background:0 0;border:none;font-size:1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-md)}.card-raised{background:var(--color-surface-raised)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;min-height:var(--tap-target);padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);border:none;font-size:1rem;font-weight:600;transition:background .15s;display:flex}.btn-primary:active{background:var(--color-primary-dim)}.btn-primary:disabled{opacity:.5;pointer-events:none}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;min-height:var(--tap-target);padding:var(--space-sm) var(--space-md);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:0 0;font-size:1rem;font-weight:500;transition:background .15s;display:flex}.btn-secondary:active{background:var(--color-surface-raised)}.input{width:100%;min-height:var(--tap-target);padding:var(--space-sm) var(--space-md);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;font-size:1rem;transition:border-color .15s}.input:focus{border-color:var(--color-primary)}.page-header{gap:var(--space-xs);min-height:var(--header-height);margin-bottom:var(--space-md);flex-direction:column;display:flex}.page-header h1{font-size:1.25rem;font-weight:700}.page-header .subtitle{color:var(--color-text-secondary);font-size:.85rem}.badge{background:var(--color-surface-raised);color:var(--color-accent);border-radius:999px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}@container page (width>=500px){.card-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.scoreboard-list{gap:var(--space-sm);flex-direction:column;display:flex}.score-card{container:scorecard/inline-size}.score-card-top{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.rank-badge{min-width:36px;font-size:1.1rem;font-weight:800}.player-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1rem;font-weight:600;overflow:hidden}.total-points{color:var(--color-accent);white-space:nowrap;font-size:1.1rem;font-weight:700}.event-scores{gap:var(--space-xs);grid-template-columns:repeat(4,1fr);display:grid}.event-pill{padding:var(--space-xs) 0;background:var(--color-surface-raised);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;font-size:.75rem;display:flex}.event-icon{font-size:1rem}.event-pts{color:var(--color-text-secondary);font-weight:600}@container scorecard (width>=390px){.event-pill{justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);flex-direction:row}}.horse-list{gap:var(--space-sm);flex-direction:column;padding-bottom:80px;display:flex}.horse-list--readonly{padding-bottom:var(--space-md)}.horse-card{text-align:left;width:100%;padding:var(--space-md);cursor:pointer;min-height:80px;transition:border-color .15s,background .15s}.horse-card:active{background:var(--color-surface-raised)}.horse-card--selected{border-color:var(--color-primary);background:#e9456014}.horse-card--readonly{cursor:default;opacity:.8}.horse-card-top{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.post-number{color:var(--color-text-secondary);min-width:28px;font-size:.85rem;font-weight:700}.horse-name{flex:1;font-size:1.1rem;font-weight:700}.horse-card-details{margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;display:flex}.horse-jockey{color:var(--color-text-secondary);font-size:.85rem}.horse-odds{color:var(--color-accent);background:#f5a6231f;border-radius:999px;padding:2px 10px;font-size:1rem;font-weight:700}.horse-payout{color:var(--color-text-secondary);font-size:.8rem}.horse-payout strong{color:var(--color-success)}.draft-status-banner{margin-bottom:var(--space-md);text-align:center}.draft-status--your-turn{border-color:var(--color-success);background:#2ecc7114;animation:2s ease-in-out infinite pulse-border}@keyframes pulse-border{0%,to{border-color:var(--color-success)}50%{border-color:#2ecc714d}}.draft-status-text{color:var(--color-text-secondary);font-size:1rem}.draft-your-turn{color:var(--color-success);font-size:1.1rem;font-weight:700}.draft-complete{color:var(--color-accent);font-weight:700}.draft-pick-count{margin-top:var(--space-xs);color:var(--color-text-secondary);font-size:.8rem;display:block}.draft-section-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);font-size:.9rem;font-weight:700}.draft-order-card{margin-bottom:var(--space-md)}.draft-order-list{gap:var(--space-xs);flex-direction:column;display:flex}.draft-order-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm);min-height:var(--tap-target);background:var(--color-surface-raised);display:flex}.draft-order--current{border:1px solid var(--color-success);background:#2ecc7114}.draft-order--picked{opacity:.6}.draft-order-num{color:var(--color-text-secondary);text-align:center;min-width:24px;font-size:.85rem;font-weight:800}.draft-order-name{flex:1;font-size:.95rem;font-weight:600}.draft-order-pick{color:var(--color-accent);font-size:.8rem;font-weight:600}.draft-order-badge{color:var(--color-success);background:#2ecc7126;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:800}.draft-confirm-bar{bottom:var(--bottom-nav-height);padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-top:1px solid var(--color-border);z-index:50;position:fixed;left:0;right:0}.confirm-btn{max-width:600px;min-height:52px;margin:0 auto;font-size:1.05rem}.pick-confirmed{align-items:center;gap:var(--space-md);padding:var(--space-lg);display:flex}.confirmed-icon{font-size:2rem}.confirmed-horse{color:var(--color-text-secondary);margin-top:var(--space-xs);font-size:.9rem}.login-form{gap:var(--space-sm);flex-direction:column;display:flex}.login-error{color:var(--color-primary);padding:var(--space-xs) 0;font-size:.85rem}.toggle-auth{margin-top:var(--space-sm);font-size:.9rem}.account-card{gap:var(--space-md);flex-direction:column;display:flex}.account-info{justify-content:space-between;align-items:center;display:flex}.account-name{font-size:1.1rem;font-weight:700}.account-role{text-transform:capitalize}.account-stats{gap:var(--space-md);display:flex}.account-stat{padding:var(--space-sm);background:var(--color-surface-raised);border-radius:var(--radius-sm);flex-direction:column;flex:1;align-items:center;display:flex}.account-stat-value{color:var(--color-accent);font-size:1.5rem;font-weight:800}.account-stat-label{color:var(--color-text-secondary);font-size:.75rem}.admin-tabs{gap:var(--space-xs);margin-bottom:var(--space-md);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-xs);display:flex}.admin-tab{min-height:var(--tap-target);padding:var(--space-sm);color:var(--color-text-secondary);background:0 0;border-radius:6px;flex:1;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.admin-tab--active{background:var(--color-surface-raised);color:var(--color-text)}.admin-panel,.admin-event-card{gap:var(--space-sm);flex-direction:column;display:flex}.admin-event-header{justify-content:space-between;align-items:center;display:flex}.admin-event-name{font-size:1rem;font-weight:700}.admin-event-sub{color:var(--color-text-secondary);font-size:.85rem}.admin-event-actions{gap:var(--space-sm);display:flex}.admin-event-actions .btn-secondary,.admin-event-actions .btn-primary{flex:1;font-size:.85rem}.badge--upcoming{color:var(--color-text-secondary)}.badge--open{color:var(--color-success)}.badge--locked{color:var(--color-primary)}.badge--completed,.badge--commissioner{color:var(--color-accent)}.badge--player{color:var(--color-text-secondary)}.admin-horse-editor{gap:var(--space-sm);flex-direction:column;display:flex}.horse-row{padding:var(--space-sm);background:var(--color-surface-raised);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.btn-remove{min-width:36px;min-height:36px;color:var(--color-primary);background:#e945601a;border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.btn-remove-full{min-height:var(--tap-target);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.horse-add-form{gap:var(--space-xs);flex-direction:column;display:flex}.admin-player-card{gap:var(--space-sm);flex-direction:column;display:flex}.admin-player-row{justify-content:space-between;align-items:center;display:flex}.admin-player-row .badge{cursor:pointer;border:none;min-height:32px}.admin-player-email{color:var(--color-text-secondary);font-size:.8rem;display:block}.admin-mm-row{align-items:center;gap:var(--space-sm);display:flex}.admin-mm-label{color:var(--color-text-secondary);white-space:nowrap;font-size:.85rem}.admin-mm-input{text-align:center;max-width:100px}.admin-player-stats{color:var(--color-accent);font-size:.85rem;font-weight:600}.admin-score-races{gap:var(--space-xs);flex-direction:column;display:flex}.btn-selected{background:#e9456014;border-color:var(--color-primary)!important}.admin-score-detail{margin-top:var(--space-sm)}.admin-winner-select{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.pick-row{padding:var(--space-sm);background:var(--color-surface-raised);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.admin-event-actions-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.admin-event-actions-grid .btn-primary,.admin-event-actions-grid .btn-secondary,.admin-event-actions-grid .btn-remove-full{font-size:.8rem}.admin-import-panel{gap:var(--space-sm);flex-direction:column;display:flex}.admin-import-textarea{min-height:120px;font-family:var(--font);resize:vertical;font-size:.85rem}.admin-draft-order{gap:var(--space-xs);flex-direction:column;display:flex}.draft-order-edit-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-raised);border-radius:var(--radius-sm);min-height:var(--tap-target);display:flex}.draft-order-edit-row .draft-order-num{text-align:center;min-width:24px;color:var(--color-text-secondary);font-weight:800}.draft-order-edit-row .draft-order-name{flex:1;font-weight:600}.btn-arrow{min-width:36px;min-height:36px;color:var(--color-text-secondary);background:var(--color-surface);border-radius:6px;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:flex}.btn-arrow:disabled{opacity:.3}.bottom-nav{z-index:100;height:var(--bottom-nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:var(--tap-target);color:var(--color-text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.bottom-nav a.active{color:var(--color-primary)}.bottom-nav a svg{width:24px;height:24px}.app-layout{flex-direction:column;flex:1;display:flex}
