*{box-sizing:border-box}
:root{
  --bg:#0b1020;--panel:#121a2d;--card:#17223a;--card2:#0f1728;--text:#f4f7fb;--muted:#94a3b8;
  --line:#26344f;--accent:#e10600;--accent2:#ff3b30;--good:#2ecc71;--warn:#f5b041
}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}
body{min-height:100%;overscroll-behavior:none}
button{font:inherit}
button:disabled{opacity:.35}
.app-shell{max-width:760px;margin:0 auto;min-height:100%;padding-bottom:92px}
.topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top)) 18px 14px;background:rgba(11,16,32,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#ff6b66}
h1{font-size:22px;margin:3px 0 0}.season-pill,.round-badge{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800}
.main-content{padding:16px 16px 28px}.screen{display:none}.screen.active{display:block}
.hero-card,.stats-card,.status-card,.driver-card{background:linear-gradient(180deg,var(--panel),var(--card2));border:1px solid var(--line);border-radius:20px;padding:16px}
.hero-top{display:flex;justify-content:space-between;align-items:start}.hero-top h2{font-size:27px;margin:4px 0 14px}
.muted,.label{color:var(--muted);font-size:12px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hero-grid div{min-width:0}.hero-grid strong{display:block;margin-top:4px;font-size:15px;white-space:normal}
.section-title{font-size:13px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:22px 2px 10px}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.big-action,.upgrade-card,.session-btn{min-height:88px;text-align:left;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:18px;padding:14px;font-weight:800}
.big-action span,.session-btn span,.upgrade-card span{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:6px}
.status-card{margin-top:14px}.status-row{display:flex;justify-content:space-between;gap:12px}.message{color:var(--muted);font-size:14px;line-height:1.45;margin-top:8px}
.stat{margin:6px 0 14px}.stat:last-child{margin-bottom:2px}.stat>div:first-child{display:flex;justify-content:space-between;font-size:14px}.bar{height:8px;background:#0b1324;border-radius:99px;overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#d7261e,#ff6b66);width:50%;transition:width .25s ease}
.stack{display:grid;gap:10px}.upgrade-card{min-height:72px;display:flex;justify-content:space-between;align-items:center}.upgrade-card span{margin:0}
.driver-card h3{margin:4px 0}.driver-card p{margin:0;color:var(--muted)}
.qual-grid{display:grid;gap:12px;margin-top:14px}.session-btn{min-height:82px}.session-btn:not(:disabled){border-color:#8a2a30}
.race-head{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.race-head>div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px}.race-head strong{display:block;margin-top:4px}
.segmented,.tyres{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tyres{grid-template-columns:repeat(5,1fr)}
.segmented button,.tyres button{min-height:48px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--text)}.selected{outline:2px solid var(--accent2)!important}
.primary-btn,.secondary-btn{width:100%;min-height:54px;border-radius:16px;font-weight:800}.primary-btn{background:var(--accent);color:#fff;border:0}.secondary-btn{background:var(--card);color:var(--text);border:1px solid var(--line);margin-top:10px}.race-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.race-actions .secondary-btn{margin:0}
.standings{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.standing-row{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}.standing-row:last-child{border-bottom:0}.standing-row.me{font-weight:900;background:rgba(225,6,0,.10)}
.bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:rgba(11,16,32,.98);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));max-width:760px;margin:0 auto}
.bottom-nav button{min-height:50px;background:transparent;border:0;color:var(--muted);font-size:12px;font-weight:700;border-radius:13px}.bottom-nav button.active{background:var(--card);color:#fff}
.hidden{display:none!important}
@media(max-width:380px){.hero-grid,.action-grid{grid-template-columns:1fr}.race-head{grid-template-columns:1fr 1fr 1fr}.main-content{padding-left:12px;padding-right:12px}.bottom-nav button{font-size:11px}}
