:root{--gp-primary:#0a1628;--gp-accent:#e63946;--gp-secondary:#f4a261;--gp-tertiary:#2a9d8f;--gp-neutral:#f8f9fa;--gp-text:#1d2d3d;--gp-muted:#6b7280;--gp-divider:#94a3b8;--gp-cat-f1:var(--gp-accent);--gp-cat-motogp:var(--gp-secondary);--gp-cat-wrc:var(--gp-tertiary);--gp-cat-karting:var(--gp-primary);--gp-cat-lemans:var(--gp-primary);--gp-cat-polski:var(--gp-tertiary);--gp-font-headline:'Source Serif 4',Georgia,serif;--gp-font-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;--gp-font-display:'Bebas Neue','Oswald',sans-serif;--gp-font-mono:'JetBrains Mono','IBM Plex Mono',monospace;--gp-font-label:'Inter',sans-serif;--gp-fs-hero:64px;--gp-fs-h1:48px;--gp-fs-h2:32px;--gp-fs-h3:28px;--gp-fs-h4:22px;--gp-fs-body:18px;--gp-fs-body-sm:16px;--gp-fs-meta:14px;--gp-fs-label:12px;--gp-lh-tight:1.1;--gp-lh-normal:1.5;--gp-lh-body:1.75;--gp-ls-label:.05em;--gp-ls-tight:-.02em;--gp-space-1:4px;--gp-space-2:8px;--gp-space-3:16px;--gp-space-4:24px;--gp-space-5:32px;--gp-space-6:48px;--gp-space-7:64px;--gp-space-8:96px;--gp-container-max:1280px;--gp-article-max:720px;--gp-sidebar-w:320px;--gp-nav-h:64px;--gp-radius-sm:2px;--gp-radius:4px;--gp-radius-md:8px;--gp-radius-lg:12px;--gp-radius-pill:9999px;--gp-shadow-card:0 1px 3px rgba(10,22,40,.06),0 1px 2px rgba(10,22,40,.04);--gp-shadow-elevated:0 4px 12px rgba(10,22,40,.08);--gp-shadow-overlay:0 8px 24px rgba(10,22,40,.12);--gp-z-nav:100;--gp-z-sticky:50;--gp-z-overlay:200;--gp-tr-fast:.15s ease;--gp-tr-normal:.25s ease}body{font-family:var(--gp-font-body);font-size:var(--gp-fs-body);line-height:var(--gp-lh-normal);color:var(--gp-text);background:var(--gp-neutral)}h1,h2,h3,h4,h5,h6,.gp-headline{font-family:var(--gp-font-headline);font-weight:700;line-height:var(--gp-lh-tight);color:var(--gp-primary)}.gp-category-badge{display:inline-block;padding:var(--gp-space-1) var(--gp-space-2);font-family:var(--gp-font-label);font-size:var(--gp-fs-label);font-weight:600;text-transform:uppercase;letter-spacing:var(--gp-ls-label);border-radius:var(--gp-radius-sm);background:var(--gp-accent);color:#fff}.gp-category-badge--f1{background:var(--gp-cat-f1)}.gp-category-badge--motogp{background:var(--gp-cat-motogp);color:var(--gp-primary)}.gp-category-badge--wrc{background:var(--gp-cat-wrc)}.gp-category-badge--karting{background:var(--gp-cat-karting)}.gp-category-badge--lemans{background:var(--gp-cat-lemans)}.gp-category-badge--polski{background:var(--gp-cat-polski)}.gp-meta-line{font-size:var(--gp-fs-meta);color:var(--gp-muted)}.gp-meta-line .sep{margin:0 var(--gp-space-2);color:var(--gp-divider)}.gp-pull-quote{border-left:4px solid var(--gp-accent);padding:var(--gp-space-3) var(--gp-space-5);font-family:var(--gp-font-headline);font-size:var(--gp-fs-h4);font-style:italic;color:var(--gp-primary);margin:var(--gp-space-6) 0}.gp-tldr-callout{background:rgba(10,22,40,.06);border-left:4px solid var(--gp-primary);padding:var(--gp-space-4);border-radius:var(--gp-radius);margin:var(--gp-space-5) 0}.gp-tldr-callout__headline{font-size:var(--gp-fs-label);font-weight:600;text-transform:uppercase;letter-spacing:var(--gp-ls-label);color:var(--gp-primary);margin-bottom:var(--gp-space-2)}.gp-data-table{width:100%;font-family:var(--gp-font-mono);font-size:var(--gp-fs-body-sm);border-collapse:collapse;border-top:2px solid var(--gp-primary);border-bottom:2px solid var(--gp-primary)}.gp-data-table tr:nth-child(even){background:var(--gp-neutral)}.gp-data-table th,.gp-data-table td{padding:var(--gp-space-2) var(--gp-space-3);text-align:left}.gp-card-article{background:#fff;border-radius:var(--gp-radius);overflow:hidden;transition:var(--gp-tr-normal)}.gp-card-article:hover{box-shadow:var(--gp-shadow-elevated)}.gp-card-article__image{aspect-ratio:16/9;width:100%;object-fit:cover}.gp-card-article__title{font-family:var(--gp-font-headline);font-size:var(--gp-fs-h3);font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gp-nav-slim{height:var(--gp-nav-h);background:#fff;border-bottom:1px solid var(--gp-divider);position:sticky;top:0;z-index:var(--gp-z-nav)}.gp-footer-multicol{background:var(--gp-primary);color:#fff;padding:var(--gp-space-7) 0 var(--gp-space-4)}.gp-footer-multicol a{color:rgba(255,255,255,.85)}.gp-footer-multicol a:hover{color:#fff}