/* PixelGrip Racing site: the game menu's look (Design/G4A-menu-prototype in the game repo, MenuUi.cs).
   Fonts are served from here (Barlow, SIL OFL): no third-party requests. */
@font-face{font-family:"Barlow";font-weight:500;font-display:swap;src:url(/assets/fonts/Barlow-Medium.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:700;font-display:swap;src:url(/assets/fonts/Barlow-Bold.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(/assets/fonts/BarlowCondensed-Bold.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:800;font-display:swap;src:url(/assets/fonts/BarlowCondensed-ExtraBold.woff2) format("woff2")}

:root{
  color-scheme:dark;
  --bg:#10171C; --panel:#1B252C; --panel-2:#222E36; --panel-3:#2A3741;
  --line:#2F3D47; --line-strong:#465763;
  --primary:#FFC329; --primary-press:#E3A914; --on-primary:#151A1E;
  --text:#F4F2EA; --text-2:#AAB5BC; --text-3:#8D9AA2;
  --status:#35C9B4; --status-bg:rgba(53,201,180,.12);
  --danger:#FF8A7A; --warn:#FFB86B;
  --display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r-s:8px; --r-m:12px; --r-l:16px;
  --gutter:max(16px,env(safe-area-inset-left,0px));
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:500 16px/1.55 var(--body);overflow-x:hidden}
a{color:var(--primary);text-underline-offset:3px}
a:hover{color:#FFD466}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
svg.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* The menu background: the paddock, desaturated and darkened, as in the game. */
.art-bg{position:fixed;inset:-12px;z-index:-2;background:url(/assets/paddock.jpg) center 40%/cover;filter:saturate(.5) brightness(.38) blur(2px)}
.art-shade{position:fixed;inset:0;z-index:-1;background:radial-gradient(120% 90% at 50% 0%,rgba(16,23,28,.35),rgba(16,23,28,.9) 70%),linear-gradient(rgba(16,23,28,.2),rgba(16,23,28,.65))}

.wrap{max-width:1120px;margin:0 auto;padding:16px var(--gutter) 48px}

/* Header: logo or back button + title, buttons on the right. */
.hdr{display:flex;align-items:center;gap:8px;min-height:64px;margin-bottom:12px}
.hdr .spacer{flex:1}
.hdr .title{flex:1;min-width:0;margin:0 0 0 6px;font:800 28px/1 var(--display);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo{display:grid;line-height:1;gap:4px;padding:4px 0;color:var(--text);text-decoration:none}
.logo b{font:800 30px/1 var(--display);letter-spacing:.06em}
.logo b em{font-style:normal;color:var(--primary)}
.logo span{font:700 11px/1 var(--body);letter-spacing:.62em;color:var(--primary);padding-left:2px}
.logo:hover{color:var(--text)}
.nav{display:flex;gap:6px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:48px;padding:0 16px;border-radius:var(--r-s);
  border:1px solid var(--line);background:rgba(27,37,44,.92);color:var(--text);font:600 15px/1 var(--body);text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:transform .08s,background .12s,border-color .12s}
.btn:hover{border-color:var(--line-strong);color:var(--text)}
.btn:active{transform:scale(.97);background:var(--panel-3)}
.btn[aria-current="page"]{border-color:rgba(255,195,41,.5);color:var(--primary)}
.btn-back{padding:0 16px 0 12px}
.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font:700 20px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;min-height:52px;padding:0 22px}
.btn-primary:hover{border-color:var(--primary);color:var(--on-primary);background:#FFCC4D}
.btn-primary:active{background:var(--primary-press);border-color:var(--primary-press)}

/* Badges and small labels */
.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:6px;font:700 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.badge svg.i{width:15px;height:15px}
.badge-online{color:var(--status);background:var(--status-bg);border:1px solid rgba(53,201,180,.45)}
.badge-local{color:var(--text-2);background:rgba(16,23,28,.85);border:1px solid var(--line-strong)}
.badge-warn{color:var(--warn);background:rgba(255,184,107,.1);border:1px solid rgba(255,184,107,.4)}
.eyebrow{margin:0;font:700 12.5px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.eyebrow.gold{color:var(--primary)}

/* Panels */
.panel{background:rgba(27,37,44,.94);border:1px solid var(--line);border-radius:var(--r-l)}
.panel-gold{border-color:rgba(255,195,41,.4);background:linear-gradient(160deg,rgba(255,195,41,.08),rgba(27,37,44,0) 45%),rgba(27,37,44,.96)}
h1,h2,h3{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.02;margin:0}

/* ---------- Home ---------- */
.hero{position:relative;overflow:hidden;padding:28px 28px 30px;display:grid;gap:14px}
.hero h1{font-size:clamp(40px,6.4vw,68px);max-width:12ch;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero p{margin:0;max-width:52ch;color:var(--text-2);font-size:17.5px}
.hero .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hero .car{position:absolute;right:7%;top:50%;width:92px;transform:translateY(-50%) rotate(90deg);transform-origin:center;opacity:.95;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));pointer-events:none}
.hero .stripe{position:absolute;right:0;top:0;bottom:0;width:30%;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(244,242,234,.07) 0 26px,transparent 26px 52px) center/100% 10px no-repeat}
.hero>*:not(.car):not(.stripe){position:relative;max-width:640px}

.modes{display:grid;grid-template-columns:1.32fr 1fr 1fr;gap:12px;margin-top:12px}
.mode{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:var(--r-l);border:1px solid var(--line);background:rgba(27,37,44,.94);min-height:300px}
.mode .art{flex:1;min-height:150px;background:url(/assets/paddock.jpg) no-repeat;background-size:300%;position:relative}
.mode .art::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(27,37,44,.1),rgba(27,37,44,.15) 40%,rgba(27,37,44,1))}
.mode .art .badge{position:absolute;left:14px;top:14px;z-index:1}
.mode .info{padding:0 16px 18px;display:grid;gap:6px;position:relative}
.mode h3{font-size:30px;line-height:1}
.mode p{margin:0;color:var(--text-2);font-size:15px}
.mode.weekly{border-color:rgba(255,195,41,.4);background:linear-gradient(160deg,rgba(255,195,41,.08),rgba(27,37,44,0) 40%),rgba(27,37,44,.96)}
.mode.weekly .info{padding-top:18px;gap:10px;flex:1;align-content:start}
.mode.weekly .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mode.weekly h3{font-size:36px}
.mode.weekly .when{display:flex;gap:8px;align-items:center;font-weight:700}
.mode.weekly .when svg.i{color:var(--primary)}
.facts{margin:0;padding:0;list-style:none;display:grid;gap:4px;color:var(--text-2);font-size:14.5px}
.facts li{display:flex;gap:8px;align-items:flex-start}
.facts svg.i{width:16px;height:16px;margin-top:3px;color:var(--status)}

.duo{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-top:12px}
.board{padding:18px 20px 20px;display:grid;gap:10px;align-content:start}
.board .head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.board h2{font-size:28px}
.rows{display:grid;gap:2px;margin:4px 0 0;padding:0;list-style:none}
.rows li{display:grid;grid-template-columns:28px 24px 1fr auto;gap:12px;align-items:center;min-height:44px;border-bottom:1px solid rgba(47,61,71,.6)}
.rows li:last-child{border-bottom:0}
.rows .pos{font:800 22px/1 var(--display);color:var(--text-3)}
.rows li:nth-child(-n+3) .pos{color:var(--primary)}
.rows .sk{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--panel-2),var(--panel-3),var(--panel-2));background-size:200% 100%;animation:sk 1.6s ease-in-out infinite}
.rows .flag{height:16px}
.rows .tm{width:76px;height:14px}
@keyframes sk{to{background-position:-200% 0}}
.board .note{margin:0;color:var(--text-2);font-size:14.5px;display:flex;gap:8px;align-items:flex-start}
.board .note svg.i{width:17px;height:17px;margin-top:3px;color:var(--text-3)}

.links{padding:18px 20px 20px;display:grid;gap:10px;align-content:start}
.links h2{font-size:28px}
.linkrow{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 12px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--panel-2);color:var(--text);text-decoration:none;transition:border-color .12s,transform .08s}
.linkrow:hover{border-color:var(--line-strong);color:var(--text)}
.linkrow:active{transform:scale(.985)}
.linkrow .ic{width:36px;height:36px;border-radius:var(--r-s);display:grid;place-items:center;background:rgba(16,23,28,.6);color:var(--primary);flex:none}
.linkrow b{display:block;font:700 19px/1.1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.linkrow small{display:block;color:var(--text-2);font-size:13px}
.linkrow .txt{flex:1;min-width:0}
.linkrow>svg.i{color:var(--text-3)}

/* ---------- Document pages (privacy, account deletion) ---------- */
.doc{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px;align-items:start}
.toc{position:sticky;top:16px;padding:16px;display:grid;gap:4px}
.toc .eyebrow{margin-bottom:6px}
.toc a{display:block;padding:7px 10px;border-radius:var(--r-s);color:var(--text-2);text-decoration:none;font-weight:600;font-size:14.5px;line-height:1.3}
.toc a:hover{background:var(--panel-2);color:var(--text)}
.toc hr{border:0;border-top:1px solid var(--line);margin:8px 0}
.paper{padding:26px 30px 30px;min-width:0}
.paper+.paper{margin-top:12px}
.paper>header{display:grid;gap:8px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.paper>header h2{font-size:clamp(30px,4vw,40px);text-wrap:balance}
.paper>header p{margin:0;color:var(--text-2)}
.paper section{padding-top:18px;scroll-margin-top:16px}
.paper h3{font-size:22px;letter-spacing:.04em;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.paper h3::before{content:"";width:4px;height:18px;border-radius:2px;background:var(--primary);flex:none}
.paper p,.paper li{color:#DCE2E4}
.paper p{margin:0 0 10px}
.paper ul,.paper ol{margin:0 0 10px;padding-left:22px}
.paper li{margin-bottom:6px}
.paper li::marker{color:var(--text-3)}
.paper strong{color:var(--text)}
.paper em{font-style:normal;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:1px 7px;white-space:nowrap}

/* Account deletion: steps and what goes / stays */
.steps{list-style:none;padding:0!important;margin:6px 0 4px!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;counter-reset:s}
.steps li{counter-increment:s;margin:0!important;padding:14px 14px 16px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--panel-2);min-width:0}
.steps li::before{content:counter(s);display:block;margin-bottom:8px;font:800 34px/1 var(--display);color:var(--primary)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 12px}
.tile{padding:14px 14px 16px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--panel-2);display:grid;gap:10px;align-content:start;min-width:0}
.tile .badge{justify-self:start;height:auto;min-height:26px;padding:5px 9px;line-height:1.2;white-space:normal}
.tile p{margin:0;font-size:15px}
.tile.gone{border-color:rgba(255,138,122,.4)}
.tile.gone .badge{color:var(--danger);background:rgba(255,138,122,.1);border:1px solid rgba(255,138,122,.4)}
.tile.kept .badge{color:var(--status);background:var(--status-bg);border:1px solid rgba(53,201,180,.45)}
.tile.backup .badge{color:var(--text-2);background:rgba(170,181,188,.08);border:1px solid var(--line-strong)}
.callout{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;padding:16px;border-radius:var(--r-m);border:1px solid rgba(255,195,41,.35);background:rgba(255,195,41,.06);margin:8px 0 12px}
.callout p{margin:0;flex:1 1 280px}
.warnline{display:flex;gap:10px;align-items:flex-start;color:var(--warn)!important}
.warnline svg.i{margin-top:3px}

.foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;color:var(--text-3);font-size:13.5px}
.foot a{color:var(--text-2)}

/* ---------- Narrow screens ---------- */
@media (max-width:900px){
  .modes{grid-template-columns:1fr 1fr}
  .mode.weekly{grid-column:1 / -1;min-height:0}
  .duo{grid-template-columns:1fr}
  .doc{grid-template-columns:1fr}
  .toc{position:static;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
  .toc .eyebrow,.toc hr{grid-column:1 / -1}
}
@media (max-width:640px){
  .hdr{min-height:56px}
  .hdr .title{font-size:24px}
  .logo b{font-size:25px}
  .logo span{font-size:9.5px}
  .nav .btn .lbl{display:none}
  .nav .btn{padding:0;width:48px}
  .hero{padding:22px 18px 24px}
  .hero .car{display:none}
  .hero .stripe{display:none}
  .modes{grid-template-columns:1fr}
  .mode{min-height:0}
  .mode .art{min-height:120px}
  .paper{padding:20px 18px 22px}
  .steps,.tiles{grid-template-columns:1fr}
  .steps li{padding:12px 14px;display:flow-root}
  .steps li::before{float:left;margin:-2px 14px 0 0;font-size:30px}
  .toc{display:none}
  .btn-back .lbl{display:none}
  .btn-back{padding:0;width:48px}
}
