:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f4ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f7f4ee;min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app-shell{background:#fbfaf7;border-left:1px solid #ebe3d7;border-right:1px solid #ebe3d7;width:min(100%,520px);min-height:100vh;margin:0 auto}.topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf7f5;border-bottom:1px solid #e8dfd0;justify-content:space-between;align-items:center;min-height:76px;padding:14px 18px 10px;display:flex;position:sticky;top:0}.eyebrow{color:#0f766e;letter-spacing:0;text-transform:uppercase;margin:0 0 2px;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin:0}h1{font-size:1.7rem;line-height:1}h2{font-size:1.35rem;line-height:1.2}h3{font-size:.98rem}.top-actions{color:#0f766e;align-items:center;gap:10px;display:flex}.icon-button,.back-button{color:#1f2933;background:#fff;border:1px solid #d8cfbf;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.back-button{justify-content:flex-start;gap:7px;width:fit-content;min-width:92px;padding:0 12px;font-weight:700}.screen{flex-direction:column;gap:14px;padding:14px 14px 28px;display:flex}.date-row,.section-title{color:#36515a;align-items:center;gap:8px;font-weight:800;display:flex}.segmented{background:#eee7db;border:1px solid #d8cfbf;border-radius:8px;grid-template-columns:repeat(3,1fr);height:44px;padding:4px;display:grid}.segmented button{color:#475569;background:0 0;border:0;border-radius:6px;min-width:0;font-weight:800}.segmented button.active{color:#0f766e;background:#fff;box-shadow:0 1px 2px #1f29331f}.race-stack,.entry-list,.checkpoint-stack,.result-list{flex-direction:column;gap:10px;display:flex}.race-card,.entry-card,.checkpoint-card{color:#1f2933;background:#fff;border:1px solid #e3dacd;border-radius:8px;width:100%;box-shadow:0 8px 22px #1f29330f}.race-card{text-align:left;flex-direction:column;gap:10px;min-height:142px;padding:14px;display:flex}.race-card-main,.race-card-bottom,.entry-card,.compact-row,.result-row{align-items:center;display:flex}.race-card-main{gap:12px}.race-number{color:#fff;background:#0f766e;border-radius:8px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.race-title{gap:4px;min-width:0;display:grid}.race-title strong,.entry-title strong,.result-row strong,.checkpoint-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.race-title span,.entry-title span,.result-row span,.checkpoint-card p{color:#667085;font-size:.86rem}.race-card-meta{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.race-card-meta span{color:#334155;text-align:center;background:#f4f1eb;border-radius:6px;min-height:30px;padding:6px 8px;font-size:.82rem;font-weight:800}.race-card-bottom{justify-content:space-between;gap:10px}.metric-pill{color:#0f766e;align-items:center;gap:6px;min-width:0;font-size:.88rem;font-weight:900;display:inline-flex}.score-badge{color:#fff;background:#b42318;border-radius:8px;place-items:center;min-width:38px;height:32px;font-weight:900;display:grid}.race-heading,.horse-heading{gap:8px;padding:4px 2px 2px;display:grid}.race-heading p,.horse-heading p{color:#0f766e;font-weight:900}.race-facts,.bloodline,.entry-meta{flex-wrap:wrap;gap:7px;display:flex}.race-facts span,.bloodline span,.entry-meta span{color:#36515a;background:#eef7f5;border-radius:6px;padding:5px 8px;font-size:.78rem;font-weight:800}.entry-card{text-align:left;gap:10px;min-height:88px;padding:10px}.horse-number{background:#f8fafc;border-left:7px solid #64748b;border-radius:8px;flex:0 0 38px;place-items:center;height:48px;font-weight:900;display:grid}.entry-body{flex:1;gap:7px;min-width:0;display:grid}.entry-title{gap:2px;min-width:0;display:grid}.prediction-box{color:#0f172a;background:#f4f1eb;border-radius:8px;flex:0 0 58px;place-items:center;min-height:64px;display:grid}.prediction-box span{color:#b42318;font-weight:900}.prediction-box small{color:#667085;font-size:.68rem;font-weight:800}.prediction-box b{color:#2563eb}.flat-section{gap:9px;display:grid}.compact-row,.result-row{border-bottom:1px solid #ebe3d7;justify-content:space-between;gap:12px;min-height:58px;padding:10px 0}.compact-row span,.result-row span{display:block}.finish-rank{justify-content:flex-end;align-items:baseline;gap:2px;min-width:52px;display:flex}.finish-rank b{color:#0f766e;font-size:1.2rem}.finish-rank small{color:#667085}.checkpoint-card{gap:10px;padding:14px;display:grid}.checkpoint-head{gap:3px;display:grid}.checkpoint-head span{color:#2563eb;font-size:.78rem;font-weight:900}.checkpoint-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.metric{background:#f4f1eb;border-radius:8px;place-items:center;min-height:54px;display:grid}.metric span{color:#667085;font-size:.75rem;font-weight:800}.metric strong{color:#0f766e;font-size:1.1rem}.loading-panel{color:#0f766e;justify-content:center;align-items:center;gap:10px;min-height:220px;font-weight:900;display:flex}.empty-state{color:#36515a;text-align:center;background:#fff;border:1px dashed #d8cfbf;border-radius:8px;place-items:center;gap:8px;min-height:180px;padding:20px;display:grid}.empty-state svg{color:#0f766e}.empty-state span{color:#667085;font-size:.86rem}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=760px){.app-shell{border:1px solid #e5dccf;border-radius:8px;min-height:calc(100vh - 32px);margin-top:16px;margin-bottom:16px;overflow:hidden}}
