:root{color-scheme:dark;font-family:'Segoe UI',Arial,sans-serif;background:#0c1118;color:#f1f4f9;font-size:15px;--muted:#b6c2d1;--line:#394654;--red:#f25540;--panel:#1d2733}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,select,input{min-height:44px;border:1px solid #485767;border-radius:7px;padding:10px 12px;color:#f1f4f9;background:#101923}button{cursor:pointer;background:#273341;font-weight:600}button:hover{background:#344355}button:disabled{opacity:.5;cursor:default}button.primary{background:#d8402d;border-color:#ff725d;color:#fff}button.primary:hover{background:#b83224}input,select{max-width:100%;width:100%}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ffcc7a;outline-offset:3px}a{color:#ffce89}p{line-height:1.55;margin:8px 0 14px}h1,h2,h3{margin:0 0 12px}h1{font:italic 500 30px/1.1 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:1px}h2{font-size:19px;font-weight:600}h3{font-size:16px}.shell{max-width:1180px;margin:auto;background:radial-gradient(ellipse at top right,#35252b77,transparent 55%),#111821;min-height:100vh}.top{padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:6px solid transparent;border-image:repeating-conic-gradient(#fff 0% 25%,#121921 0% 50%) 6;background:#10151c}.brand{font:italic 500 32px Impact,sans-serif;letter-spacing:3px}.brand span{color:#ff715a}.muted,small{color:var(--muted)}small{font-size:12px}.eyebrow{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:#f2c781;margin-bottom:8px}.top-tools,.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.compact{width:auto;max-width:260px}.hero{background:linear-gradient(90deg,#0c141ce8,transparent),url('/racing-hero.png') center 55%/cover;padding:22px 28px;border-bottom:3px solid #e95742;min-height:118px;display:flex;align-items:center}.hero strong{font:italic 500 28px Impact,sans-serif;letter-spacing:1px}.hero p{margin:4px 0;color:#e2e8f0}.nav{display:flex;gap:8px;flex-wrap:wrap;padding:20px 28px 8px}.nav button.active{background:#d8402d;border-color:#fa7564}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;padding:8px 28px 18px}.toolbar label{display:flex;gap:10px;align-items:center}main{padding:8px 28px 32px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.badge{display:inline-block;border:1px solid #776440;background:#332e22;color:#ffdd95;padding:4px 9px;border-radius:20px;font-size:12px}.badge.open{background:#18372c;color:#adf3cd;border-color:#40785d}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{padding:20px;border:1px solid var(--line);background:linear-gradient(145deg,#26313e,#1a232d);border-radius:10px;min-width:0}.form-panel{border-top:3px solid #ff6a53}.field{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;margin-top:13px}.position{display:grid;place-items:center;min-height:44px;border-radius:6px;background:#354254;font-weight:700}.position.first{background:#584626;color:#ffe09c}.position.third{background:#50392b;color:#f5bc94}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:18px 0}.space{margin-top:24px}.stack{display:grid;gap:14px}.notice{padding:12px 15px;border-left:3px solid #f8bc69;background:#342c21;color:#ffe0ab;border-radius:4px;margin:12px 0}.error{background:#422727;border-left-color:#ff8e80;color:#ffc4ba}.success{background:#1b392f;border-left-color:#74cbab;color:#c0f4df}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;letter-spacing:.5px;color:#c1ccda;text-transform:uppercase;font-weight:600}tr.me{background:#60392d55;box-shadow:inset 3px 0 #ff775f}.number{font-variant-numeric:tabular-nums;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{font:36px Impact,sans-serif;color:#ffd081;margin-top:5px}.podium{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.podium>div{padding:14px 12px;background:#111a24;border-bottom:3px solid #9aacc1;border-radius:6px}.podium>div:first-child{border-color:#ffd27a}.podium>div:nth-child(3){border-color:#d39c6c}.podium>div:last-child{border-color:#ff725b}.podium strong{display:block;margin-top:5px}.race-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.race-row .summary{flex:1;min-width:150px}.race-row .summary h3{text-transform:capitalize}.login{max-width:1040px;margin:48px auto;display:grid;grid-template-columns:1.25fr 1fr;border:1px solid #374554;border-radius:14px;overflow:hidden}.login-art{min-height:540px;background:linear-gradient(0deg,#0a1019e8,transparent 65%),url('/racing-hero.png') 62% center/cover;display:flex;flex-direction:column;justify-content:end;padding:32px}.login-art h1{font-size:44px}.login-form{background:#1b2531;padding:36px;display:flex;flex-direction:column;justify-content:center}.login-form label,.full-field{display:block;margin:16px 0 6px}.login-form button{width:100%;margin-top:20px}.loading{padding:60px;text-align:center}.footer{padding:20px 28px;color:#afbdcc;font-size:12px;border-top:1px solid #3a4552}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pending{color:#e6c896}.rank-switch{display:flex;gap:8px}.rank-switch .active{background:#d8402d}.admin-user{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.admin-user small{display:block}.score-detail{font-size:12px;color:#c4d0dd}.inline-form{display:grid;gap:12px}.bar{height:7px;background:#394552;border-radius:4px;overflow:hidden;margin-top:5px}.bar>span{display:block;height:100%;background:#ee7555}.regular-list li{margin-bottom:10px;line-height:1.5}dialog{background:#1c2734;color:#f2f5fa;border:1px solid #67798e;border-radius:12px;max-width:480px;width:calc(100% - 32px);padding:24px}dialog::backdrop{background:#0009}.cancel{color:#ffc0ad}code{font-family:monospace}#toast:empty{display:none}.session-meta{margin-top:10px;font-size:12px;color:#b9c7d9}.nav a{align-self:center}details summary{cursor:pointer;min-height:44px;padding:10px 0}.empty{padding:30px 20px;text-align:center;color:#c3cedb}.rule-section{margin-bottom:24px}.help-link{font-size:13px}.demo-label{color:#ffd18d}button.danger{border-color:#b26c62;color:#ffd0c8}
@media(max-width:680px){.top{padding:16px}.top-tools{width:100%;justify-content:space-between}.brand{font-size:28px}.hero{padding:18px 16px;min-height:105px;background-position:60% center}.hero strong{font-size:24px}.nav{padding:16px 12px 8px;display:grid;grid-template-columns:repeat(2,1fr)}.nav button{padding:9px 8px}.toolbar{padding:8px 12px 14px}.toolbar label{width:100%}.toolbar select{flex:1;max-width:none}.grid,.stats{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stats .panel{padding:12px 8px}.stats .metric{font-size:28px}.stats small{font-size:11px}main{padding:8px 12px 24px}h1{font-size:27px}.panel{padding:16px 12px}.podium{grid-template-columns:repeat(2,minmax(0,1fr))}.login{margin:0;border:0;border-radius:0;grid-template-columns:1fr}.login-art{min-height:210px;padding:24px;background-position:65% center}.login-art h1{font-size:34px}.login-form{padding:24px}.compact{max-width:100%}.tablewrap th,.tablewrap td{padding:10px 7px}.footer{padding:18px 12px}}
.toolbar select{min-width:0}.heading select{min-width:0}@media(max-width:680px){.toolbar label{display:grid;grid-template-columns:1fr;gap:5px}.toolbar select{width:100%}}

.top{position:relative;border-image:none;border-top:0;padding-top:26px}.top::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-conic-gradient(#dce2e8 0% 25%,#121921 0% 50%) 0 0/16px 16px}.compact{max-width:340px}
@media(max-width:680px){.top{padding-top:24px}.compact{max-width:100%}}

.circuit-guide{width:100%;flex-basis:100%;border:1px solid #48525e;border-radius:8px;margin:16px 0;background:#141e29}.circuit-guide summary{padding:15px 18px}.circuit-guide summary strong{display:block;font-size:18px;margin:4px 0}.circuit-guide summary .muted{font-size:13px}.circuit-content{padding:4px 18px 18px}.circuit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 22px}.circuit-metrics>div{padding:12px 8px;background:#27313e;border-radius:6px}.circuit-metrics strong,.circuit-metrics small{display:block}.circuit-metrics strong{font-size:19px;color:#ffcf86;margin-bottom:5px}.circuit-record{font-size:28px;font-weight:700;color:#ffcf86;margin-bottom:5px}.circuit-winners{list-style:none;padding:0}.circuit-winners li{display:flex;gap:15px;padding:9px 0;border-bottom:1px solid #394654}.circuit-winners span{color:#f4c178;font-weight:700}.circuit-winners a{color:#f3f5f7}@media(max-width:680px){.circuit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.circuit-content{padding:4px 12px 16px}.circuit-guide summary{padding:13px 12px}}

.source-notes{width:100%;margin-top:14px;font-size:13px;color:var(--muted)}.source-notes summary{padding:8px 0;min-height:36px;font-size:13px}.source-notes li{margin:8px 0}.event-schedule{width:100%;flex-basis:100%;padding:0 16px;border:1px solid var(--line);border-radius:7px;margin:14px 0;background:#141e29}.event-schedule summary{font-weight:600}.event-schedule .source-notes{padding-bottom:10px}.circuit-winners strong{font-weight:500}

/* Compact season calendar; details expand only on demand. */
.race-list{display:grid;gap:8px}.calendar-race{display:grid;grid-template-columns:minmax(190px,1fr) auto auto;gap:12px;padding:12px 16px;align-items:center}.calendar-race .eyebrow{margin-bottom:4px;font-size:11px;letter-spacing:.6px}.calendar-race h3{margin:0 0 4px;font-size:17px}.calendar-race h3 .badge{margin-left:8px;font-size:10px;padding:2px 6px;vertical-align:middle}.calendar-race .race-actions{gap:6px}.calendar-race button{font-size:13px;padding:8px 10px}.race-more{display:contents}.race-more>summary{list-style:none;font-size:13px;color:#ffce89;border:1px solid #485767;border-radius:7px;padding:12px;white-space:nowrap}.race-more>summary::-webkit-details-marker{display:none}.race-more>summary::before{content:'＋ ';}.race-more[open]>summary::before{content:'− ';}.race-expanded{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding-top:4px}.race-expanded .event-schedule,.race-expanded .circuit-guide{margin:8px 0}.calendar-race:has(.primary){border-left:3px solid #f25540}@media(max-width:800px){.calendar-race{grid-template-columns:minmax(0,1fr) auto}.calendar-race .race-actions{grid-row:2;grid-column:1/-1}.calendar-race .race-actions:empty{display:none}.race-more>summary{grid-column:2;grid-row:1}.calendar-race .summary{min-width:0}}@media(max-width:380px){.calendar-race{padding:10px;gap:8px}.race-more>summary{white-space:normal;max-width:95px;padding:10px 8px}.calendar-race h3{font-size:16px}}

.table-sort{border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;padding:4px 0;min-height:36px;text-align:left;white-space:nowrap}.table-sort:hover{background:transparent;color:#ffce89}.sort-arrow{color:#ffce89}th[aria-sort="ascending"],th[aria-sort="descending"]{color:#ffce89}

.race-focus{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.85fr);gap:20px;padding:24px;border:1px solid var(--line);border-top:3px solid #f25540;border-radius:12px;background:radial-gradient(ellipse at top right,#354a5b88,transparent 70%),#19232e;margin-bottom:14px}.race-focus h1{font-size:clamp(30px,4vw,46px);line-height:1.05;margin:12px 0 16px;max-width:650px}.deadline-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:22px}.deadline-grid strong{display:block;margin-top:5px;font-size:19px}.time-left strong{color:#ffd081;font-size:24px}.race-focus-track{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.race-focus-track img{display:block;width:100%;height:200px;object-fit:contain}.race-focus-track button{width:100%;background:#263746;margin-top:8px}.focus-circuit{grid-column:1/-1}.focus-circuit:not(:has(details[open])){display:none}.focus-circuit .circuit-guide{margin:0}.race-focus:has(.focus-circuit:not(:has(details[open]))){row-gap:0}@media(max-width:680px){.race-focus{grid-template-columns:1fr;padding:18px 14px;gap:16px}.race-focus h1{font-size:34px}.race-focus-track{margin-top:16px}.race-focus-track img{height:160px}.deadline-grid{margin-top:16px}.deadline-grid strong{font-size:17px}.time-left strong{font-size:22px}}

#competition{width:410px;max-width:100%}@media(max-width:680px){#competition{width:100%;font-size:14px}}

#competition{width:760px;max-width:100%}#competition-selected{display:none}@media(max-width:800px){#competition{width:100%;font-size:14px}#competition-selected{display:block;flex-basis:100%;overflow-wrap:anywhere;margin-top:-8px}}

/* F1 Podio! wordmark */
.brand-podio{display:inline-flex;align-items:center;gap:12px;font-family:'Arial Black','Segoe UI',sans-serif;font-size:40px;font-weight:900;font-style:italic;line-height:1;letter-spacing:-2px;white-space:nowrap;isolation:isolate}.brand-podio .brand-f1{display:inline-block;color:#fff;background:linear-gradient(125deg,#ff6348,#df281b);padding:8px 12px 9px 9px;border-radius:4px 12px 4px 4px;letter-spacing:-3px;box-shadow:4px 4px 0 #ff63482b}.brand-podio .brand-name{position:relative;color:#f7f9ff;text-transform:uppercase;padding-right:4px;text-shadow:0 2px 12px #ffffff18}.brand-podio .brand-name::after{content:'';position:absolute;height:3px;background:linear-gradient(90deg,#ff543b,#ffb05d);bottom:-8px;left:1px;right:2px;transform:skewX(-25deg)}.brand-podio .brand-bang{color:#ff6649;display:inline-block;margin-left:2px}.login-form .brand-podio{font-size:42px;margin-bottom:10px}@media(max-width:680px){.brand-podio,.login-form .brand-podio{font-size:34px;gap:10px}.brand-podio .brand-f1{padding:7px 10px 8px 8px}}

.tablewrap:has(th:nth-child(8)) .table-sort{white-space:normal;min-width:70px}.tablewrap:has(th:nth-child(8)) td:nth-child(n+3){font-variant-numeric:tabular-nums}

/* Pronósticos: group first, own form on demand. */
.prediction-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.prediction-heading h2{margin-bottom:6px}.prediction-heading p{margin:0}.prediction-group tr.me td:first-child{border-left:3px solid #ffce89}#prediction-editor{scroll-margin-top:16px}#prediction-editor[hidden]{display:none}@media(max-width:680px){.prediction-heading>button{width:100%}.prediction-heading{gap:12px}}

/* Administration: single editor per user. */
.user-edit-fields{border:0;margin:0;padding:0;min-width:0}.user-photo-row{display:flex;gap:14px;align-items:center;margin:8px 0}.user-photo-preview{width:88px;height:88px;flex:none;border:1px solid var(--line);border-radius:10px;background:#101923;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:12px}.user-photo-preview img{width:100%;height:100%;object-fit:cover}.user-photo-controls{min-width:0;flex:1}.user-photo-controls input{font-size:12px;padding:8px;width:100%;min-width:0}.user-photo-controls button{margin-top:6px;font-size:12px}.user-edit-actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}#user-edit-error{color:#ffb5a9;overflow-wrap:anywhere}dialog:has(#edit-user){max-width:540px;max-height:calc(100dvh - 24px);overflow-y:auto}#edit-user .full-field{margin-top:14px}#edit-user label input,#edit-user label select{margin-top:6px}.admin-user>div{min-width:0}.admin-user>button{flex:none}.admin-user small{overflow-wrap:anywhere}@media(max-width:380px){dialog:has(#edit-user){padding:16px}.user-photo-row{align-items:flex-start;gap:10px}.user-photo-preview{width:64px;height:64px}.user-edit-actions button{width:100%}}

/* Profile header and ranking portraits. */
.top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.top>.brand-podio{font-size:56px;gap:16px}.top>.brand-podio .brand-f1{padding:14px 18px 17px 14px}.top-tools{display:grid;justify-items:end;gap:10px;width:auto}.top-actions{display:flex;gap:10px;justify-content:flex-end}.top-profile{display:flex;align-items:center;gap:12px;min-width:0;text-align:right}.top-profile strong{display:block;font-size:16px}.top-profile small{display:block;margin-top:3px}.profile-avatar{position:relative;isolation:isolate;display:inline-grid;place-items:center;flex:none;width:44px;height:44px;overflow:hidden;border:1px solid #7a5c4d;border-radius:50%;background:#493c32;color:#ffe2bf;font-size:15px;font-weight:700;letter-spacing:.4px;line-height:1}.profile-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#1d2733}.ranking-avatar{width:56px;height:56px;font-size:19px}.ranking-user{display:flex;align-items:center;gap:14px;min-width:174px}.rankings-panel tbody td{height:90px;padding:16px 10px;vertical-align:middle}.ranking-user>span:last-child{line-height:1.45}.rankings-panel tbody td:nth-child(2){min-width:206px}
@media(max-width:680px){.top{gap:18px}.top>.brand-podio{font-size:46px;gap:12px}.top>.brand-podio .brand-f1{padding:12px 14px 14px 11px}.rankings-panel tbody td{height:82px;padding:12px 7px}.ranking-user{gap:10px;min-width:162px}.ranking-avatar{width:54px;height:54px}.rankings-panel tbody td:nth-child(2){min-width:182px}}
@media(max-width:560px){.top{grid-template-columns:1fr;gap:20px}.top-tools{justify-self:end}.top>.brand-podio{font-size:44px;justify-self:start}.top-actions{gap:8px}.top-profile{gap:10px}.top-profile strong{font-size:15px}}
@media(max-width:360px){.top>.brand-podio{font-size:40px;gap:10px}}

/* Give each member a visible portrait while keeping access actions secondary. */
.top{padding-bottom:24px}.top-actions button{min-height:34px;padding:6px 12px;font-size:13px}.top-profile{gap:16px}.top-profile .profile-avatar{width:88px;height:88px;font-size:28px;border-width:2px}.top-profile strong{font-size:20px}.top-profile small{font-size:12px}.top-tools{gap:12px}
@media(max-width:680px){.top-profile .profile-avatar{width:72px;height:72px;font-size:24px}.top-profile strong{font-size:18px}}
@media(max-width:560px){.top{gap:24px}.top-tools{width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.top-profile{grid-column:1;grid-row:1;justify-self:start;text-align:left;gap:12px}.top-actions{grid-column:2;grid-row:1;flex-direction:column;gap:6px}.top-actions button{min-height:38px;padding:6px 10px}.top-profile strong{font-size:16px}.top-profile .profile-avatar{width:70px;height:70px;font-size:23px}.top-profile>div{min-width:0}.top-profile strong{overflow-wrap:anywhere}.top-profile small{font-size:11px}}
@media(max-width:360px){.top-profile{gap:8px}.top-profile .profile-avatar{width:64px;height:64px;font-size:21px}.top-profile strong{font-size:15px}.top-actions button{font-size:12px;padding:6px 8px}}

/* Ranking portraits expand above the scrolling table without moving rows. */
.ranking-photo-preview{position:fixed;z-index:1000;pointer-events:none;object-fit:cover;border:2px solid #ffb47b;border-radius:50%;background:#1d2733;box-shadow:0 8px 28px #0009;transition:transform 140ms ease-out}
@media(prefers-reduced-motion:reduce){.ranking-photo-preview{transition:none}}
