:root{
  --bg:#05070b;
  --bg2:#080c13;
  --panel:#0b1019;
  --panel2:#0e1520;
  --line:#202b3a;
  --line-soft:#151e2a;
  --text:#f4f6fb;
  --muted:#8d99ab;
  --primary:#1769ff;
  --secondary:#7548ff;
  --font-display:'Barlow Condensed',Arial,sans-serif;
  --font:'Inter',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;min-width:0;background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.page-shell{width:min(1540px,calc(100% - 64px));margin-left:auto;margin-right:auto}
.view{display:none}.view.active-view{display:block}

/* Header */
.topbar{height:76px;position:sticky;top:0;z-index:80;display:flex;align-items:center;padding:0 34px;border-bottom:1px solid #1b2330;background:rgba(5,8,13,.96);backdrop-filter:blur(14px)}
.topbar:after{content:'';position:absolute;top:0;right:11%;width:420px;height:100%;opacity:.28;pointer-events:none;background:repeating-linear-gradient(128deg,transparent 0 42px,rgba(255,255,255,.08) 43px 69px,transparent 70px 108px)}
.brand{display:flex;align-items:center;gap:10px;position:relative;z-index:2}.brand-logo{width:50px;height:50px;object-fit:contain}.brand-name{display:flex;gap:6px;align-items:baseline;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:25px;letter-spacing:.02em}.brand-name b{color:#fff}.brand-name strong{color:var(--primary)}
.topbar nav{display:flex;align-items:stretch;height:100%;margin-left:auto;margin-right:auto;position:relative;z-index:2}.topbar nav a{position:relative;display:flex;align-items:center;padding:0 22px;font-family:var(--font-display);font-size:16px;font-weight:600;color:#d7dce6}.topbar nav a:hover,.topbar nav a.active{color:#fff}.topbar nav a.active:after{content:'';position:absolute;left:18px;right:18px;bottom:0;height:3px;background:var(--primary)}.live-nav span{width:7px;height:7px;border-radius:50%;background:#ff364e;margin-right:8px;box-shadow:0 0 12px rgba(255,54,78,.45)}
.admin-link{position:relative;z-index:2;border:1px solid #314054;padding:9px 13px;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:#0a0f17}.admin-link:hover{border-color:var(--primary)}.menu-btn{display:none;margin-left:auto;background:0;border:0;color:#fff;font-size:25px;position:relative;z-index:3}

/* Home hero */
.home-hero{position:relative;min-height:575px;overflow:hidden;border-bottom:1px solid #17202b;background:#070b11}
.hero-photo{position:absolute;inset:0;background-image:url('https://live.staticflickr.com/5601/15458839005_43726dd633_o.jpg'),url('/assets/hero-monaco-fallback.png');background-size:cover;background-position:center 53%;filter:saturate(.82) contrast(1.06) brightness(.72);transform:scale(1.015)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,9,.98) 0%,rgba(3,5,9,.91) 24%,rgba(3,5,9,.54) 47%,rgba(3,5,9,.16) 66%,rgba(3,5,9,.56) 100%),linear-gradient(180deg,rgba(3,6,10,.06),rgba(3,6,10,.3))}
.hero-shell{position:relative;z-index:2;min-height:575px;width:min(1600px,calc(100% - 70px));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:54px;align-items:center}
.hero-copy{padding:54px 0 50px;max-width:820px}.hero-kicker{display:block;font-family:var(--font-display);font-size:15px;letter-spacing:.34em;color:#d7dbe3;text-transform:uppercase;margin-bottom:16px}.hero-copy h1{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(74px,8.2vw,132px);line-height:.78;letter-spacing:-.045em;margin:0;text-transform:uppercase;text-shadow:0 5px 28px rgba(0,0,0,.6)}.hero-copy h1 em{font-style:italic;color:var(--primary)}.hero-copy p{max-width:610px;color:#d0d5de;font-size:16px;line-height:1.65;margin:26px 0 0;text-shadow:0 2px 12px #000}.hero-actions{display:flex;gap:14px;margin-top:30px}.btn{height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 23px;border:1px solid transparent;font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 28px rgba(23,105,255,.22)}.btn-primary:hover{background:#2b78ff}.btn-outline{border-color:#657084;background:rgba(5,8,13,.58)}.btn-outline:hover{border-color:#fff;background:rgba(5,8,13,.82)}.play-icon{font-size:13px}.calendar-icon{font-size:16px}.hero-meta{display:flex;align-items:center;gap:12px;margin-top:27px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.12em;color:#aab3c2}.hero-meta i{width:4px;height:4px;border-radius:50%;background:var(--primary)}
.next-race-card{align-self:center;border:1px solid rgba(42,112,255,.9);background:rgba(5,11,20,.88);padding:24px;min-height:390px;box-shadow:0 18px 50px rgba(0,0,0,.38);backdrop-filter:blur(10px)}.next-race-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid #273449;color:var(--primary);font-family:var(--font-display);font-weight:700;letter-spacing:.08em}.next-race-top b{color:#7f8ba0}.next-race-card h2{font-family:var(--font-display);font-size:39px;line-height:.95;text-transform:uppercase;margin:23px 0 6px}.next-race-card>p{margin:0;color:#c8ced9;font-size:13px}.track-outline{height:118px;margin:17px 0 9px;display:flex;align-items:center}.track-outline svg{width:100%;height:100%}.track-outline path{fill:none;stroke:#dfe5f0;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.track-map-card{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.track-map-fallback{display:none}.next-race-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:15px 0 19px;border-top:1px solid #263247}.next-race-meta small{display:block;font-size:9px;color:#77859b;letter-spacing:.12em}.next-race-meta strong{display:block;font-family:var(--font-display);font-size:18px;margin-top:4px}.race-detail-link{display:flex;align-items:center;justify-content:space-between;background:var(--primary);padding:13px 15px;font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:.05em}.race-detail-link:hover{background:#2b78ff}

/* Home overview */
.home-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:18px}.overview-panel{border:1px solid var(--line);background:var(--panel)}.panel-title-row{height:52px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft)}.panel-title-row>div{display:flex;align-items:center;gap:10px}.panel-title-row h2{font-family:var(--font-display);font-size:18px;letter-spacing:.03em;margin:0}.panel-accent{width:4px;height:19px;background:var(--primary);transform:skewX(-18deg)}.panel-title-row a{font-family:var(--font-display);font-size:11px;color:#6fa1ff;letter-spacing:.04em}.panel-title-row a:hover{color:#fff}
.mini-standing-row{display:grid;grid-template-columns:38px 1fr 12px 92px;align-items:center;gap:10px;min-height:50px;padding:7px 18px;border-bottom:1px solid #141c27}.mini-standing-row:last-child{border-bottom:0}.mini-rank{font-family:var(--font-display);font-size:24px}.mini-driver strong{display:block;font-family:var(--font-display);font-size:18px;text-transform:uppercase}.mini-driver small{font-size:10px;color:#7e899a}.team-dot{width:8px;height:8px;background:var(--team);transform:skewX(-20deg)}.mini-points{font-family:var(--font-display);font-size:21px;text-align:right}.mini-points small{font-size:10px;color:#7c8798}
.recent-result-row{width:100%;border:0;background:none;color:inherit;display:grid;grid-template-columns:42px 32px 1fr minmax(160px,.75fr);align-items:center;gap:10px;min-height:62px;padding:8px 18px;border-bottom:1px solid #141c27;text-align:left}.recent-result-row:last-child{border-bottom:0}.recent-result-row:hover{background:#0d141f}.recent-round{font-family:var(--font-display);font-weight:800;color:#8e9aae}.recent-flag{font-size:20px}.recent-race strong,.recent-winner strong{display:block;font-family:var(--font-display);font-size:17px;text-transform:uppercase}.recent-race small{font-size:10px;color:#7f8a9a}.recent-winner{border-left:1px solid #1f2938;padding-left:15px}.recent-winner small{display:block;color:var(--primary);font-size:8px;letter-spacing:.12em}.recent-winner span{font-size:9px;color:#7f8a9b}

/* Teams */
.home-teams{padding-top:32px}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid #243041}
.section-title-row>div{display:flex;align-items:center;gap:12px}
.section-title-row h2{font-family:var(--font-display);font-size:30px;font-style:italic;letter-spacing:.04em;margin:0}
.section-slashes{color:var(--primary);font-family:var(--font-display);font-weight:900;letter-spacing:-.18em}
.section-title-row>a{font-family:var(--font-display);font-size:11px;color:#7fa9ff}
.home-teams-grid,.teams-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.team-card{position:relative;min-height:136px;border:1px solid #223042;background:radial-gradient(circle at 100% 0,rgba(23,105,255,.08),transparent 35%),linear-gradient(180deg,#0d141e,#09101a);overflow:hidden;padding:12px 14px 10px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.team-card:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--team),rgba(255,255,255,0))}
.team-card:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,12,19,.12),transparent 40%,rgba(17,65,150,.08) 100%)}
.team-card:hover{border-color:#365178;transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,0,0,.2)}
.team-card-top,.team-card-main,.team-card-stats{position:relative;z-index:2}
.team-card-top{display:flex;flex-direction:column;gap:7px}
.team-card-id{display:flex;align-items:center;justify-content:space-between;gap:10px}
.team-monogram{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:24px;padding:0 6px;border:1px solid #2a384c;background:#0b111a;font-family:var(--font-display);font-size:10px;font-weight:800;color:var(--team);letter-spacing:.1em}
.team-rank{font-family:var(--font-display);font-size:15px;color:#8d9bb1}
.team-driver-line{font-size:9px;color:#7e8b9f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-card-main{display:grid;grid-template-columns:minmax(0,1fr) 50%;gap:8px;align-items:end;margin-top:2px}
.team-card-copy{min-width:0}
.team-card h3{font-family:var(--font-display);font-size:20px;line-height:.9;text-transform:uppercase;margin:0;max-width:140px}
.team-pilots{display:grid;gap:4px;margin-top:8px}
.team-pilots span{display:block;padding:5px 7px;border:1px solid #1e2a39;background:rgba(255,255,255,.02);font-size:9px;color:#dce3ef;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-car-stage{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;min-height:64px}
.team-car-stage.has-car:before{content:'';position:absolute;left:10%;right:0;bottom:2px;height:30px;background:radial-gradient(circle at 70% 65%,rgba(255,255,255,.16),transparent 64%)}
.team-car-stage img{position:relative;z-index:2;display:block;width:100%;max-width:208px;height:auto;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.58)) brightness(1.06) contrast(1.05)}
.team-car-stage>span{font-family:var(--font-display);color:#536177;letter-spacing:.12em;font-size:12px}
.team-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #182231}
.team-card-stats small{display:block;font-size:7px;letter-spacing:.12em;color:#718096}
.team-card-stats strong{display:block;margin-top:2px;font-family:var(--font-display);font-size:18px;color:#fff}
.team-card.compact{min-height:132px}

/* News ticker */
.news-ticker{display:flex;align-items:center;gap:24px;min-height:55px;margin-top:28px;margin-bottom:12px;border-top:1px solid #1e2835;border-bottom:1px solid #1e2835;color:#9ca6b6;overflow:hidden}.news-ticker b{font-family:var(--font-display);font-style:italic;color:var(--primary);font-size:17px}.news-ticker span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-ticker i{color:#526176}.news-ticker a{margin-left:auto;font-family:var(--font-display);font-size:11px;color:#bec7d4;white-space:nowrap}

/* Pages */
.content-page{padding-top:56px;padding-bottom:70px;min-height:75vh}.page-heading{padding-bottom:24px;border-bottom:1px solid #253042;margin-bottom:22px}.page-heading>span{font-family:var(--font-display);font-size:12px;color:var(--primary);letter-spacing:.18em;font-weight:800}.page-heading h1{font-family:var(--font-display);font-style:italic;font-size:clamp(54px,7vw,92px);line-height:.82;letter-spacing:-.025em;margin:10px 0 13px}.page-heading p{color:#8996a8;margin:0;font-size:14px;max-width:700px;line-height:1.6}
.tabs{display:inline-flex;border:1px solid #273244;background:#0a0f17;margin-bottom:16px}.tab{border:0;background:transparent;color:#9aa5b6;padding:11px 18px;font-family:var(--font-display);font-weight:800;text-transform:uppercase}.tab.active{background:var(--primary);color:white}.table-shell{border:1px solid var(--line);background:var(--panel);overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:870px}th,td{padding:14px 15px;text-align:left;border-bottom:1px solid #151e29}th{font-size:9px;color:#748196;letter-spacing:.13em;text-transform:uppercase;background:#090e15}td{font-size:12px}.rank-cell,.pts{font-family:var(--font-display);font-size:21px;font-weight:800}.driver-cell{display:flex;align-items:center;gap:12px}.driver-stripe{width:4px;height:35px}.driver-main b{display:block;font-family:var(--font-display);font-size:18px;text-transform:uppercase}.driver-main small{color:#7f8a9b;font-size:10px}.race-chip{display:inline-flex;min-width:31px;height:28px;align-items:center;justify-content:center;border:1px solid #283446;font-family:var(--font-display);font-weight:700}.race-chip.win{background:#15377a;border-color:#2059c8}.race-chip.dnf{color:#ff8b9b;border-color:#64303c}

.calendar-list{display:grid;gap:8px}.race-row{display:grid;grid-template-columns:70px 38px minmax(220px,1fr) 160px 120px 105px;align-items:center;gap:14px;min-height:82px;padding:10px 14px;border:1px solid #222d3c;background:#0a0f17}.race-row:hover{border-color:#344258}.race-round small{display:block;font-size:8px;color:#677386;letter-spacing:.1em}.race-round b{font-family:var(--font-display);font-size:28px}.race-flag{font-size:23px}.race-name h3{font-family:var(--font-display);font-size:23px;text-transform:uppercase;margin:0}.race-name p{margin:4px 0 0;color:#7e899a;font-size:10px}.race-date b{display:block;font-family:var(--font-display);font-size:18px}.race-date small{font-size:9px;color:#778395}.status{font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:.06em}.status.finished{color:#82d6a4}.status.upcoming{color:#72a3ff}.open-race{border:1px solid #314057;background:#0e1520;color:#dfe5ef;padding:9px 10px;font-family:var(--font-display);font-weight:800;font-size:10px}.open-race:hover{border-color:var(--primary);color:white}

.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.result-card{border:1px solid var(--line);background:var(--panel)}.result-card-head{padding:18px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #19222f}.result-card-head span{color:var(--primary);font-family:var(--font-display);font-size:11px;font-weight:800}.result-card-head h2{font-family:var(--font-display);font-size:28px;text-transform:uppercase;margin:4px 0}.result-card-head p{margin:0;color:#7e8999;font-size:10px}.result-card-head button{border:0;background:none;color:#8eb2ff;font-family:var(--font-display);font-size:10px;font-weight:800}.result-podium{display:grid;grid-template-columns:repeat(3,1fr)}.result-podium>div{padding:17px;border-right:1px solid #18212d}.result-podium>div:last-child{border-right:0}.result-podium b{display:block;color:#607087;font-family:var(--font-display);font-size:19px}.result-podium strong{display:block;font-family:var(--font-display);font-size:17px;text-transform:uppercase;margin-top:4px}.result-podium small{font-size:9px;color:#748093}

.drivers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.driver-card{position:relative;border:1px solid #263141;background:#0b111a;padding:22px;min-height:230px;overflow:hidden}.driver-card:before{content:'';position:absolute;left:0;top:0;width:4px;height:100%;background:var(--team)}.driver-card-rank{position:absolute;right:14px;top:8px;font-family:var(--font-display);font-size:72px;font-weight:900;color:#151f2d}.driver-card-number{position:relative;color:var(--team);font-family:var(--font-display);font-size:18px;font-weight:800}.driver-card h2{position:relative;font-family:var(--font-display);font-style:italic;font-size:37px;text-transform:uppercase;margin:29px 0 4px}.driver-card>p{position:relative;margin:0;color:#8895a7;font-size:11px}.driver-stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:30px;padding-top:13px;border-top:1px solid #1d2734}.driver-stats small{display:block;font-size:7px;letter-spacing:.08em;color:#647184}.driver-stats b{display:block;font-family:var(--font-display);font-size:19px;margin-top:3px}

.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.news-card{border:1px solid var(--line);background:#0b111a;padding:21px}.news-meta{font-family:var(--font-display);font-size:10px;color:var(--primary);letter-spacing:.13em;text-transform:uppercase;font-weight:800}.news-card h3{font-family:var(--font-display);font-size:28px;line-height:.95;text-transform:uppercase;margin:16px 0 10px}.news-card p{color:#8a96a7;font-size:12px;line-height:1.65}.news-card time{display:block;margin-top:18px;color:#667286;font-size:9px}

/* Live */
.live-page-heading{display:flex;align-items:flex-end;justify-content:space-between}.live-connection{display:flex;align-items:center;gap:9px;border:1px solid #283548;background:#0b111a;padding:10px 14px;font-family:var(--font-display);font-size:11px;letter-spacing:.06em}.live-connection span{width:8px;height:8px;border-radius:50%;background:#68758a}.live-connection.online{border-color:#71303c}.live-connection.online span{background:#ff3c55;box-shadow:0 0 16px rgba(255,60,85,.65);animation:pulse 1.25s infinite}.live-connection.online b{color:#ff95a4}@keyframes pulse{50%{opacity:.45}}
.live-session-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.live-session-bar>div{border:1px solid #253142;background:#0b111a;padding:13px 15px}.live-session-bar small{display:block;color:#687588;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.live-session-bar strong{display:block;font-family:var(--font-display);font-size:20px;text-transform:uppercase;margin-top:5px}.live-table-shell{border:1px solid var(--line);background:#0b111a}.live-empty{text-align:center;padding:65px 20px}.live-empty strong{font-family:var(--font-display);font-size:29px}.live-empty p{color:#7f8b9d}.live-table-wrap{overflow:auto}.live-table{min-width:1020px}.live-table tr.in-pit{background:#121529}.live-pos{font-family:var(--font-display);font-size:27px;font-weight:800}.live-driver{display:flex;align-items:center;gap:11px}.live-driver b{display:block;font-family:var(--font-display);font-size:18px;text-transform:uppercase}.live-driver small{color:#758195;font-size:9px}.live-gap{font-family:var(--font-display);font-size:17px}.tyre{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 7px;border:2px solid #687487;font-family:var(--font-display);font-weight:800}.tyre.soft{border-color:#ff4a62;color:#ff9ba8}.tyre.medium{border-color:#ffd949;color:#ffe88d}.tyre.hard{border-color:#e8edf5;color:#fff}.tyre.inter{border-color:#4add7e;color:#8ff0b1}.tyre.wet{border-color:#4284ff;color:#80aaff}.penalty{color:#ff8596}.ers{width:85px;height:5px;background:#1b2532;margin-bottom:4px}.ers span{display:block;height:100%;background:var(--primary)}

/* Modal */
.modal{width:min(980px,calc(100% - 24px));padding:0;border:1px solid #2c394b;background:#080d14;color:#fff}.modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.modal-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:1px solid #344154;background:#0b111a;color:white;font-size:24px}.modal-head{padding:23px;border-bottom:1px solid #202b3a}.modal-head span{font-family:var(--font-display);font-size:10px;color:var(--primary);font-weight:800;letter-spacing:.1em}.modal-head h2{font-family:var(--font-display);font-size:42px;text-transform:uppercase;margin:8px 0 4px}.modal-head p{margin:0;color:#8490a2;font-size:11px}.modal-table-wrap{overflow:auto}.modal-empty{margin:22px}
.empty{padding:36px;text-align:center;color:#748094;border:1px dashed #2a3749}.loading{min-height:70vh;display:grid;place-items:center;color:#8490a2}

/* Footer */
.site-footer{margin-top:44px;border-top:1px solid #1d2734;background:#070a10}.footer-main{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand-group{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.footer-brand,.footer-madeby{display:flex;align-items:center;gap:12px}.footer-brand img{width:48px;height:48px;object-fit:contain}.footer-madeby img{width:58px;height:58px;object-fit:contain}.footer-brand b,.footer-madeby b{display:block;font-family:var(--font-display);font-size:22px}.footer-brand small,.footer-madeby small{display:block;color:#667286;font-size:8px;letter-spacing:.12em;margin-top:4px}.footer-madeby small{text-transform:uppercase}.footer-links{display:flex;gap:22px;font-family:var(--font-display);font-size:12px;color:#9da7b6}.photo-credit{padding:12px 0 18px;border-top:1px solid #151d28;font-size:9px;color:#596476}

@media(max-width:1180px){
  .topbar nav a{padding:0 13px}.admin-link{display:none}.hero-shell{grid-template-columns:1fr 330px}.home-teams-grid,.teams-grid{grid-template-columns:repeat(3,1fr)}.drivers-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .page-shell{width:min(100% - 34px,1540px)}.topbar{height:68px;padding:0 18px}.brand-logo{width:44px;height:44px}.brand-name{font-size:21px}.menu-btn{display:block}.topbar nav{display:none;position:absolute;left:0;right:0;top:68px;height:auto;background:#070b12;border-bottom:1px solid #253143;padding:10px 18px 16px;flex-direction:column;align-items:stretch}.topbar nav.open{display:flex}.topbar nav a{height:43px;padding:0 9px}.topbar nav a.active:after{left:0;right:auto;bottom:7px;width:3px;height:24px}.hero-shell{width:min(100% - 34px,1600px);grid-template-columns:1fr;gap:0;padding:45px 0}.home-hero,.hero-shell{min-height:690px}.hero-copy{padding:20px 0}.next-race-card{width:min(460px,100%);min-height:auto}.hero-photo{background-position:57% center}.home-overview{grid-template-columns:1fr}.results-grid{grid-template-columns:1fr}.race-row{grid-template-columns:65px 32px 1fr 120px}.race-row .status,.open-race{display:none}.live-page-heading{align-items:flex-start;flex-direction:column;gap:18px}.live-session-bar{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .brand-name{display:none}.hero-copy h1{font-size:63px}.hero-kicker{font-size:10px;letter-spacing:.22em}.hero-copy p{font-size:13px}.hero-actions{flex-direction:column}.btn{width:100%}.hero-meta{flex-wrap:wrap}.hero-photo{background-position:61% center}.hero-overlay{background:linear-gradient(90deg,rgba(3,5,9,.97) 0%,rgba(3,5,9,.85) 70%,rgba(3,5,9,.55) 100%)}.next-race-card{padding:18px}.home-teams-grid,.teams-grid,.drivers-grid,.news-grid{grid-template-columns:1fr}.section-title-row{align-items:flex-start;gap:12px;flex-direction:column}.section-title-row h2{font-size:25px}.recent-result-row{grid-template-columns:36px 26px 1fr}.recent-winner{display:none}.race-row{grid-template-columns:55px 28px 1fr}.race-date{display:none}.team-card{min-height:164px}.team-card-main{grid-template-columns:1fr 44%;align-items:end}.team-card h3{max-width:none;font-size:18px}.team-pilots span{font-size:8px;padding:4px 6px}.team-card-stats strong{font-size:15px}.team-car-stage{min-height:56px;margin-top:0}.team-driver-line{font-size:8px}.page-heading h1{font-size:53px}.result-podium{grid-template-columns:1fr}.result-podium>div{border-right:0;border-bottom:1px solid #18212d}.live-session-bar{grid-template-columns:1fr}.footer-main{align-items:flex-start;flex-direction:column;padding-top:24px;padding-bottom:24px}.footer-brand-group{align-items:flex-start;flex-direction:column;gap:14px}.footer-links{flex-wrap:wrap}.news-ticker span:nth-of-type(n+2),.news-ticker i{display:none}
}


/* Pilot accounts + FIA licence */
.top-actions{position:relative;z-index:3;display:flex;align-items:center;gap:9px}.account-button{height:38px;display:flex;align-items:center;gap:8px;border:1px solid #314054;background:#0a0f17;color:#dce4f2;padding:4px 10px 4px 5px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.account-button:hover,.account-button.logged{border-color:#426aa9}.header-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#142033;border:1px solid #334764;color:#b8c7df;font-size:11px}.header-avatar img{width:100%;height:100%;object-fit:cover}
.account-modal{width:min(500px,calc(100% - 28px));padding:0;border:1px solid #29384d;background:#080d14;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.7)}.account-modal::backdrop{background:rgba(0,0,0,.74);backdrop-filter:blur(5px)}.account-modal-close{z-index:4}.auth-shell{padding:30px}.auth-brand{display:flex;align-items:center;gap:11px;padding-right:36px}.auth-brand img{width:46px;height:46px;object-fit:contain}.auth-brand div{display:flex;flex-direction:column}.auth-brand b{font-family:var(--font-display);font-size:24px;line-height:.9}.auth-brand small{color:#7d8ca2;font-size:8px;letter-spacing:.2em;margin-top:5px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border-bottom:1px solid #243044}.auth-tabs button{border:0;background:transparent;color:#738096;padding:11px 8px;font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;border-bottom:2px solid transparent}.auth-tabs button.active{color:#fff;border-color:var(--primary)}.auth-form{display:none;padding-top:18px}.auth-form.active{display:grid;gap:13px}.auth-form label,.profile-form label{display:grid;gap:7px;color:#aeb9ca;font-size:9px;text-transform:uppercase;letter-spacing:.09em}.auth-form input,.profile-form input{width:100%;border:1px solid #263348;background:#0c121d;color:#fff;padding:12px 13px;outline:none;font:inherit}.auth-form input:focus,.profile-form input:focus{border-color:#456ead}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-error{min-height:16px;color:#ff8294;font-size:10px}
.profile-page{padding-top:48px}.profile-heading{margin-bottom:18px}.profile-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.72fr);gap:14px}.profile-main-card{border:1px solid #233044;background:linear-gradient(180deg,#0d141e,#090e16);padding:24px}.profile-identity{display:flex;align-items:center;gap:18px}.profile-avatar-xl{width:96px;height:96px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;border:1px solid #38506f;background:#111c2c;font-family:var(--font-display);font-size:30px;font-weight:900;color:#cbd7e9}.profile-avatar-xl img{width:100%;height:100%;object-fit:cover}.profile-identity small{display:block;color:#6e7c91;font-size:8px;letter-spacing:.15em}.profile-identity h2{font-family:var(--font-display);font-style:italic;font-size:42px;line-height:.9;margin:5px 0 6px;text-transform:uppercase}.profile-identity p{margin:0;color:#a3afbf;font-size:12px}.profile-team{margin-top:12px;display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:12px;letter-spacing:.06em}.profile-team i{width:3px;height:15px}.profile-team.pending{color:#77869b}.profile-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#1d2838;margin-top:24px;border:1px solid #1d2838}.profile-stats>div{background:#0a1018;padding:12px}.profile-stats small{display:block;color:#68768b;font-size:7px;letter-spacing:.1em}.profile-stats strong{display:block;margin-top:4px;font-family:var(--font-display);font-size:23px}.profile-link-note{margin-top:18px;border-left:3px solid var(--primary);background:#0a111d;padding:12px 14px;display:flex;gap:12px;align-items:center}.profile-link-note b{font-family:var(--font-display);font-size:12px}.profile-link-note span{font-size:10px;color:#8996a8;line-height:1.5}
.fia-license{border:1px solid #345073;background:radial-gradient(circle at 110% -10%,rgba(23,105,255,.28),transparent 42%),linear-gradient(145deg,#0d1726,#090e16 65%);padding:20px;position:relative;overflow:hidden}.fia-license:after{content:'';position:absolute;right:-48px;bottom:-65px;width:190px;height:190px;border:24px solid rgba(255,255,255,.025);border-radius:50%}.fia-license.low{border-color:#673548;background:radial-gradient(circle at 110% -10%,rgba(255,58,86,.18),transparent 42%),linear-gradient(145deg,#15101a,#090e16 65%)}.fia-license-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.11)}.fia-license-top span{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:20px}.fia-license-top b{font-size:8px;letter-spacing:.16em;color:#8595ac}.fia-license-person{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;margin-top:17px}.fia-mini-photo{width:58px;height:58px;border-radius:4px;overflow:hidden;display:grid;place-items:center;background:#132035;border:1px solid #385372;font-family:var(--font-display);font-size:18px;font-weight:900}.fia-mini-photo img{width:100%;height:100%;object-fit:cover}.fia-license-person small{display:block;color:#718096;font-size:7px;letter-spacing:.12em;margin-top:4px}.fia-license-person strong{display:block;font-family:var(--font-display);font-size:20px;text-transform:uppercase}.fia-license-person b{font-size:11px}.fia-points-row{display:flex;align-items:end;justify-content:space-between;margin-top:22px}.fia-points-row small{display:block;color:#728196;font-size:7px;letter-spacing:.12em}.fia-points-row strong{font-family:var(--font-display);font-size:48px;line-height:.8}.fia-points-row strong em{font-size:17px;font-style:normal;color:#74839a}.fia-status{border:1px solid #2f557e;background:#102038;padding:6px 9px;font-size:8px;font-weight:800;letter-spacing:.1em}.fia-license.low .fia-status{border-color:#6a3343;background:#26131a;color:#ff899a}.fia-meter{height:5px;background:#192534;margin-top:15px;position:relative}.fia-meter span{display:block;height:100%;background:var(--primary)}.fia-license.low .fia-meter span{background:#ff516b}.fia-career-stats{position:relative;z-index:2;display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:1px;margin-top:15px;border:1px solid #20334b;background:#20334b}.fia-career-stats>div{min-width:0;background:rgba(7,13,22,.92);padding:10px 9px}.fia-career-stats small{display:block;color:#6f8096;font-size:6px;letter-spacing:.1em;line-height:1.25}.fia-career-stats strong{display:block;margin-top:3px;font-family:var(--font-display);font-size:23px;line-height:1;color:#fff}.fia-license.low .fia-career-stats{border-color:#3f2530;background:#3f2530}.fia-license-foot{position:relative;z-index:2;display:flex;justify-content:space-between;margin-top:14px;color:#65748a;font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.profile-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.profile-panel{border:1px solid #233044;background:#0b111a;padding:19px}.profile-panel-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid #1d2836}.profile-panel-head small{color:var(--primary);font-size:7px;letter-spacing:.15em}.profile-panel-head h3{font-family:var(--font-display);font-size:20px;margin:3px 0 0}.profile-logout{border:0;background:transparent;color:#8794a7;cursor:pointer;font-size:10px}.profile-logout:hover{color:#fff}.history-points{font-family:var(--font-display);font-size:22px}.profile-form{padding-top:17px}.profile-photo-editor{display:flex;align-items:center;gap:13px;margin-bottom:16px}.profile-avatar-edit{width:60px;height:60px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#121d2d;border:1px solid #344a68;font-family:var(--font-display);font-size:17px;font-weight:900}.profile-avatar-edit img{width:100%;height:100%;object-fit:cover}.upload-avatar{display:inline-flex!important;cursor:pointer;border:1px solid #354a67;padding:8px 10px!important;color:#dce5f3!important;width:max-content}.profile-photo-editor>div>small{display:block;color:#69778a;font-size:8px;margin-top:6px}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.profile-form-grid .full{grid-column:1/-1}.profile-form>.btn{margin-top:14px}.profile-save-state{display:block;min-height:15px;color:#7fa9ff;margin-top:8px;font-size:9px}.fia-profile-history{padding-top:7px}.fia-profile-row{display:grid;grid-template-columns:45px 1fr;gap:11px;padding:12px 0;border-bottom:1px solid #192330}.fia-profile-row:last-child{border-bottom:0}.fia-profile-row>b{font-family:var(--font-display);font-size:24px}.fia-profile-row>b.minus{color:#ff687f}.fia-profile-row>b.plus{color:#74dda1}.fia-profile-row strong{display:block;font-size:11px}.fia-profile-row span{display:block;color:#6f7d91;font-size:8px;margin-top:4px}.fia-profile-row p{margin:6px 0 0;color:#909caf;font-size:9px;line-height:1.45}.profile-history-empty{min-height:180px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px;color:#77869a}.profile-history-empty b{font-family:var(--font-display);font-size:48px;color:#fff}.profile-history-empty span{font-size:10px}.profile-guest{min-height:270px;border:1px solid #263347;background:#0b111a;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.profile-guest span{color:var(--primary);font-family:var(--font-display);font-size:10px;letter-spacing:.15em}.profile-guest h2{font-family:var(--font-display);font-style:italic;font-size:38px;margin:6px 0}.profile-guest p{color:#8290a4;max-width:600px;font-size:12px;line-height:1.6}.driver-card-head{position:relative;display:flex;align-items:center;gap:10px}.driver-public-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#132035;border:1px solid #2c3c52;font-family:var(--font-display);font-weight:900;color:#d5deea}.driver-public-avatar img{width:100%;height:100%;object-fit:cover}.driver-ea{display:block;color:#6f7e92;font-size:8px;margin-top:3px;letter-spacing:.05em}
@media(max-width:1180px){.top-actions{margin-left:auto}.profile-layout{grid-template-columns:1fr}.profile-bottom-grid{grid-template-columns:1fr}.profile-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.account-button>span:last-child{display:none}.account-button{padding-right:5px}.profile-identity{align-items:flex-start}.profile-avatar-xl{width:72px;height:72px}.profile-identity h2{font-size:31px}.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-form-grid,.auth-grid{grid-template-columns:1fr}.profile-bottom-grid{grid-template-columns:1fr}.profile-guest{align-items:flex-start;flex-direction:column}.fia-license{padding:16px}.fia-career-stats{grid-template-columns:repeat(3,1fr)}.fia-career-stats>div{padding:9px 7px}.fia-career-stats strong{font-size:20px}.fia-career-stats small{font-size:5.5px}}
.profile-account-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:13px}.profile-account-meta span{color:#68778c;font-size:7px;letter-spacing:.09em}.profile-account-meta b{color:#b8c3d3;margin-left:4px}

/* Account e-mail verification / password recovery */
.auth-link{border:0;background:transparent;color:#78a9ff;padding:3px 0;text-align:left;font:700 10px/1.2 var(--font);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-link:hover{color:#fff}.auth-message{display:grid;gap:6px;padding:13px 14px;border:1px solid #243a5c;background:#0b1626}.auth-message b{font-family:var(--font-display);font-size:18px;letter-spacing:.05em}.auth-message span{font-size:11px;line-height:1.5;color:#9eacc0}.verification-code{text-align:center!important;font-family:var(--font-display)!important;font-size:28px!important;font-weight:800!important;letter-spacing:.24em!important}.auth-success{min-height:16px;color:#77d6a3;font-size:10px;line-height:1.4}


/* Ao Vivo - multi stream */
.live-stream-stage{border:1px solid #263347;background:#080e17}.live-player-head{min-height:66px;padding:13px 16px;border-bottom:1px solid #202c3c;display:flex;align-items:center;justify-content:space-between;gap:14px}.live-player-head small,.live-secondary-title small{display:block;color:#718097;font-size:7px;letter-spacing:.14em}.live-player-head strong{display:block;margin-top:4px;font-family:var(--font-display);font-size:20px;text-transform:uppercase}.live-player-actions{display:flex;align-items:center;gap:12px}.live-player-actions>a{border:1px solid #34445a;padding:8px 10px;color:#a9b8cb;text-decoration:none;font:800 9px var(--font-display);letter-spacing:.06em}.live-player-actions>a:hover{color:#fff;border-color:#5b7598}.live-switch-hint{display:flex;align-items:center;gap:8px;color:#8796aa;font:700 11px var(--font-display)}.live-switch-hint kbd{display:grid;place-items:center;width:29px;height:27px;border:1px solid #34445a;background:#0d1622;color:#fff;font:700 16px var(--font-display)}.live-player-frame{position:relative;aspect-ratio:16/9;background:#020407;overflow:hidden}.live-player-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.live-stream-empty{min-height:430px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.live-stream-empty strong{font:800 28px var(--font-display)}.live-stream-empty p{max-width:570px;color:#7f8da2;font-size:11px;line-height:1.7}.live-secondary-wrap{margin-top:18px}.live-secondary-title{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid #273345;padding:0 0 12px;margin-bottom:12px}.live-secondary-title h2{margin:4px 0 0;font:800 italic 27px var(--font-display)}.live-secondary-title>span{color:#6f7d90;font-size:9px}.live-secondary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.live-secondary-card{border:1px solid #263347;background:#0a1018;color:#fff;padding:0;text-align:left;display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;min-height:92px;cursor:pointer;overflow:hidden}.live-secondary-card:hover{border-color:#476587;background:#0d151f}.live-mini-screen{align-self:stretch;background:linear-gradient(135deg,#111b29,#060a10);display:grid;place-items:center;position:relative;border-right:1px solid #253143;overflow:hidden}.live-mini-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;opacity:.7}.live-mini-screen:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,5,9,.15),rgba(2,5,9,.52))}.live-mini-screen span{position:relative;z-index:2;font:900 20px var(--font-display);text-transform:uppercase;opacity:.35}.live-mini-screen b{position:absolute;z-index:3;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:12px}.live-secondary-card.youtube .live-mini-screen b{color:#ff5365}.live-secondary-card.twitch .live-mini-screen b{color:#a98cff}.live-secondary-card.kick .live-mini-screen b{color:#62e940}.live-mini-meta{padding:12px;min-width:0}.live-mini-meta small{display:block;color:#6f7e93;font-size:7px;letter-spacing:.12em;text-transform:uppercase}.live-mini-meta strong{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 18px var(--font-display);text-transform:uppercase}.live-secondary-card>i{font:800 9px var(--font-display);font-style:normal;white-space:nowrap;padding-right:13px;color:#8ca0b8}@media(max-width:1050px){.live-secondary-grid{grid-template-columns:1fr 1fr}.live-secondary-card{grid-template-columns:120px 1fr auto}}@media(max-width:720px){.live-player-head{align-items:flex-start;flex-direction:column}.live-player-actions{width:100%;justify-content:space-between}.live-secondary-title{align-items:flex-start;flex-direction:column}.live-secondary-grid{grid-template-columns:1fr}.live-secondary-card{grid-template-columns:95px 1fr}.live-secondary-card>i{display:none}.live-stream-empty{min-height:300px}}

/* V30 - responsive hardening + player performance */
html,body{max-width:100%;min-height:100%}
img,svg,video,iframe{max-width:100%}
main,.view,.page-shell,.hero-shell,.topbar,.site-footer{min-width:0}
.page-shell>*{min-width:0}
.content-page{padding-top:clamp(30px,4vw,64px);padding-bottom:clamp(30px,5vw,72px)}
.page-heading h1{font-size:clamp(48px,5.2vw,78px);line-height:.9}
.page-heading p{max-width:760px;line-height:1.6}
.table-scroll,.modal-table-wrap,.table-wrap{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-shell{max-width:100%;overflow:hidden}

/* Só existe um player de vídeo real por vez. Os cards secundários não criam iframes. */
.live-mini-screen iframe{display:none!important}
.live-player-frame iframe{contain:layout paint;will-change:auto}
.live-stream-stage,.live-secondary-wrap{max-width:100%;min-width:0}
.live-player-head>div,.live-player-actions,.live-mini-meta{min-width:0}
.live-player-head strong{overflow-wrap:anywhere}
.live-player-actions>a{white-space:nowrap}
.live-secondary-card{content-visibility:auto;contain-intrinsic-size:92px}
.live-mini-screen{min-height:92px}
.live-secondary-card.youtube .live-mini-screen{background:linear-gradient(135deg,#1b1015,#090b10)}
.live-secondary-card.twitch .live-mini-screen{background:linear-gradient(135deg,#171126,#090b10)}
.live-secondary-card.kick .live-mini-screen{background:linear-gradient(135deg,#102014,#090b10)}

/* Laptops e resoluções intermediárias */
@media (max-width:1366px){
  .page-shell{width:min(100% - 42px,1540px)}
  .topbar{padding-inline:22px}
  .topbar nav a{padding-inline:14px;font-size:15px}
  .hero-shell{width:min(100% - 46px,1600px);grid-template-columns:minmax(0,1fr) 340px;gap:34px}
  .hero-copy h1{font-size:clamp(70px,8vw,108px)}
  .next-race-card{padding:20px}
  .home-teams-grid,.teams-grid{gap:9px}
}

@media (max-width:1050px){
  .live-secondary-grid{grid-template-columns:1fr 1fr}
  .live-secondary-card{grid-template-columns:120px minmax(0,1fr) auto}
  .live-player-head strong{font-size:18px}
}

/* Tablets */
@media (max-width:900px){
  .topbar{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .topbar nav{max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain}
  .hero-shell{min-height:0;padding:clamp(32px,7vw,60px) 0}
  .home-hero{min-height:0}
  .hero-copy h1{font-size:clamp(62px,13vw,94px)}
  .hero-copy p{max-width:680px}
  .content-page{padding-top:34px}
  .modal{max-height:calc(100dvh - 24px);overflow:auto}
  .live-player-frame{aspect-ratio:16/9}
  .live-player-actions{flex-wrap:wrap}
  .profile-main-card,.profile-panel,.fia-license{min-width:0}
}

/* Celulares */
@media (max-width:640px){
  .page-shell{width:calc(100% - 24px)}
  .topbar{padding-inline:12px;gap:8px}
  .brand-logo{width:40px;height:40px}
  .menu-btn{margin-left:auto;padding:6px}
  .top-actions{gap:6px}
  .account-button{height:36px;padding:3px 5px}
  .header-avatar{width:27px;height:27px}
  .hero-shell{width:calc(100% - 24px);padding:28px 0 34px}
  .hero-copy{padding:10px 0 22px}
  .hero-copy h1{font-size:clamp(54px,17vw,74px)}
  .hero-kicker{max-width:100%;line-height:1.35}
  .hero-copy p{margin-top:18px}
  .hero-actions{gap:9px;margin-top:22px}
  .btn{min-height:46px;height:auto;padding:12px 15px}
  .next-race-card{width:100%}
  .next-race-card h2{font-size:clamp(29px,9vw,39px)}
  .track-outline{height:96px}
  .panel-title-row{height:auto;min-height:52px;padding:11px 13px;gap:10px}
  .panel-title-row h2{font-size:16px}
  .mini-standing-row{grid-template-columns:32px minmax(0,1fr) 8px 70px;padding-inline:12px}
  .mini-driver strong{font-size:16px}
  .mini-points{font-size:18px}
  .page-heading h1{font-size:clamp(46px,15vw,62px)}
  .page-heading p{font-size:11px}
  .race-row{padding-inline:10px}
  .race-name h3{font-size:17px}
  .race-name p{overflow-wrap:anywhere}
  .tabs{max-width:100%;overflow-x:auto;white-space:nowrap}
  .tab{flex:0 0 auto}
  .table-scroll{overflow-x:auto}
  .footer-main{gap:18px}
  .footer-links{gap:14px}
  .account-modal{max-height:calc(100dvh - 20px);overflow:auto}
  .auth-shell{padding:22px 18px}
  .profile-main-card{padding:17px}
  .profile-identity{gap:12px}
  .profile-link-note{align-items:flex-start}
  .live-player-head{padding:12px}
  .live-player-actions{width:100%;align-items:stretch;flex-direction:column}
  .live-player-actions>a{text-align:center;white-space:normal}
  .live-switch-hint{justify-content:center}
  .live-player-frame{aspect-ratio:16/9}
  .live-secondary-title h2{font-size:23px}
  .live-secondary-card{grid-template-columns:88px minmax(0,1fr);min-height:82px}
  .live-mini-screen{min-height:82px}
  .live-mini-screen span{font-size:15px}
  .live-mini-meta strong{font-size:16px}
  .live-stream-empty{min-height:260px;padding:22px 16px}
  .live-stream-empty strong{font-size:23px}
}

/* Telas bem estreitas */
@media (max-width:420px){
  .page-shell,.hero-shell{width:calc(100% - 18px)}
  .topbar{height:62px;padding-inline:9px}
  .topbar nav{top:62px;max-height:calc(100dvh - 62px)}
  .brand-logo{width:36px;height:36px}
  .menu-btn{font-size:22px}
  .hero-copy h1{font-size:clamp(50px,18vw,66px)}
  .hero-meta{gap:8px;font-size:10px}
  .next-race-meta{gap:8px}
  .next-race-meta strong{font-size:16px}
  .mini-standing-row{grid-template-columns:28px minmax(0,1fr) 6px 62px;gap:7px}
  .recent-result-row{padding-inline:10px}
  .section-title-row>a{font-size:10px}
  .profile-identity{align-items:flex-start;flex-direction:column}
  .profile-stats{grid-template-columns:1fr 1fr}
  .fia-license-top{align-items:flex-start;gap:8px;flex-direction:column}
  .fia-career-stats{grid-template-columns:1fr 1fr 1fr}
  .live-connection{padding:8px 10px}
  .live-secondary-card{grid-template-columns:76px minmax(0,1fr)}
  .live-mini-screen{min-height:76px}
}

/* Paisagem em celular: mantém o vídeo dentro da altura útil da tela. */
@media (max-height:520px) and (orientation:landscape){
  .topbar{position:relative}
  .content-page{padding-top:22px}
  .live-player-frame{aspect-ratio:auto;height:min(72dvh,560px)}
  .live-page-heading{margin-bottom:14px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* V31 - rolagem limpa + player Ao Vivo mais compacto */
/* Mantém a página rolável, mas esconde a barra visual do navegador. */
html{
  overflow-y:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body{
  overflow-y:visible;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

/* A transmissão principal não ocupa mais quase toda a largura da tela. */
.live-stream-stage,
.live-secondary-wrap{
  width:min(100%,1180px);
  margin-left:auto;
  margin-right:auto;
}
.live-player-frame{
  width:100%;
}

@media (max-width:900px){
  .live-stream-stage,
  .live-secondary-wrap{
    width:100%;
  }
}


/* V32 - barras de rolagem invisíveis em qualquer área, mantendo rolagem funcional */
*{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
*::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
  background:transparent!important;
}

/* Denúncias / tickets FIA */
.report-page{max-width:1320px}
.report-heading{margin-bottom:24px}
.report-intro-card{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #28364a;background:linear-gradient(135deg,#0b111b,#0a1018);padding:28px 30px;min-height:190px}
.report-intro-card>div>span,.report-list-head small,.report-dialog-kicker{color:var(--primary);font:800 9px var(--font-display);letter-spacing:.16em}
.report-intro-card h2{font:900 italic clamp(30px,4vw,48px)/.95 var(--font-display);margin:8px 0 10px}.report-intro-card p{max-width:760px;color:#8d9bae;font-size:12px;line-height:1.7;margin:0}.report-intro-card .btn{width:auto;flex:0 0 auto}
.report-guest{min-height:300px;border:1px solid #28364a;background:#0a1018;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.report-guest span{color:var(--primary);font:800 9px var(--font-display);letter-spacing:.16em}.report-guest h2{font:900 italic 40px/1 var(--font-display);margin:7px 0}.report-guest p{color:#8492a5;max-width:720px;font-size:12px;line-height:1.7}.report-guest .btn{width:auto}
.report-list-section{margin-top:20px;border-top:1px solid #293547;padding-top:20px}.report-list-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.report-list-head h2{font:900 italic 30px var(--font-display);margin:4px 0 0}.report-list-head>span{color:#6f7f95;font-size:10px}.report-ticket-row{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid #222f40;border-bottom:0;background:#0a1018;color:#fff;text-align:left;padding:14px 16px}.report-ticket-row:last-child{border-bottom:1px solid #222f40}.report-ticket-row:hover{background:#0d1622;border-color:#38516f}.report-ticket-code{width:42px;height:42px;display:grid;place-items:center;border:1px solid #30435c;background:#101927;font:900 11px var(--font-display);color:#9cb8dd}.report-ticket-copy{min-width:0}.report-ticket-copy strong{display:block;font:800 19px var(--font-display);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-ticket-copy span{display:block;margin-top:4px;color:#76869a;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-ticket-row>i{font:800 9px var(--font-display);font-style:normal;color:#8ca1bb}.report-status{display:inline-flex;align-items:center;border:1px solid #3a485b;padding:6px 9px;font:800 8px var(--font-display);letter-spacing:.08em;white-space:nowrap}.report-status.open{color:#91b4ff}.report-status.review{color:#ffd26d}.report-status.answered{color:#70df9e}.report-status.closed{color:#8995a7}.report-empty{border:1px dashed #2b3a4e;min-height:150px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;color:#76869a}.report-empty b{font:900 23px var(--font-display);color:#fff}.report-empty span{font-size:10px}
.report-dialog{width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #2c3b50;background:#080d14;color:#fff;overflow:auto}.report-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.report-dialog-card{padding:28px}.report-dialog-card h2{font:900 italic clamp(30px,6vw,48px)/.95 var(--font-display);margin:8px 0 12px}.report-dialog-card>p{color:#8998ab;font-size:12px;line-height:1.7}.report-dialog-card label,.report-reply-form label{display:grid;gap:7px;margin-top:14px;color:#abb8ca;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.report-dialog-card input,.report-dialog-card select,.report-dialog-card textarea,.report-reply-form input,.report-reply-form textarea{width:100%;border:1px solid #2a394d;background:#0c131d;color:#fff;padding:12px 13px;outline:none;font:inherit}.report-dialog-card textarea,.report-reply-form textarea{min-height:120px;resize:vertical}.report-dialog-card input:focus,.report-dialog-card select:focus,.report-dialog-card textarea:focus,.report-reply-form input:focus,.report-reply-form textarea:focus{border-color:#4b6f9b}.report-dialog-card select{color-scheme:dark}.report-source-hint{display:block;color:#718198;font-size:9px;line-height:1.5;margin:8px 0}.warning-card{text-align:center;padding:38px 32px}.warning-card h2{max-width:580px;margin:10px auto 14px}.warning-card p{max-width:580px;margin:0 auto 24px}.warning-card .btn{width:100%}.report-dialog-cancel{margin-top:10px;border:0;background:transparent;color:#8290a4;padding:8px}.report-modal-close{position:sticky;float:right;top:10px;right:10px;z-index:4}.report-privacy-note,.report-anonymous-banner{border:1px solid #293d58;background:#0a1624;padding:13px 14px}.report-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #233044;padding-bottom:18px}.report-thread-head small{color:#718197;font-size:8px;letter-spacing:.1em}.report-thread-head h2{margin:4px 0 5px;font-size:34px}.report-thread-head p{margin:0;color:#8290a4;font-size:10px}.report-anonymous-banner{display:flex;gap:10px;align-items:center;margin-top:14px}.report-anonymous-banner b{font:900 12px var(--font-display);color:#86adff;white-space:nowrap}.report-anonymous-banner span{font-size:9px;line-height:1.55;color:#8595aa}.report-thread{display:grid;gap:10px;margin-top:16px}.report-message{max-width:88%;justify-self:start;border:1px solid #26364a;background:#0c141f;padding:14px}.report-message.admin{justify-self:end;border-color:#31548a;background:#0b1728}.report-message-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.report-message-meta b{font:800 11px var(--font-display);text-transform:uppercase}.report-message-meta time{color:#6f7e92;font-size:8px}.report-message p{margin:8px 0 0;color:#c8d1dd;font-size:11px;line-height:1.65}.report-message a{display:inline-block;margin-top:10px;border:1px solid #365273;padding:7px 9px;color:#a8c5ee;text-decoration:none;font:800 8px var(--font-display);letter-spacing:.05em}.report-reply-form{border-top:1px solid #263448;margin-top:18px;padding-top:4px}.report-reply-form .btn{margin-top:14px}.report-closed-note{margin-top:18px;border:1px solid #344151;padding:14px;text-align:center;color:#8b98aa;font-size:10px}
@media(max-width:720px){.report-intro-card,.report-guest{align-items:flex-start;flex-direction:column}.report-intro-card .btn,.report-guest .btn{width:100%}.report-ticket-row{grid-template-columns:42px minmax(0,1fr) auto}.report-ticket-row>i{display:none}.report-ticket-copy span{white-space:normal}.report-thread-head{flex-direction:column}.report-message{max-width:96%}.report-anonymous-banner{align-items:flex-start;flex-direction:column}}


/* V33 - rolagem sem barra visual */
html,body,main,.view,.page-shell,.table-scroll,.modal-table-wrap,.report-thread,.live-secondary-strip,.raffle-driver-list{scrollbar-width:none!important;-ms-overflow-style:none!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,main::-webkit-scrollbar,.view::-webkit-scrollbar,.page-shell::-webkit-scrollbar,.table-scroll::-webkit-scrollbar,.modal-table-wrap::-webkit-scrollbar,.report-thread::-webkit-scrollbar,.live-secondary-strip::-webkit-scrollbar,.raffle-driver-list::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;background:transparent!important}
/* Sorteios públicos */
.raffle-page{padding-bottom:80px}.raffle-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.raffle-tabs button{border:1px solid #273654;background:#0b1220;color:#9cabc5;padding:12px 16px;border-radius:10px;font:800 14px var(--font-display);text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.raffle-tabs button.active{color:#fff;border-color:var(--primary);background:#101b33;box-shadow:inset 0 -2px 0 var(--primary)}.raffle-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}.raffle-main-card,.raffle-side-card{border:1px solid #25324a;background:#09111e;border-radius:18px;padding:20px;min-width:0}.raffle-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.raffle-card-head small{color:#7590bf;font-size:10px;letter-spacing:.13em}.raffle-card-head h2{margin:4px 0 0;font:900 28px var(--font-display);text-transform:uppercase}.raffle-live-badge{border:1px solid #30466c;padding:7px 9px;border-radius:8px;color:#93b3ed;font:800 9px var(--font-display);letter-spacing:.08em;text-transform:uppercase}.raffle-wheel-shell{position:relative;width:min(500px,82vw);aspect-ratio:1;margin:8px auto 14px;filter:drop-shadow(0 24px 34px rgba(0,0,0,.35))}.raffle-wheel-disc{width:100%;height:100%;transform:translateZ(0);backface-visibility:hidden}.raffle-wheel-disc svg{display:block;width:100%;height:100%}.raffle-pointer{position:absolute;z-index:3;left:50%;top:-3px;transform:translateX(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:28px solid #f2f6ff;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.raffle-current-result{display:grid;justify-items:center;text-align:center;min-height:68px;padding:14px;border-top:1px solid #24324b}.raffle-current-result small{color:#788aaa;font-size:9px;letter-spacing:.13em}.raffle-current-result strong{margin-top:4px;font:900 30px var(--font-display);text-transform:uppercase;color:#fff}.raffle-current-result span{color:#98a8c6;margin-top:3px}.raffle-driver-list{display:grid;gap:8px;max-height:540px;overflow:auto}.raffle-driver-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #1e2b43;border-radius:12px;background:#0b1424}.raffle-driver-row.assigned{border-color:#2b446d;background:#10192b}.raffle-driver-row b{display:block;font:800 18px var(--font-display);text-transform:uppercase}.raffle-driver-row small{display:block;margin-top:2px;color:#72819c;font-size:8px;letter-spacing:.12em}.raffle-driver-row>span{max-width:45%;text-align:right;color:#94b5f3;font:800 13px var(--font-display);text-transform:uppercase}.raffle-empty-wheel{width:min(460px,80vw);aspect-ratio:1;margin:12px auto;display:grid;place-content:center;text-align:center;border:1px dashed #32415e;border-radius:50%;background:#07101c;color:#7484a2}.raffle-empty-wheel span{font:900 42px var(--font-display)}.raffle-empty-wheel b{font-size:10px;letter-spacing:.12em}.raffle-coming-soon{min-height:360px;display:grid;place-content:center;text-align:center;border:1px solid #26334c;border-radius:18px;background:#09111e;padding:32px}.raffle-coming-soon span{color:#8dacff;font:900 12px var(--font-display);letter-spacing:.18em}.raffle-coming-soon h2{font:900 42px var(--font-display);margin:8px 0;text-transform:uppercase}.raffle-coming-soon p{color:#8191ad;margin:0}@media(max-width:950px){.raffle-layout{grid-template-columns:1fr}.raffle-wheel-shell{width:min(440px,78vw)}}@media(max-width:600px){.raffle-tabs{display:grid;grid-template-columns:1fr}.raffle-tabs button{width:100%}.raffle-main-card,.raffle-side-card{padding:14px;border-radius:14px}.raffle-card-head{display:block}.raffle-live-badge{display:inline-block;margin-top:8px}.raffle-card-head h2{font-size:24px}.raffle-wheel-shell{width:min(330px,86vw)}.raffle-current-result strong{font-size:25px}.raffle-coming-soon h2{font-size:32px}}


/* V34 - Regulamento e denúncias dentro do perfil */
.regulation-page{max-width:1180px;padding-bottom:90px}
.regulation-document{border:1px solid #26354a;background:#09111c;min-height:280px;padding:clamp(22px,4vw,46px);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.regulation-text{white-space:normal;color:#d8e0ec;font-size:14px;line-height:1.85;overflow-wrap:anywhere}
.regulation-empty{min-height:220px;display:grid;place-content:center;justify-items:center;text-align:center;gap:8px;color:#77879d}
.regulation-empty b{font:900 27px var(--font-display);color:#fff}.regulation-empty span{font-size:11px}
.profile-section-tabs{display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid #253246;padding-bottom:12px;flex-wrap:wrap}
.profile-section-tabs button{border:1px solid #2b3a51;background:#0a111c;color:#8e9db2;padding:11px 16px;font:800 13px var(--font-display);text-transform:uppercase;cursor:pointer}
.profile-section-tabs button.active{background:#101c30;color:#fff;border-color:var(--primary);box-shadow:inset 0 -2px 0 var(--primary)}
.profile-section-tabs button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;border-radius:50%;background:#1a2a43;color:#a9c3ec;font-size:9px}
.profile-reports-shell{border:1px solid #26354a;background:#070d15;padding:clamp(16px,3vw,28px)}
.profile-inner-heading{margin-bottom:18px}.profile-inner-heading h2{font:900 italic clamp(32px,5vw,50px)/1 var(--font-display);margin:6px 0}
@media(max-width:600px){.profile-section-tabs{display:grid;grid-template-columns:1fr 1fr}.profile-section-tabs button{width:100%;padding:11px 8px}.profile-reports-shell{padding:12px}.regulation-document{padding:18px}.regulation-text{font-size:13px;line-height:1.75}}

/* V35 - countdown, Hall da Fama e temporadas */
.race-countdown{margin:14px 0 2px;padding:10px 12px;border-left:3px solid var(--primary);background:#091220}.race-countdown small{display:block;color:#7397d8;font:800 8px var(--font-display);letter-spacing:.14em}.race-countdown b{display:block;margin-top:3px;font:900 20px var(--font-display);letter-spacing:.04em}.race-countdown b span{color:#8fa4c7;font-size:.78em}
.hall-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--line);background:#0a1019;margin-bottom:16px}.hall-hero>div>span{color:#82a8ff;font:900 10px var(--font-display);letter-spacing:.16em}.hall-hero h2{margin:7px 0 6px;font:900 italic clamp(30px,4vw,50px) var(--font-display)}.hall-hero p{margin:0;color:#8997aa;line-height:1.6}.hall-hero>b{min-width:190px;text-align:center;font:900 64px var(--font-display);color:#fff}.hall-hero>b small{display:block;color:#7990b6;font-size:9px;letter-spacing:.12em}
.hall-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hall-record-card{padding:17px;border:1px solid #223049;background:#0a111b}.hall-record-card small{display:block;color:#7184a7;font:800 8px var(--font-display);letter-spacing:.12em}.hall-record-card b{display:block;margin-top:8px;font:900 24px var(--font-display);text-transform:uppercase}.hall-record-card span{display:block;margin-top:4px;color:#8fb0f3;font:800 12px var(--font-display)}
.hall-champions{margin-top:30px}.hall-champion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.hall-champion-card{border:1px solid #24324a;background:#09111d;padding:18px}.hall-champion-card>small{display:block;color:#8fb0ff;font:900 11px var(--font-display);letter-spacing:.15em;text-transform:uppercase;margin-bottom:13px}.hall-champion-card>div{padding:12px 0;border-top:1px solid #1b2738}.hall-champion-card span{display:block;color:#72809a;font-size:8px;letter-spacing:.12em}.hall-champion-card b{display:block;margin-top:5px;font:900 24px var(--font-display);text-transform:uppercase}.hall-champion-card em{display:block;margin-top:3px;color:#8f9eb8;font:700 10px var(--font-display);font-style:normal}
.season-browser{display:grid;grid-template-columns:1fr minmax(260px,360px);gap:24px;align-items:end;padding:22px;border:1px solid var(--line);background:#0a1019}.season-browser-copy>span{color:#82a8ff;font:900 10px var(--font-display);letter-spacing:.15em}.season-browser-copy h2{margin:5px 0;font:900 italic 38px var(--font-display);text-transform:uppercase}.season-browser-copy p{margin:0;color:#8898ad;line-height:1.6}.season-browser label{display:grid;gap:7px;color:#8291ac;font:800 9px var(--font-display);letter-spacing:.12em}.season-browser select{width:100%;border:1px solid #34445e;background:#0e1725;color:#fff;padding:12px 38px 12px 12px;border-radius:10px;color-scheme:dark}.season-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.season-summary article{padding:16px;border:1px solid #202d42;background:#09111b}.season-summary small{display:block;color:#6f7f9d;font-size:8px;letter-spacing:.12em}.season-summary b{display:block;margin-top:7px;font:900 25px var(--font-display);text-transform:uppercase}.season-archive-notice{display:flex;gap:12px;align-items:center;margin-top:12px;padding:13px 15px;border:1px solid #2b4b80;background:#0b1628}.season-archive-notice b{color:#8fb4ff;font:900 11px var(--font-display);letter-spacing:.08em;white-space:nowrap}.season-archive-notice span{color:#8d9db8;font-size:10px;line-height:1.5}
@media(max-width:1500px) and (min-width:1181px){.topbar{padding:0 16px}.topbar nav a{padding:0 8px;font-size:13px}.brand-name{font-size:20px}.brand-logo{width:44px;height:44px}.admin-link{padding:8px 8px;font-size:10px}.top-actions{gap:5px}}
@media(max-width:800px){.hall-records{grid-template-columns:1fr 1fr}.hall-champion-grid{grid-template-columns:1fr}.hall-hero{align-items:flex-start;flex-direction:column}.hall-hero>b{text-align:left;min-width:0}.season-browser{grid-template-columns:1fr}.season-summary{grid-template-columns:1fr 1fr}.season-archive-notice{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.hall-records,.season-summary{grid-template-columns:1fr}.hall-hero>b{font-size:48px}}

/* Hall da Fama - temporada atual */
.hall-current-season{margin:22px 0 24px;border:1px solid #243248;background:#0a111c;padding:20px}.hall-current-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:14px;border-bottom:1px solid #1d2a3b}.hall-current-head small,.hall-current-grid small{display:block;color:#73839a;font-size:9px;letter-spacing:.14em}.hall-current-head h3{margin:5px 0 0;font-family:var(--font-display);font-size:26px}.hall-current-head>span{font-size:9px;color:#728197;letter-spacing:.08em}.hall-current-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#1b2737;margin-top:16px}.hall-current-grid article{background:#0b1421;padding:18px;min-width:0}.hall-current-grid b{display:block;margin-top:7px;font-family:var(--font-display);font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hall-current-grid span{display:block;margin-top:5px;color:#8fa0b8;font-size:11px}@media(max-width:760px){.hall-current-head{align-items:flex-start;flex-direction:column}.hall-current-grid{grid-template-columns:1fr}}


/* V40 - patch mobile: largura, safe-area, navegacao e layouts estreitos */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  overflow-x:hidden;
}
img,svg,video,canvas,iframe{
  max-width:100%;
}
input,select,textarea,button{
  max-width:100%;
}

/* Evita que grids/flex filhos forcem a pagina para fora da viewport. */
main,.view,.content-page,.home-overview,.overview-panel,.section-title-row,
.home-teams-grid,.teams-grid,.drivers-grid,.results-grid,.profile-layout,
.profile-bottom-grid,.season-browser,.season-summary,.hall-records,
.hall-champion-grid,.hall-current-grid,.raffle-layout,.raffle-main-card,
.raffle-side-card,.live-stream-stage,.live-secondary-wrap,.live-secondary-grid,
.report-dialog-card,.footer-main,.footer-brand-group{
  min-width:0;
  max-width:100%;
}

@media (max-width:900px){
  .topbar{
    padding-left:max(14px,env(safe-area-inset-left));
    padding-right:max(14px,env(safe-area-inset-right));
  }
  .topbar nav{
    max-height:calc(100vh - 68px);
    max-height:calc(100dvh - 68px);
    padding-bottom:max(16px,env(safe-area-inset-bottom));
  }
  .page-shell,
  .hero-shell{
    width:auto;
    margin-left:max(16px,env(safe-area-inset-left));
    margin-right:max(16px,env(safe-area-inset-right));
  }
  .home-hero,.hero-shell{
    min-height:0;
  }
  .hero-shell{
    padding:38px 0;
  }
  .hero-copy{
    max-width:100%;
  }
  .next-race-card{
    max-width:460px;
  }
}

@media (max-width:640px){
  body{
    font-size:15px;
  }
  .topbar{
    height:64px;
    min-height:64px;
    padding-left:max(10px,env(safe-area-inset-left));
    padding-right:max(10px,env(safe-area-inset-right));
  }
  .topbar:after{
    display:none;
  }
  .topbar nav{
    top:64px;
    max-height:calc(100vh - 64px);
    max-height:calc(100dvh - 64px);
    padding:8px max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  }
  .topbar nav a{
    min-height:46px;
    height:auto;
    padding:10px 12px;
  }
  .brand-logo{
    width:38px;
    height:38px;
  }
  .menu-btn{
    min-width:42px;
    min-height:42px;
    display:grid;
    place-items:center;
  }
  .account-button{
    min-width:38px;
    min-height:38px;
  }
  .page-shell,
  .hero-shell{
    width:auto;
    margin-left:max(12px,env(safe-area-inset-left));
    margin-right:max(12px,env(safe-area-inset-right));
  }
  .hero-shell{
    display:block;
    padding:24px 0 30px;
  }
  .hero-copy{
    padding:8px 0 18px;
  }
  .hero-copy h1{
    font-size:clamp(48px,16vw,70px);
    line-height:.84;
    overflow-wrap:normal;
  }
  .hero-kicker{
    font-size:10px;
    letter-spacing:.16em;
    overflow-wrap:anywhere;
  }
  .hero-copy p{
    font-size:13px;
    line-height:1.55;
  }
  .hero-actions{
    width:100%;
  }
  .hero-actions .btn{
    width:100%;
    min-height:48px;
  }
  .next-race-card{
    width:100%;
    max-width:none;
    margin-top:8px;
    padding:16px;
  }
  .next-race-top{
    gap:10px;
    flex-wrap:wrap;
  }
  .next-race-card h2{
    font-size:clamp(27px,9vw,37px);
    overflow-wrap:anywhere;
  }
  .next-race-meta{
    grid-template-columns:1fr 1fr;
  }
  .race-countdown b{
    font-size:17px;
  }
  .home-overview{
    gap:12px;
  }
  .panel-title-row{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .panel-title-row>a{
    margin-left:auto;
  }
  .recent-result-row{
    min-width:0;
  }
  .recent-race,
  .mini-driver{
    min-width:0;
  }
  .recent-race strong,
  .recent-race small,
  .mini-driver strong,
  .mini-driver small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .section-title-row{
    width:100%;
  }
  .section-title-row>div{
    min-width:0;
    max-width:100%;
  }
  .section-title-row h2{
    overflow-wrap:anywhere;
  }
  .team-card{
    width:100%;
  }
  .team-card-main{
    min-width:0;
  }
  .page-heading{
    padding-bottom:18px;
    margin-bottom:16px;
  }
  .page-heading h1{
    font-size:clamp(42px,14vw,58px);
    overflow-wrap:anywhere;
  }
  .page-heading p{
    font-size:12px;
  }
  .race-row{
    width:100%;
    min-width:0;
    gap:8px;
  }
  .race-name{
    min-width:0;
  }
  .race-name h3,
  .race-name p{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .table-shell{
    width:100%;
    overflow:hidden;
  }
  .table-scroll,
  .modal-table-wrap{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
  }
  table{
    min-width:680px;
  }
  th,td{
    padding:12px 10px;
  }
  .modal,
  .account-modal,
  .report-dialog{
    width:calc(100% - 16px);
    max-width:calc(100% - 16px);
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - 16px);
    margin:auto;
  }
  .modal-head,
  .report-dialog-card{
    padding:18px;
  }
  .modal-head h2,
  .report-thread-head h2{
    overflow-wrap:anywhere;
  }
  .auth-shell{
    padding:20px 16px;
  }
  .auth-form input,
  .profile-form input,
  .report-dialog-card input,
  .report-dialog-card select,
  .report-dialog-card textarea,
  .report-reply-form input,
  .report-reply-form textarea{
    font-size:16px;
  }
  .profile-main-card,
  .profile-panel,
  .fia-license,
  .profile-reports-shell{
    width:100%;
  }
  .profile-identity h2{
    font-size:clamp(27px,9vw,36px);
    overflow-wrap:anywhere;
  }
  .profile-account-meta span{
    overflow-wrap:anywhere;
  }
  .fia-license-person{
    grid-template-columns:52px minmax(0,1fr);
  }
  .fia-license-person strong,
  .fia-license-person b{
    overflow-wrap:anywhere;
  }
  .fia-license-foot{
    gap:8px;
    flex-wrap:wrap;
  }
  .live-stream-stage,
  .live-secondary-wrap{
    width:100%;
  }
  .live-player-frame{
    aspect-ratio:16/9;
    min-height:0;
  }
  .live-player-frame iframe{
    width:100%;
    height:100%;
  }
  .live-secondary-card{
    width:100%;
    grid-template-columns:82px minmax(0,1fr);
  }
  .live-mini-meta{
    padding:10px;
  }
  .raffle-main-card,
  .raffle-side-card{
    width:100%;
    padding:13px;
  }
  .raffle-wheel-shell,
  .raffle-empty-wheel{
    width:min(100%,330px);
  }
  .raffle-driver-row{
    min-width:0;
  }
  .raffle-driver-row>div{
    min-width:0;
  }
  .raffle-driver-row b{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .season-browser{
    padding:16px;
  }
  .season-browser-copy h2{
    font-size:31px;
    overflow-wrap:anywhere;
  }
  .hall-hero,
  .hall-current-season{
    padding:16px;
  }
  .hall-record-card b,
  .hall-champion-card b,
  .hall-current-grid b{
    overflow-wrap:anywhere;
    white-space:normal;
  }
  .footer-main{
    width:auto;
    margin-left:max(12px,env(safe-area-inset-left));
    margin-right:max(12px,env(safe-area-inset-right));
  }
  .footer-links{
    width:100%;
    gap:8px 14px;
  }
  .footer-links a{
    min-height:32px;
    display:inline-flex;
    align-items:center;
  }
  .photo-credit{
    width:auto;
    margin-left:max(12px,env(safe-area-inset-left));
    margin-right:max(12px,env(safe-area-inset-right));
    line-height:1.5;
  }
}

@media (max-width:380px){
  .page-shell,
  .hero-shell,
  .footer-main,
  .photo-credit{
    margin-left:max(9px,env(safe-area-inset-left));
    margin-right:max(9px,env(safe-area-inset-right));
  }
  .hero-copy h1{
    font-size:clamp(46px,16.8vw,61px);
  }
  .hero-meta{
    font-size:9px;
    gap:7px;
  }
  .next-race-meta{
    grid-template-columns:1fr;
  }
  .mini-standing-row{
    grid-template-columns:26px minmax(0,1fr) 6px 56px;
    gap:6px;
    padding-left:9px;
    padding-right:9px;
  }
  .mini-driver strong{
    font-size:15px;
  }
  .mini-points{
    font-size:16px;
  }
  .team-card-main{
    grid-template-columns:1fr;
  }
  .team-car-stage{
    margin-top:8px;
  }
  .profile-stats,
  .season-summary,
  .hall-records{
    grid-template-columns:1fr;
  }
  .fia-career-stats{
    grid-template-columns:1fr 1fr;
  }
  .fia-career-stats>div:last-child{
    grid-column:1/-1;
  }
  .profile-section-tabs{
    grid-template-columns:1fr;
  }
  .report-ticket-row{
    grid-template-columns:38px minmax(0,1fr);
  }
  .report-status{
    grid-column:2;
    justify-self:start;
  }
}

/* Melhor comportamento em celulares na horizontal e navegadores com barra dinamica. */
@media (max-height:520px) and (orientation:landscape){
  .topbar nav{
    max-height:calc(100vh - 64px);
    max-height:calc(100dvh - 64px);
  }
  .hero-shell{
    padding:20px 0;
  }
  .live-player-frame{
    height:min(66vh,66dvh);
    aspect-ratio:auto;
  }
}

@media (hover:none) and (pointer:coarse){
  .btn,.tab,.menu-btn,.account-button,.profile-section-tabs button,
  .raffle-tabs button,.report-dialog-cancel{
    touch-action:manipulation;
  }
}
