@layer legacy{ /* V0.52.1 (S2-1) - siehe p-s21-legacy-schicht.pl */
/* Project Legend V0.36.19 — Visual Polish Phase 1 + Phase 2 + Canonical Club Identity Integration
   Premium sports editorial refinement. No gameplay/state ownership. */
:root{
  --pl-bg:#08111f;
  --pl-bg-elevated:#0b1626;
  --pl-surface-1:#101c2f;
  --pl-surface-2:#14243b;
  --pl-surface-3:#1a2d49;
  --pl-surface-soft:rgba(255,255,255,.035);
  --pl-border:rgba(255,255,255,.09);
  --pl-border-strong:rgba(255,255,255,.16);
  --pl-text-primary:#f6f8fc;
  --pl-text-secondary:#b7c3d4;
  --pl-text-muted:#91a1b8;
  --pl-accent:#78e08f;
  --pl-accent-strong:#31c76a;
  --pl-positive:#63d98a;
  --pl-negative:#ff7474;
  --pl-warning:#ffc857;
  --pl-info:#67b7ff;
  --pl-radius-sm:10px;
  --pl-radius-md:14px;
  --pl-radius-lg:18px;
  --pl-radius-xl:22px;
  --pl-space-1:4px;
  --pl-space-2:8px;
  --pl-space-3:12px;
  --pl-space-4:16px;
  --pl-space-5:22px;
  --pl-space-6:30px;
  --pl-shadow-sm:0 8px 24px rgba(0,0,0,.18);
  --pl-shadow-lg:0 20px 54px rgba(0,0,0,.30);
  /* Legacy aliases retain the existing visual architecture. */
  --bg:var(--pl-bg);
  --panel:var(--pl-surface-1);
  --panel-2:var(--pl-surface-2);
  --panel-3:var(--pl-surface-3);
  --text:var(--pl-text-primary);
  --muted:var(--pl-text-muted);
  --line:var(--pl-border);
  --accent:var(--pl-accent);
  --accent-2:var(--pl-accent-strong);
  --warning:var(--pl-warning);
  --danger:var(--pl-negative);
  --info:var(--pl-info);
  --shadow:var(--pl-shadow-lg);
  --radius:var(--pl-radius-lg);
}

body{line-height:1.45;letter-spacing:-.003em;background:radial-gradient(circle at 8% 0%,rgba(49,199,106,.095),transparent 32%),radial-gradient(circle at 94% 10%,rgba(103,183,255,.075),transparent 28%),var(--pl-bg)}
.app-shell{max-width:1320px;padding:var(--pl-space-5)}
.topbar{margin-bottom:var(--pl-space-5)}
.brand-mark{box-shadow:0 10px 26px rgba(0,0,0,.24);border-radius:var(--pl-radius-md)}
.brand h1{font-size:18px;font-weight:850;letter-spacing:-.025em}.brand p{color:var(--pl-text-muted)}

/* Typography hierarchy */
.page-title{margin:0 0 var(--pl-space-5);align-items:flex-end}.page-title h2{font-size:clamp(25px,2vw,31px);font-weight:820;letter-spacing:-.045em;line-height:1.05}.page-title p{margin-top:7px;color:var(--pl-text-muted);font-size:12px;line-height:1.5}
.pl-context-label,.eyebrow,.story-kicker,.v281-award-kicker{display:block;margin:0 0 7px;color:var(--pl-text-muted);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;line-height:1.2}
.modal-head h3{font-size:clamp(20px,2vw,26px);font-weight:820;letter-spacing:-.035em;line-height:1.12}.modal-head p{color:var(--pl-text-secondary);font-size:12px;line-height:1.5}
.panel>h3,.quick-actions>h3,.feed-card>h3{font-size:14px;font-weight:800;letter-spacing:-.015em}.stat-label,.result-stat span,.season-number span{font-weight:760;letter-spacing:.08em}.stat-value{font-weight:820;letter-spacing:-.035em}
.helper,.metric-note,.result-note,.choice-card p{color:var(--pl-text-secondary)}
.muted-cell,.stat-hint,.media-meta,.club-strength{color:var(--pl-text-muted)}

/* Surfaces: restrained cards, passive blocks use hierarchy rather than boxes. */
.card{background:linear-gradient(180deg,rgba(20,36,59,.91),rgba(16,28,47,.91));border-color:var(--pl-border);box-shadow:var(--pl-shadow-sm)}
.panel.card,.quick-actions.card,.feed-card.card,.contract-card.card{padding:var(--pl-space-5)}
.stats-grid{gap:10px;margin-bottom:var(--pl-space-4)}
.stat-card{padding:14px 15px;background:rgba(14,27,45,.72);box-shadow:none;border-color:rgba(255,255,255,.065)}
.stat-card:hover{border-color:rgba(255,255,255,.11)}
.result-stats{gap:0;border-top:1px solid var(--pl-border);border-bottom:1px solid var(--pl-border);padding:12px 0;margin:16px 0}.result-stat{border-right:1px solid var(--pl-border);background:transparent!important;border-radius:0!important;border-top:0!important;border-bottom:0!important;box-shadow:none!important}.result-stat:last-child{border-right:0}.result-stat b{font-size:clamp(18px,2vw,24px);letter-spacing:-.04em}
.season-numbers{gap:0;border:1px solid var(--pl-border);border-radius:var(--pl-radius-md);overflow:hidden}.season-number{border:0!important;border-right:1px solid var(--pl-border)!important;border-radius:0!important;background:rgba(255,255,255,.018)!important}.season-number:last-child{border-right:0!important}
.value-row{border-top:1px solid var(--pl-border);padding-top:12px;margin-top:12px}
.metric-note,.result-note{border:0!important;border-left:2px solid rgba(103,183,255,.28)!important;background:rgba(103,183,255,.045)!important;border-radius:0 var(--pl-radius-sm) var(--pl-radius-sm) 0!important;padding:12px 14px!important}

/* Buttons: mint = primary action, everything else restrained. */
.btn{min-height:40px;border-radius:var(--pl-radius-sm);padding:10px 14px;font-weight:760;letter-spacing:-.005em;border:1px solid transparent;box-shadow:none;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease,filter .14s ease}
.btn:hover{transform:translateY(-1px);filter:none}.btn:active{transform:translateY(0)}
.btn-primary{background:var(--pl-accent);color:#061b0f;border-color:rgba(255,255,255,.08)}.btn-primary:hover{background:#88e79c;border-color:#a2efb0}
.btn-secondary{background:rgba(103,183,255,.075);color:#cbe9ff;border-color:rgba(103,183,255,.20)}.btn-secondary:hover{background:rgba(103,183,255,.12);border-color:rgba(103,183,255,.34)}
.btn-ghost{background:transparent;color:var(--pl-text-secondary);border-color:var(--pl-border)}.btn-ghost:hover{background:rgba(255,255,255,.035);border-color:var(--pl-border-strong);color:var(--pl-text-primary)}
.btn-danger{background:rgba(255,116,116,.08);color:#ffc0c0;border-color:rgba(255,116,116,.24)}.btn-danger:hover{background:rgba(255,116,116,.13);border-color:rgba(255,116,116,.38)}
.btn:focus-visible,.close-btn:focus-visible,.nav button:focus-visible,.pl32-choice-card:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--pl-accent);outline-offset:3px}
.btn:disabled{opacity:.40;filter:saturate(.55)}
.btn-small{min-height:34px;padding:7px 10px;font-size:11px}

/* Sidebar/navigation */
.career-layout{grid-template-columns:278px minmax(0,1fr);gap:var(--pl-space-5)}.sidebar{padding:18px 16px;border-color:rgba(255,255,255,.075);box-shadow:none;background:rgba(13,25,42,.90)}
.nav{gap:4px}.nav button{padding:10px 11px;border:1px solid transparent;font-weight:720}.nav button:hover{border-color:rgba(255,255,255,.06)}.nav button.active{color:var(--pl-text-primary);background:rgba(120,224,143,.105);border-color:rgba(120,224,143,.24);box-shadow:inset 3px 0 0 var(--pl-accent)}
.overall-box{background:rgba(120,224,143,.055);border-color:rgba(120,224,143,.14)}.overall-number{font-size:34px;font-weight:850}.potential-link{text-decoration:none;border-bottom:1px solid rgba(120,224,143,.38)}

/* Career Hub & club identity */
.club-banner{position:relative;overflow:hidden;padding:24px 26px!important;border-color:color-mix(in srgb,var(--club-primary,#78e08f) 32%,transparent)!important;box-shadow:none!important}.club-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--club-primary,#78e08f),var(--club-secondary,#67b7ff))}.club-banner h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.045em}.club-banner>div>span{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--pl-text-muted);text-transform:uppercase}
.club-banner-badge,.club-badge,.choice-icon{border-radius:var(--pl-radius-md)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.dashboard-grid{grid-template-columns:minmax(0,1.62fr) minmax(285px,.82fr);gap:var(--pl-space-4)}
.quick-actions{box-shadow:none}.quick-list{gap:6px}.quick-action{border-color:transparent;border-bottom:1px solid var(--pl-border);border-radius:0;background:transparent;padding:11px 2px}.quick-action:last-child{border-bottom:0}.quick-action:hover{background:rgba(255,255,255,.025)}
.feed-card{margin-top:var(--pl-space-4);box-shadow:none}.media-feed-item{border-radius:var(--pl-radius-sm)!important}

/* Match identity: competition/date first, score/performance strongest. */
.next-match{padding:24px 26px;box-shadow:none;border-color:rgba(255,255,255,.11)}.next-match:after{opacity:.55}.match-meta{align-items:center}.match-meta span:first-child{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid rgba(103,183,255,.18);border-radius:999px;background:rgba(103,183,255,.06);color:#bfe2ff;font-size:10px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.match-meta span:last-child{font-variant-numeric:tabular-nums}
.matchup{margin:28px 0 20px}.club-badge{width:66px;height:66px;font-size:20px;border-color:rgba(255,255,255,.11)}.club-name{font-size:15px;font-weight:820;text-overflow:ellipsis;overflow:hidden}.versus{font-size:10px;letter-spacing:.16em}.match-actions{gap:8px}
.result-score{padding:6px 0 2px;text-align:center}.result-score .score,.result-scoreline .score{font-size:clamp(40px,7vw,64px)!important;font-weight:850!important;letter-spacing:-.065em;line-height:1}.result-score .competition{margin-top:8px;font-size:11px;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.moments{border-top:1px solid var(--pl-border);margin-top:18px;padding-top:12px}.moment{border-bottom:1px solid rgba(255,255,255,.055)!important;background:transparent!important;border-radius:0!important}.minute{font-variant-numeric:tabular-nums}
.batch-match-row-v12,.v3611-match-list>div{border-color:rgba(255,255,255,.075)!important;background:rgba(255,255,255,.022)!important;box-shadow:none!important}.batch-match-index-v12{background:rgba(120,224,143,.08);color:var(--pl-accent)}
.pl-result-w{border-left:3px solid var(--pl-positive)!important}.pl-result-d{border-left:3px solid var(--pl-warning)!important}.pl-result-l{border-left:3px solid var(--pl-negative)!important}

/* Tables / standings */
.table-wrap{border:1px solid rgba(255,255,255,.055);border-radius:var(--pl-radius-md);overflow:auto;background:rgba(3,10,18,.16)}
table{border-collapse:separate;border-spacing:0}th{position:sticky;top:0;z-index:1;background:#0e1a2b;color:var(--pl-text-muted);font-size:9px;font-weight:790;padding:11px 12px}td{padding:11px 12px;border-bottom-color:rgba(255,255,255,.055)}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:rgba(255,255,255,.018)}tr.highlight td{background:rgba(120,224,143,.055)!important}tr.highlight td:first-child{box-shadow:inset 3px 0 0 var(--pl-accent)}
.league-details{box-shadow:none}.league-details>summary{cursor:pointer;font-weight:780}

/* Modals */
.modal-backdrop{background:rgba(2,8,15,.76);backdrop-filter:blur(8px)}.modal{width:min(860px,calc(100vw - 36px));max-height:min(88dvh,900px);padding:0;overflow:auto;border-radius:var(--pl-radius-xl);border-color:rgba(255,255,255,.12);box-shadow:0 30px 90px rgba(0,0,0,.52);animation:plModalIn .15s ease-out}
.modal-head{position:sticky;top:0;z-index:4;margin:0;padding:20px 22px 17px;background:linear-gradient(180deg,rgba(16,28,47,.985),rgba(16,28,47,.95));border-bottom:1px solid var(--pl-border)}.modal-head>div{min-width:0}.modal-head h3{margin:0}.modal>.modal-head~*{margin-left:22px;margin-right:22px}.modal>.modal-actions{position:static;bottom:auto;margin:18px 0 0;padding:15px 22px;background:linear-gradient(180deg,rgba(16,28,47,.88),rgba(12,23,39,.99));border-top:1px solid var(--pl-border)}.modal-actions{gap:8px;justify-content:flex-end}.close-btn{border-color:var(--pl-border);color:var(--pl-text-secondary);background:rgba(255,255,255,.02)}.close-btn:hover{border-color:var(--pl-border-strong);color:var(--pl-text-primary);background:rgba(255,255,255,.045)}
.pl-modal--wide .modal{width:min(1040px,calc(100vw - 36px))}.pl-modal--contract .modal,.pl-modal--transfer .modal{width:min(980px,calc(100vw - 36px))}.pl-modal--quick .modal{width:min(960px,calc(100vw - 36px))}
@keyframes plModalIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Contract: less browser-form, more premium negotiation sheet. */
.v280-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border:1px solid var(--pl-border);border-radius:var(--pl-radius-lg);overflow:hidden;margin:16px 22px!important;background:rgba(4,12,22,.20)}
.v280-contract-grid label{padding:14px 15px;border-right:1px solid var(--pl-border);border-bottom:1px solid var(--pl-border);gap:8px!important;background:transparent!important}.v280-contract-grid label:nth-child(2n){border-right:0}.v280-contract-grid label:nth-last-child(-n+2){border-bottom:0}.v280-contract-grid label>span,.pl312-field>span{color:var(--pl-text-muted)!important;font-size:10px!important;font-weight:790!important;letter-spacing:.07em!important;text-transform:uppercase}
.v280-contract-grid input,.v280-contract-grid select,.pl312-field input,.pl312-field select{border-radius:var(--pl-radius-sm)!important;background:#0a1626!important;border:1px solid rgba(255,255,255,.10)!important;color:var(--pl-text-primary)!important;min-height:42px}.v280-contract-grid input:focus,.v280-contract-grid select:focus{border-color:rgba(120,224,143,.48)!important;box-shadow:0 0 0 3px rgba(120,224,143,.07)}
.wage-band{margin:0 22px!important;padding:9px 0!important;border:0!important;background:transparent!important;color:var(--pl-text-muted)!important;font-size:10px!important}.pl-contract-section{margin:16px 22px}.pl-contract-section-title{margin-bottom:10px;color:var(--pl-text-muted);font-size:10px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}

/* Transfer / agent cards */
.choice-grid{gap:12px}.choice-card{padding:17px;border-color:rgba(255,255,255,.075);background:rgba(15,29,48,.72);box-shadow:none}.choice-card:hover{border-color:rgba(255,255,255,.14)}.choice-card h4{font-size:16px;letter-spacing:-.02em}.choice-card .choice-effects{border-top:1px solid var(--pl-border);margin-top:13px;padding-top:12px;color:var(--pl-text-secondary);line-height:1.55}.pl-transfer-card{position:relative;overflow:hidden}.pl-transfer-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--pl-club-accent,var(--pl-info))}.pl-transfer-card .choice-icon{font-size:13px;font-weight:850}.pl-transfer-card .modal-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--pl-border)}
.agent-advice-v16{box-shadow:none!important;border-color:rgba(120,224,143,.24)!important;background:linear-gradient(135deg,rgba(120,224,143,.08),rgba(103,183,255,.045))!important}

/* Quick Events / decisions: neutral, editorial, spoken answer is dominant. */
.pl32-decision{padding:3px 0 8px}.pl32-event-head{padding-bottom:17px;border-bottom:1px solid var(--pl-border)}.pl32-event-meta{gap:8px!important}.pl32-event-meta span{padding:4px 7px;border:1px solid rgba(255,255,255,.07);border-radius:999px;color:var(--pl-text-muted)!important;background:rgba(255,255,255,.018)}.pl32-event-head h2{font-size:clamp(24px,3vw,34px)!important;letter-spacing:-.045em!important;line-height:1.08!important;margin:10px 0 8px!important}.pl32-event-head>p{color:var(--pl-text-secondary)!important;line-height:1.6!important}
.pl32-decision .pl32-choice-grid{gap:10px!important;margin-top:15px}.pl32-decision .pl32-choice-card{min-height:148px;padding:16px 42px 16px 16px;background:rgba(15,29,48,.68);border-color:rgba(255,255,255,.085);border-radius:var(--pl-radius-md);box-shadow:none}.pl32-decision .pl32-choice-card:hover:not(:disabled){background:rgba(24,43,69,.82);border-color:rgba(103,183,255,.34);transform:translateY(-1px)}.pl32-decision .pl32-choice-direction{font-size:10px;color:var(--pl-text-muted);font-weight:790}.pl32-decision .pl32-spoken{font-size:15px;font-weight:620;line-height:1.55;letter-spacing:-.01em}.pl32-decision .pl33-stakes{font-size:11px;color:var(--pl-text-muted)}.pl32-choice-arrow{transition:transform .14s ease,color .14s ease}.pl32-choice-card:hover .pl32-choice-arrow{transform:translateX(2px);color:var(--pl-info)}
.pl33-facts span{background:transparent!important;border-color:rgba(255,255,255,.07)!important}.pl33-question{border-left-color:rgba(103,183,255,.38)!important;background:rgba(103,183,255,.035)!important}

/* Season summary / competition drilldown */
.v263-season-review,.v2836-season-review,.v366-season-panel,.season-review-v21{border-color:rgba(255,255,255,.09)!important;background:linear-gradient(145deg,rgba(103,183,255,.045),rgba(120,224,143,.025))!important;box-shadow:none!important}.v263-review-title span,.v3611-section-title,.season-review-head-v21 span{color:var(--pl-text-muted)!important}.v2836-split-summary>div,.season-review-honors-v21>div,.season-review-table-v21{background:rgba(255,255,255,.018)!important;border-color:rgba(255,255,255,.07)!important;box-shadow:none!important}.v3611-comp-grid{gap:10px!important}.v3611-comp-grid>*{border-color:rgba(255,255,255,.075)!important;background:rgba(255,255,255,.018)!important}
.pl3616-history-access{box-shadow:none!important}.pl3616-history-access .modal-actions{justify-content:flex-start}

/* National team / competition identity */
.national-lock{border-color:rgba(103,183,255,.20)}.national-lock:before{content:"NATIONAL TEAM";position:absolute;top:14px;right:18px;color:rgba(103,183,255,.72);font-size:9px;font-weight:820;letter-spacing:.12em}.tournament-board,.v21-national-board{box-shadow:none!important;border-color:rgba(103,183,255,.16)!important}.board-title{letter-spacing:.07em;font-weight:800}.competition-detail-v21>summary{font-weight:780}

/* Setup / creation */
.setup-card,.pl312-intro{box-shadow:var(--pl-shadow-sm)!important}.setup-hero,.pl312-intro-hero{padding:clamp(28px,4vw,44px)}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.07em}.field input,.field select{min-height:44px;background:#0a1626;border-color:rgba(255,255,255,.10)}

/* Accessibility and long content */
.club-name,.player-name,.modal-head h3,.choice-card h4,.page-title h2,.v263-review-title b{overflow-wrap:anywhere}.modal p,.choice-card p,.result-note,.metric-note,.pl32-spoken{hyphens:auto;overflow-wrap:anywhere}a{color:#9bd7ff}a:focus-visible{outline:2px solid var(--pl-accent);outline-offset:3px}.pill{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.pill.active{background:rgba(120,224,143,.08);border-color:rgba(120,224,143,.22)}

/* Desktop space utilization */
@media(min-width:1120px){.pl-modal--contract .modal-body-grid,.pl-modal--transfer .modal-body-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:18px}.two-col{gap:var(--pl-space-4)}.modal .choice-grid:not(.pl33-four){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.app-shell{padding:16px}.career-layout{grid-template-columns:230px minmax(0,1fr);gap:14px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.modal{width:min(94vw,860px)}}
@media(max-width:720px){.career-layout{grid-template-columns:1fr}.sidebar{position:relative;top:auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v280-contract-grid{grid-template-columns:1fr!important}.v280-contract-grid label{border-right:0!important;border-bottom:1px solid var(--pl-border)!important}.v280-contract-grid label:last-child{border-bottom:0!important}.modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:var(--pl-radius-md)}.modal-head{padding:16px}.modal>.modal-head~*{margin-left:16px;margin-right:16px}.modal>.modal-actions{padding:12px 16px}.matchup{gap:8px}.club-badge{width:56px;height:56px}.club-name{font-size:13px;white-space:normal;line-height:1.2}.result-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--pl-border);border-radius:var(--pl-radius-md);overflow:hidden;padding:0}.result-stat{border-right:1px solid var(--pl-border)!important;border-bottom:1px solid var(--pl-border)!important;padding:11px!important}.result-stat:nth-child(2n){border-right:0!important}.result-stat:nth-last-child(-n+2){border-bottom:0!important}}
@media(max-width:480px){.app-shell{padding:10px}.topbar{align-items:flex-start}.brand-mark{width:46px;height:46px}.stats-grid{grid-template-columns:1fr 1fr;gap:7px}.stat-card{padding:12px}.stat-value{font-size:19px}.next-match{padding:18px 14px}.match-actions{display:grid}.match-actions .btn{width:100%}.modal-actions{display:grid!important;grid-template-columns:1fr}.modal-actions .btn{width:100%}.page-title{align-items:flex-start}.page-title>.btn{flex:0 0 auto}.club-banner{padding:18px!important}.club-banner h2{font-size:25px}.pl32-decision .pl32-choice-card{min-height:0}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.btn:hover,.pl32-choice-card:hover{transform:none!important}}
/* Prevent body-level subpixel overflow; long tables/lists remain internally scrollable. */
body{overflow-x:clip}
/* Grid min-content safety: keep long names/data from widening the mobile layout. */
.career-layout>*,.sidebar,.content,.page,.dashboard-grid>*,.stats-grid>*{min-width:0}
/* Transfer choices: reserve filled mint for the screen-level primary action. */
.pl-modal--transfer .choice-card:not(.pl-selected-card) .btn-primary{background:rgba(103,183,255,.075);color:#cbe9ff;border-color:rgba(103,183,255,.20)}
.pl-modal--transfer .choice-card:not(.pl-selected-card) .btn-primary:hover{background:rgba(103,183,255,.12);border-color:rgba(103,183,255,.34)}
.pl-modal--transfer .pl-selected-card{border-color:rgba(120,224,143,.24);background:rgba(120,224,143,.035)}
.pl-modal--transfer .pl-selected-card .btn-secondary{background:rgba(120,224,143,.075);color:#a9efb8;border-color:rgba(120,224,143,.28)}

/* Contract package values are passive data, not nested interactive cards. */
.pl-modal--contract .pl363-package-grid{gap:0!important;border-top:1px solid var(--pl-border);border-bottom:1px solid var(--pl-border);margin:14px 22px!important}
.pl-modal--contract .pl363-package-grid>div{padding:12px 14px!important;border:0!important;border-right:1px solid var(--pl-border)!important;border-radius:0!important;background:transparent!important}
.pl-modal--contract .pl363-package-grid>div:last-child{border-right:0!important}
@media(max-width:720px){.pl-modal--contract .pl363-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pl-modal--contract .pl363-package-grid>div:nth-child(2n){border-right:0!important}.pl-modal--contract .pl363-package-grid>div:nth-child(-n+2){border-bottom:1px solid var(--pl-border)!important}}
@media(max-width:460px){.pl-modal--contract .pl363-package-grid{grid-template-columns:1fr!important}.pl-modal--contract .pl363-package-grid>div{border-right:0!important;border-bottom:1px solid var(--pl-border)!important}.pl-modal--contract .pl363-package-grid>div:last-child{border-bottom:0!important}}

/* ========================================================================== 
   Project Legend V0.36.19 — Visual Polish Phase 2
   Spatial refinement, career chronicle, milestones and football identity.
   Presentation only: canonical gameplay authorities remain untouched.
   ========================================================================== */
:root{
  --pl-space-micro:6px;
  --pl-space-small:10px;
  --pl-space-content:18px;
  --pl-space-section:28px;
  --pl-space-major:44px;
  --pl-modal-pad-x:32px;
  --pl-modal-pad-y:28px;
  --pl-reading-width:78ch;
  --pl-headline-width:840px;
  --pl-editorial-width:1080px;
  --pl-hero-radius:24px;
}

/* Density tiers: compact data, standard forms, editorial stories, rare heroes. */
.pl-density-compact{--pl-density-gap:10px;--pl-density-pad:14px}
.pl-density-standard{--pl-density-gap:16px;--pl-density-pad:20px}
.pl-density-editorial{--pl-density-gap:22px;--pl-density-pad:28px}
.pl-density-hero{--pl-density-gap:28px;--pl-density-pad:36px}

/* Global shell / corner safe zones. */
.modal{scrollbar-gutter:stable both-edges}
.modal-head{padding:var(--pl-modal-pad-y) var(--pl-modal-pad-x) 22px}
.modal-head>div{max-width:var(--pl-headline-width)}
.modal-head h3{max-width:24ch}
.modal-head p{max-width:var(--pl-reading-width);margin-top:10px;line-height:1.62}
.modal>.modal-head~*:not(.modal-actions){margin-left:var(--pl-modal-pad-x);margin-right:var(--pl-modal-pad-x)}
.modal>.modal-actions{padding:16px var(--pl-modal-pad-x) 18px;margin-top:var(--pl-space-section)}
.modal-actions{gap:10px}
.pl-modal--wide .modal{width:min(var(--pl-editorial-width),calc(100vw - 44px))}
.pl-modal--quick .modal{width:min(1080px,calc(100vw - 44px))}
.pl-modal--contract .modal,.pl-modal--transfer .modal{width:min(1040px,calc(100vw - 44px))}

/* Quick / narrative events own their safe area because they do not use .modal-head. */
.pl-modal--quick .modal>.pl32-decision{margin:0!important;padding:32px var(--pl-modal-pad-x) 34px!important}
.pl32-event-head{padding:0 0 var(--pl-space-section);border-bottom:1px solid var(--pl-border)}
.pl32-event-meta{margin:0 0 18px!important;gap:8px!important}
.pl32-event-head h2{max-width:min(85%,var(--pl-headline-width));margin:0 0 14px!important;font-size:clamp(27px,3.2vw,38px)!important;line-height:1.08!important}
.pl32-event-head>p{max-width:var(--pl-reading-width);margin:0!important;line-height:1.68!important;font-size:13px!important}
.pl33-facts{max-width:var(--pl-reading-width);margin-top:18px!important}
.pl33-question{max-width:var(--pl-reading-width);margin:22px 0 0!important;padding:17px 20px!important;border-left-width:3px!important;border-radius:0 var(--pl-radius-md) var(--pl-radius-md) 0!important;line-height:1.62!important}

/* Existing dialogue/actor blocks: quote-like, but still restrained. */
.dialogue{gap:12px;margin:var(--pl-space-section) 0!important}
.speech{padding:17px 20px!important;border:1px solid rgba(255,255,255,.075)!important;border-left:3px solid var(--pl-event-accent,var(--pl-info))!important;border-radius:0 var(--pl-radius-md) var(--pl-radius-md) 0!important;background:rgba(255,255,255,.028)!important}
.speech b{display:block;margin-bottom:7px;color:var(--pl-text-muted)!important;font-size:10px!important;letter-spacing:.10em;text-transform:uppercase}
.speech span{display:block;max-width:var(--pl-reading-width);font-size:13px;line-height:1.62;color:var(--pl-text-secondary)}
.speech.you{border-left-color:rgba(120,224,143,.46)!important;background:rgba(120,224,143,.035)!important}

/* Reading -> choosing transition. */
.pl-decision-section{display:flex;align-items:center;gap:12px;margin:26px 0 14px;color:var(--pl-text-muted);font-size:10px;font-weight:820;letter-spacing:.13em;text-transform:uppercase}
.pl-decision-section:after{content:"";height:1px;flex:1;background:var(--pl-border)}
.pl32-decision .pl32-choice-grid{margin-top:0!important;gap:16px!important;align-items:stretch}
.pl32-decision .pl32-choice-card{min-height:0;padding:21px 50px 21px 21px;gap:12px;border-radius:var(--pl-radius-lg);background:rgba(15,29,48,.70)}
.pl32-decision .pl32-choice-direction{margin-bottom:1px;font-size:10px;letter-spacing:.10em}
.pl32-decision .pl32-spoken{max-width:48ch;font-size:15.5px;line-height:1.60}
.pl32-decision .pl33-stakes{padding-top:10px;border-top:1px solid rgba(255,255,255,.055);font-size:11px;line-height:1.48}
.pl32-decision .pl32-choice-arrow{right:20px;bottom:20px}

/* Adaptive choice composition. */
.pl-choice-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pl-choice-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.pl-choice-count-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pl-choice-count-5{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pl-choice-count-5>.pl32-choice-card:last-child{grid-column:1/-1;max-width:calc(50% - 8px);width:100%;justify-self:center}
.pl-choice-count-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Event-domain identity: one shell, subtle personality. */
.pl32-decision{--pl-event-accent:var(--pl-info)}
.pl-domain-agent{--pl-event-accent:#8ec8ff}.pl-domain-coach{--pl-event-accent:#7fe09a}.pl-domain-press{--pl-event-accent:#aab8cf}.pl-domain-teammate,.pl-domain-locker-room{--pl-event-accent:#8bd8c8}.pl-domain-family,.pl-domain-private{--pl-event-accent:#d0b7e8}.pl-domain-rivalry{--pl-event-accent:#ff9b78}.pl-domain-sponsor{--pl-event-accent:#e6c56c}.pl-domain-management{--pl-event-accent:#9ca8ff}.pl-domain-national{--pl-event-accent:#6fb9ff}
.pl32-decision .pl32-event-meta span:first-child{border-color:color-mix(in srgb,var(--pl-event-accent) 34%,transparent)!important;color:color-mix(in srgb,var(--pl-event-accent) 84%,white)!important;background:color-mix(in srgb,var(--pl-event-accent) 7%,transparent)!important}
.pl32-event-head{position:relative}
.pl32-event-head:before{content:"";position:absolute;left:0;top:-1px;width:42px;height:2px;border-radius:999px;background:var(--pl-event-accent);opacity:.7}
.pl32-event-meta{padding-top:12px}

/* Presentation tiers: no gameplay duplication, only visual weight. */
.pl-tier--important .modal{border-color:rgba(120,224,143,.18)}
.pl-tier--important .modal-head{background:linear-gradient(180deg,rgba(18,34,54,.99),rgba(16,28,47,.95))}
.pl-tier--major .modal{border-color:rgba(255,200,87,.24);box-shadow:0 32px 100px rgba(0,0,0,.56)}
.pl-tier--major .modal:before,.pl-tier--legacy .modal:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--pl-accent),var(--pl-warning),var(--pl-info));opacity:.74}
.pl-tier--legacy .modal{border-color:rgba(255,200,87,.34);box-shadow:0 34px 110px rgba(0,0,0,.62)}
.pl-milestone-kicker{display:block;margin:0 0 10px;color:var(--pl-warning);font-size:10px;font-weight:860;letter-spacing:.15em;text-transform:uppercase}
.pl-tier--major .modal-head h3,.pl-tier--legacy .modal-head h3{font-size:clamp(26px,3vw,38px)}
.retirement-card,.v281-award-stage{border-radius:var(--pl-hero-radius)!important;overflow:hidden}

/* Deterministic fictional club marks — presentation only, no licensed crests. */
.pl-club-mark{--pl-club-primary:#78e08f;--pl-club-secondary:#67b7ff;position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:48px;height:52px;color:#fff;font-size:12px;font-weight:900;letter-spacing:.035em;background:linear-gradient(145deg,var(--pl-club-primary),color-mix(in srgb,var(--pl-club-secondary) 72%,#07111f));border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 0 3px rgba(5,13,24,.18)}
.pl-club-mark:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.24);pointer-events:none}
.pl-club-mark[data-shape="shield"]{clip-path:polygon(8% 0,92% 0,96% 66%,50% 100%,4% 66%)}
.pl-club-mark[data-shape="circle"]{width:50px;height:50px;border-radius:50%}.pl-club-mark[data-shape="circle"]:after{border-radius:50%}
.pl-club-mark[data-shape="hex"]{clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}
.pl-club-mark[data-shape="vertical"]{width:42px;height:54px;border-radius:10px 10px 16px 16px}
.pl-club-mark.pl-club-mark--sm{width:34px;height:38px;font-size:9px}.pl-club-mark.pl-club-mark--sm[data-shape="circle"]{width:36px;height:36px}
.pl-club-identity{display:flex;align-items:center;gap:12px;min-width:0}.pl-club-identity-copy{min-width:0}.pl-club-identity-copy b{display:block;overflow-wrap:anywhere}.pl-club-identity-copy span{display:block;margin-top:3px;color:var(--pl-text-muted);font-size:10px}

/* Competition identity strips. */
.pl-comp-tag{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:4px 8px;border:1px solid var(--pl-border);border-radius:999px;color:var(--pl-text-secondary);background:rgba(255,255,255,.025);font-size:9px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.pl-comp-league{--pl-comp-accent:var(--pl-accent)}.pl-comp-cup{--pl-comp-accent:var(--pl-warning)}.pl-comp-continental{--pl-comp-accent:var(--pl-info)}.pl-comp-national{--pl-comp-accent:#8ec8ff}.pl-comp-youth{--pl-comp-accent:#9ddbb0}
.pl-comp-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pl-comp-accent,var(--pl-text-muted))}
.pl-competition-header{position:relative;padding-left:15px}.pl-competition-header:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:999px;background:var(--pl-comp-accent,var(--pl-info))}

/* Transfer as career decision: current context + destinations. */
.pl-transfer-context{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 var(--pl-modal-pad-x) 22px;padding:16px 0 18px;border-bottom:1px solid var(--pl-border)}
.pl-transfer-context .pl-transfer-arrow{color:var(--pl-text-muted);font-size:18px}
.pl-transfer-card .choice-icon{display:none!important}
.pl-transfer-card h4{margin-top:0!important}
.pl-transfer-card .pl-target-club{margin-bottom:15px}
.pl-transfer-card .choice-effects:before{content:attr(data-pl-perspective-label);display:block;margin-bottom:8px;color:var(--pl-text-muted);font-size:9px;font-weight:840;letter-spacing:.11em;text-transform:uppercase}

/* Contract comparison and negotiation round storytelling. */
.pl-contract-comparison{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 var(--pl-modal-pad-x) 22px;border:1px solid var(--pl-border);border-radius:var(--pl-radius-lg);overflow:hidden;background:rgba(4,12,22,.18)}
.pl-contract-package{padding:18px 20px;min-width:0}.pl-contract-package+ .pl-contract-package{border-left:1px solid var(--pl-border);background:rgba(120,224,143,.025)}
.pl-contract-package>span{display:block;margin-bottom:12px;color:var(--pl-text-muted);font-size:9px;font-weight:840;letter-spacing:.11em;text-transform:uppercase}
.pl-contract-package dl{display:grid;grid-template-columns:1fr auto;gap:9px 14px;margin:0}.pl-contract-package dt{color:var(--pl-text-muted);font-size:11px}.pl-contract-package dd{margin:0;color:var(--pl-text-primary);font-size:12px;font-weight:780;text-align:right}
.pl-negotiation-round{display:inline-flex;align-items:center;gap:8px;margin:0 var(--pl-modal-pad-x) 14px;color:var(--pl-text-muted);font-size:10px;font-weight:820;letter-spacing:.11em;text-transform:uppercase}.pl-negotiation-round:before{content:"";width:18px;height:1px;background:var(--pl-accent)}

/* Career Chronicle / legacy overview. */
.pl-career-presentation{display:grid;gap:var(--pl-space-section);margin-top:var(--pl-space-section)}
.pl-career-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;padding:28px 30px;border:1px solid var(--pl-border);border-radius:var(--pl-radius-xl);background:linear-gradient(135deg,rgba(120,224,143,.055),rgba(103,183,255,.035) 52%,rgba(255,255,255,.018));overflow:hidden}
.pl-career-hero h3{margin:4px 0 8px;font-size:clamp(24px,3vw,34px);letter-spacing:-.04em}.pl-career-hero p{max-width:65ch;margin:0;color:var(--pl-text-secondary);line-height:1.6}
.pl-legacy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--pl-border);border-radius:var(--pl-radius-lg);overflow:hidden;background:var(--pl-border)}
.pl-legacy-stat{padding:14px 15px;background:#0e1a2b;min-width:0}.pl-legacy-stat b{display:block;font-size:19px;letter-spacing:-.035em;overflow-wrap:anywhere}.pl-legacy-stat span{display:block;margin-top:4px;color:var(--pl-text-muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.pl-chronicle{position:relative;padding:0 0 0 30px}.pl-chronicle:before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:1px;background:linear-gradient(var(--pl-accent),rgba(103,183,255,.18))}
.pl-chronicle-season{position:relative;padding:0 0 30px}.pl-chronicle-season:last-child{padding-bottom:0}.pl-chronicle-season:before{content:"";position:absolute;left:-27px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--pl-accent);box-shadow:0 0 0 5px #101c2f,0 0 0 6px rgba(120,224,143,.18)}
.pl-chronicle-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.pl-chronicle-season-label{color:var(--pl-text-muted);font-size:10px;font-weight:840;letter-spacing:.11em;text-transform:uppercase}.pl-chronicle-club{display:flex;align-items:center;gap:11px;margin-top:5px}.pl-chronicle-club h4{margin:0;font-size:17px;letter-spacing:-.02em}.pl-chronicle-club small{display:block;margin-top:3px;color:var(--pl-text-muted)}
.pl-chronicle-stats{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.pl-chronicle-stats span{padding:6px 8px;border:1px solid rgba(255,255,255,.065);border-radius:999px;color:var(--pl-text-secondary);background:rgba(255,255,255,.02);font-size:10px;white-space:nowrap}
.pl-chronicle-milestones{display:grid;gap:7px;margin:13px 0 0}.pl-chronicle-milestone{display:flex;gap:9px;align-items:flex-start;color:var(--pl-text-secondary);font-size:11px;line-height:1.45}.pl-chronicle-milestone:before{content:"";width:5px;height:5px;margin-top:5px;flex:0 0 auto;border-radius:50%;background:var(--pl-info)}
.pl-chronicle-more{margin:18px 0 0 30px}
.pl-legacy-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pl-legacy-panel{padding:20px 22px;border:1px solid var(--pl-border);border-radius:var(--pl-radius-lg);background:rgba(255,255,255,.018)}.pl-legacy-panel h4{margin:0 0 14px;font-size:14px}.pl-legacy-list{display:grid;gap:9px}.pl-legacy-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:9px;border-top:1px solid rgba(255,255,255,.055)}.pl-legacy-row:first-child{padding-top:0;border-top:0}.pl-legacy-row span{color:var(--pl-text-muted);font-size:10px}.pl-legacy-row b{font-size:11px;text-align:right}

/* Season end: chapter rather than another dashboard. */
.pl-modal--season .modal-head{padding-top:32px}.pl-modal--season .modal-head h3{font-size:clamp(27px,3vw,38px)}
.pl-modal--season .result-stats{margin-top:22px}.pl-season-chapter-label{display:block;margin:0 0 8px;color:var(--pl-accent);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.v366-key-matches,.v3611-comp-grid{margin-top:var(--pl-space-section)!important}

/* Retirement foundation: career payoff without replacing canonical summary. */
.pl-retirement-chronicle-link{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.09)}
.retirement-card{padding:clamp(24px,4vw,38px)!important}.retirement-player h2{font-size:clamp(30px,5vw,52px)!important;letter-spacing:-.05em}

/* Rounded-edge consistency for major surfaces. */
.panel.card,.quick-actions.card,.feed-card.card,.contract-card.card,.next-match,.club-banner{overflow:hidden}
.panel.card>h3:first-child,.contract-card.card>h3:first-child{margin-top:0}

@media(max-width:900px){
  :root{--pl-modal-pad-x:24px;--pl-modal-pad-y:22px}
  .pl32-event-head h2{max-width:100%}
  .pl-choice-count-3,.pl-choice-count-6{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pl-choice-count-5>.pl32-choice-card:last-child{max-width:none}
  .pl-career-hero{grid-template-columns:1fr}.pl-legacy-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pl-legacy-panels{grid-template-columns:1fr}
}
@media(max-width:720px){
  :root{--pl-modal-pad-x:17px;--pl-modal-pad-y:18px}
  .modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .modal-head{padding:18px var(--pl-modal-pad-x) 16px}
  .modal>.modal-head~*:not(.modal-actions){margin-left:var(--pl-modal-pad-x);margin-right:var(--pl-modal-pad-x)}
  .modal>.modal-actions{padding:13px var(--pl-modal-pad-x) calc(13px + env(safe-area-inset-bottom))}
  .pl-modal--quick .modal>.pl32-decision{padding:20px var(--pl-modal-pad-x) 22px!important}
  .pl32-event-meta{margin-bottom:14px!important}.pl32-event-head{padding-bottom:20px}.pl32-event-head h2{font-size:26px!important;margin-bottom:11px!important}.pl33-question{margin-top:18px!important;padding:14px 16px!important}
  .pl32-decision .pl32-choice-grid,.pl-choice-count-2,.pl-choice-count-3,.pl-choice-count-4,.pl-choice-count-5,.pl-choice-count-6{grid-template-columns:1fr!important;gap:12px!important}
  .pl-choice-count-5>.pl32-choice-card:last-child{grid-column:auto;max-width:none}
  .pl32-decision .pl32-choice-card{padding:18px 46px 18px 18px}
  .pl-transfer-context,.pl-contract-comparison,.pl-negotiation-round{margin-left:var(--pl-modal-pad-x);margin-right:var(--pl-modal-pad-x)}
  .pl-transfer-context{grid-template-columns:1fr}.pl-transfer-arrow{display:none}
  .pl-contract-comparison{grid-template-columns:1fr}.pl-contract-package+.pl-contract-package{border-left:0;border-top:1px solid var(--pl-border)}
  .pl-career-hero{padding:22px 20px}.pl-legacy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-chronicle{padding-left:25px}.pl-chronicle:before{left:6px}.pl-chronicle-season:before{left:-23px}.pl-chronicle-head{grid-template-columns:1fr}.pl-chronicle-stats{justify-content:flex-start}
}
@media(max-width:480px){
  :root{--pl-modal-pad-x:14px}
  .pl-modal--quick .modal>.pl32-decision{padding:18px 14px 20px!important}
  .pl32-event-meta{gap:5px!important}.pl32-event-meta span{font-size:8px!important;padding:4px 6px!important}
  .pl32-decision .pl32-spoken{font-size:14px}.pl32-decision .pl32-choice-card{padding:16px 42px 16px 16px}
  .pl-career-hero{padding:18px 16px}.pl-legacy-grid{grid-template-columns:1fr 1fr}.pl-club-mark{width:42px;height:46px}.pl-chronicle{padding-left:22px}
}

/* Phase 2 decision-grid authority must outrank legacy .pl33-four specificity. */
.pl32-decision .pl32-choice-grid.pl-choice-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pl32-decision .pl32-choice-grid.pl-choice-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.pl32-decision .pl32-choice-grid.pl-choice-count-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pl32-decision .pl32-choice-grid.pl-choice-count-5{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pl32-decision .pl32-choice-grid.pl-choice-count-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){
 .pl32-decision .pl32-choice-grid.pl-choice-count-3,.pl32-decision .pl32-choice-grid.pl-choice-count-6{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
 .pl32-decision .pl32-choice-grid.pl-choice-count-2,.pl32-decision .pl32-choice-grid.pl-choice-count-3,.pl32-decision .pl32-choice-grid.pl-choice-count-4,.pl32-decision .pl32-choice-grid.pl-choice-count-5,.pl32-decision .pl32-choice-grid.pl-choice-count-6{grid-template-columns:1fr!important}
}

} /* @layer legacy */
