/* Modalidades y temporada global */
#modeOverview[hidden], #seasonBoardView[hidden] { display:none !important; }
.season-hero { position:relative; display:block; width:100%; min-height:320px; padding:48px 56px; overflow:hidden; border:1px solid rgba(197,169,255,.38); border-radius:28px; background:radial-gradient(circle at 85% 15%,rgba(207,179,255,.3),transparent 28%),radial-gradient(circle at 8% 90%,rgba(83,166,255,.17),transparent 40%),linear-gradient(117deg,#24123d 0%,#170f31 50%,#0e1226 100%); box-shadow:0 25px 70px rgba(10,4,35,.42),inset 0 1px rgba(255,255,255,.12); color:#fff; text-align:left; cursor:pointer; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.season-hero:hover,.season-hero:focus-visible { transform:translateY(-4px); border-color:#d8b6ff; box-shadow:0 30px 80px rgba(91,46,182,.3); outline:none; }
.season-hero:before { content:"✧"; position:absolute; right:11%; top:2%; font-size:220px; line-height:1; color:rgba(207,182,255,.12); transform:rotate(-12deg); pointer-events:none; }
.season-hero-glow { position:absolute; width:380px; height:380px; right:-100px; bottom:-240px; border:70px solid rgba(204,172,255,.08); border-radius:50%; pointer-events:none; }
.season-hero-content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:18px; max-width:820px; }
.season-kicker { font-size:12px; font-weight:800; letter-spacing:.22em; color:#d9b7ff; }
.season-hero strong { font-size:clamp(34px,5.8vw,72px); line-height:1.04; letter-spacing:-.045em; text-shadow:0 4px 26px rgba(208,158,255,.27); }
.season-hero-content>span:nth-of-type(2) { max-width:600px; font-size:clamp(15px,1.6vw,19px); line-height:1.65; color:#ded5ec; }
.season-hero-bottom { display:flex; flex-wrap:wrap; gap:18px 42px; align-items:center; margin-top:12px; color:#b9a8d5; font-size:13px; }
.season-hero-cta { padding:12px 19px; border:1px solid rgba(239,218,255,.54); border-radius:100px; background:rgba(255,255,255,.09); color:#fff; font-weight:800; }
.mode-list-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin:56px 0 22px; }
.mode-list-heading h2 { margin:4px 0 0; font-size:clamp(26px,3vw,38px); }
.mode-list-heading>span { color:#9b98ae; }
.mode-panel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.mode-display-card { position:relative; min-height:285px; overflow:hidden; isolation:isolate; border:1px solid color-mix(in srgb,var(--mode-accent),transparent 65%); border-radius:24px; background:radial-gradient(circle at 80% 12%,var(--mode-accent),transparent 40%),#181323; box-shadow:0 12px 38px rgba(0,0,0,.2); }
.mode-display-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.mode-display-card:hover>img { transform:scale(1.035); }
.mode-display-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,5,15,.94),rgba(8,8,21,.16) 77%); }
.mode-display-orb { position:absolute; right:14%; top:3%; color:rgba(255,255,255,.28); font-size:150px; }
.mode-display-copy { position:absolute; z-index:1; inset:auto 30px 28px; }
.mode-display-copy>span { color:var(--mode-accent); font-size:11px; font-weight:800; letter-spacing:.18em; }
.mode-display-copy h3 { margin:8px 0 6px; color:#fff; font-size:clamp(29px,3.4vw,43px); }
.mode-display-copy p { max-width:480px; margin:0; color:#d7d5e3; line-height:1.5; }
.season-back { padding:10px 0; border:0; background:none; color:#d7bdff; font:inherit; font-weight:700; cursor:pointer; }
.season-board-heading { margin:24px 0 36px; text-align:center; }
.season-board-heading h2 { margin:12px 0; font-size:clamp(36px,5vw,64px); }
.season-board-heading p { color:#b6b3c4; }
.season-podium { display:grid; grid-template-columns:1fr 1.16fr 1fr; align-items:end; gap:16px; margin-bottom:48px; }
.season-player { overflow:hidden; border:1px solid rgba(188,166,230,.2); border-radius:18px; background:linear-gradient(145deg,rgba(40,32,62,.95),rgba(20,20,34,.96)); color:#fff; }
.season-player summary { display:flex; align-items:center; gap:14px; padding:16px; list-style:none; cursor:pointer; }
.season-player summary::-webkit-details-marker { display:none; }
.season-player summary>img { width:46px; height:46px; border-radius:11px; image-rendering:pixelated; }
.season-player-rank { min-width:34px; color:#bdb4cf; font-weight:900; }
.season-player-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; font-weight:800; }
.season-player-name small,.season-player-points small { display:block; margin-top:3px; color:#a6a0b7; font-size:11px; font-weight:500; }
.season-player-points { color:#d6baff; font-size:20px; font-weight:900; text-align:right; }
.season-player-chevron { color:#a69ab9; transition:transform .2s ease; }
.season-player[open] .season-player-chevron { transform:rotate(180deg); }
.season-player-detail { padding:0 18px 18px; border-top:1px solid rgba(255,255,255,.08); }
.season-player-detail p { color:#bab1cc; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.season-player-detail ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.season-player-detail li { display:flex; justify-content:space-between; gap:16px; color:#eeeaf6; font-size:13px; }
.season-player-detail li em { color:#857a9b; font-style:normal; }
.season-player-detail li strong { color:#d583ff; }
.season-player.is-podium { border-color:rgba(221,193,255,.38); box-shadow:0 18px 42px rgba(4,3,12,.35); }
.season-player.is-podium summary { flex-direction:column; min-height:260px; justify-content:center; text-align:center; }
.season-player.is-podium summary>img { width:96px; height:96px; border:3px solid rgba(255,255,255,.4); border-radius:19px; }
.season-player.is-podium .season-player-name { font-size:21px; }
.season-player.is-podium .season-player-points { text-align:center; font-size:28px; }
.season-place-1.is-podium { order:2; background:radial-gradient(circle at 50% 0,rgba(255,205,82,.27),transparent 55%),linear-gradient(145deg,#3b2a3f,#211c2f); border-color:#d9ae5b; transform:translateY(-18px); }
.season-place-1.is-podium summary { min-height:310px; }
.season-place-1.is-podium .season-player-rank,.season-place-1.is-podium .season-player-points { color:#ffd67d; }
.season-place-2.is-podium { order:1; border-color:#a9b6d3; }
.season-place-2.is-podium .season-player-rank { color:#cad4e5; }
.season-place-3.is-podium { order:3; border-color:#bb846a; }
.season-place-3.is-podium .season-player-rank { color:#e0aa8c; }
.season-list { max-width:880px; margin:0 auto; }
.season-list-title { display:flex; justify-content:space-between; margin:0 0 12px; color:#a9a1b7; font-size:12px; font-weight:800; letter-spacing:.11em; }
.season-list .season-player { margin-bottom:8px; }

/* Comparativa editable de rangos */
.comparison-section-title { grid-column:1/-1; padding:14px 20px; border-top:1px solid rgba(255,255,255,.14); background:linear-gradient(90deg,rgba(146,91,230,.2),rgba(146,91,230,.03)); font-size:14px; font-weight:800; letter-spacing:.035em; }
.comparison-editor-wrap { margin-top:52px; padding-top:34px; border-top:1px solid rgba(255,255,255,.13); }
.comparison-editor-wrap code { color:#d2adff; }
.comparison-edit-section { margin:18px 0; padding:22px; border:1px solid rgba(183,152,232,.28); border-radius:18px; background:rgba(19,17,31,.8); }
.comparison-edit-heading,.comparison-edit-row-head { display:flex; align-items:end; justify-content:space-between; gap:14px; }
.comparison-edit-heading>label,.comparison-edit-row-head>label { flex:1; }
.comparison-edit-heading>div { display:flex; gap:6px; }
.comparison-edit-section label span,.mode-admin-fields label span { display:block; margin-bottom:5px; color:#bfb6d1; font-size:12px; font-weight:700; }
.comparison-edit-section input,.mode-admin-fields input,.mode-admin-fields textarea { width:100%; border:1px solid rgba(201,180,235,.24); border-radius:9px; padding:11px 12px; background:#151323; color:#fff; font:inherit; }
.comparison-edit-section input:focus,.mode-admin-fields input:focus,.mode-admin-fields textarea:focus { outline:2px solid #a276ff; outline-offset:1px; }
.comparison-edit-row { margin:13px 0; padding:16px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:rgba(255,255,255,.025); }
.comparison-edit-values { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-top:12px; }
.comparison-edit-section [data-row-add] { margin-top:5px; }

/* Editor de paneles */
.mode-admin-grid { display:grid; gap:22px; }
.mode-admin-card { overflow:hidden; border:1px solid rgba(190,160,232,.25); border-radius:18px; background:#171422; }
.mode-admin-preview { position:relative; display:flex; align-items:end; min-height:155px; padding:20px; overflow:hidden; background:radial-gradient(circle at 90% 20%,var(--mode-accent),transparent 40%),#242034; }
.mode-admin-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.6; }
.mode-admin-preview:after { content:""; position:absolute; inset:0; background:linear-gradient(transparent,rgba(0,0,0,.72)); }
.mode-admin-preview>span { position:absolute; right:10%; top:0; color:rgba(255,255,255,.22); font-size:110px; }
.mode-admin-preview>div { position:relative; z-index:1; display:grid; gap:5px; }
.mode-admin-preview small { color:var(--mode-accent); letter-spacing:.13em; }
.mode-admin-preview strong { color:white; font-size:30px; }
.mode-admin-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; padding:20px; }
.mode-admin-fields .wide { grid-column:1/-1; }
.mode-admin-fields textarea { min-height:76px; resize:vertical; }
.mode-admin-fields .mode-admin-checkbox { display:flex; align-items:center; gap:8px; }
.mode-admin-checkbox input { width:auto; }
.mode-admin-actions { display:flex; flex-wrap:wrap; gap:8px; padding:0 20px 20px; }
.danger { color:#ff9292 !important; }

@media(max-width:760px) { .season-hero{min-height:300px;padding:30px 25px}.mode-panel-grid{grid-template-columns:1fr}.season-podium{grid-template-columns:1fr;gap:10px}.season-player.is-podium{order:initial;transform:none}.season-player.is-podium summary,.season-place-1.is-podium summary{min-height:0;flex-direction:row;text-align:left}.season-player.is-podium summary>img{width:56px;height:56px}.season-player.is-podium .season-player-name{font-size:16px}.season-player.is-podium .season-player-points{font-size:21px}.comparison-edit-values{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-admin-fields{grid-template-columns:1fr}.mode-admin-fields .wide{grid-column:auto}.comparison-edit-heading,.comparison-edit-row-head{align-items:stretch;flex-direction:column}.mode-list-heading>span{display:none} }
