/* BOLERO / understated stadium lights, competition colours and tactile silverware. */
:root { color-scheme: dark; --gold:#e6c18a; --line:#ffffff12; --muted:#9298a7; }
body { background: radial-gradient(ellipse at 12% 0%,#23303c66,transparent 46%),radial-gradient(ellipse at 95% 90%,#312b2344,transparent 45%),#090b10; }
button { -webkit-tap-highlight-color: transparent; }
.game-shell,.summary-shell,.identity-shell { background:#0e1118; border-color:#ffffff14; box-shadow:0 25px 100px #0005,inset 0 1px 0 #ffffff07; }
.section-kicker,.brand-kicker { color:#ac9170; }
.reset-run { border:0; background:transparent; color:#6d7788; font-size:15px; padding:4px; }
.reset-run kbd { font:600 8px 'DM Sans'; border:1px solid #ffffff18; padding:1px 3px; border-radius:3px; vertical-align:2px; }
.reset-run:hover { color:#e2c694; }
.records-link { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid #cfb07a25; background:#cfb07a08; border-radius:7px; padding:6px 9px; color:#d4c2a8; font-size:10px; font-weight:700; white-space:nowrap; transition:background .18s,border-color .18s,transform .18s; }
.records-link span { color:#8a7b68; }
.records-link:hover { background:#cfb07a18; border-color:#cfb07a80; transform:translateY(-1px); }
.ovr-tile { width:74px; height:80px; border-radius:18px 18px 24px 18px; }
.ovr-tile strong { font-size:40px; }
.season-flash { background:linear-gradient(100deg,#32271b66,#17191e); border-color:#b98e5130; border-radius:9px; }
.club-logo { object-fit:contain; width:100%; height:100%; padding:2px; }
.flag-image { object-fit:contain; border-radius:2px; box-shadow:none; }
.timeline-panel { background:linear-gradient(160deg,#0d121a,#101117 65%); min-height:0; }
.timeline-scroll { min-height:0; }
.timeline-labels,.competition-bar,.europe-ribbons,.national-bar { flex-shrink:0; }
.timeline-head { display:flex; align-items:center; justify-content:space-between; padding:18px 14px 0; color:#d9dfd7; font-size:10px; font-weight:750; letter-spacing:.1em; }
.timeline-head button { display:inline-flex; align-items:center; gap:5px; padding:4px 0; border:0; background:none; color:#9ed5bb; font:600 9px var(--club-font,sans-serif); }
.timeline-head button:hover { color:#d5f0df; }.timeline-head .ui-art { width:13px; height:13px; }
.timeline-labels { padding-top:10px; padding-bottom:8px; color:#7d889b; font-size:8px; letter-spacing:.13em; }
.timeline-row { min-height:24px; border-radius:5px; margin-bottom:1px; }
.timeline-row.completed { border-left:2px solid #9a826222; transition:background .2s,transform .2s; }
.timeline-row.completed:hover { background-color:#ffffff0a; transform:translateX(2px); }
.timeline-row.completed .age-dot { background:#292b39; border-radius:5px; }
.timeline-row .timeline-club>span:nth-child(2) { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.timeline-row.future { opacity:.5; }
.timeline-row.phase-continues { border-left-color:#8cc2a350; }.timeline-row.phase-starts { border-left-color:#d6b97a66; }
.timeline-row.competition-cl { background:linear-gradient(100deg,#10337155,#36236718 70%,transparent); border-left-color:#4c79e0; }
.timeline-row.competition-cl .age-dot { background:#1b3970; color:#c0d4ff; }
.timeline-row.competition-el { background:linear-gradient(100deg,#6f350f50,#5b2d0f18 70%,transparent); border-left-color:#e88834; }
.timeline-row.competition-el .age-dot { background:#6d3e1d; color:#ffd3a4; }
.europe-tag { font-size:7px; flex:none; letter-spacing:.06em; color:#9dbbf3; background:#406dcb1c; padding:2px 3px; border-radius:3px; }
.competition-el .europe-tag { color:#efbb83; background:#cd7a2920; }
.timeline-cups { margin-left:auto; }
.timeline-cups .award-icon { width:16px; height:19px; }
.competition-bar { background:#0f1219; min-height:33px; }
.competition-bar .career-status.europe,.competition-bar .next-europe { display:none; }
.career-status { font-size:8px; padding:4px 6px; border-radius:5px; }
.europe-ribbons { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:9px 13px; border-top:1px solid var(--line); }
.europe-ribbon { display:flex; align-items:center; gap:8px; min-width:0; border:1px solid #638cea35; border-radius:8px; background:radial-gradient(ellipse at 0 20%,#2854b655,transparent 85%),#101731; color:#f1f3ff; padding:10px 9px; text-align:left; transition:transform .2s,border-color .2s; }
.europe-ribbon:hover { transform:translateY(-2px); border-color:#82aaff; }
.europe-ribbon.competition-el { background:radial-gradient(ellipse at 0 20%,#b7672355,transparent 85%),#21170e; border-color:#cc873536; }
.europe-ribbon.competition-el:hover { border-color:#eaaa60; }
.europe-ribbon>.award-icon { width:24px; height:31px; }
.europe-ribbon>span:nth-child(2) { display:grid; gap:3px; flex:1; min-width:0; }
.europe-ribbon strong { font-size:10px; white-space:nowrap; }
.qualified-dot { display:inline-block; width:4px; height:4px; border-radius:50%; background:#b8df94; box-shadow:0 0 6px #b8df9455; margin-left:5px; vertical-align:2px; }
.europe-ribbon>span:nth-child(2)>small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.europe-ribbon small { font-size:7px; letter-spacing:.03em; color:#8e9cbf; }
.europe-ribbon.competition-el small { color:#baa086; }
.ribbon-stats { display:flex; gap:8px; }
.ribbon-stats>b { display:grid; gap:3px; font-size:12px; text-align:center; }
.ribbon-stats small { font-weight:500; }
.national-bar { padding:9px 14px; min-height:43px; background:#11151f; gap:7px; }
.national-bar>small { font-size:7px; }
.national-record-link { font-size:8px; padding:4px 5px; }
.national-record-link span { display:none; }
.national-tooltip { background:linear-gradient(145deg,#252e40,#141a26); border-color:#93b1e342; animation:tooltip-in .16s ease-out; }
.national-bar:focus-within .national-tooltip,.nation-overview:focus-within .national-tooltip { display:grid; gap:8px; }
.award-icon { align-items:center; justify-content:center; }
.award-icon .trophy-photo { width:100%; height:100%; object-fit:contain; object-position:center; filter:drop-shadow(0 2px 2px #0009); }
.award-icon svg.trophy-fallback { display:none; }


.summary-shell { padding:24px; }
.summary-top { padding-bottom:24px; }
.summary-overview { gap:12px; }
.summary-overview-card { background:linear-gradient(140deg,#1d2330,#11151e); border-color:var(--line); }
.nation-overview { background:radial-gradient(ellipse at top right,#2b366833,transparent 90%),#111523; }
.nation-overview>span { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.nation-overview>span .records-link { margin-left:auto; padding:3px 5px; font-size:8px; letter-spacing:0; }
.award-overview { background:radial-gradient(ellipse at top right,#83632f40,transparent 90%),#18150f; }
.award-overview>span { color:#d8b776; }
.summary-awards { min-height:55px; align-items:center; }


.summary-section-head { display:flex; gap:14px; }
.summary-section-head .summary-switch { margin-left:auto; }
.summary-cards { gap:12px; }
.summary-card { position:relative; isolation:isolate; overflow:visible; min-height:260px; border-color:#ffffff0f; background:radial-gradient(ellipse at top right,#27507344,transparent 85%),#101823; padding:20px; transition:border-color .25s,transform .25s; }
.summary-card:nth-child(3n+1) { background:radial-gradient(ellipse at top right,#852c4044,transparent 85%),#20121a; }
.summary-card:nth-child(3n+3) { background:radial-gradient(ellipse at top right,#9b773344,transparent 85%),#19170f; }
.summary-card:hover { border-color:#e5c18144; transform:translateY(-3px); }
.club-watermark { position:absolute; inset:0; overflow:hidden; border-radius:inherit; opacity:.045; z-index:-1; pointer-events:none; }
.club-watermark .crest { position:absolute; width:240px; height:240px; right:-15px; bottom:-22px; transform:rotate(-12deg); }
.summary-card-head { align-items:center; gap:14px; }
.summary-card-crest .crest { width:66px; height:66px; min-width:66px; }
.summary-card-head strong { font-size:18px; }
.summary-card .summary-stats { margin:20px 0 13px; background:#070b125e; padding:10px 4px; }
.summary-card .summary-stats b { font-size:21px; }
.summary-card-foot { align-items:center; }
.summary-card-foot .records-link { margin-left:auto; }
.summary-card-awards { min-height:60px; margin-top:12px; gap:10px; }


.season-row.competition-cl { background:linear-gradient(90deg,#163c752d,transparent); }
.season-row.competition-el { background:linear-gradient(90deg,#87501a28,transparent); }
.season-row td:first-child { border-left:2px solid transparent; }
.season-row.competition-cl td:first-child { border-left-color:#4c79e0; }
.season-row.competition-el td:first-child { border-left-color:#e88834; }
.identity-shell { background:radial-gradient(ellipse at 20% 25%,#293c5525,transparent 75%),#10131a; }
.identity-top { background:linear-gradient(100deg,#d5b17908,transparent); }
.jersey-preview svg { filter:drop-shadow(0 18px 25px #0008); }
.nation-grid,.search-field,.identity-fields input,.segmented { background:#161c27; border-color:#ffffff0d; }
.nation-choice.active { border-color:#d2b784; background:#d2b78411; }
.pitch { box-shadow:0 25px 50px #0005; }

.offer-meta { display:grid; justify-items:center; gap:2px; max-width:100%; white-space:normal; line-height:1.15; }
.offer-meta b { color:#e9edf4; font-size:9px; letter-spacing:.08em; }
.offer-meta span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#8f98a8; font-size:8px; }

/* A single focused detail sheet; the fast career loop stays on one screen. */
.records-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #b0bac735; border-radius:20px; color:#f0f2f7; background:#111620; box-shadow:0 35px 120px #000c; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#455062 transparent; }
.records-dialog::backdrop { background:#03060ccb; backdrop-filter:blur(8px); }
.records-dialog[open] { animation:record-in .25s cubic-bezier(.2,.8,.3,1); }
.records-content { padding:25px; background:radial-gradient(ellipse at 100% 0%,#76604426,transparent 45%); }
.records-content.competition-cl { background:radial-gradient(ellipse at 100% 0%,#2e52bc44,transparent 55%); }
.records-content.competition-el { background:radial-gradient(ellipse at 100% 0%,#d37a2638,transparent 55%); }
.records-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.records-top h1 { font-size:30px; letter-spacing:-.045em; margin-top:5px; }
.record-close { width:34px; height:34px; border:1px solid #ffffff1a; border-radius:50%; color:#c3c9d2; background:#ffffff05; font-size:15px; }
.record-close:hover { background:#ffffff12; }
.record-tabs { display:flex; gap:4px; padding:4px; background:#080d1577; border:1px solid var(--line); border-radius:10px; margin:23px 0 18px; }
.record-tabs button { flex:1; background:none; border:0; border-radius:7px; color:#8f99ac; padding:10px; font-size:11px; font-weight:700; }
.record-tabs button.active { color:#fff4dc; background:linear-gradient(135deg,#8d745833,#3a332844); box-shadow:inset 0 0 0 1px #d8bd8430; }
.record-tabs button:disabled { opacity:.32; cursor:not-allowed; }
.record-tabs button small { margin-left:6px; color:#68758a; font-size:8px; }
.record-selectors { display:grid; grid-template-columns:1.4fr 1fr; gap:12px; }
.record-selectors label { display:grid; gap:7px; color:#77869b; font-size:8px; font-weight:800; letter-spacing:.12em; min-width:0; }
.record-selectors select { width:100%; border:1px solid #ffffff19; border-radius:8px; background:#1a2230; color:#e5e9f1; padding:10px 9px; font-size:11px; }
.record-entity-switch { min-height:38px; display:grid; grid-template-columns:38px minmax(0,1fr) 38px; align-items:stretch; overflow:hidden; border:1px solid #ffffff19; border-radius:8px; background:#1a2230; }
.record-entity-switch>button { border:0; background:#ffffff04; color:#d6bd91; font:500 23px 'Outfit'; }
.record-entity-switch>button:first-child { border-right:1px solid #ffffff12; }
.record-entity-switch>button:last-child { border-left:1px solid #ffffff12; }
.record-entity-switch>button:hover:not(:disabled) { background:#d6bd9115; color:#ffe2ad; }
.record-entity-switch>button:disabled { color:#465063; cursor:default; }
.record-entity-current { min-width:0; display:flex; align-items:center; gap:9px; padding:7px 10px; letter-spacing:0; }
.record-entity-current small { flex:none; color:#69778d; font-size:7px; }
.record-entity-current b { overflow:hidden; color:#edf0f6; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.record-hero { display:flex; align-items:center; gap:18px; margin:24px 0 20px; min-width:0; }
.record-hero>div { min-width:0; }
.record-hero h2 { font-size:25px; letter-spacing:-.04em; line-height:1.1; margin:5px 0; overflow-wrap:anywhere; }
.record-hero p { color:#929bad; font-size:10px; line-height:1.4; }
.record-crest,.record-trophy { width:65px; height:70px; min-width:65px; }
.record-metrics { display:flex; gap:6px; margin-bottom:12px; }
.record-metrics button { background:none; border:1px solid #ffffff13; border-radius:6px; padding:7px 12px; color:#929cac; font-size:10px; font-weight:700; }
.record-metrics button.active { background:#dbc18b; color:#211b12; border-color:#dbc18b; }
.record-ranking { border:1px solid #ffffff0d; border-radius:11px; overflow:hidden; }
.record-ranking table { border-collapse:collapse; width:100%; }
.record-ranking th { padding:10px 15px; font-size:8px; font-weight:700; letter-spacing:.14em; color:#6e7d94; text-align:left; background:#060d1744; }
.record-ranking th:first-child { width:63px; }
.record-ranking th:last-child,.record-ranking td:last-child { text-align:right; }
.record-ranking td { padding:11px 15px; border-top:1px solid #ffffff07; background:#141c2880; }
.record-ranking td:last-child { font:700 21px 'Outfit'; font-variant-numeric:tabular-nums; }
.record-ranking td:nth-child(2) b { font-size:13px; }
.record-ranking td:nth-child(2) small { display:block; font-size:8px; color:#6f8098; margin-top:3px; letter-spacing:.02em; }
.record-rank { display:grid; place-items:center; width:28px; height:29px; font:700 12px 'Outfit'; color:#738197; }
.record-rank.rank-1 { color:#ffe3a5; background:linear-gradient(145deg,#b8994c55,#b8994c11); border:1px solid #bfa36344; border-radius:6px; }
.record-rank.rank-2 { color:#bfcbdc; }
.record-rank.rank-3 { color:#b89374; }
.record-ranking tr.record-mine td { background:#263728; color:#c4e6b0; }
.record-player { display:flex; align-items:center; gap:15px; padding:13px 15px; border:1px solid #b8994c28; background:#d6b66d09; border-radius:9px; margin-top:9px; }
.record-player-label { font-size:7px; color:#c6a978; display:grid; gap:2px; letter-spacing:.05em; }
.record-player-label b { font-size:15px; }
.record-player>strong { font-size:12px; }
.record-player>span:last-child { margin-left:auto; color:#d8c29e; font-size:11px; text-align:right; }
.record-season-section { margin-top:24px; }
.record-section-title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.record-section-title h3 { font-size:15px; }
.record-section-title>span { color:#7c899b; font-size:9px; }
.record-season-scroll { max-height:245px; overflow:auto; scrollbar-width:thin; }
.record-season-table { border-collapse:collapse; width:100%; font-size:10px; }
.record-season-table th { position:sticky; top:0; z-index:1; background:#111620; font-size:8px; color:#687991; letter-spacing:.07em; }
.record-season-table td,.record-season-table th { border-bottom:1px solid #ffffff0b; padding:8px 6px; text-align:right; white-space:nowrap; }
.record-season-table td:nth-child(-n+2),.record-season-table th:nth-child(-n+2) { text-align:left; }
.record-season-table td>span { display:flex; align-items:center; gap:7px; }
.record-season-table button { border:0; padding:0; background:none; color:#d7bd8e; text-decoration:underline; text-underline-offset:3px; font-size:10px; }
.record-empty { color:#78879c; font-size:11px; line-height:1.5; padding:15px; background:#060c1440; border-radius:7px; }
.record-note { color:#798397; font-size:9px; line-height:1.5; border-top:1px solid #ffffff0d; margin-top:23px; padding-top:14px; }
.record-note a { color:#d7bd8e; text-underline-offset:3px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@keyframes record-in { from { opacity:0; transform:translateY(18px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes tooltip-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@keyframes trophy-ring { 0% { opacity:0; scale:.5; } 40% { opacity:1; } 100% { opacity:0; scale:1.25; } }
@media(min-width:761px) and (max-height:820px) {.ovr-tile { height:74px; }.offers-section { padding-top:17px; padding-bottom:9px; }.timeline-row { min-height:22px; }.timeline-row .age-dot { height:20px; }.timeline-labels { padding-top:18px; } }
@media(max-width:1150px) { .ribbon-stats { gap:5px; }.europe-ribbon { gap:5px; }.europe-ribbon strong { font-size:9px; }.europe-ribbon>.award-icon { width:20px; }.national-bar>small { display:none; } }
@media(min-width:761px) and (max-width:950px) { .europe-ribbons { grid-template-columns:1fr; gap:4px; padding:6px 9px; }.europe-ribbon { padding:5px 8px; }.europe-ribbon>.award-icon { height:24px; }.europe-ribbon>span:nth-child(2) { display:flex; gap:9px; align-items:center; }.ovr-tile { width:60px; height:68px; } }
@media(max-width:760px) {.timeline-panel { max-height:570px; min-height:440px; }.timeline-scroll { min-height:240px; }.summary-shell { padding:16px; }.summary-cards { gap:10px; }.summary-section-head { flex-wrap:wrap; }.summary-section-head .summary-switch { margin-left:auto; }.summary-card { padding:17px; } }
@media(max-width:500px) {.ovr-tile { width:58px; height:68px; }.ovr-tile strong { font-size:32px; }.europe-ribbons { padding:7px; gap:5px; }.europe-ribbon { padding:7px 5px; flex-wrap:wrap; column-gap:5px; row-gap:5px; }.europe-ribbon strong { font-size:9px; }.europe-ribbon>.award-icon { height:27px; }.ribbon-stats { justify-content:space-around; width:100%; border-top:1px solid #ffffff0b; padding-top:5px; gap:0; }.ribbon-stats>b { font-size:11px; display:flex; align-items:center; gap:4px; }.europe-tag { font-size:6px; padding:1px 2px; }.timeline-cups .award-icon { width:12px; height:15px; }.timeline-club { gap:4px!important; }.timeline-club .crest { width:18px; height:18px; min-width:18px; }.national-bar { gap:5px; padding:8px; font-size:9px; }.national-progress { display:none; }.national-record-link { font-size:7px; }.summary-shell { padding:12px; }.summary-top { gap:14px; }.summary-card-head strong { font-size:17px; }.records-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 20px); border-radius:14px; }.records-content { padding:16px; }.record-selectors { grid-template-columns:1fr; gap:12px; }.record-tabs button { font-size:10px; padding:9px 5px; }.record-hero { gap:12px; margin:20px 0; }.record-hero h2 { font-size:21px; }.record-crest,.record-trophy { width:50px; height:58px; min-width:50px; }.record-ranking td,.record-ranking th { padding:10px; }.record-ranking th:first-child { width:48px; }.record-player { gap:10px; }.record-section-title { align-items:flex-start; }.record-metrics { gap:4px; }.record-metrics button { flex:1; padding:7px 5px; }.record-season-table { min-width:420px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
