:root{--color-bg: #050908;--color-bg-elevated: #0b1512;--color-surface: rgba(11, 17, 15, .94);--color-surface-alt: rgba(20, 32, 27, .92);--color-border: #29453a;--color-text: #f4faf6;--color-text-muted: #b9d4c3;--color-accent: #f5c344;--color-accent-strong: #ffd873;--color-good: #6fd88b;--color-bad: #ff8a80;--color-warn: #ffc46b;--color-focus: #7fd6ff;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--shadow-card: 0 14px 42px rgba(0, 0, 0, .42);--transition-fast: .14s ease;--transition-medium: .22s ease;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:linear-gradient(180deg,#02070652,#020706db),radial-gradient(circle at 50% 20%,transparent 0,rgba(0,0,0,.68) 78%),url(../assets/onboarding/footylife-stadium-background.png) center / cover fixed,var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0 0 var(--space-2);line-height:1.15;font-weight:700;letter-spacing:-.01em}h1{font-size:clamp(1.75rem,5vw,2.5rem)}h2{font-size:clamp(1.35rem,4vw,1.75rem)}h3{font-size:1.15rem}p{margin:0 0 var(--space-3);color:var(--color-text-muted);line-height:1.5}ul,ol{margin:0;padding:0;list-style:none}button{font-family:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-48px;left:var(--space-3);z-index:1000;background:var(--color-accent);color:#17230f;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:700;text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-3)}.live-region{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);background:var(--color-surface-alt);border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:500}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7);display:flex;flex-direction:column;gap:var(--space-5);animation:screen-enter var(--transition-medium)}.app-main:has(.career-shell){max-width:1440px;padding-inline:clamp(12px,2.5vw,40px)}@keyframes screen-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.unlock-celebration-layer{position:fixed;top:max(18px,env(safe-area-inset-top));left:50%;z-index:1100;width:min(calc(100vw - 24px),430px);pointer-events:none;transform:translate(-50%)}.unlock-notification{position:relative;min-height:82px;padding:13px 74px 13px 18px;display:flex;align-items:center;overflow:hidden;border:1px solid rgba(245,195,68,.3);border-radius:42px;background:linear-gradient(110deg,#151f1bfa,#0a0e0df7),var(--color-surface);box-shadow:0 18px 48px #00000080,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:unlock-notification-enter .42s cubic-bezier(.18,.89,.32,1.18) both}.unlock-notification:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 82% 50%,rgba(245,195,68,.13),transparent 31%)}.unlock-notification-achievement{border-color:#6fd88b61}.unlock-notification-achievement:before{background:radial-gradient(circle at 82% 50%,rgba(111,216,139,.16),transparent 31%)}.unlock-celebration-layer.is-leaving .unlock-notification{animation:unlock-notification-exit .36s ease-in both}.unlock-notification-copy{position:relative;z-index:1;min-width:0;display:grid;gap:2px}.unlock-notification-copy strong,.unlock-notification-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unlock-notification-copy strong{color:var(--color-text);font-size:1rem;line-height:1.25}.unlock-notification-copy small{color:var(--color-text-muted);font-size:.75rem}.unlock-notification-eyebrow{color:var(--color-accent-strong);font-size:.72rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.unlock-notification-achievement .unlock-notification-eyebrow{color:var(--color-good)}.unlock-notification-art{position:absolute;top:50%;right:16px;z-index:1;width:54px;height:54px;display:grid;place-items:center;transform:translateY(-50%);filter:drop-shadow(0 5px 7px rgba(0,0,0,.42))}.unlock-notification-art>img,.unlock-notification-art .organisation-logo{width:54px;height:54px;object-fit:contain}.unlock-notification-count{position:absolute;top:5px;right:7px;z-index:2;min-width:21px;height:21px;padding-inline:5px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#bd4b39;color:#fff;font-size:.64rem;font-weight:900}.unlock-confetti{position:absolute;top:35px;left:50%;width:1px;height:1px}.unlock-confetti span{--confetti-color: var(--color-accent);--confetti-x: 160px;--confetti-y: 105px;--confetti-rotation: 360deg;--confetti-delay: 0ms;position:absolute;width:7px;height:12px;border-radius:2px;background:var(--confetti-color);opacity:0;animation:unlock-confetti-burst 1.45s cubic-bezier(.2,.65,.35,1) var(--confetti-delay) both}.unlock-confetti span:nth-child(2n){--confetti-color: var(--color-good);width:9px;height:6px}.unlock-confetti span:nth-child(3n){--confetti-color: #f2766f}.unlock-confetti span:nth-child(4n){--confetti-color: #79c8ff;border-radius:50%}.unlock-confetti span:nth-child(1){--confetti-x: -192px;--confetti-y: 78px;--confetti-rotation: -420deg}.unlock-confetti span:nth-child(2){--confetti-x: -164px;--confetti-y: 118px;--confetti-rotation: 510deg;--confetti-delay: 40ms}.unlock-confetti span:nth-child(3){--confetti-x: -136px;--confetti-y: 56px;--confetti-rotation: -330deg;--confetti-delay: 90ms}.unlock-confetti span:nth-child(4){--confetti-x: -108px;--confetti-y: 132px;--confetti-rotation: 460deg;--confetti-delay: 20ms}.unlock-confetti span:nth-child(5){--confetti-x: -78px;--confetti-y: 94px;--confetti-rotation: -540deg;--confetti-delay: .12s}.unlock-confetti span:nth-child(6){--confetti-x: -43px;--confetti-y: 145px;--confetti-rotation: 390deg;--confetti-delay: 60ms}.unlock-confetti span:nth-child(7){--confetti-x: -16px;--confetti-y: 82px;--confetti-rotation: -470deg;--confetti-delay: .15s}.unlock-confetti span:nth-child(8){--confetti-x: 18px;--confetti-y: 136px;--confetti-rotation: 520deg;--confetti-delay: 30ms}.unlock-confetti span:nth-child(9){--confetti-x: 48px;--confetti-y: 66px;--confetti-rotation: -390deg;--confetti-delay: 105ms}.unlock-confetti span:nth-child(10){--confetti-x: 76px;--confetti-y: 124px;--confetti-rotation: 440deg;--confetti-delay: 75ms}.unlock-confetti span:nth-child(11){--confetti-x: 104px;--confetti-y: 88px;--confetti-rotation: -520deg;--confetti-delay: 135ms}.unlock-confetti span:nth-child(12){--confetti-x: 132px;--confetti-y: 148px;--confetti-rotation: 370deg;--confetti-delay: 15ms}.unlock-confetti span:nth-child(13){--confetti-x: 158px;--confetti-y: 70px;--confetti-rotation: -450deg;--confetti-delay: 95ms}.unlock-confetti span:nth-child(14){--confetti-x: 184px;--confetti-y: 112px;--confetti-rotation: 500deg;--confetti-delay: 45ms}.unlock-confetti span:nth-child(15){--confetti-x: -211px;--confetti-y: 135px;--confetti-rotation: -360deg;--confetti-delay: 125ms}.unlock-confetti span:nth-child(16){--confetti-x: 208px;--confetti-y: 91px;--confetti-rotation: 550deg;--confetti-delay: 55ms}.unlock-confetti span:nth-child(17){--confetti-x: -118px;--confetti-y: 157px;--confetti-rotation: -490deg;--confetti-delay: 165ms}.unlock-confetti span:nth-child(18){--confetti-x: 121px;--confetti-y: 166px;--confetti-rotation: 410deg;--confetti-delay: 115ms}@keyframes unlock-notification-enter{0%{opacity:0;transform:translateY(-28px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes unlock-notification-exit{to{opacity:0;transform:translateY(-18px) scale(.96)}}@keyframes unlock-confetti-burst{0%{opacity:0;transform:translateZ(0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-x),var(--confetti-y),0) rotate(var(--confetti-rotation))}}@media (max-width: 480px){.unlock-celebration-layer{top:max(10px,env(safe-area-inset-top))}.unlock-notification{min-height:72px;padding:10px 66px 10px 15px}.unlock-notification-art,.unlock-notification-art>img,.unlock-notification-art .organisation-logo{width:46px;height:46px}}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-tight{display:flex;flex-direction:column;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.grid-2,.grid-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media (min-width: 480px){.grid-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card)}.card-tight{padding:var(--space-4)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);font-size:1rem;font-weight:700;cursor:pointer;min-height:48px;transition:transform var(--transition-fast),background var(--transition-fast),opacity var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.98)}.btn-primary{background:var(--color-accent);color:#22190a}.btn-primary:not(:disabled):hover{background:var(--color-accent-strong)}.btn-secondary{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-danger{background:transparent;color:var(--color-bad);border:1px solid var(--color-bad)}.btn-row{display:flex;flex-direction:column;gap:var(--space-3)}@media (min-width: 480px){.btn-row-inline{flex-direction:row}}.stat{display:flex;flex-direction:column;gap:2px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3)}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.stat-value{font-size:1.25rem;font-weight:700}.progress-bar-track{background:#ffffff14;border-radius:999px;height:10px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-good));border-radius:999px;transition:width var(--transition-medium)}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid transparent}.badge-neutral{background:var(--color-surface-alt);color:var(--color-text-muted);border-color:var(--color-border)}.badge-good{background:#6fd88b26;color:var(--color-good);border-color:#6fd88b66}.badge-bad{background:#ff8a8026;color:var(--color-bad);border-color:#ff8a8066}.badge-warn{background:#ffc46b26;color:var(--color-warn);border-color:#ffc46b66}.organisation-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;aspect-ratio:1}.organisation-logo img{display:block;width:100%;height:100%;object-fit:contain}.organisation-logo-sm{width:28px}.organisation-logo-md{width:42px}.organisation-logo-lg{width:60px}.organisation-logo-xl{width:88px}.organisation-logo-fallback{border:1px solid var(--color-border);border-radius:50%;background:linear-gradient(145deg,var(--color-surface-alt),rgba(245,195,68,.12));color:var(--color-accent-strong);font-size:.68em;font-weight:800;letter-spacing:.02em}.organisation-identity,.current-club,.team-presentation{display:inline-flex;align-items:center;gap:var(--space-2)}.organisation-identity{min-width:0;vertical-align:middle}.team-presentation{gap:var(--space-4)}.team-presentation h1,.team-presentation p{margin:0}.team-presentation-compact{align-self:flex-start}.empty-state{text-align:center;padding:var(--space-6) var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.empty-state-error{border-color:var(--color-bad)}.loading-state{display:flex;align-items:center;gap:var(--space-3);justify-content:center;padding:var(--space-6) 0;color:var(--color-text-muted)}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--color-accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) 0;max-width:640px;margin:0 auto;width:100%}.app-topbar{width:min(100%,1440px);min-height:68px;margin:0 auto;padding:12px clamp(16px,3vw,40px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid rgba(245,195,68,.16);background:linear-gradient(180deg,#040907f0,#040907c2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-brand{display:inline-flex;align-items:center;gap:10px;color:var(--color-text);font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:800;font-style:italic;letter-spacing:-.04em}.app-brand img{object-fit:contain}.topbar-action{min-height:44px;padding:8px 14px;border:1px solid rgba(245,195,68,.45);border-radius:999px;background:#f5c34414;color:var(--color-accent);font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}.topbar-action:hover{background:#f5c34429}.brand{display:flex;align-items:center;gap:var(--space-2);font-weight:800;font-size:1.1rem;color:var(--color-accent);text-decoration:none}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--color-accent);color:#17230f;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.landing-hero{text-align:center;padding:var(--space-6) 0 var(--space-4)}.landing-logo{width:160px;height:160px;margin:0 auto var(--space-4);object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.5))}.landing-tagline{font-size:1.05rem;max-width:46ch;margin-inline:auto}.setup-steps{display:flex;gap:var(--space-2);justify-content:center}.setup-step-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border)}.setup-step-dot.is-active{background:var(--color-accent)}.setup-step-dot.is-done{background:var(--color-good)}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media (min-width: 420px){.option-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.option-tile{background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);color:var(--color-text);cursor:pointer;text-align:left;min-height:64px;transition:border-color var(--transition-fast),transform var(--transition-fast)}.option-tile:not(:disabled):hover{transform:translateY(-2px)}.option-tile.is-selected{border-color:var(--color-accent);background:#f5c3441f}.option-tile-title{font-weight:700;display:block}.option-tile-meta{font-size:.75rem;color:var(--color-text-muted)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-weight:600;font-size:.9rem}.field input[type=text],.field input[type=number]{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:1rem;min-height:48px}.field-hint{font-size:.8rem;color:var(--color-text-muted)}.field-error{font-size:.8rem;color:var(--color-bad)}.player-header{display:flex;align-items:center;gap:var(--space-4)}.player-avatar{width:56px;height:56px;border-radius:50%;background:var(--color-surface-alt);border:2px solid var(--color-accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;flex-shrink:0}.player-header-meta{min-width:0}.player-header-meta h2{overflow-wrap:anywhere}.status-flags{display:flex;gap:var(--space-2);flex-wrap:wrap}.event-prompt{font-size:1.05rem;color:var(--color-text)}.choice-card{width:100%;text-align:left;background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast)}.choice-card:not(:disabled):hover{border-color:var(--color-accent);transform:translateY(-2px)}.choice-card-label{font-weight:700;display:block;margin-bottom:4px}.choice-card-odds{font-size:.8rem;color:var(--color-text-muted)}.outcome-narrative{font-size:1.05rem;color:var(--color-text)}.effect-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.timeline{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--color-border);margin-left:6px;padding-left:var(--space-4)}.timeline-item{position:relative;padding-bottom:var(--space-5);display:flex;align-items:flex-start;gap:var(--space-3)}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:calc(-1 * var(--space-4) - 5px);top:4px;width:10px;height:10px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg)}.timeline-age{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.share-card-preview{width:100%;border-radius:var(--radius-md);border:1px solid var(--color-border);display:block}.tab-list{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border)}.tab-button{background:transparent;border:none;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);font-weight:700;cursor:pointer;border-bottom:3px solid transparent;min-height:44px}.tab-button.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.collection-screen{min-height:calc(100vh - 120px);padding-block:var(--space-2) var(--space-7);color:#f5f7f5;background:#0d0f0e;box-shadow:0 0 0 100vmax #0d0f0e;clip-path:inset(0 -100vmax)}.app-shell-collection{background:#0d0f0e;color-scheme:dark}.app-shell-collection .app-topbar{color:#f5f7f5}.collection-screen .btn-ghost{color:#f5f7f5;border-color:#343936}.collection-screen .tab-list{overflow-x:auto;border-bottom-color:#343936;scrollbar-width:none}.collection-screen .tab-list::-webkit-scrollbar{display:none}.collection-screen .tab-button{flex:1 0 auto;color:#aeb5b0}.collection-screen .tab-button.is-active{color:var(--color-accent)}.collection-card{display:flex;min-width:0;flex-direction:column;gap:var(--space-3);background:#151816;border-color:#2b302d}.collection-card-locked{border-color:#252925}.reward-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2.5vw,14px);align-items:stretch}.reward-card{align-items:center;gap:6px;min-height:220px;padding:clamp(9px,2.5vw,14px);text-align:center}.reward-art-shell{display:grid;width:min(100%,112px);aspect-ratio:1;place-items:center;flex:0 0 auto}.reward-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 12px rgb(0 0 0 / 28%))}.reward-art-award{width:82%;height:96%}.reward-card-title{width:100%;margin:2px 0 0;color:#f5f7f5;font-size:clamp(.7rem,2.8vw,.9rem);line-height:1.2;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.reward-card-status{min-height:1.2em;margin:0;color:#737a75;font-size:.76rem;font-weight:800;line-height:1.2}.reward-card-status.is-unlocked{color:#70db98}.reward-card-detail{display:-webkit-box;width:100%;margin:2px 0 0;overflow:hidden;color:#9ca49f;font-size:clamp(.66rem,2.8vw,.78rem);line-height:1.35;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.collection-card-locked .reward-art{opacity:.27;filter:grayscale(1) drop-shadow(0 5px 8px rgb(0 0 0 / 20%))}.collection-card-locked .reward-card-title,.collection-card-locked .reward-card-detail{color:#737a75}@media (max-width: 420px){.reward-card{min-height:190px}.reward-card-detail{-webkit-line-clamp:2}}.organisation-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.organisation-table{width:100%;min-width:580px;border-collapse:collapse}.organisation-table th,.organisation-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.organisation-table thead th{color:var(--color-text-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;background:var(--color-surface-alt)}.organisation-table tbody th{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.organisation-table tbody tr:last-child th,.organisation-table tbody tr:last-child td{border-bottom:0}.organisation-table tbody tr:hover{background:#f5c3440a}.organisation-row-locked td{color:var(--color-text-muted)}.organisation-trophy-club{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px}.collection-screen .organisation-table-wrap{border-color:#2b302d;background:#151816}.collection-screen .organisation-table thead th{color:#aeb5b0;background:#1b1f1c}.collection-screen .organisation-table th,.collection-screen .organisation-table td{border-bottom-color:#2b302d}.collection-tile{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:4px;position:relative}.collection-tile.is-legend{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent) inset}.collection-tile-title{font-weight:700;font-size:.95rem}.collection-tile-meta{font-size:.75rem;color:var(--color-text-muted)}.collection-tile.is-locked{opacity:.45}.debug-panel{position:fixed;bottom:0;right:0;z-index:999;max-width:360px;width:100%;max-height:70vh;overflow-y:auto;background:#050b07;color:#b6ffcf;border:1px solid #1f5b38;border-radius:var(--radius-md) 0 0 0;font-family:Cascadia Code,Consolas,monospace;font-size:.75rem;box-shadow:var(--shadow-card)}.debug-panel:not([open]){width:auto;border-radius:var(--radius-sm) 0 0 0}.debug-panel summary{cursor:pointer;padding:var(--space-2) var(--space-3);font-weight:700;background:#0c2417}.debug-panel-body{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.debug-panel dl{display:grid;grid-template-columns:auto 1fr;gap:4px var(--space-2);margin:0}.debug-panel dt{color:#7fbf8f}.debug-panel dd{margin:0;overflow-wrap:anywhere}.debug-panel .btn{min-height:34px;padding:var(--space-2) var(--space-3);font-size:.75rem}.debug-panel select,.debug-panel input{width:100%;background:#0c2417;color:#b6ffcf;border:1px solid #1f5b38;border-radius:var(--radius-sm);padding:var(--space-2)}@media (min-width: 720px){.app-main{padding-top:var(--space-6)}.card{padding:var(--space-6)}}.app-shell-career{position:relative;isolation:isolate;min-height:100vh;background-color:var(--color-bg);background-image:var( --scene-background-image, url(../assets/backgrounds/background.career.stadium.webp) );background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}.app-shell-career:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 16%,rgba(245,195,68,.08),transparent 30%),linear-gradient(180deg,#02090685,#020805d1)}.app-shell-career .app-topbar{position:relative;z-index:1;color:#f4faf6;background:#020906c2;border-bottom:1px solid rgba(244,250,246,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (prefers-color-scheme: dark){.app-shell-career .card{background:#16412aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-shell-career .choice-card{background:#1b4d31f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.app-shell-landing,.app-shell-setup{position:relative;isolation:isolate;min-height:100vh;overflow-x:hidden}.app-shell-landing{background:linear-gradient(180deg,#02090638,#020805b8),url(../assets/onboarding/footylife-players-background.png) center / cover fixed}.app-shell-setup{background:linear-gradient(180deg,#02090659,#020805db),url(../assets/onboarding/footylife-stadium-background.png) center / cover fixed}.app-shell-landing:before,.app-shell-setup:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 18%,rgba(245,195,68,.1),transparent 32%),linear-gradient(90deg,rgba(1,7,4,.6),transparent 22% 78%,rgba(1,7,4,.6))}.app-shell-landing .app-topbar,.app-shell-setup .app-topbar{display:none}.app-shell-landing .app-main,.app-shell-setup .app-main{max-width:none;min-height:100vh;margin:0;padding:0;gap:0}.landing-page{width:min(100%,680px);min-height:100vh;min-height:100svh;margin:0 auto;padding:clamp(28px,6vh,64px) 24px max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.landing-hero{padding:0}.landing-logo{width:clamp(124px,15vw,172px);height:clamp(124px,15vw,172px);margin-bottom:18px}.landing-hero h1{margin:0;color:#fffffff7;font-size:clamp(3.4rem,9vw,6.2rem);font-weight:900;letter-spacing:-.06em;line-height:.9;text-shadow:0 8px 34px rgba(0,0,0,.75)}.landing-kicker{margin:18px 0 12px;color:var(--color-accent-strong);font-size:.8rem;font-weight:700;letter-spacing:.22em}.landing-tagline{margin:0;color:#f8f7ee;font-size:clamp(1.55rem,2vw,2rem);font-weight:700;line-height:1.15}.landing-subtitle{max-width:620px;margin:12px auto 0;color:#fffc;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.55}.landing-actions{width:min(100%,380px);margin-top:30px;padding:16px;display:grid;gap:10px;border:1px solid rgba(238,203,111,.3);border-radius:22px;background:#040c08b3;box-shadow:0 16px 50px #00000052;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-primary-cta{min-height:58px;background:linear-gradient(135deg,var(--color-accent-strong),#dfb347);color:#171107;font-weight:800;box-shadow:0 0 24px #f5c3442e;transition:transform var(--transition-fast),filter var(--transition-fast),box-shadow var(--transition-fast)}.app-shell-landing .landing-primary-cta:not(:disabled):hover{background:linear-gradient(135deg,var(--color-accent-strong),#dfb347);box-shadow:0 8px 28px #f5c34447;filter:brightness(1.04);transform:translateY(-1px)}.app-shell-landing .btn-ghost,.app-shell-setup .btn-ghost{color:#f4faf6;border-color:#daebe09e}.app-shell-landing .landing-actions .btn-ghost:not(:disabled):hover{border-color:#eecb6f94;background:#ffffff12}@media (max-width: 480px){.landing-page{padding:max(20px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom))}.landing-logo{width:108px;height:108px;margin-bottom:14px}.landing-hero h1{font-size:clamp(3rem,15vw,3.6rem)}.landing-kicker{margin-top:14px;font-size:.72rem}.landing-tagline{font-size:1.45rem}.landing-subtitle{margin-top:10px;font-size:.98rem;line-height:1.45}.landing-actions{margin-top:24px;padding:14px;border-radius:18px}}@media (max-width: 759px) and (max-height: 720px){.landing-page{padding-block:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-bottom))}.landing-logo{width:90px;height:90px;margin-bottom:10px}.landing-hero h1{font-size:3rem}.landing-kicker{margin-block:10px 8px}.landing-subtitle{margin-top:6px}.landing-actions{margin-top:18px;padding:12px}.landing-primary-cta{min-height:52px}}.career-setup-page{width:100%;min-height:100vh;padding:clamp(14px,2vw,28px);display:flex;align-items:center;justify-content:center;position:relative}.setup-back{position:fixed;top:18px;left:20px;z-index:5;padding:9px 13px;border:1px solid rgba(238,203,111,.3);border-radius:999px;background:#040e09cc;color:#ffffffc7;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.career-setup-panel{width:min(100%,1500px);border:1px solid rgba(238,203,111,.48);border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#0b1f14f5,#040f0afa),#05120bf5;box-shadow:0 0 0 1px #ffe18b14 inset,0 34px 100px #0000009e,0 0 48px #f5c34414;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.setup-header{padding:12px clamp(22px,3vw,46px) 11px;text-align:center;border-bottom:1px solid rgba(238,203,111,.2);background:linear-gradient(180deg,rgba(255,215,104,.04),transparent)}.setup-brand{display:block;color:var(--color-accent-strong);font-size:.72rem;font-weight:800;letter-spacing:.32em;text-transform:uppercase}.setup-header h1{margin:3px 0 4px;color:#fff;font-size:clamp(1.45rem,2.4vw,2.25rem);letter-spacing:.075em}.setup-header p,.setup-section-heading p{margin:0;color:#daebe0a8;font-size:.78rem}.setup-grid{display:grid;grid-template-columns:minmax(310px,1.1fr) minmax(270px,.9fr) minmax(290px,.9fr)}.setup-section{min-width:0;padding:clamp(15px,1.8vw,26px);border-right:1px solid rgba(238,203,111,.14)}.setup-section:last-child{border-right:0}.setup-pace{grid-column:1 / -1;border-top:1px solid rgba(238,203,111,.14);border-right:0}.cadence-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cadence-option{min-width:0;min-height:94px;display:grid;grid-template-columns:46px 1fr 24px;align-items:center;gap:10px;padding:12px;border:1px solid rgba(185,212,195,.18);border-radius:14px;background:#040e09b3;color:var(--color-text);text-align:left;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.cadence-option:hover,.cadence-option:focus-visible{transform:translateY(-2px);border-color:#f5c344a6}.cadence-option.is-selected{border-color:#ffe286;background:linear-gradient(135deg,#f5c3442e,#1344276b);box-shadow:0 0 22px #f5c3441f}.cadence-option-years{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(245,195,68,.48);border-radius:12px;color:var(--color-accent);font-size:1.4rem;font-weight:900}.cadence-option-copy,.cadence-option-copy strong,.cadence-option-copy b,.cadence-option-copy small{display:block}.cadence-option-copy strong{font-size:.9rem}.cadence-option-copy b{margin:2px 0 4px;color:var(--color-good);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.cadence-option-copy small{color:var(--color-text-muted);font-size:.7rem;line-height:1.35}.cadence-option-check{color:transparent;font-weight:900}.cadence-option.is-selected .cadence-option-check{color:var(--color-accent)}.setup-section-heading{min-height:48px;display:flex;align-items:flex-start;gap:10px}.setup-section-heading>span{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border:1px solid rgba(245,195,68,.65);border-radius:50%;color:var(--color-accent-strong);font-size:.74rem;font-weight:900}.setup-section-heading h2{margin:0 0 3px;color:#f7f7ef;font-size:.92rem;letter-spacing:.1em}.position-oval{width:min(100%,310px);aspect-ratio:1122 / 1402;margin:2px auto 0;position:relative;overflow:hidden;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35))}.position-oval img{width:100%;height:100%;display:block;object-fit:contain;filter:brightness(.62) saturate(.85);-webkit-user-select:none;user-select:none}.position-hotspot{position:absolute;width:clamp(54px,6.7vw,92px);min-height:24px;padding:4px 5px;transform:translate(-50%,-50%);border:1px solid rgba(246,200,72,.72);border-radius:999px;background:#020c09f0;color:#fff;box-shadow:0 3px 8px #000000ad;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.position-hotspot span{display:block;font-size:clamp(.43rem,.53vw,.66rem);font-weight:750;line-height:1.05}.position-hotspot:hover,.position-hotspot:focus-visible{z-index:2;transform:translate(-50%,-50%) scale(1.08);border-color:#ffe286;box-shadow:0 0 17px #f5c34485}.position-hotspot.is-selected{z-index:1;border-color:#fff0ae;background:linear-gradient(135deg,#ffe38b,#e1a62b);color:#171104;box-shadow:0 0 20px #f5c34499}.selection-readout{min-height:18px;margin:4px 0 0;color:#eaf2ebb8;font-size:.72rem;text-align:center}.state-map-wrap{width:100%;margin:12px auto 6px}.state-map{aspect-ratio:1456 / 1084;width:100%;max-height:430px;position:relative;overflow:hidden;border:1px solid rgba(232,200,111,.34);border-radius:18px;background:#06120e;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35))}.state-map:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 30px #00000080;pointer-events:none}.state-map-image{width:100%;height:100%;display:block;object-fit:cover;-webkit-user-select:none;user-select:none}.state-map .state-region{position:absolute;z-index:1;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;outline:none;transition:background .18s ease,filter .18s ease}.state-map .state-region:hover,.state-map .state-region:focus-visible{z-index:2;background:#ffd86333;filter:drop-shadow(0 0 9px rgba(255,220,112,.95))}.state-map .state-region:focus-visible{background:#ffe28647}.state-map .state-region.is-selected{z-index:2;background:linear-gradient(135deg,#ffeda86b,#e1a62b47),#f5c34429;filter:drop-shadow(0 0 13px rgba(255,220,112,.96))}.state-selection-pin{position:absolute;left:var(--marker-left);top:var(--marker-top);width:clamp(22px,2.4vw,34px);height:clamp(22px,2.4vw,34px);display:grid;place-items:center;transform:translate(-50%,-50%) scale(.55);border:2px solid #fff5c9;border-radius:50%;background:#e6ae31;color:#142016;box-shadow:0 0 0 5px #f5c34433,0 5px 14px #0009;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .18s ease}.state-selection-pin span{font-size:clamp(.72rem,1vw,.95rem);font-weight:1000}.state-region.is-selected .state-selection-pin{transform:translate(-50%,-50%) scale(1);opacity:1}.starting-club-panel{width:min(100%,1120px)}.starting-club-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.starting-club-option{position:relative;min-width:0;min-height:300px;padding:24px 18px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden;border:1px solid rgba(185,212,195,.24);border-radius:20px;background:radial-gradient(circle at 50% 20%,rgba(111,216,139,.13),transparent 42%),linear-gradient(145deg,#143020f0,#07110cfa);color:var(--color-text);text-align:center;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.starting-club-option:hover,.starting-club-option:focus-visible{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:0 16px 34px #00000047}.starting-club-panel.is-resolving .starting-club-option:not(.is-selected){opacity:.36;transform:scale(.985)}.starting-club-option.is-selected{border-color:var(--color-good);box-shadow:0 0 0 2px #6fd88b29,0 0 34px #6fd88b2e}.starting-club-new{position:absolute;top:13px;left:14px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f5c34421;color:var(--color-accent);font-size:.78rem}.starting-club-logo{min-height:82px;display:grid;place-items:center}.starting-club-copy,.starting-club-copy small,.starting-club-copy strong,.starting-club-copy span,.starting-club-copy b{display:block}.starting-club-copy{min-width:0;width:100%}.starting-club-copy small{color:var(--color-good);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.starting-club-copy strong{margin:7px 0;overflow-wrap:anywhere;font-size:clamp(1.05rem,2vw,1.35rem)}.starting-club-copy span{color:var(--color-text-muted);font-size:.76rem}.starting-club-copy b{width:fit-content;margin:14px auto 0;padding:6px 10px;border-radius:999px;background:#6fd88b1c;color:var(--color-good);font-size:.7rem}.starting-club-note{max-width:720px;margin:4px auto 0;color:var(--color-text-muted);font-size:.78rem;text-align:center}.form-error{margin:0;color:var(--color-bad);font-size:.8rem;text-align:center}@media (max-width: 760px){.starting-club-options{grid-template-columns:1fr}.starting-club-option{min-height:180px;display:grid;grid-template-columns:auto minmax(0,1fr);text-align:left}.starting-club-copy b{margin-inline:0}}.state-map-hint{position:absolute;left:12px;bottom:10px;z-index:4;padding:5px 9px;border:1px solid rgba(239,204,111,.34);border-radius:999px;background:#020c09c2;color:#fff8ddbd;font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.state-map-hint.has-selection{border-color:#ffe286b8;color:#ffe286}.origin-readout{min-height:62px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(238,203,111,.16);text-align:center}.origin-readout strong{color:#ffffffd1;font-size:.9rem}.origin-readout.has-selection strong{color:var(--color-accent-strong)}.origin-readout span{color:#daebe0a3;font-size:.69rem;line-height:1.4}.guernsey-preview{width:min(100%,220px);aspect-ratio:1122 / 1402;margin:2px auto 7px;position:relative;overflow:hidden;filter:drop-shadow(0 18px 24px rgba(0,0,0,.4))}.guernsey-preview img{width:100%;height:100%;display:block;object-fit:contain;-webkit-user-select:none;user-select:none}.guernsey-surname,.guernsey-number{position:absolute;left:50%;z-index:1;transform:translate(-50%);display:grid;place-items:center;color:#f5f5f2;font-family:Impact,Arial Narrow,sans-serif;text-align:center;text-shadow:0 3px 2px #000}.guernsey-surname{top:15.5%;width:59%;min-height:10%;padding:3px;overflow:hidden;background:#151b1a;font-size:clamp(.72rem,1.3vw,1.25rem);letter-spacing:.03em;white-space:nowrap}.guernsey-number{top:27%;width:54%;height:30%;background:#111817;font-size:clamp(4rem,9vw,7.6rem);line-height:.9}.player-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.player-name-field{grid-column:1 / -1}.player-controls .field input[type=text]{min-height:40px;padding:8px 11px;border-color:#eecb6f52;background:#071910e6;color:#f4faf6}.player-controls .field label,.control-label{color:#f2f7f1d1;font-size:.72rem;font-weight:700}.player-controls .field-hint{font-size:.65rem}.player-control-block{min-width:0;display:flex;flex-direction:column;gap:6px}.number-control,.foot-toggle{min-height:40px;display:grid;border:1px solid rgba(238,203,111,.28);border-radius:10px;overflow:hidden;background:#071910e6}.number-control{grid-template-columns:34px 1fr 34px}.number-control button,.foot-toggle button{border:0;background:transparent;color:#f8f7ee;cursor:pointer}.number-control button:hover,.foot-toggle button:hover{background:#f5c3441f}.number-control output{display:grid;place-items:center;border-inline:1px solid rgba(238,203,111,.2);color:var(--color-accent-strong);font-weight:900}.foot-toggle{grid-template-columns:1fr 1fr}.foot-toggle button{padding:4px;color:#ffffff9e;font-size:.58rem;font-weight:800;text-transform:uppercase}.foot-toggle button+button{border-left:1px solid rgba(238,203,111,.2)}.foot-toggle button.is-selected{background:linear-gradient(135deg,#ffe38a,#dca12a);color:#171104}.setup-actions{min-height:68px;padding:8px clamp(22px,3vw,46px);display:grid;grid-template-columns:1fr minmax(260px,420px) 1fr;align-items:center;border-top:1px solid rgba(238,203,111,.24);background:#030d08ad}.setup-completion{display:flex;gap:8px}.setup-completion span{display:inline-flex;align-items:center;gap:4px;color:#ffffff61;font-size:.66rem}.setup-completion span:before{content:"";width:6px;height:6px;border:1px solid currentColor;border-radius:50%}.setup-completion span.is-complete{color:var(--color-accent-strong)}.setup-completion span.is-complete:before{background:currentColor;box-shadow:0 0 8px currentColor}.start-career-cta{grid-column:2;min-height:52px;border:1px solid #fff0a8;border-radius:13px;background:linear-gradient(135deg,#ffe58c,#dba027);box-shadow:0 0 26px #f5c34438;letter-spacing:.08em}.start-career-cta:disabled{border-color:#ffffff29;background:#536056;box-shadow:none}@media (max-width: 959px) and (min-width: 760px){.career-setup-page{align-items:flex-start}.setup-grid{grid-template-columns:1fr 1fr}.setup-section{border-bottom:1px solid rgba(238,203,111,.14)}.setup-origin{border-right:0}.setup-player{grid-column:1 / -1;display:grid;grid-template-columns:1fr 280px 1fr;align-items:center;gap:20px}.setup-pace{grid-column:1 / -1}.setup-player .setup-section-heading{align-self:start}}@media (min-width: 960px){.career-setup-page{padding-block:4px}}@media (min-width: 960px) and (max-height: 950px){.setup-header{padding-block:8px 7px}.setup-header h1{margin-block:1px 2px;font-size:clamp(1.4rem,2vw,1.9rem)}.setup-section{padding:14px clamp(15px,1.45vw,22px)}.setup-section-heading{min-height:42px}.setup-section-heading>span{width:23px;height:23px;flex-basis:23px}.position-oval{width:min(100%,275px)}.position-hotspot{width:clamp(52px,6vw,82px);min-height:22px;padding-block:3px}.state-map-wrap{width:min(100%,390px);margin-block:5px 3px}.origin-readout{min-height:50px;padding-block:6px}.guernsey-preview{width:min(100%,195px);margin-bottom:4px}.player-controls{gap:7px 10px}.player-controls .field input[type=text],.number-control,.foot-toggle{min-height:36px}.setup-pace{padding-block:10px}.setup-pace .setup-section-heading{min-height:38px}.cadence-option{min-height:76px;padding:8px 10px}.cadence-option-years{width:38px;height:38px;font-size:1.2rem}.setup-actions{min-height:58px;padding-block:6px}.start-career-cta{min-height:44px}}@media (max-width: 759px){.app-shell-career,.app-shell-landing,.app-shell-setup{background-attachment:scroll}.career-setup-page{padding:64px 10px 16px;align-items:flex-start}.setup-back{position:absolute;top:16px;left:14px}.career-setup-panel{border-radius:20px}.setup-header{padding:20px 18px 18px}.setup-header h1{font-size:1.5rem}.setup-grid{display:flex;flex-direction:column}.setup-section{padding:20px 14px;border-right:0;border-bottom:1px solid rgba(238,203,111,.14)}.cadence-options{grid-template-columns:1fr}.position-oval{width:min(100%,410px)}.position-hotspot{width:clamp(58px,20vw,88px)}.position-hotspot span{font-size:clamp(.45rem,2vw,.64rem)}.state-map-wrap{width:min(100%,500px)}.guernsey-preview{width:min(72vw,290px)}.guernsey-surname{font-size:clamp(.8rem,4vw,1.3rem)}.guernsey-number{font-size:clamp(4.5rem,22vw,8rem)}.setup-actions{padding:16px 14px;display:flex;flex-direction:column;gap:12px}.setup-completion{order:2}.start-career-cta{width:100%}}.career-shell{display:grid;grid-template-areas:"player" "interaction" "history";gap:14px;width:min(100%,820px);margin-inline:auto}.career-player-card,.career-history-card,.interaction-card{border:1px solid rgba(108,147,128,.34);border-radius:var(--radius-lg);background:linear-gradient(145deg,#111916f7,#070c0af5),var(--color-surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.career-player-card{grid-area:player;display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px;position:relative;overflow:hidden}.career-player-card:after,.interaction-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,rgba(245,195,68,.035),transparent 42%)}.career-player-identity{display:flex;align-items:center;gap:12px;min-width:0}.organisation-mark{width:42px;height:48px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--color-accent);border:2px solid var(--color-accent);border-radius:10px 10px 16px 16px;background:linear-gradient(150deg,#f5c34426,#1f533347);font-size:.75rem;font-weight:900;letter-spacing:.03em}.career-player-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.career-eyebrow{display:block;color:var(--color-good);font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.career-player-copy h1{margin:1px 0 3px;overflow-wrap:anywhere;font-size:clamp(1.25rem,5vw,2rem);text-transform:uppercase}.career-club{color:var(--color-accent);font-size:.9rem;text-transform:uppercase}.career-player-context{color:var(--color-text-muted);font-size:.78rem}.overall-badge{min-width:82px;min-height:96px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start;border:1px solid var(--color-border);border-radius:16px;background:#040907a8}.overall-badge.is-positive{border-color:#6fd88bbf;box-shadow:0 0 20px #6fd88b1f}.overall-badge.is-negative{border-color:#ff8a8099}.overall-badge>span{color:var(--color-text-muted);font-size:.7rem;font-weight:700}.overall-badge strong{color:var(--color-text);font-size:clamp(2rem,8vw,3rem);line-height:1}.overall-badge small{margin-top:6px;color:var(--color-good);font-weight:800}.overall-badge.is-negative small{color:var(--color-bad)}.overall-badge.is-neutral small{color:var(--color-text-muted)}.career-player-details{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding-top:12px;border-top:1px solid rgba(185,212,195,.12)}.career-player-details div{min-width:0}.career-player-details dt,.offer-details dt{color:var(--color-text-muted);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase}.career-player-details dd,.offer-details dd{margin:3px 0 0;overflow-wrap:anywhere;color:var(--color-text);font-size:.8rem;font-weight:700}.career-status-flags{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.career-history-card{grid-area:history;min-width:0;padding:16px 0 8px;overflow:hidden}.career-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 16px 14px;list-style:none;cursor:pointer}.career-section-heading::-webkit-details-marker{display:none}.career-section-heading:after{content:"›";color:var(--color-accent);font-size:1.6rem;transition:transform var(--transition-fast)}.career-history-card[open] .career-section-heading:after{transform:rotate(90deg)}.career-section-heading h2{margin:3px 0 0;font-size:1.25rem}.career-season-count{color:var(--color-text-muted);font-size:.72rem}.career-table-wrap{width:100%}.career-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.74rem}.career-table th,.career-table td{padding:10px 6px;border-top:1px solid rgba(185,212,195,.11);text-align:center;vertical-align:middle}.career-table th{color:var(--color-text-muted);font-size:.58rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.career-table th:nth-child(2),.career-table td:nth-child(2){width:34%;text-align:left}.career-table th:nth-child(6),.career-table td:nth-child(6),.career-table th:nth-child(7),.career-table td:nth-child(7){display:none}.career-table tr.is-current{background:linear-gradient(90deg,#22693b5c,#17402733);box-shadow:inset 3px 0 var(--color-accent)}.career-table tr.is-current td{border-top-color:#6fd88b42}.table-subline{display:block;margin-top:2px;color:var(--color-text-muted);font-size:.58rem;text-transform:uppercase}.table-club{display:flex;align-items:center;gap:7px;min-width:0;font-weight:700}.table-club .organisation-logo{flex:0 0 28px}.table-club-copy{min-width:0}.table-club-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-overall{display:inline-flex;min-width:35px;padding:5px;justify-content:center;border:1px solid rgba(111,216,139,.32);border-radius:8px;background:#6fd88b14;font-weight:800}.table-pending{color:var(--color-text-muted);font-size:.64rem;font-style:italic}.career-history-empty{margin:10px 16px 2px;font-size:.72rem}.career-interaction{grid-area:interaction;min-width:0}.interaction-card{position:relative;display:flex;flex-direction:column;gap:18px;padding:18px;overflow:hidden;animation:screen-enter var(--transition-medium)}.interaction-heading{position:relative;z-index:1}.interaction-heading h2{margin:6px 0 8px;font-size:clamp(1.55rem,6vw,2.35rem)}.interaction-heading p{margin:0;color:#d0ddd5;font-size:.95rem}.development-bars{display:grid;gap:13px}.development-bars>div{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:10px;color:var(--color-text-muted);font-size:.76rem}.cadence-summary{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:12px 14px;border-left:3px solid var(--color-accent);background:#f5c3440f}.cadence-summary span{color:var(--color-text-muted);font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}.cadence-summary strong{color:var(--color-accent);font-size:.8rem}.cadence-summary small{grid-column:1 / -1;color:var(--color-text-muted)}.interaction-actions{display:flex;flex-direction:column;gap:10px}.choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.choice-card{min-height:148px;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 12px;text-align:center;background:linear-gradient(110deg,#16402773,#0b120fe0),var(--color-surface-alt);border-width:1px;position:relative;overflow:hidden}.event-card.is-resolving .choice-card:not(.is-selected),.offer-card.is-resolving .interaction-actions .btn:not(.is-selected){opacity:.38;transform:scale(.985)}.choice-card.is-selected,.offer-card .btn.is-selected{border-color:var(--color-good);box-shadow:0 0 0 2px #6fd88b26,0 0 28px #6fd88b29;opacity:1}.choice-card.is-selected:after{content:"✓";position:absolute;top:9px;right:10px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--color-good);color:#07110a;font-weight:900;animation:decision-lock .26s ease both}.decision-status{min-height:38px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--color-good);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.decision-status>span{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;animation:status-pulse .7s ease-in-out infinite alternate}.choice-card:nth-child(2n){background:linear-gradient(110deg,#16402773,#0b120fe0),var(--color-surface-alt);border-color:var(--color-border)}.choice-card-copy{min-width:0;width:100%}.choice-card-label{font-size:1.05rem}.choice-card-odds{display:block;margin:3px 0 10px;color:var(--color-good);font-size:.78rem;font-weight:700}.choice-card:nth-child(2n) .choice-card-odds{color:var(--color-good)}.choice-card-effects{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px}.effect-hint{color:var(--color-text-muted);font-size:.68rem}.effect-hint b{color:#aebcb4}.effect-hint.is-positive b{color:var(--color-good)}.effect-hint.is-negative b{color:var(--color-bad)}.choice-card-arrow{display:none}.outcome-card{text-align:center}.outcome-effects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;text-align:left}.outcome-effect{min-height:74px;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:12px;background:#ffffff06;opacity:0;transform:translateY(10px) scale(.98)}.outcome-card.is-revealed .outcome-effect{animation:effect-reveal .36s ease both;animation-delay:calc(var(--effect-index) * 90ms)}.outcome-effect-symbol{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-size:1.2rem}.outcome-effect.is-positive{color:var(--color-good)}.outcome-effect.is-negative{color:var(--color-bad)}.outcome-effect.is-neutral{color:var(--color-accent)}.outcome-effect small,.outcome-effect strong{display:block}.outcome-effect small{color:var(--color-text-muted);font-size:.58rem;text-transform:uppercase}.outcome-effect strong{margin-top:2px;color:var(--color-text);font-size:.75rem}.updated-status{padding:14px 8px;display:flex;align-items:center;justify-content:center;gap:10px;border-block:1px solid rgba(185,212,195,.13)}.updated-status>span{color:var(--color-good);font-size:.7rem;font-weight:800;text-transform:uppercase}.updated-status strong{font-size:.9rem}.updated-status b{color:var(--color-good);font-size:1.15rem}.outcome-card.is-revealed .updated-status b{animation:score-pop .52s .18s cubic-bezier(.2,.9,.25,1.35) both}.updated-status i{color:var(--color-text-muted)}.season-recap-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.season-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(185,212,195,.14);border-radius:14px;overflow:hidden}.season-period-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.season-period-summary>div{min-height:70px;padding:11px 12px;border:1px solid rgba(185,212,195,.14);border-radius:12px;background:#ffffff06}.season-period-summary span,.season-period-summary strong,.season-period-summary small{display:block}.season-period-summary span{color:var(--color-text-muted);font-size:.62rem;letter-spacing:.055em;text-transform:uppercase}.season-period-summary strong{margin-top:4px;color:var(--color-accent)}.season-period-summary small{margin-top:2px;color:var(--color-text-muted)}.season-stat{min-height:78px;padding:11px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-right:1px solid rgba(185,212,195,.12);border-bottom:1px solid rgba(185,212,195,.12)}.season-stat span{color:var(--color-text-muted);font-size:.6rem;text-align:center;text-transform:uppercase}.season-stat strong{font-size:1.35rem}.overall-progression{display:grid;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:10px;padding:14px;border-block:1px solid rgba(185,212,195,.14)}.overall-progression-label{color:var(--color-text-muted);font-size:.68rem;text-transform:uppercase}.overall-progression strong{font-size:1.35rem}.overall-progression-arrow{color:var(--color-good);font-size:1.4rem}.overall-progression b{color:var(--color-text-muted)}.overall-progression.is-positive b{color:var(--color-good)}.overall-progression.is-positive{animation:ovr-pulse-good .9s ease-out both}.overall-progression.is-negative b,.overall-progression.is-negative .overall-progression-arrow{color:var(--color-bad)}.overall-progression.is-negative{animation:ovr-pulse-bad .9s ease-out both}.season-recap-card .effect-list .badge{animation:reward-reveal .55s cubic-bezier(.34,1.56,.64,1) both}.season-recap-card .overall-progression strong:last-of-type,.season-recap-card .overall-progression b{animation:score-pop .52s .18s cubic-bezier(.2,.9,.25,1.35) both}@keyframes decision-lock{0%{opacity:0;transform:scale(.55) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes status-pulse{0%{opacity:.45;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}@keyframes effect-reveal{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes score-pop{0%{opacity:.4;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes ovr-pulse-good{0%,to{box-shadow:inset 0 0 #6fd88b00}45%{box-shadow:inset 0 0 0 2px #6fd88b9e,0 0 22px #6fd88b33}}@keyframes ovr-pulse-bad{0%,to{box-shadow:inset 0 0 #ff8a8000}45%{box-shadow:inset 0 0 0 2px #ff8a8094,0 0 22px #ff8a8029}}@keyframes reward-reveal{0%{opacity:0;transform:translateY(9px) scale(.78)}to{opacity:1;transform:translateY(0) scale(1)}}.offer-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border:1px solid rgba(185,212,195,.14);border-radius:14px;background:#b9d4c31f}.offer-details div{min-height:74px;padding:12px;background:#0c1411}.offer-details dd{font-size:.9rem}.offer-comparison{padding:12px 14px;border-left:3px solid var(--color-accent);background:#f5c3440f}.offer-comparison span,.offer-comparison strong,.offer-comparison small{display:block}.offer-comparison span{color:var(--color-text-muted);font-size:.62rem;text-transform:uppercase}.offer-comparison strong{margin:3px 0}.offer-comparison small{color:var(--color-text-muted)}@media (min-width: 480px){.career-table th:nth-child(6),.career-table td:nth-child(6){display:table-cell}.career-table th:nth-child(2),.career-table td:nth-child(2){width:30%}.interaction-actions.split-actions{flex-direction:row}}@media (min-width: 768px){.career-player-card,.interaction-card{padding:22px}.career-history-card{padding-top:22px}.career-player-details{grid-template-columns:repeat(4,1fr)}.career-section-heading{padding-inline:22px}.career-table{font-size:.82rem}.career-table th,.career-table td{padding:12px 8px}}@media (min-width: 1101px){.career-table th:nth-child(7),.career-table td:nth-child(7){display:table-cell}.career-table th:nth-child(2),.career-table td:nth-child(2){width:27%}.interaction-card{max-height:none}}@media (max-width: 520px){.app-main:has(.career-shell){padding-top:14px;padding-bottom:28px}}.career-left-rail{grid-area:history;min-width:0;min-height:0}.career-status-strip,.career-collection-shortcut{display:none}.career-progress-card{align-items:center;justify-content:center;text-align:center}.career-progress-mark{width:38px;height:38px;border:3px solid rgba(240,200,75,.2);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.agent-event-copy{margin:-7px 0 0;color:var(--color-text-muted);line-height:1.45}.starting-event-options{display:grid;gap:10px}.starting-event-option{min-width:0;min-height:96px;padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;border:1px solid var(--color-border);border-radius:14px;background:#111512;color:var(--color-text);text-align:left;transition:transform var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast)}.starting-event-option:hover,.starting-event-option:focus-visible{transform:translateY(-2px);border-color:var(--color-accent)}.starting-club-event.is-resolving .starting-event-option:not(.is-selected){opacity:.34}.starting-event-option.is-selected{border-color:var(--color-good);box-shadow:0 0 0 2px #6fd88b21}.starting-event-option>span:nth-child(2),.starting-event-option small,.starting-event-option strong,.starting-event-option>span:nth-child(2)>span,.starting-event-option b{display:block;min-width:0}.starting-event-option small{color:var(--color-good);font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.starting-event-option strong{margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.starting-event-option>span:nth-child(2)>span{color:var(--color-text-muted);font-size:.68rem}.starting-event-option b{margin-top:5px;color:var(--color-accent);font-size:.65rem}.starting-event-option i{color:var(--color-accent);font-size:1.5rem;font-style:normal}.event-back-link{align-self:flex-start;padding:5px 0;border:0;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.72rem;text-decoration:underline;cursor:pointer}.career-unsigned-mark{display:grid;place-items:center;border:1px solid rgba(240,200,75,.42);border-radius:50%;color:var(--color-accent);font-weight:900}@media (min-width: 900px){.app-shell-career,.app-shell-starting_club{height:100dvh;min-height:680px;overflow:hidden}.app-shell-career .app-topbar,.app-shell-starting_club .app-topbar{display:none}.app-shell-career .app-main:has(.career-shell),.app-shell-starting_club .app-main:has(.career-shell){width:100%;max-width:none;height:100dvh;padding:24px clamp(40px,3vw,55px);overflow:hidden}.career-shell{position:relative;width:100%;max-width:1900px;height:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) clamp(470px,32vw,620px);grid-template-rows:220px minmax(0,1fr);grid-template-areas:"left player" "left interaction";gap:18px 20px}.career-left-rail{grid-area:left;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 42px;gap:14px}.career-left-rail .career-history-card,.career-left-rail .career-status-strip{grid-area:auto;width:100%}.career-history-card{min-height:0;height:100%;padding:0;border-radius:18px}.career-section-heading,.career-history-empty{display:none}.career-table-wrap{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden}.career-table{width:100%;min-width:760px;font-size:.82rem}.career-table thead{position:sticky;top:0;z-index:2;background:#0d100f}.career-table th{height:52px;padding:0 14px;color:#a9afaa;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.career-table td{height:50px;padding:7px 14px;border-bottom-color:#2f3732b8}.career-table th:first-child,.career-table td:first-child{width:11%}.career-table th:nth-child(2),.career-table td:nth-child(2){width:31%}.career-table th:nth-child(3),.career-table td:nth-child(3){width:10%}.career-table th:nth-child(n+4),.career-table td:nth-child(n+4){width:12%}.career-table th:last-child,.career-table td:last-child{display:table-cell;text-align:right}.career-table tbody tr{background:#0f1211eb}.career-table tbody tr.club-tone-0{background:linear-gradient(90deg,#b93b3a29,#0f1211eb 72%)}.career-table tbody tr.club-tone-1{background:linear-gradient(90deg,#d38f2b24,#0f1211eb 72%)}.career-table tbody tr.club-tone-2{background:linear-gradient(90deg,#3669ac29,#0f1211eb 72%)}.career-table tbody tr.club-tone-3{background:linear-gradient(90deg,#62975e24,#0f1211eb 72%)}.career-table tbody tr.club-tone-4{background:linear-gradient(90deg,#7d549d24,#0f1211eb 72%)}.career-table tbody tr.club-tone-5{background:linear-gradient(90deg,#348b8f24,#0f1211eb 72%)}.career-table tbody tr.is-current{background:linear-gradient(90deg,#dca6371f,#dca63708 45%,#0f1211eb);box-shadow:inset 3px 0 0 var(--color-accent)}.table-subline{font-size:.56rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.table-overall{border-radius:8px;background:#39433f;border-color:#4f5d56}.career-status-strip{min-width:0;min-height:42px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(185,212,195,.12);border-radius:14px;background:#090c0af5;color:var(--color-text)}.career-status-strip>div{display:flex;gap:24px;color:var(--color-text-muted);font-size:.72rem}.career-status-strip strong{color:var(--color-text)}.career-player-card{grid-area:player;height:220px;align-self:stretch;grid-template-columns:92px minmax(0,1fr) 112px;grid-template-rows:114px 58px 20px;gap:0 14px;padding:0 16px 8px;border-radius:18px;background:radial-gradient(circle at 10% 0%,rgba(196,63,60,.22),transparent 35%),linear-gradient(145deg,#101412fc,#080b09fc)}.career-player-age{width:92px;height:86px;align-self:center;padding:8px 12px 8px 0}.career-player-age strong{font-size:1.85rem}.career-player-age small{color:var(--color-good);font-size:.64rem}.career-player-identity{align-self:center;gap:14px}.career-player-identity .organisation-logo{width:60px;height:60px;flex:0 0 60px}.career-player-copy h1{font-size:clamp(1.35rem,1.8vw,2rem);line-height:.98;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.career-club{margin-top:5px;color:var(--color-accent);font-size:1rem}.career-player-context{max-width:100%;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}.overall-badge{width:112px;height:94px;min-height:0;align-self:center;border-width:2px;border-radius:18px;box-shadow:none}.overall-badge strong{font-size:2.35rem}.career-player-details.career-stat-strip{grid-column:1 / -1;height:58px;padding:10px 0 0;border-top:1px solid rgba(185,212,195,.1)}.career-stat-strip div{border-right:1px solid rgba(185,212,195,.1)}.career-stat-strip div:last-child{border-right:0}.career-stat-strip dt{font-size:.58rem}.career-stat-strip dd{margin-top:3px;font-size:1.15rem}.career-header-meta{grid-column:1 / -1;height:20px;align-items:end;flex-wrap:nowrap;gap:12px;font-size:.61rem}.career-interaction{grid-area:interaction;min-height:0;overflow:hidden}.interaction-card{width:100%;min-height:100%;height:100%;padding:26px 28px 24px;justify-content:flex-start;gap:16px;overflow-y:auto;border-radius:18px;background:linear-gradient(180deg,#0e1110fc,#0b0e0dfc);box-shadow:0 18px 50px #0000003d;scrollbar-width:thin}.interaction-heading h2{margin-top:8px;font-size:clamp(2rem,2.6vw,2.65rem);line-height:1.05}.interaction-heading p{font-size:.94rem;line-height:1.45}.career-eyebrow{font-size:.68rem;letter-spacing:.12em}.interaction-actions{margin-top:auto}.choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{min-height:138px}.agent-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-choice-self{grid-column:1 / -1;min-height:70px}.starting-event-options{margin-top:4px}.career-collection-shortcut{position:fixed;top:5px;right:12px;z-index:4;display:block;padding:4px 8px;border:0;background:transparent;color:#dce2dc94;font:inherit;font-size:.64rem;cursor:pointer}.career-collection-shortcut:hover,.career-collection-shortcut:focus-visible{color:var(--color-text)}}.choice-card.has-weighted-outcomes{min-height:0;align-items:stretch;padding:14px}.weighted-outcomes{display:grid;gap:8px;width:100%;margin-top:12px}.weighted-outcome{min-width:0;display:grid;grid-template-columns:minmax(54px,auto) minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:11px;background:#ffffff06;color:var(--color-text);text-align:left;opacity:.82;transform:scale(1);transition:opacity .1s ease,transform .1s ease,border-color .1s ease,background-color .1s ease,box-shadow .1s ease}.weighted-outcome.is-positive{border-color:#6fd88b52;background:#6fd88b12}.weighted-outcome.is-negative{border-color:#ff8a8052;background:#ff8a8012}.weighted-outcome.is-neutral{border-color:#f5c3444d;background:#f5c3440e}.weighted-outcome-probability{font-size:1rem;line-height:1}.weighted-outcome.is-positive .weighted-outcome-probability{color:var(--color-good)}.weighted-outcome.is-negative .weighted-outcome-probability{color:var(--color-bad)}.weighted-outcome.is-neutral .weighted-outcome-probability{color:var(--color-accent)}.weighted-outcome-copy{min-width:0}.weighted-outcome-copy>strong,.weighted-outcome-copy>small{display:block;overflow-wrap:anywhere}.weighted-outcome-copy>strong{font-size:.76rem;line-height:1.25}.weighted-outcome-copy>small{margin-top:3px;color:var(--color-text-muted);font-size:.66rem;line-height:1.35}.weighted-outcomes.is-cycling .weighted-outcome:not(.is-active){opacity:.42}.weighted-outcome.is-active,.weighted-outcome.is-selected{opacity:1;transform:scale(1.01)}.weighted-outcome.is-active.is-positive,.weighted-outcome.is-selected.is-positive{border-color:var(--color-good);background:#6fd88b26;box-shadow:0 0 0 1px #6fd88b29,0 0 18px #6fd88b1f}.weighted-outcome.is-active.is-negative,.weighted-outcome.is-selected.is-negative{border-color:var(--color-bad);background:#ff8a8024;box-shadow:0 0 0 1px #ff8a8026,0 0 18px #ff8a801a}.weighted-outcome.is-active.is-neutral,.weighted-outcome.is-selected.is-neutral{border-color:var(--color-accent);background:#f5c3441f;box-shadow:0 0 16px #f5c3441a}.weighted-outcomes.is-resolved .weighted-outcome:not(.is-selected){opacity:.38;transform:scale(.995)}.outcome-reveal{display:grid;gap:8px}.resolved-choice-label{margin:0;padding:9px 34px 9px 12px;border:1px solid rgba(111,216,139,.45);border-radius:10px;background:#6fd88b14;color:var(--color-good);font-size:.78rem;font-weight:800;text-align:left;position:relative}.resolved-choice-label:after{content:"✓";position:absolute;top:50%;right:11px;transform:translateY(-50%)}.outcome-reveal-status{min-height:18px;margin:0;color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.outcome-card.is-revealed .outcome-reveal-status{color:var(--color-good)}@media (prefers-reduced-motion: reduce){.weighted-outcome,.weighted-outcome.is-active,.weighted-outcome.is-selected{transform:none;transition:opacity 80ms linear,border-color 80ms linear,background-color 80ms linear}}@media (max-width: 620px){.choice-list{grid-template-columns:1fr}.choice-card.has-weighted-outcomes{padding:12px}.weighted-outcome{grid-template-columns:50px minmax(0,1fr);padding:9px}.weighted-outcome-copy>small{font-size:.63rem}}@media (min-width: 1350px){.career-table th,.career-table td{padding-inline:18px}}.stat,.stat-value,.organisation-identity,.organisation-identity-name{min-width:0}.stat-value,.organisation-identity-name,.interaction-heading h2,.interaction-heading p,.draft-card,.career-player-copy,.career-club{overflow-wrap:anywhere}.app-shell-career:has(.career-shell){height:100dvh;min-height:640px;overflow:hidden}.app-shell-career .app-main:has(.career-shell){height:calc(100dvh - 68px);max-width:1480px;padding:14px clamp(10px,2vw,28px) 18px;overflow:hidden}.career-shell{width:100%;height:100%;margin:0;display:grid;grid-template-areas:"player" "history" "interaction";grid-template-rows:auto minmax(110px,22vh) minmax(0,1fr);gap:10px}.career-player-card{grid-area:player;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 12px;padding:12px;border-radius:20px}.career-player-age{width:66px;display:flex;flex-direction:column;justify-content:center;padding-right:10px;border-right:1px solid rgba(185,212,195,.15)}.career-player-age span,.career-player-age small{color:var(--color-text-muted);font-size:.62rem;font-weight:700;text-transform:uppercase}.career-player-age strong{font-size:2rem;line-height:1}.career-player-age small{margin-top:7px;color:var(--color-accent);font-size:.57rem;text-transform:none}.career-player-identity{gap:9px}.career-player-copy h1{margin:0;font-size:clamp(1.05rem,4vw,1.7rem)}.career-club{font-size:clamp(.75rem,2.5vw,.95rem)}.career-player-context{font-size:.67rem}.career-agent-mobile{display:none}.overall-badge{min-width:68px;min-height:78px;padding:8px;border-color:#6fd88b80}.overall-badge strong{font-size:clamp(1.7rem,7vw,2.6rem)}.career-player-details.career-stat-strip{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:9px}.career-stat-strip div{text-align:center}.career-stat-strip dd{font-size:1rem}.career-header-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;color:var(--color-text-muted);font-size:.65rem}.career-header-meta strong{color:var(--color-text)}.career-history-card{min-height:0;padding:10px 0 0;display:flex;flex-direction:column}.career-section-heading{flex:0 0 auto;padding:0 14px 9px;cursor:default}.career-section-heading:after{content:none}.career-section-heading h2{font-size:1rem}.career-table-wrap{min-height:0;overflow:auto;scrollbar-width:thin}.career-table{font-size:.68rem}.career-table th,.career-table td{padding:8px 5px}.career-interaction{min-height:0;overflow-y:auto;overscroll-behavior:contain}.interaction-card{min-height:100%;justify-content:center;border-radius:20px}.waiting-card{min-height:0;justify-content:flex-start;gap:14px;padding:18px}.next-chapter-club{display:flex;align-items:center;gap:12px}.next-chapter-club h2{margin:4px 0 7px;font-size:clamp(1.35rem,6vw,2rem);overflow-wrap:anywhere}.next-chapter-copy{margin:0;color:var(--color-text-muted);line-height:1.5}.waiting-card .interaction-actions{margin-top:auto}.current-agent-summary{padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:2px 12px;border-left:3px solid var(--color-good);background:#6fd88b0f}.current-agent-summary span{color:var(--color-text-muted);font-size:.64rem;text-transform:uppercase}.current-agent-summary strong{color:var(--color-good);font-size:.8rem}.current-agent-summary small{grid-column:1 / -1;color:var(--color-text-muted)}.agent-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.agent-choice{min-width:0;min-height:124px;padding:13px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;border:1px solid var(--color-border);border-radius:14px;background:#ffffff06;color:var(--color-text);text-align:left;transition:transform var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast)}.agent-choice:hover,.agent-choice:focus-visible{transform:translateY(-2px);border-color:var(--color-accent)}.agent-card.is-resolving .agent-choice:not(.is-selected){opacity:.36}.agent-choice.is-selected{border-color:var(--color-good);box-shadow:0 0 0 2px #6fd88b26}.agent-choice-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(111,216,139,.48);border-radius:50%;color:var(--color-good);font-weight:900}.agent-choice-copy,.agent-choice-copy small,.agent-choice-copy strong,.agent-choice-description{display:block}.agent-choice-copy small{color:var(--color-text-muted);font-size:.58rem;letter-spacing:.055em;text-transform:uppercase}.agent-choice-copy strong{margin:4px 0 9px;overflow-wrap:anywhere}.agent-modifiers{display:flex;flex-wrap:wrap;gap:4px}.agent-modifiers b{padding:4px 6px;border-radius:999px;background:#6fd88b17;color:var(--color-good);font-size:.58rem}.agent-choice-description{color:var(--color-text-muted);font-size:.68rem}@media (max-width: 560px){.agent-choice-list{grid-template-columns:1fr}}.choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{min-width:0}.draft-card .grid-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.draft-card .stat{overflow:hidden}.draft-card .organisation-identity{align-items:flex-start}.season-recap-card{min-height:100%}.season-recap-card .btn{margin-top:auto}.app-shell-career:has(.career-complete-page){min-height:100dvh;overflow:auto;background:radial-gradient(circle at 50% -20%,rgba(74,85,110,.17),transparent 38%),linear-gradient(180deg,#08090a,#060708)}.app-shell-career:has(.career-complete-page) .app-topbar{display:none}.app-shell-career .app-main:has(.career-complete-page){width:100%;max-width:1220px;height:auto;margin:0 auto;padding:clamp(24px,4vh,42px) 24px 28px;overflow:visible}.career-complete-page{width:100%;display:grid;gap:14px;color:#f5f5f2}.career-complete-top{display:grid;grid-template-columns:1.3fr .72fr .72fr;gap:14px}.career-complete-card{min-width:0;min-height:192px;padding:20px;display:flex;flex-direction:column;border:1px solid #2b2e34;border-radius:16px;background:linear-gradient(180deg,#121315,#101113)}.career-complete-eyebrow{color:#8c9199;font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.career-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-top:9px}.career-result-identity h1{margin:0;overflow-wrap:anywhere;font-size:clamp(2rem,3.2vw,2.75rem);font-weight:900;letter-spacing:-.045em;line-height:1}.career-result-identity p{margin:8px 0 0;color:#c0c3c8;font-size:.85rem}.career-result-rating{display:flex;align-items:center;gap:8px}.career-position-chip{min-height:27px;padding:0 9px;display:inline-flex;align-items:center;border-radius:6px;background:#d94c8b;color:#fff;font-size:.68rem;font-weight:900}.career-result-rating strong{width:62px;height:52px;display:grid;place-items:center;border-radius:8px;background:#9ba8bc;color:#16191d;font-size:1.85rem;font-variant-numeric:tabular-nums}.career-result-stats,.career-mini-stats{display:grid;overflow:hidden;border-radius:8px;background:#1a1c20}.career-result-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:auto}.career-result-stats>div,.career-mini-stats>div{padding:8px 9px;text-align:center;border-right:1px solid #272a30}.career-result-stats>div:last-child,.career-mini-stats>div:last-child{border-right:0}.career-result-stats span,.career-result-stats strong,.career-mini-stats span,.career-mini-stats strong{display:block}.career-result-stats span,.career-mini-stats span{color:#8f949c;font-size:.55rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.career-result-stats strong,.career-mini-stats strong{margin-top:3px;font-size:1rem;font-variant-numeric:tabular-nums}.representative-card h2{margin:11px 0;font-size:1.5rem;font-weight:900}.representative-card p,.honours-card>p{margin:auto 0 0;color:#858a92;font-size:.7rem}.career-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.career-empty-result{flex:1;display:flex;flex-direction:column;justify-content:center;gap:5px}.career-empty-result strong{font-size:1.2rem}.career-empty-result span{color:#82878f;font-size:.75rem}.career-honour-icons{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.career-honour-icons>span{position:relative}.career-honour-icons img{width:54px;height:54px;object-fit:contain}.career-honour-icons b{position:absolute;right:-4px;bottom:-2px;padding:2px 5px;border-radius:8px;background:#f1d342;color:#171819;font-size:.6rem}.career-unlocks{padding:14px 16px;border:1px solid #31533f;border-radius:16px;background:#101214}.career-unlocks-head{display:grid;grid-template-columns:auto minmax(420px,1fr);align-items:center;gap:18px}.career-unlocks h2{margin:0;color:#a9adb3;font-size:.78rem;font-weight:900;white-space:nowrap}.career-unlock-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.career-unlock-tabs button{min-height:36px;border:0;border-radius:8px;background:#191b1f;color:#8e939b;font-size:.75rem;font-weight:850;cursor:pointer}.career-unlock-tabs button.is-active{background:#f4f4f2;color:#191a1c}.career-unlock-row{min-height:70px;margin-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:18px;overflow-x:auto}.career-unlock-item{position:relative;min-width:74px;max-width:112px;padding:2px;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;color:#d7d9dc;font-size:.65rem;cursor:pointer}.career-unlock-item>span:not(.organisation-logo){overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.career-unlock-item small{position:absolute;top:-2px;right:3px;padding:1px 5px;border-radius:8px;background:#5cc78a;color:#08100b;font-size:.5rem;font-weight:900;text-transform:uppercase}.career-unlock-art{width:44px;height:44px;display:grid;place-items:center;border:1px solid #34383f;border-radius:50%;background:#1a1c20}.career-unlock-art img{width:40px;height:40px;object-fit:contain}.career-unlock-more>span{width:44px;height:44px;display:grid;place-items:center;border:1px dashed #454951;border-radius:50%;color:#b7bac0;font-weight:900}.career-unlock-more small{position:static;background:none;color:#a4a8af;text-transform:none}.career-unlock-empty{width:100%;margin:0;color:#777c84;text-align:center;font-size:.72rem}.career-club-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:9px;overflow-x:auto;scrollbar-color:#353942 transparent}.career-club-card{position:relative;min-height:186px;padding:13px 12px 11px;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:12px}.career-club-watermark{position:absolute;right:5px;bottom:-10px;color:#ffffff14;font-size:5rem;font-weight:950;letter-spacing:-.08em;line-height:1}.career-club-card .organisation-logo,.career-club-card h3,.career-club-card p,.career-club-stats{position:relative;z-index:1}.career-club-card h3{margin:9px 0 0;overflow-wrap:anywhere;font-size:.88rem;font-weight:900}.career-club-card p{margin:3px 0 0;color:#c5c8cd;font-size:.62rem}.career-club-stats{margin-top:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:8px;background:#05060894;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.career-club-stats>div{min-width:0;padding:8px 3px 7px;text-align:center}.career-club-stats strong,.career-club-stats span{display:block}.career-club-stats strong{overflow:hidden;font-size:.82rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis}.career-club-stats span{margin-top:2px;color:#a9adb4;font-size:.48rem;text-transform:uppercase}.career-complete-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.career-complete-actions .btn{min-height:50px;border-radius:25px;font-weight:900}.career-complete-actions .btn-secondary{border-color:#f4f4f2;background:#f4f4f2;color:#17191c}.career-complete-actions .btn-primary{background:#edd04e;color:#171819}.career-complete-footnote{margin:-3px 0 0;color:#646970;font-size:.65rem;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.career-share-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;padding:22px;display:grid;place-items:center;overflow-y:auto;background:#000000d6}.career-share-dialog{display:grid;grid-template-columns:minmax(300px,420px) 320px;align-items:center;gap:20px}.career-share-preview{position:relative;width:min(420px,48vw);aspect-ratio:9 / 16;display:grid;place-items:center;overflow:hidden;border:1px solid #292d34;border-radius:6px;background:#090b0f}.career-share-preview canvas{width:100%;height:100%;object-fit:contain}.career-share-preview>span{position:absolute;color:#a6abb2;font-size:.75rem}.career-share-controls{padding:22px;display:flex;flex-direction:column;gap:10px;border:1px solid #2b2f35;border-radius:16px;background:#121416}.career-share-controls h2{margin:2px 0 0}.career-share-controls p{margin:0 0 4px;color:#a8acb2;font-size:.8rem}.career-share-close{min-height:40px;border:0;background:transparent;color:#858a92;cursor:pointer}.collection-titlebar{display:flex;align-items:end;justify-content:space-between;gap:20px}.collection-titlebar h1{margin:4px 0 0}.collection-titlebar .btn{width:auto}.collection-progress{min-width:min(100%,320px);display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:14px}.collection-progress>div{display:flex;flex-direction:column}.collection-progress strong{color:var(--color-accent);font-size:1.35rem}.collection-progress strong span,.collection-progress small{color:var(--color-text-muted)}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.club-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.club-collection-card{min-width:0;min-height:150px;padding:14px;display:flex;flex-direction:column;gap:8px;border:1px solid rgba(185,212,195,.16);border-radius:16px;background:#151816}.club-collection-card.is-locked{opacity:.42;filter:grayscale(1)}.club-collection-level,.club-collection-locked,.club-collection-record span{color:var(--color-text-muted);font-size:.72rem}.club-collection-record{display:flex;flex-direction:column;gap:4px;margin-top:auto}.club-trophy-detail{gap:6px}.careers-overview{display:grid;grid-template-columns:repeat(2,minmax(0,180px)) minmax(180px,1fr);gap:10px}.careers-overview>div,.careers-overview>label{padding:14px;border:1px solid #2b302d;border-radius:14px;background:#151816}.careers-overview span,.careers-overview strong{display:block}.careers-overview span{color:var(--color-text-muted);font-size:.68rem;text-transform:uppercase}.careers-overview strong{margin-top:4px;color:var(--color-accent);font-size:1.65rem}.careers-overview label select{width:100%;margin-top:6px}.career-archive-list{display:grid;gap:10px}.career-archive-card{min-width:0;padding:16px;display:grid;grid-template-columns:92px minmax(0,1fr) minmax(250px,auto);gap:14px;align-items:center;border:1px solid #2b302d;border-radius:16px;background:#151816}.career-archive-score{min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(111,216,139,.55);border-radius:14px}.career-archive-score span,.career-archive-identity span{color:var(--color-text-muted);font-size:.65rem;text-transform:uppercase}.career-archive-score strong{font-size:1.8rem}.career-archive-identity h3{margin:3px 0;overflow-wrap:anywhere}.career-archive-identity p{margin:0;color:var(--color-text-muted);font-size:.75rem}.career-archive-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;color:var(--color-text-muted);font-size:.7rem}.career-archive-stats b{color:var(--color-text)}.career-archive-club{grid-column:2 / -1}.career-archive-empty{padding:50px 20px;text-align:center;border:1px dashed #343936;border-radius:18px}@media (max-width: 1000px){.career-complete-top{grid-template-columns:repeat(2,minmax(0,1fr))}.career-result-card{grid-column:1 / -1}}@media (max-width: 620px){.app-shell-career .app-main:has(.career-shell){height:calc(100dvh - 60px);padding:8px}.career-shell{grid-template-rows:auto minmax(105px,20vh) minmax(0,1fr);gap:7px}.career-player-card{grid-template-columns:54px minmax(0,1fr) 64px;padding:9px}.career-player-age{width:54px}.career-player-identity .organisation-logo,.career-player-context{display:none}.career-agent-mobile{display:block;color:var(--color-text-muted);font-size:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.career-player-details.career-stat-strip{padding-top:7px}.career-header-meta,.career-section-heading .career-eyebrow{display:none}.career-section-heading{align-items:center}.career-table th:nth-child(5),.career-table td:nth-child(5){display:none}.interaction-card{padding:14px;gap:13px}.interaction-heading h2{font-size:clamp(1.25rem,7vw,1.8rem)}.choice-card{min-height:126px;padding:12px 8px}.season-period-summary,.offer-details,.draft-card .grid-stats,.career-complete-top,.career-complete-actions,.career-share-dialog{grid-template-columns:1fr}.career-result-card{grid-column:auto}.career-unlocks-head,.career-unlock-tabs{grid-template-columns:1fr}.career-share-preview{width:min(90vw,380px)}.collection-toolbar{align-items:flex-start;flex-direction:column}.collection-progress{width:100%}.club-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-collection-card{min-height:168px;padding:11px}.club-collection-card .organisation-identity{flex-direction:column;align-items:flex-start}.careers-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.careers-overview label{grid-column:1 / -1}.career-archive-card{grid-template-columns:78px minmax(0,1fr)}.career-archive-stats,.career-archive-club{grid-column:1 / -1}}@media (max-width: 520px){.career-player-card{gap:10px}.career-player-identity .organisation-logo{width:42px}.overall-badge{min-width:70px;min-height:86px}.career-player-details{gap:5px}.career-player-details dd{font-size:.7rem}.outcome-effects{grid-template-columns:1fr}.debug-panel{max-height:45vh}}@media (min-width: 900px){.app-shell-career .app-topbar,.app-shell-starting_club .app-topbar{display:none}.app-shell-career .app-main:has(.career-shell),.app-shell-starting_club .app-main:has(.career-shell){width:100%;max-width:none;height:100dvh;padding:24px clamp(40px,3vw,55px)}.career-shell{width:100%;max-width:1900px;height:100%;margin:0 auto;grid-template-columns:minmax(0,1fr) clamp(470px,32vw,620px);grid-template-rows:220px minmax(0,1fr);grid-template-areas:"left player" "left interaction";gap:18px 20px}.career-left-rail{grid-area:left;display:grid;grid-template-rows:minmax(0,1fr) 42px;gap:14px}.career-left-rail .career-history-card,.career-left-rail .career-status-strip{grid-area:auto;width:100%}.career-history-card{height:100%;padding:0}.career-player-card{grid-area:player;height:220px;align-self:stretch;grid-template-columns:92px minmax(0,1fr) 112px;grid-template-rows:114px 58px 20px;gap:0 14px;padding:0 16px 8px}.career-interaction{grid-area:interaction;align-self:stretch;overflow:hidden}.interaction-card{width:100%;min-height:100%;height:100%;padding:26px 28px 24px;justify-content:flex-start;gap:16px}.career-section-heading,.career-history-empty{display:none}.career-status-strip{display:flex}.choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.season-recap-card.is-revealing .season-stat{opacity:0;transform:translateY(10px);animation:season-stat-reveal .42s ease forwards;animation-delay:calc(.18s + (var(--stat-index) * .14s))}.season-recap-card.is-revealing .season-period-summary,.season-recap-card.is-revealing .overall-progression{opacity:0;transform:translateY(8px);animation:season-stat-reveal .48s .98s ease forwards}.season-period-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.season-reveal-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:24px;color:var(--color-text-muted);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.season-reveal-status span{width:7px;height:7px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 12px #f0c84ba6;animation:status-pulse .7s ease-in-out infinite alternate}.season-recap-card.is-revealed .season-reveal-status span{background:var(--color-good);animation:none}.offer-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.offer-comparison>div{min-width:0}.offer-comparison .is-positive strong{color:var(--color-good)}.offer-comparison .is-negative strong{color:var(--color-bad)}@keyframes season-stat-reveal{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.season-recap-card.is-revealing .season-stat,.season-recap-card.is-revealing .season-period-summary,.season-recap-card.is-revealing .overall-progression,.season-reveal-status span{opacity:1;transform:none;animation:none}}@media (max-width: 620px){.season-period-summary,.offer-comparison{grid-template-columns:1fr}}@media (min-width: 900px){.season-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.season-stat{min-height:74px}}.career-finish-list{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.career-finish-chip,.season-ladder-link{border:1px solid rgba(240,200,75,.3);color:var(--color-accent);background:#f0c84b14;font:inherit;font-weight:900;font-variant-numeric:tabular-nums;cursor:pointer}.career-finish-chip{min-width:30px;padding:4px 6px;border-radius:999px;font-size:.65rem}.career-finish-chip:hover,.career-finish-chip:focus-visible,.season-ladder-link:hover,.season-ladder-link:focus-visible{border-color:var(--color-accent);background:#f0c84b29;outline:none}.season-ladder-link{margin-top:4px;padding:2px 0;border-width:0 0 1px;background:transparent;font-size:1rem}.season-ladder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;padding:18px;display:grid;place-items:center;overflow:auto;background:#020704db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:season-ladder-backdrop-in .18s ease-out}.season-ladder-dialog{width:min(920px,100%);max-height:min(820px,calc(100dvh - 36px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(240,200,75,.28);border-radius:20px;background:radial-gradient(circle at 12% 0%,rgba(38,111,62,.22),transparent 34%),linear-gradient(145deg,#121814,#0b0f0d 72%);box-shadow:0 28px 90px #00000094;animation:season-ladder-dialog-in .2s ease-out}.season-ladder-header{flex:0 0 auto;padding:20px 22px 14px;display:flex;align-items:start;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(185,212,195,.12)}.season-ladder-header h2{margin:4px 0 0;font-size:clamp(1.35rem,3vw,2rem)}.season-ladder-close{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(185,212,195,.18);border-radius:50%;color:var(--color-text);background:#ffffff0a;font-size:1.45rem;cursor:pointer}.season-ladder-close:hover,.season-ladder-close:focus-visible{border-color:var(--color-accent);color:var(--color-accent);outline:none}.season-ladder-tabs{flex:0 0 auto;padding:12px 22px;display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid rgba(185,212,195,.1);scrollbar-width:thin}.season-ladder-tabs button{min-width:104px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(185,212,195,.14);border-radius:10px;color:var(--color-text-muted);background:#ffffff06;font:inherit;cursor:pointer}.season-ladder-tabs button.is-active{border-color:#f0c84b94;color:var(--color-text);background:linear-gradient(135deg,#287b4257,#f0c84b14);box-shadow:inset 0 -2px 0 var(--color-accent)}.season-ladder-tabs button strong{color:var(--color-accent)}.season-ladder-summary{flex:0 0 auto;margin:14px 22px;padding:13px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;border:1px solid rgba(82,173,108,.3);border-radius:14px;background:linear-gradient(110deg,#236c3b4d,#f0c84b0e)}.season-ladder-club{min-width:0;display:flex;align-items:center;gap:12px}.season-ladder-club>div{min-width:0}.season-ladder-club span,.season-ladder-club strong,.season-ladder-club small{display:block}.season-ladder-club span,.season-ladder-club small{color:var(--color-text-muted);font-size:.65rem;text-transform:uppercase}.season-ladder-club strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.season-ladder-position{min-width:68px;text-align:center}.season-ladder-position strong,.season-ladder-position span{display:block}.season-ladder-position strong{color:var(--color-accent);font-size:2.2rem;line-height:.9}.season-ladder-position span{margin-top:5px;color:var(--color-text-muted);font-size:.68rem;text-transform:uppercase}.season-ladder-summary dl{margin:0;display:grid;grid-template-columns:repeat(3,auto);gap:10px}.season-ladder-summary dl div{min-width:62px;padding:7px 9px;border-left:1px solid rgba(185,212,195,.14)}.season-ladder-summary dt{color:var(--color-text-muted);font-size:.58rem}.season-ladder-summary dd{margin:3px 0 0;font-weight:900;font-variant-numeric:tabular-nums}.season-ladder-table-wrap{min-height:180px;flex:1 1 auto;margin:0 22px 22px;overflow:auto;border:1px solid rgba(185,212,195,.12);border-radius:12px;scrollbar-width:thin}.season-ladder-table{width:100%;border-collapse:collapse;font-size:.76rem;font-variant-numeric:tabular-nums}.season-ladder-table thead{position:sticky;top:0;z-index:1;background:#101612}.season-ladder-table th,.season-ladder-table td{height:43px;padding:7px 9px;border-bottom:1px solid rgba(185,212,195,.09);text-align:center}.season-ladder-table thead th{color:var(--color-text-muted);font-size:.6rem;letter-spacing:.055em;text-transform:uppercase}.season-ladder-table th:nth-child(2){min-width:220px;text-align:left}.season-ladder-table tbody tr.is-user-club{background:linear-gradient(90deg,#2580416b,#f0c84b17);box-shadow:inset 3px 0 0 var(--color-accent)}.season-ladder-table tbody tr.is-user-club th{color:#fff}.season-ladder-club-cell{display:flex;align-items:center;gap:8px}.season-ladder-club-cell>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.season-ladder-club-cell small{margin-left:auto;padding:2px 6px;border:1px solid rgba(240,200,75,.34);border-radius:999px;color:var(--color-accent);font-size:.52rem;text-transform:uppercase;white-space:nowrap}.ladder-rank{width:25px;height:25px;display:inline-grid;place-items:center;border-radius:50%;font-weight:900}.ladder-rank-1{color:#171207;background:#e6bc45}.ladder-rank-2{color:#151719;background:#bfc7c5}.ladder-rank-3{color:#1c1008;background:#bd7d48}.season-ladder-unavailable{margin:22px;padding:34px 20px;border:1px dashed rgba(185,212,195,.2);border-radius:14px;text-align:center;background:#ffffff06}.season-ladder-unavailable p{margin:8px auto 0;max-width:480px;color:var(--color-text-muted)}@keyframes season-ladder-backdrop-in{0%{opacity:0}}@keyframes season-ladder-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}@media (max-width: 720px){.season-ladder-overlay{padding:8px;place-items:end center}.season-ladder-dialog{max-height:calc(100dvh - 16px);border-radius:18px 18px 10px 10px}.season-ladder-header,.season-ladder-tabs{padding-inline:14px}.season-ladder-summary{margin:10px 14px;grid-template-columns:minmax(0,1fr) auto;gap:10px}.season-ladder-summary dl{grid-column:1 / -1;grid-template-columns:repeat(3,1fr)}.season-ladder-summary dl div{border-left:0;border-top:1px solid rgba(185,212,195,.12);text-align:center}.season-ladder-table-wrap{margin:0 14px 14px}.season-ladder-table th,.season-ladder-table td{padding-inline:6px}.season-ladder-table th:nth-child(2){min-width:150px}.season-ladder-table th:nth-child(3),.season-ladder-table td:nth-child(3),.season-ladder-table th:nth-child(5),.season-ladder-table td:nth-child(5),.season-ladder-table th:nth-child(6),.season-ladder-table td:nth-child(6),.ladder-score-column{display:none}.season-ladder-club-cell small{display:none}}@media (prefers-reduced-motion: reduce){.season-ladder-overlay,.season-ladder-dialog{animation:none}}
