/* BOLERO · shared local typography, surfaces and interaction tokens. */
@font-face { font-family:'BOLERO Manrope'; font-style:normal; font-weight:200 800; font-display:swap; src:url('./assets/fonts/manrope-variable.ttf') format('truetype'); }
:root {
  --club-bg:#233c29; --club-surface:#112720; --club-raised:#1a3229; --club-inset:#10231e;
  --club-text:#f2f4ee; --club-muted:#b4c2bf; --club-quiet:#93a8a2;
  --club-line:#b9d5c828; --club-green:#a4e4ce; --club-active:#24473f; --club-gold:#e1c681;
  --club-negative:#e9aa94; --club-radius:12px; --club-radius-lg:18px; --club-space:16px;
  --club-shadow:0 16px 48px #030a0660; --club-motion:180ms; --club-ease:cubic-bezier(.2,.8,.2,1);
  --club-space-1:4px; --club-space-2:8px; --club-space-3:12px; --club-space-4:16px; --club-space-5:24px;
  --club-type-xs:11px; --club-type-sm:12px; --club-type-body:14px; --club-type-title:17px;
  --club-font:'BOLERO Manrope','Segoe UI',sans-serif; --club-display:var(--club-font);
  --gold:var(--club-gold); --muted:var(--club-muted); --line:var(--club-line); --challenge-green:var(--club-green);
  color-scheme:dark; color:var(--club-text); font-family:var(--club-font);
}
body { background:var(--club-bg); isolation:isolate; font-family:var(--club-font); font-weight:400; -webkit-font-smoothing:antialiased; }
h1,h2,h3 { font-weight:750; } strong,b { font-weight:700; }
#app { position:relative; z-index:1; }
.pitch-scene { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; background:#365b32; contain:strict; }
.pitch-grass { position:absolute; inset:-3px; background:linear-gradient(#1b332635,#1b332635),url('./assets/backgrounds/pitch-grass-v1.webp') center/600px 600px repeat; animation:pitch-wind 32s ease-in-out infinite alternate; }
.pitch-lines { position:absolute; inset:0; width:100%; height:100%; color:#f4f1df9c; }
/* Feather both axes before compositing each cloud bank: the source image is
   not a seamless texture. Copies meet at fully transparent edges, not cuts.
   Banks overlap by half a tile so transparent centers cannot create a long
   empty interval. Half the distance/time preserves the existing drift speed.
   The distant ground shadow follows the same track with a sunward offset. */
.pitch-cloud-drift { --cloud-span:max(900px,110vw); --cloud-step:calc(var(--cloud-span) * .5); position:absolute; left:0; top:-15%; width:calc(var(--cloud-span) * 2); height:130%; animation:pitch-clouds 120s linear infinite; }
.pitch-cloud-bank { position:absolute; inset:0 auto 0 calc(-1 * var(--cloud-step)); width:var(--cloud-span); mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent); mask-composite:intersect; }
.pitch-cloud-bank:nth-child(2) { left:0; }
.pitch-cloud-bank:nth-child(3) { left:var(--cloud-step); }
.pitch-cloud-bank:nth-child(4) { left:calc(var(--cloud-step) * 2); }
.pitch-shadows { position:absolute; inset:0; background:#06160d; mask:url('./assets/backgrounds/pitch-clouds-v1.webp') 0 0/100% 100% no-repeat; transform:translate3d(clamp(64px,7vw,132px),clamp(40px,6vh,84px),0); filter:blur(30px); opacity:.28; }
.pitch-cloud-light { position:absolute; inset:0; background:url('./assets/backgrounds/pitch-clouds-v1.webp') 0 0/100% 100% no-repeat; opacity:.42; }
.pitch-vignette { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 40%,transparent 36%,#09201142 100%); }
.pitch-toolbar { position:relative; z-index:1; width:min(1420px,calc(100% - 28px)); display:flex; justify-content:space-between; align-items:center; gap:14px; height:36px; margin:14px auto 10px; }
.pitch-brand { display:flex; align-items:center; gap:10px; color:var(--club-text); text-decoration:none; }.pitch-brand>svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.5; }.pitch-brand>span { font-size:21px; font-weight:750; letter-spacing:.15em; }.pitch-brand small { display:block; margin-top:2px; font-size:9px; letter-spacing:.07em; font-weight:500; color:#e0e8d7; }
.pitch-toolbar-actions { display:flex; align-items:center; gap:10px; flex:none; }
.pitch-home { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:5px 12px; border:1px solid #bbd8c35e; border-radius:999px; background:#102024f5; color:#e0eee7; font-size:12px; font-weight:650; line-height:1.2; text-decoration:none; white-space:nowrap; }
.pitch-home svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.pitch-home:hover { border-color:var(--club-green); background:#1a4032; color:#fff; text-decoration:none; }
.pitch-home:focus-visible,.pitch-brand:focus-visible,.scene-motion-toggle:focus-visible { outline:2px solid #c9f1db; outline-offset:4px; }
.scene-motion-toggle { display:flex; align-items:center; gap:7px; height:36px; border:1px solid #bbd8c35e; border-radius:999px; padding:5px 11px; background:#102024f5; color:#d1e9df; font-size:11px; }.scene-motion-toggle svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.5; fill:none; }.scene-motion-toggle:hover { border-color:var(--club-green); }.scene-motion-toggle[aria-pressed="false"] { color:var(--club-muted); }.scene-motion-toggle:disabled { cursor:default; }
[data-scene-motion="off"] .pitch-grass,[data-scene-motion="off"] .pitch-cloud-drift { animation:none; }
[data-scene-paused="true"] .pitch-grass,[data-scene-paused="true"] .pitch-cloud-drift { animation-play-state:paused; }
@keyframes pitch-wind { from { transform:translate3d(-1px,-1px,0); } to { transform:translate3d(1px,1px,0); } }
@keyframes pitch-clouds { from { transform:translate3d(calc(-1 * var(--cloud-step)),0,0); } to { transform:translate3d(0,0,0); } }
.ui-art { display:inline-block; width:18px; height:18px; flex:none; vertical-align:-.2em; }
.admin-toggle { display:inline-flex; align-items:center; gap:5px; }.admin-toggle .ui-art { width:12px; height:12px; }.admin-panel-heading .ui-art { width:24px; height:24px; }.flash-dot .ui-art { width:18px; height:18px; }.career-stats .ui-art { width:14px; height:14px; }.national-stats .ui-art { width:10px; height:10px; }.achievement-icon .ui-art { width:24px; height:24px; }
/* Familiar FUT rarity colors, without rotating shines, glow or moving text. */
.tier-bronze { --rating-fill:linear-gradient(145deg,#9c7254,#6a4936); --rating-ink:#fff0df; --rating-border:#c59976; }
.tier-bronze-shine { --rating-fill:linear-gradient(145deg,#c18c60,#8a593c); --rating-ink:#fff5e7; --rating-border:#dcb88f; }
.tier-silver { --rating-fill:linear-gradient(145deg,#bdc7cc,#7f909a); --rating-ink:#10222b; --rating-border:#d4dee2; }
.tier-silver-shine { --rating-fill:linear-gradient(145deg,#e2e7e9,#9cabb2); --rating-ink:#10222b; --rating-border:#f0f4f5; }
.tier-gold { --rating-fill:linear-gradient(145deg,#dec071,#ab852b); --rating-ink:#292111; --rating-border:#ead397; }
.tier-gold-shine { --rating-fill:linear-gradient(145deg,#f1d78d,#bd9335); --rating-ink:#292111; --rating-border:#f6e4ad; }
.tier-inform { --rating-fill:linear-gradient(145deg,#2c3435,#101519); --rating-ink:#efd69d; --rating-border:#ceb876; }
.tier-tots { --rating-fill:linear-gradient(145deg,#396db2,#163d77); --rating-ink:#fff0bf; --rating-border:#e1cc80; }
.tier-toty { --rating-fill:linear-gradient(145deg,#dab964,#152e63 28%,#091a3b); --rating-ink:#ffdf83; --rating-border:#e1cc80; }
.timeline-ovr[class*="tier-"],.timeline-row.active .timeline-ovr[class*="tier-"] { background:var(--rating-fill); color:var(--rating-ink); box-shadow:inset 0 0 0 1px var(--rating-border); }
.active-perks { position:relative; }.active-perks[open]>div { position:absolute; top:calc(100% + 8px); right:0; z-index:10; width:min(330px,calc(100vw - 60px)); padding:7px 14px 14px; border:1px solid #a4e4ce55; border-radius:12px; background:var(--club-raised); box-shadow:var(--club-shadow); }
h1,h2,h3,strong,b { font-family:var(--club-display); } button,input,select { font-family:var(--club-font); }
button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,[tabindex="0"]:focus-visible { outline:2px solid var(--club-green); outline-offset:3px; }
button { -webkit-tap-highlight-color:transparent; } .section-kicker,.brand-kicker { color:var(--club-gold); }
.flag-code { font-size:7px; font-weight:700; color:var(--club-text); text-align:center; line-height:13px; }
.game-shell,.identity-shell { background:var(--club-surface); border-color:var(--club-line); box-shadow:var(--club-shadow); }
.game-shell { height:min(900px,calc(100dvh - 70px)); }
.identity-top,.identity-footer,.identity-column+.identity-column { border-color:var(--club-line); }
.jersey-preview svg>path { display:none; }.jersey-preview svg text { fill:#17352c; font-family:var(--club-display); font-weight:750; }.jersey-preview svg { filter:drop-shadow(0 7px 12px #040d0830); }
.identity-top h1 { color:var(--club-text); }.identity-column h2 { color:var(--club-text); }.identity-fields label,.foot-control>span,.setup-step { color:var(--club-muted); }
.identity-fields input,.search-field,.nation-grid,.segmented { background:var(--club-inset); color:var(--club-text); border-color:var(--club-line); }
.identity-fields input::placeholder,.search-field input::placeholder { color:var(--club-quiet); }.nation-choice { color:var(--club-text); }.nation-choice.active { background:var(--club-active); border-color:var(--club-green); }.nation-choice:hover { background:var(--club-raised); }
.light-button { background:var(--club-green); color:#102a24; min-width:0; border-radius:10px; transition:background var(--club-motion); }.light-button:hover { background:#bcebdc; }
.game-left { border-color:var(--club-line); }
.career-brand { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 20px 8px; }
.career-brand>span { font-size:var(--club-type-sm); font-weight:800; letter-spacing:.13em; color:var(--club-text); }.career-brand i { color:var(--club-gold); font-style:normal; }.career-brand small { color:var(--club-quiet); font-size:8px; }
.career-tools { display:flex; align-items:center; gap:5px; }
.career-tools .reset-run { min-width:38px; min-height:36px; padding:5px; font-size:17px; border:0; border-radius:7px; color:var(--club-muted); background:none; }
.career-tools .reset-run kbd { font-size:9px; opacity:.7; }
.career-tools .reset-run:hover,.admin-toggle:hover { background:#a4e4ce12; color:var(--club-text); }
.admin-toggle { min-height:36px; font-size:10px; }.records-link { color:var(--club-gold); background:#c4b78507; border-color:var(--club-line); }
.player-profile { background:linear-gradient(135deg,#22342a55,transparent 80%); border-bottom:1px solid var(--club-line); padding-bottom:10px; }
.player-header { min-height:0; padding:8px 20px 10px; gap:13px; grid-template-columns:72px minmax(0,1fr) auto; }
.ovr-tile { width:70px; height:76px; border-radius:14px; position:relative; }.ovr-tile[class*="tier-"] { background:var(--rating-fill); border:1px solid var(--rating-border); color:var(--rating-ink); box-shadow:none; }.ovr-tile strong { font-size:37px; }.ovr-tile small { color:inherit; opacity:.8; }.ovr-tile::after { display:none; }.ovr-tile.is-counting strong { animation:none; }.ovr-tile.tier-landed { animation:club-select 220ms var(--club-ease); }
.player-main h1 { color:var(--club-text); font-size:clamp(19px,2vw,27px); letter-spacing:-.045em; }.current-club { color:var(--club-muted); font-size:var(--club-type-sm); }.player-finance>span { color:var(--club-quiet); }.player-finance b { color:var(--club-text); font-size:21px; }
.career-stats { padding:4px 20px 11px; }.career-stats small { color:var(--club-muted); font-size:10px; letter-spacing:.06em; }.career-stats strong { color:var(--club-text); font-size:25px; }.career-stats strong>span { color:var(--club-quiet); }
.profile-tools { display:flex; flex-wrap:wrap; align-items:flex-start; gap:9px; padding:0 20px; }
.achievements-link { display:inline-flex; align-items:center; gap:10px; padding:8px 10px; min-height:44px; border:0; border-radius:6px; background:#a4e4ce08; color:var(--club-text); text-align:left; transition:background var(--club-motion),border-color var(--club-motion); }
.achievements-link:hover { background:#24443d; border-color:#a4e4ce70; }.challenge-emblem { display:grid; place-items:center; width:28px; height:28px; border:0; border-radius:0; color:var(--club-green); background:#a4e4ce08; }.challenge-emblem svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.4; }
.challenge-access-copy { display:grid; gap:3px; }.challenge-access-copy strong { font-size:var(--club-type-sm); }.challenge-access-copy small { color:var(--club-muted); font-size:10px; }.achievements-link>b { font-size:var(--club-type-sm); color:var(--club-gold); margin-left:5px; }
.active-perks { max-width:100%; flex:1; min-width:160px; border:0; border-radius:6px; background:#a4e4ce08; }.active-perks summary { display:flex; align-items:center; gap:var(--club-space-2); padding:10px; min-height:46px; list-style:none; cursor:pointer; }.active-perks summary::-webkit-details-marker { display:none; }.active-perks summary>strong { font-size:var(--club-type-xs); color:var(--club-muted); }.active-perks summary>span:last-child { margin-left:auto; color:var(--club-quiet); }.active-perk-icons { display:flex; gap:4px; }.active-perk-icons>span { color:var(--turn-accent,var(--club-green)); }.active-perk-icons .career-turn-icon { width:19px; height:19px; }
.active-perks>div { display:grid; gap:10px; padding:3px 12px 12px; }.active-perk { display:flex; gap:9px; padding-top:10px; border-top:1px solid var(--club-line); }.active-perk>.career-turn-icon { color:var(--turn-accent,var(--club-green)); width:23px; height:23px; }.active-perk strong { display:block; color:var(--club-text); font-size:var(--club-type-sm); }.active-perk small { display:block; color:var(--turn-accent,var(--club-muted)); font-size:11px; margin-top:3px; }.active-perk p { margin-top:6px; color:var(--club-muted); font-size:var(--club-type-sm); line-height:1.5; }
.trophy-strip { display:block; min-height:0; margin:13px 20px 0; border:0; padding:0; }.trophy-strip .cup-count { display:block; text-align:left; color:var(--club-quiet); font-size:10px; letter-spacing:.05em; margin-bottom:6px; }
.trophy-shelf { display:flex; align-items:center; gap:15px; flex-wrap:wrap; }.trophy-stack { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; flex:none; width:76px; padding:0; border:0; border-radius:8px; color:var(--club-text); background:transparent; text-align:center; }
.trophy-stack-art { display:block; position:relative; width:57px; height:56px; }.trophy-stack-art .award-icon { position:absolute; top:0; left:9px; width:43px; height:53px; transition:transform var(--club-motion) var(--club-ease),opacity var(--club-motion); }.trophy-stack-art .stack-front { transform:translate(0,0); opacity:1; }.trophy-stack-art .stack-back-one { transform:translate(-5px,2px) scale(.92); opacity:.36; }.trophy-stack-art .stack-back-two { transform:translate(-9px,3px) scale(.83); opacity:.2; }
.trophy-stack:is(:hover,:focus-visible) .stack-front { transform:translateY(-3px) rotate(2deg); }.trophy-stack:is(:hover,:focus-visible) .stack-back-one { transform:translate(-10px,0) rotate(-7deg) scale(.92); opacity:.62; }.trophy-stack:is(:hover,:focus-visible) .stack-back-two { transform:translate(-17px,0) rotate(-13deg) scale(.83); opacity:.35; }
.trophy-stack-count { position:absolute; top:37px; right:10px; z-index:2; display:grid; place-items:center; min-width:19px; height:19px; padding:0 3px; border:1px solid #dfbf7c55; border-radius:12px; font-size:var(--club-type-xs); background:#102019; color:#f0d79c; }.trophy-stack-label { display:block; margin-top:4px; font-size:10px; line-height:1.3; color:var(--club-muted); }
.trophy-collection-link { align-self:center; background:none; border:0; border-radius:5px; padding:9px 0; color:var(--club-gold); font-size:var(--club-type-xs); text-align:left; }.trophy-shelf.is-compact { gap:10px; }.is-compact .trophy-stack { width:43px; }.is-compact .trophy-stack-art { width:42px; height:39px; }.is-compact .trophy-stack-art .award-icon { left:7px; width:29px; height:36px; }.is-compact .trophy-stack-label { display:none; }.is-compact .trophy-stack-count { top:24px; right:0; min-width:16px; height:16px; font-size:10px; }.is-compact .trophy-collection-link { margin-left:auto; }
.trophy-collection-dialog { width:min(620px,calc(100vw - 24px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #d7bd7440; border-radius:var(--club-radius-lg); background:var(--club-surface); color:var(--club-text); box-shadow:var(--club-shadow); }.trophy-collection-dialog[open] { display:flex; flex-direction:column; }.trophy-collection-dialog::backdrop,.achievements-dialog::backdrop { background:#020a06c7; }
.trophy-collection-dialog>header { flex:none; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:20px 24px; border-bottom:1px solid var(--club-line); }.trophy-collection-dialog h1 { font-size:24px; margin:5px 0 0; letter-spacing:-.04em; }.trophy-collection-dialog header small { font-size:10px; color:var(--club-gold); }.trophy-collection-dialog header button { width:44px; height:44px; border:0; border-radius:50%; background:#a4e4ce0a; color:var(--club-text); font-size:22px; }
.trophy-collection-body { padding:6px 24px 22px; overflow:auto; }.trophy-collection-section { margin-top:18px; }.trophy-collection-section h2 { font-size:var(--club-type-sm); color:var(--club-gold); font-weight:600; margin-bottom:8px; }.trophy-collection-section details { border-bottom:1px solid var(--club-line); }.trophy-collection-section summary { display:flex; align-items:center; gap:13px; padding:9px 0; cursor:pointer; list-style:none; }.trophy-collection-section summary::-webkit-details-marker { display:none; }.trophy-collection-section summary .award-icon { width:29px; height:35px; flex:none; }.trophy-collection-section summary strong { flex:1; font-size:13px; }.trophy-collection-section summary b { color:var(--club-gold); font-size:var(--club-type-body); }.trophy-collection-section summary>span:last-child { color:var(--club-muted); }.trophy-collection-section ul { margin:2px 0 14px; padding-left:42px; list-style:none; }.trophy-collection-section li { display:flex; gap:15px; margin:9px 0; font-size:var(--club-type-sm); color:var(--club-muted); }.trophy-collection-section li>b { flex:none; color:var(--club-text); font-weight:500; }
.season-flash { border:0; border-left:2px solid #c6af7370; background:#b3985308; border-radius:0 6px 6px 0; }.season-flash small { color:var(--club-muted); }.season-flash b { color:var(--club-text); }.positive { color:var(--club-green); }.negative { color:var(--club-negative); }
.trophy-stack.reveal-arrived { animation:club-select 280ms var(--club-ease) both; }
.trophy-stack.is-previewing .stack-front { transform:translateY(-3px) rotate(2deg); }
.trophy-preview { position:fixed; inset:auto; width:min(310px,calc(100vw - 20px)); max-height:min(360px,calc(100dvh - 20px)); margin:0; padding:16px; overflow:auto; border:1px solid #c1d6b94d; border-radius:13px; background:#1b3028; color:var(--club-text); box-shadow:0 14px 38px #020b08a0; font-family:var(--club-font); scrollbar-width:thin; }
.trophy-preview section+section { margin-top:14px; padding-top:14px; border-top:1px solid var(--club-line); }
.trophy-preview header { display:flex; align-items:center; gap:13px; }.trophy-preview header>.award-icon { width:42px; height:52px; flex:none; }
.trophy-preview strong { display:block; font-size:15px; line-height:1.35; }.trophy-preview small { display:block; margin-top:4px; color:var(--club-gold); font-size:11px; }
.trophy-preview-years { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }.trophy-preview-years>span { padding:5px 8px; border-radius:5px; background:#bdd8bd0b; color:#d6e1d9; font-size:12px; font-variant-numeric:tabular-nums; }
.timeline-panel .timeline-row.active { min-height:29px; margin-top:4px; border:0; border-left:2px solid #a4e4ce88; border-radius:4px; background:#a4e4ce0c; color:var(--club-muted); }
.timeline-next>span { color:var(--club-text); }.timeline-next small { color:var(--club-muted); font-size:10px; }
.timeline-row.active .timeline-number { color:#88a397; font-weight:400; }
.timeline-season-link { display:block; padding:3px 0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; background:none; border:0; color:inherit; font:inherit; text-align:left; min-width:0; }
.timeline-season-link:hover { color:var(--club-green); }
.timeline-cups { display:flex; align-items:center; flex:none; gap:2px; }.timeline-trophy { padding:1px; display:grid; place-items:center; flex:none; background:none; border:0; border-radius:3px; color:inherit; }
.timeline-trophy:hover { background:#d6ba7020; }.timeline-panel .timeline-head { flex:none; padding-top:12px; }.timeline-panel .timeline-labels { padding-top:7px; }
.timeline-panel .timeline-row.completed .age-dot { background:#2a3b39; color:#c9d8d3; }.timeline-panel .timeline-row.competition-cl .age-dot { background:#24416a; color:#caddf8; }.timeline-panel .timeline-row.competition-el .age-dot { background:#5e3e27; color:#ecd2b0; }
.timeline-panel .timeline-row.active .age-dot { background:#365a4a; color:#d8efe1; }
.game-shell :is(button,summary):focus-visible,.career-review :is(button,summary):focus-visible,dialog :is(button,summary):focus-visible { outline:2px solid var(--club-green); outline-offset:3px; }
@media(min-width:761px) and (max-height:820px) {
  .career-stats { padding-bottom:10px; }.profile-tools .achievements-link { padding:5px 9px; min-height:38px; }.profile-tools .active-perks summary { padding:6px 9px; min-height:38px; }
  .trophy-strip { margin-top:9px; }.season-flash { margin-top:9px; margin-bottom:0; }.offers-section { padding-top:14px; padding-bottom:8px; }.offers-head { margin-bottom:12px; }.offer-card { min-height:84px; padding-top:10px; padding-bottom:10px; }
}
@keyframes club-award { 0% { opacity:0; transform:scale(.96); } 20%,75% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(1.015); } }
.offers-section { padding:12px 20px 8px; }.offers-head h2 { color:var(--club-text); font-size:22px; letter-spacing:-.035em; margin:5px 0; }.offers-head p { color:var(--club-muted); font-size:var(--club-type-sm); line-height:1.5; }.offer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:10px; }
.offer-card { position:relative; min-width:0; min-height:0; display:grid; grid-template-columns:48px minmax(0,1fr); grid-template-areas:'logo label' 'logo name' 'logo meta'; align-content:start; align-items:center; column-gap:11px; row-gap:4px; padding:10px 12px; border:1px solid #afcbb522; border-radius:9px; background:linear-gradient(125deg,#a4e4ce0b,transparent),#152e26; color:var(--club-text); text-align:left; transition:background var(--club-motion),border-color var(--club-motion); }.offer-card.tone-2,.offer-card.tone-3 { background:linear-gradient(125deg,#a4e4ce0b,transparent),#152e26; border-color:#afcbb522; }.offer-card[data-offer-type="stay"] { grid-column:1/-1; width:100%; background:#1c382e; border-color:#a4e4ce50; }.offer-card.tone-3:not([data-offer-type="stay"]) { grid-column:1/-1; width:calc(50% - 5px); justify-self:center; }.offer-card.loan-offer { border-color:#a4e4ce66; }.offer-card::before { display:none; }.offer-card:is(:hover,:focus-visible) { border-color:var(--club-green); background:#24443d; transform:none; box-shadow:none; }.offer-card:active { background:#2b5146; }.offer-card:disabled { opacity:1; }.offer-card:disabled:hover { transform:none; }
.offer-card>small { grid-area:label; color:var(--club-muted); font-size:10px; }.offer-card>strong { grid-area:name; max-width:100%; white-space:normal; font-size:16px; line-height:1.25; letter-spacing:-.025em; }.offer-card .offer-crest { grid-area:logo; width:48px; height:53px; min-width:48px; transition:none; }.offer-card:hover .offer-crest { transform:none; }.offer-meta { grid-area:meta; display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; }.offer-meta b { color:var(--club-text); font-size:11px; }.offer-meta>span { width:auto; color:var(--club-muted); font-size:11px; }.offer-role { flex-basis:100%; color:var(--club-green); font-size:var(--club-type-xs); font-weight:600; font-style:normal; }.offer-card>.team-phase { grid-column:2; }.offer-secondary { margin-top:10px; }.subtle-link { color:var(--club-muted); }.game-footer { position:static; color:var(--club-quiet); background:none; border-color:var(--club-line); }
.offer-crest,.review-crest,.record-heading>.crest { background:none; border-radius:0; padding:2px; filter:drop-shadow(0 2px 2px #0005) drop-shadow(0 0 1px #d8e5d68c); }.club-logo { padding:0; }.crest-fallback { color:var(--club-text); background:#26372c; font-family:var(--club-display); }.crest-fallback[hidden] { display:none; }
/* Preserve right-side geometry and structure: surfaces and contrast only. */
.offer-card[data-offer-type="stay"] .offer-role { flex-basis:auto; }
.offer-card { grid-template-areas:'logo label' 'logo name' 'logo meta' 'logo salary'; }
.offer-card>.offer-salary { grid-area:salary; color:var(--club-text); font-size:12px; font-weight:650; white-space:normal; overflow:visible; text-overflow:clip; }
.offer-card>.offer-salary small { white-space:nowrap; }
@media(max-width:520px) {
  .offer-card { grid-template-areas:'logo label' 'logo name' 'meta meta' 'salary salary'; }
}
.offer-salary small,.salary-profile small { color:var(--club-muted); font-size:10px; font-weight:400; }
.player-finance .salary-profile b { font-size:14px; white-space:nowrap; }
.season-salary { margin:4px 0 12px; color:var(--club-muted); font-size:12px; }
.season-salary strong { color:var(--club-text); margin-left:6px; }
.salary-profile .contract-until { display:block; font-size:10px; color:var(--club-muted); letter-spacing:0; margin-top:3px; }
.offer-card>.offer-salary .offer-contract { display:block; margin-top:4px; font-size:10px; line-height:1.4; color:var(--club-muted); font-weight:500; white-space:normal; }
.career-earnings { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 12px; margin-top:17px; padding-top:12px; border-top:1px solid var(--club-line); }
.career-earnings>span { font-size:12px; color:var(--club-muted); }
.career-earnings>strong { font-size:22px; font-variant-numeric:tabular-nums; color:var(--club-gold,#e3c879); }
.career-earnings>small { flex-basis:100%; color:var(--club-muted); font-size:10px; }
.career-choice-panel.turn-tone-setback .career-choice-options button:focus-visible { outline-color:var(--club-negative); }
/* National detail layout lives in styles-experience.css; it consumes these tokens. */
.decision-dialog { background:var(--club-surface); border-color:var(--club-line); color:var(--club-text); }
.decision-dialog::backdrop { backdrop-filter:none; }
.decision-dialog p { font-size:14px; line-height:1.6; color:var(--club-muted); }
.decision-actions button { min-height:44px; padding:10px 16px; font-size:13px; font-weight:650; background:transparent; border-color:var(--club-line); }
.decision-actions button[data-choice='confirm'] { background:var(--club-green); color:#10271e; border-color:transparent; }
.decision-actions button:hover { filter:brightness(1.1); }
.timeline-panel { background:#10241e; }.timeline-row,.timeline-number { color:var(--club-text); }.timeline-labels { color:#a7bab4; }.timeline-row.active { background:#a4e4ce0d; border-color:#a4e4ce36; }.timeline-row.completed:hover { transform:none; background-color:#ffffff07; }.competition-bar,.national-bar { background:#152c25; border-color:var(--club-line); }.national-bar { color:#d4e1da; }.national-bar small { color:#a1b5ad; }.europe-ribbon:hover { transform:none; }.europe-ribbon small { color:#bac8e2; }.europe-ribbon.competition-el small { color:#d8bc9a; }
.career-turn-badge,.career-turn-badge[class*="turn-tone-"] { animation:none; box-shadow:none; }.career-turn-badge:is(:hover,:focus-visible) { box-shadow:none; transform:none; }
.career-choice-dialog { width:min(760px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); padding:0; overflow:auto; border:1px solid #a4e4ce80; border-radius:20px; color:var(--club-text); background:var(--club-surface); box-shadow:var(--club-shadow); }.career-choice-dialog.turn-tone-setback { border-color:#dbac9180; }.career-choice-dialog::backdrop { background:#071514a8; }
.career-choice-panel { padding:24px; text-align:center; background:var(--club-surface); }.career-choice-panel .section-kicker { color:var(--club-green); letter-spacing:.14em; }.career-choice-panel.turn-tone-setback .section-kicker { color:var(--club-negative); }.career-choice-panel h2 { margin:17px 0 8px; font-size:clamp(26px,3vw,36px); letter-spacing:-.035em; color:var(--club-text); }.career-choice-panel>p { color:var(--club-muted); font-size:14px; margin-bottom:22px; }
.career-choice-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; text-align:left; }.career-choice-options button { display:flex; flex-direction:column; align-items:stretch; min-width:0; padding:18px; border:1px solid #a4e4ce3d; border-top:2px solid #a4e4ce80; border-radius:11px; color:var(--club-text); background:linear-gradient(155deg,#213e30,#172c24); text-align:left; transition:border-color var(--club-motion),background var(--club-motion); }.career-choice-options button:is(:hover,:focus-visible) { transform:none; border-color:var(--club-green); background:#213d35; box-shadow:none; }.career-choice-options strong { font-size:18px; line-height:1.3; }.career-route-icon { display:grid; place-items:center; padding:23px 0 20px; color:var(--club-green); }.career-route-icon .career-turn-icon { width:64px; height:64px; }.career-route-effect { flex:1; font-size:14px; line-height:1.5; color:var(--club-muted); }.career-choice-options small { display:flex; gap:8px; align-items:center; border-top:1px solid var(--club-line); padding-top:12px; margin-top:16px; font-size:12px; line-height:1.45; color:#c7d7d0; }.career-choice-options small svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; }.career-route-select { display:flex; justify-content:space-between; align-items:center; padding:12px; margin-top:15px; border-radius:9px; background:var(--club-green); color:#13312a; font-size:14px; font-weight:700; }.career-route-select>span { font-size:22px; line-height:1; }.career-choice-note { margin-top:16px; color:var(--club-quiet); font-size:12px; }.career-choice-panel.turn-tone-setback .career-choice-options button { border-color:#d2a59059; background:linear-gradient(155deg,#2b2e28,#1d2728); }.career-choice-panel.turn-tone-setback .career-route-icon { color:var(--club-negative); }.career-choice-panel.turn-tone-setback .career-route-select { background:#ddb6a0; color:#30231c; }.career-choice-panel.turn-tone-setback .career-choice-options button:is(:hover,:focus-visible) { border-color:var(--club-negative); }
/* Challenges now owns its scoped gallery styles in styles-challenges.css. */
@keyframes club-select { from { opacity:.7; } to { opacity:1; } }
@media(max-width:760px) {
  .game-shell { height:auto; min-height:0; }
  .identity-top { flex-wrap:wrap; gap:12px; padding:18px; }.identity-top>div:first-child { width:100%; }.identity-top-actions { flex-wrap:wrap; gap:8px; max-width:100%; }.identity-top h1 { font-size:27px; }.identity-top .achievements-link { min-width:0; }.identity-top .challenge-access-copy small { white-space:nowrap; }
  .active-perks[open]>div { position:static; width:auto; border:0; padding:3px 12px 12px; box-shadow:none; background:none; }
  .career-brand { padding:13px 15px 9px; }.career-tools { gap:4px; }.player-header { padding:13px 15px; grid-template-columns:62px minmax(0,1fr) auto; gap:10px; }.ovr-tile { width:60px; height:69px; }.ovr-tile strong { font-size:33px; }.player-main h1 { font-size:21px; }.player-finance { min-width:65px; }.player-finance b { font-size:19px; }.career-stats { padding:6px 15px 13px; }.career-stats strong { font-size:24px; }.profile-tools { padding:0 15px; }.offers-section { padding:18px 15px 14px; }
  .pitch-toolbar { width:calc(100% - 24px); margin:12px auto 10px; }.pitch-brand>span { font-size:18px; }.pitch-brand small { font-size:8px; }.pitch-brand>svg { width:26px; height:26px; }.scene-motion-toggle { padding:5px 8px; font-size:10px; }.scene-motion-toggle svg { width:14px; }
  .offer-card { padding:12px 9px; grid-template-columns:37px minmax(0,1fr); column-gap:8px; }.offer-card .offer-crest { width:37px; height:43px; min-width:37px; }.offer-card>strong { white-space:normal; font-size:14px; }.offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.trophy-strip { margin:13px 15px 0; }.active-perks { min-width:150px; }.trophy-collection-dialog>header { padding:16px; }.trophy-collection-body { padding:0 16px 18px; }.trophy-collection-section li { flex-wrap:wrap; gap:3px 10px; }.trophy-shelf { gap:10px; }.trophy-stack { width:68px; }
}
@media(max-width:600px) {
  .pitch-toolbar { height:auto; min-height:44px; gap:10px; }
  .pitch-brand small { display:none; }
  .pitch-toolbar-actions { gap:8px; }
  .pitch-home { min-height:44px; padding:8px 10px; font-size:11px; }
  .scene-motion-toggle { width:44px; height:44px; padding:0; justify-content:center; flex:none; }
  /* Keep the current motion label available to screen readers on small phones. */
  .scene-motion-toggle span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
}
@media(max-width:520px) { .career-choice-panel { padding:20px 16px; }.career-choice-options { grid-template-columns:1fr; }.career-choice-options button { display:grid; grid-template-columns:43px minmax(0,1fr); gap:10px; padding:14px; }.career-choice-options strong { grid-column:1/-1; font-size:17px; }.career-route-icon { padding:0; align-self:start; }.career-route-icon .career-turn-icon { width:36px; height:36px; }.career-route-effect { font-size:13px; }.career-choice-options small,.career-route-select { grid-column:1/-1; margin:0; }.career-choice-note { margin-top:14px; } }
/* On the narrowest phones the name wins space over the secondary finance line. */
@media(max-width:400px) {
  .player-header { grid-template-columns:62px minmax(0,1fr); }
  .player-main h1 { white-space:normal; overflow:visible; overflow-wrap:anywhere; line-height:1.2; }
  .player-finance { grid-column:2; display:flex; flex-wrap:wrap; gap:8px 16px; align-items:baseline; text-align:left; }
  .current-club { display:block; white-space:normal; overflow:visible; }
  .current-club .crest { vertical-align:middle; margin-right:4px; }
  .offer-secondary .subtle-link { min-height:40px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
