/* アスリート応援ソング 超絶特集：ナイターのスタジアム（夜空のネイビー × 照明の白 × 芝生のグリーン × スコアボードのアンバー）。
   濃い色はヒーロー・シアター・スコアボードだけ。本文は明るく、遊びは大きく */
.p-sports{--sn:#0a1a46;--sn2:#13296b;--sg:#0fa958;--sg2:#0b7d42;--sa:#ffb800;--sr:#ff3b30;--sb:#1e6bff;--sk:#ff2e63;--led:#ffcf3f}
.p-sports .bc{display:none}
.p-sports .btn.sp-btn-main{color:#fff;border:0;background:linear-gradient(110deg,var(--sr),var(--sk) 55%,var(--sa));box-shadow:0 10px 24px -12px rgba(255,59,48,.8)}
.p-sports .btn.sp-btn-main:hover{color:#fff;filter:brightness(1.08)}
.sp-ghost{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.55)!important;backdrop-filter:blur(4px)}
.sp-ghost:hover{background:rgba(255,255,255,.26)!important}
.sp-sub{max-width:880px;color:var(--tx2);margin:-4px 0 18px;line-height:1.9}
.sp-sub b{color:var(--sr)}
.sp-tag{display:inline-block;font:400 13px/1 var(--disp);letter-spacing:.22em;padding:6px 10px 5px;border-radius:6px;background:var(--sn);color:var(--led);transform:rotate(-2deg)}
.sp-h3{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:20px;font-weight:900;margin:36px 0 12px}
.sp-band{padding:clamp(40px,6vw,80px) 0}
.sp-band.grass{background:repeating-linear-gradient(90deg,rgba(15,169,88,.07) 0 80px,rgba(15,169,88,.03) 80px 160px)}
.sp-band.sky{background:linear-gradient(180deg,transparent,rgba(30,107,255,.07) 20%,rgba(255,184,0,.07) 85%,transparent)}

/* ---------- HERO：ナイターのスタジアム ---------- */
.sp-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;padding:clamp(50px,7vw,96px) 0 clamp(120px,13vw,170px);background:linear-gradient(180deg,rgba(6,16,48,.88) 0%,rgba(10,26,70,.62) 45%,rgba(10,26,70,.25) 75%,rgba(11,125,66,.85) 100%),var(--bg-img,none) center 40%/cover,linear-gradient(180deg,#071338,#13296b 60%,#0b7d42)}
.sp-lights{position:absolute;inset:0;z-index:-1;pointer-events:none}
.sp-lights i{position:absolute;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#fff 0 8%,rgba(255,255,255,.75) 14%,rgba(190,220,255,.25) 36%,transparent 66%);animation:sp-flare 3.4s ease-in-out infinite alternate}
.sp-lights i:nth-child(1){left:2%}.sp-lights i:nth-child(2){left:22%;animation-delay:-1.1s;top:-80px}.sp-lights i:nth-child(3){right:20%;animation-delay:-2s;top:-80px}.sp-lights i:nth-child(4){right:0;animation-delay:-.5s}
.sp-lights i::after{content:"";position:absolute;left:50%;top:50%;width:900px;height:3px;transform:translate(-50%,-50%) rotate(var(--r,18deg));background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent)}
.sp-lights i:nth-child(2n)::after{--r:-22deg}
@keyframes sp-flare{to{transform:scale(1.18);opacity:.8}}
.sp-field{position:absolute;left:-10%;right:-10%;bottom:-1px;height:clamp(70px,9vw,120px);z-index:-1;background:repeating-linear-gradient(90deg,#12b862 0 9%,#0e9a52 9% 18%);border-radius:50% 50% 0 0/100% 100% 0 0;box-shadow:0 -10px 50px rgba(15,169,88,.5)}
.sp-field::after{content:"";position:absolute;left:50%;top:22%;width:clamp(120px,16vw,220px);height:clamp(120px,16vw,220px);transform:translateX(-50%) rotate(45deg);border:3px solid rgba(255,255,255,.7);border-radius:6px}
.sp-hero-in{position:relative;max-width:940px}
.sp-led{display:flex;align-items:center;gap:0;max-width:640px;border-radius:10px;overflow:hidden;background:#05070f;box-shadow:0 0 0 2px #2b3350,0 10px 30px rgba(0,0,0,.45)}
.sp-led b{flex:none;padding:9px 12px 8px;background:var(--sr);font:400 14px/1 var(--disp);letter-spacing:.2em}
.sp-led span{flex:1;overflow:hidden;white-space:nowrap;padding:8px 0}
.sp-led span i{display:inline-block;font:400 18px/1 var(--disp);letter-spacing:.24em;color:var(--led);text-shadow:0 0 8px rgba(255,207,63,.9);animation:sp-tick 18s linear infinite;padding-left:100%}
@keyframes sp-tick{to{transform:translateX(-100%)}}
.sp-led::after{content:"";position:absolute}
.sp-hero h1{font-size:clamp(40px,8.4vw,108px);font-weight:900;line-height:1.02;letter-spacing:-.02em;margin:20px 0 16px;text-shadow:0 8px 40px rgba(0,10,40,.6)}
.sp-hero h1 small{display:block;font-size:clamp(13px,1.6vw,17px);font-weight:700;letter-spacing:.04em;margin-bottom:12px;color:#d9e6ff;text-shadow:none;line-height:1.55}
.sp-hero h1 em{font-style:normal;display:inline-block;margin:0 .06em;color:var(--led);text-shadow:0 0 24px rgba(255,207,63,.7),0 6px 0 #b36b00;transform:rotate(-3deg)}
.sp-lead{font-size:clamp(15px,1.6vw,17.5px);line-height:1.95;color:#eef3ff;max-width:820px}
.sp-lead b{color:var(--led)}
.sp-hero .hero-btns{margin-top:24px}
.sp-hero .btn.sp-btn-main{background:#fff;color:var(--sn);box-shadow:0 12px 30px -10px rgba(0,10,40,.6)}
.sp-hero .btn.sp-btn-main:hover{color:var(--sr)}
.sp-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.sp-stats div{display:grid;place-items:center;min-width:110px;padding:10px 14px 8px;border-radius:10px;background:#05070f;box-shadow:inset 0 0 0 2px #2b3350}
.sp-stats dt{font:400 clamp(28px,3.6vw,40px)/1 var(--disp);color:var(--led);text-shadow:0 0 10px rgba(255,207,63,.8);letter-spacing:.06em}
.sp-stats dd{font:400 11px/1 var(--disp);letter-spacing:.22em;color:#9fb0d9;margin-top:5px}
.sp-rk{position:absolute;right:max(16px,calc(50% - 640px));bottom:clamp(40px,6vw,70px);width:clamp(140px,21vw,260px);height:auto;filter:drop-shadow(0 14px 26px rgba(0,10,40,.55));animation:sp-bob 1.2s ease-in-out infinite}
@keyframes sp-bob{50%{transform:translateY(-8px) rotate(2deg)}}
@media(max-width:760px){.sp-rk{opacity:.35;bottom:auto;top:60px;right:-30px}}

/* 目次 */
.sp-toc{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0 6px}
.sp-toc a{flex:none;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:14px;transition:.2s}
.sp-toc a b{font:400 15px/1 var(--disp);color:var(--sg);letter-spacing:.06em}
.sp-toc a:hover{border-color:var(--sg);color:var(--sg2);transform:translateY(-2px)}

/* ---------- スタジアム MV シアター ---------- */
.sp-scenes{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}
.sp-scenes button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 14px 12px;border-radius:16px;text-align:left;background:radial-gradient(circle at 100% 0,rgba(15,169,88,.18) 0 42px,transparent 43px),var(--card);border:1px solid var(--line);transition:.2s;overflow:hidden}
.sp-scenes button:nth-child(2n){background:radial-gradient(circle at 100% 0,rgba(255,184,0,.22) 0 42px,transparent 43px),var(--card)}
.sp-scenes button:nth-child(3n){background:radial-gradient(circle at 100% 0,rgba(30,107,255,.18) 0 42px,transparent 43px),var(--card)}
.sp-scenes b{font-size:15.5px;font-weight:900}
.sp-scenes small{font-size:12px;color:var(--mut);line-height:1.55}
.sp-scenes span{display:inline-flex;align-items:center;gap:4px;margin-top:auto;font:400 13px/1 var(--disp);letter-spacing:.12em;color:var(--sg2)}
.sp-scenes span svg{width:14px;height:14px}
.sp-scenes button:hover{transform:translateY(-3px);box-shadow:0 12px 26px -14px rgba(10,26,70,.5)}
.sp-scenes button[aria-pressed]{background:linear-gradient(130deg,var(--sn2),var(--sg));color:#fff;border-color:transparent}
.sp-scenes button[aria-pressed] small,.sp-scenes button[aria-pressed] span{color:#e3fff0}
.sp-th{position:relative;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:18px;padding:clamp(12px,2vw,22px);border-radius:26px;background:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.5px) 0 0/6px 6px,radial-gradient(600px 260px at 15% 0,rgba(30,107,255,.4),transparent 70%),radial-gradient(500px 260px at 100% 100%,rgba(15,169,88,.35),transparent 70%),linear-gradient(180deg,#0f2160,var(--sn));box-shadow:0 30px 60px -20px rgba(10,26,70,.6),inset 0 0 0 2px #2b3a72}
.sp-stage{position:relative;min-width:0}
.sp-screen{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 0 0 4px #05070f,0 0 0 6px #3a4980,0 0 50px rgba(30,107,255,.3)}
.sp-screen iframe,#sp-player{position:absolute;inset:0;width:100%;height:100%;border:0}
.sp-poster{position:absolute;inset:0;z-index:1;display:grid;place-items:center;align-content:center;gap:8px;background:linear-gradient(rgba(5,10,30,.2),rgba(5,10,30,.6)),var(--img) center/cover;color:#fff}
.sp-poster i{display:grid;place-items:center;width:clamp(64px,9vw,96px);height:clamp(64px,9vw,96px);border-radius:50%;background:#fff;color:var(--sr);font-size:clamp(28px,4vw,44px);box-shadow:0 0 0 8px rgba(255,255,255,.25),0 10px 30px rgba(0,0,0,.5);transition:.2s;position:relative}
.sp-poster i::before{content:"";position:absolute;inset:6px;border-radius:50%;border:2px dashed rgba(255,59,48,.5)}
.sp-poster i svg{width:.9em;height:.9em}
.sp-poster span{font:400 18px/1 var(--disp);letter-spacing:.4em}
.sp-poster:hover i{transform:scale(1.08) rotate(20deg)}
.sp-poster[hidden]{display:none}
.sp-now{margin-top:16px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.06);color:#eaf0ff;border:1px solid rgba(255,255,255,.1)}
.sp-now.flash{animation:sp-flash .6s}
@keyframes sp-flash{from{background:rgba(255,207,63,.25)}}
.sp-now-k{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:400 14px/1 var(--disp);letter-spacing:.22em;color:var(--led)}
.sp-dot{width:9px;height:9px;border-radius:50%;background:var(--sr);box-shadow:0 0 10px var(--sr);animation:sp-blink 1.4s infinite}
@keyframes sp-blink{50%{opacity:.25}}
.sp-scene-l{margin-left:auto;padding:4px 8px 3px;border-radius:6px;background:var(--sg);color:#fff;letter-spacing:.08em;font-family:var(--jp);font-size:12px;font-weight:900}
.sp-now h3{font:900 clamp(24px,2.8vw,34px)/1.15 var(--jp);margin:8px 0 2px;color:#fff}
.sp-now-a{font-size:14px;color:#b9c6ea}
.sp-who{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-top:10px;padding:8px 12px;border-radius:10px;background:rgba(255,207,63,.12);font-size:13.5px;line-height:1.6;color:#fff4d1}
.sp-who b{font:400 12px/1 var(--disp);letter-spacing:.2em;color:var(--led)}
.sp-who[hidden]{display:none}
.sp-pts-h{margin-top:12px;font-size:12px;font-weight:900;color:var(--led);letter-spacing:.1em}
.sp-pts li{position:relative;padding-left:22px;margin-top:6px;font-size:14.5px;line-height:1.75}
.sp-pts li::before{content:"";position:absolute;left:1px;top:.5em;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.5px var(--sr)}
.sp-now-b{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px}
.sp-now-b .tlink{color:#9fd8ff}
.sp-now-b [hidden]{display:none}
.sp-plist{display:flex;flex-direction:column;min-width:0;min-height:0}
.sp-ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sp-ctl .btn{padding:9px 16px;font-size:13.5px}
.sp-ctl .btn:not(.sp-btn-main){background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.25)}
.sp-auto{font-size:13px;color:#b9c6ea;display:flex;gap:6px;align-items:center;cursor:pointer}
.sp-auto input{accent-color:var(--sa)}
.sp-cats{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.sp-cats button{padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:700;color:#dfe7ff;border:1px solid rgba(255,255,255,.2)}
.sp-cats button[aria-selected=true]{background:var(--sa);border-color:var(--sa);color:var(--sn);box-shadow:0 0 14px rgba(255,184,0,.6)}
.sp-list{flex:1;overflow:auto;max-height:660px;display:grid;gap:6px;align-content:start;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(255,207,63,.4) transparent}
.sp-list li[hidden]{display:none}
.sp-list button{width:100%;display:grid;grid-template-columns:24px 96px 1fr;gap:10px;align-items:center;text-align:left;padding:7px;border-radius:12px;color:#eaf0ff;transition:.15s}
.sp-list button:hover{background:rgba(255,255,255,.07)}
.sp-list button[aria-current]{background:linear-gradient(90deg,rgba(15,169,88,.55),rgba(30,107,255,.2));box-shadow:0 0 0 1px rgba(15,169,88,.8)}
.sp-n{font:400 17px/1 var(--disp);color:var(--led);text-align:center}
.sp-list img{width:96px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:7px}
.sp-li{min-width:0;line-height:1.35}
.sp-li b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-li small{display:block;font-size:11.5px;color:#a9b6dc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-li em{font-style:normal;font-size:11px;color:#8ff0b9}
@media(max-width:900px){.sp-th{grid-template-columns:1fr}.sp-list{max-height:420px}}

/* ---------- 選手カード（トレーディングカード風・クリックでうら返る） ---------- */
.sp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.sp-card{perspective:1200px;min-height:380px}
.sp-card-in{position:relative;height:100%;min-height:380px;transition:transform .7s cubic-bezier(.3,1.4,.5,1);transform-style:preserve-3d}
.sp-card.flipped .sp-card-in{transform:rotateY(180deg)}
.sp-card-f,.sp-card-b{position:absolute;inset:0;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.sp-card-f{display:flex;flex-direction:column;padding:12px;color:#fff;background:linear-gradient(160deg,var(--t1,#13296b),var(--t2,#0a1a46));box-shadow:0 18px 36px -20px rgba(10,26,70,.7),inset 0 0 0 5px rgba(255,255,255,.92),inset 0 0 0 7px var(--t3,var(--sa))}
.sp-card-f::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 2px,transparent 2px 14px);pointer-events:none}
.sp-card-f::after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);transform:translateX(-60%);transition:transform .9s;pointer-events:none}
.sp-card:hover .sp-card-f::after{transform:translateX(60%)}
.sp-card-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:10px 10px 0}
.sp-card-pos{font:400 13px/1 var(--disp);letter-spacing:.18em;padding:5px 8px 4px;border-radius:5px;background:rgba(255,255,255,.95);color:var(--t1,var(--sn))}
.sp-card-yr{font:400 13px/1 var(--disp);letter-spacing:.14em;color:rgba(255,255,255,.85)}
.sp-card-no{position:relative;font:400 clamp(92px,11vw,128px)/.85 var(--disp);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.75);margin:6px 0 0 10px;letter-spacing:-.02em}
.sp-card-nm{position:relative;margin-top:auto;padding:10px 12px 12px;border-radius:12px;background:rgba(0,0,0,.28);backdrop-filter:blur(2px)}
.sp-card-nm b{display:block;font-size:19px;font-weight:900;line-height:1.25}
.sp-card-nm small{display:block;font:400 12px/1.3 var(--disp);letter-spacing:.14em;color:rgba(255,255,255,.75)}
.sp-card-song{display:flex;gap:8px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.35)}
.sp-card-song i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--t3,var(--sa));color:var(--t1,var(--sn));font-style:normal;font-weight:900}
.sp-card-song span{min-width:0;line-height:1.3}
.sp-card-song span b{font-size:15px;color:#fff}
.sp-card-song span small{font-size:11.5px;letter-spacing:.04em;font-family:var(--jp)}
.sp-card-flip{position:absolute;inset:0;z-index:2;border-radius:18px}
/* 裏返した後も表の透明ボタンがクリックを奪わないように（見えない面はクリック無効） */
.sp-card.flipped .sp-card-f,.sp-card:not(.flipped) .sp-card-b{pointer-events:none}
.sp-card.flipped .sp-card-b{cursor:pointer}
.sp-card-hint{position:absolute;right:16px;top:44px;font-size:11px;font-weight:700;color:rgba(255,255,255,.75);pointer-events:none}
.sp-card-b{transform:rotateY(180deg);display:flex;flex-direction:column;gap:8px;padding:18px 18px 14px;background:#fffdf6;border:1px solid var(--line);box-shadow:0 18px 36px -20px rgba(10,26,70,.5)}
.sp-card-b::before{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--t1,var(--sn)) 14%,transparent)}
.sp-card-b h4{position:relative;font-size:17px;font-weight:900;line-height:1.35}
.sp-card-b h4 small{display:block;font-size:12px;color:var(--mut);font-weight:700}
.sp-card-b p{position:relative;font-size:13.8px;line-height:1.8}
.sp-card-b .sp-card-acts{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.sp-card-b .btn{padding:7px 12px;font-size:13px}
.sp-card-src{font-size:11px!important;color:var(--mut)}
.sp-card-src a{text-decoration:underline}

/* ---------- 日本人メジャーリーガー ---------- */
.sp-jp{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.sp-jpc{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:18px 18px 16px;border-radius:20px;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--t1,var(--sb)) 16%,transparent) 0 70px,transparent 71px),var(--card);border:1px solid var(--line);overflow:hidden}
.sp-jpc-no{grid-row:span 3;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:var(--t1,var(--sn));color:#fff;font:400 32px/1 var(--disp);box-shadow:0 0 0 4px #fff,0 0 0 6px var(--t1,var(--sn))}
.sp-jpc h3{font-size:19px;font-weight:900;line-height:1.3}
.sp-jpc h3 small{font-size:12px;color:var(--mut);font-weight:700;margin-left:6px}
.sp-jpc-tm{font:400 12.5px/1.2 var(--disp);letter-spacing:.14em;color:var(--t1,var(--sb))}
.sp-jpc ul{grid-column:1/-1;display:grid;gap:6px;margin-top:10px}
.sp-jpc li{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--bg2,#f4f6fb)}
.sp-jpc li .yr{font:400 14px/1 var(--disp);color:var(--t1,var(--sn));letter-spacing:.06em}
.sp-jpc li b{font-size:14.5px;line-height:1.3}
.sp-jpc li small{grid-column:2;font-size:12px;color:var(--mut);line-height:1.5}
.sp-jpc li .sp-pl{grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sn);color:#fff}
.sp-jpc li .sp-pl svg{width:14px;height:14px}
.sp-jpc p{grid-column:1/-1;font-size:13.5px;line-height:1.8;margin-top:8px;color:var(--tx2)}

/* ---------- NPB 洋楽登場曲リスト（スコアボード） ---------- */
.sp-npb{border-radius:22px;overflow:hidden;background:#0b1430;box-shadow:0 24px 50px -24px rgba(10,26,70,.7),inset 0 0 0 3px #26355f;color:#eaf0ff}
.sp-npb-h{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 16px;background:linear-gradient(180deg,#13214d,#0b1430);border-bottom:2px solid #26355f}
.sp-npb-f{display:flex;flex-wrap:wrap;gap:6px}
.sp-npb-f button{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:700;color:#cfd9f7;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.sp-npb-f button[aria-pressed=true]{background:var(--led);color:#1a1300;border-color:var(--led);box-shadow:0 0 12px rgba(255,207,63,.6)}
.sp-npb-h input{margin-left:auto;min-width:200px;padding:8px 12px;border-radius:8px;border:1px solid #33457a;background:#060b1d;color:#fff;font-size:14px}
.sp-npb-cnt{font:400 14px/1 var(--disp);letter-spacing:.14em;color:var(--led)}
.sp-npb-wrap{max-height:620px;overflow-x:hidden;overflow-y:auto}
.sp-npb table{width:100%;border-collapse:collapse;font-size:14px}
.sp-npb th{position:sticky;top:0;z-index:1;background:#0f1a3c;color:#8fa3d8;font:400 12px/1 var(--disp);letter-spacing:.18em;text-align:left;padding:10px 12px}
.sp-npb td{padding:10px 12px;border-top:1px solid rgba(255,255,255,.07);vertical-align:top;line-height:1.5}
.sp-npb tr:nth-child(2n) td{background:rgba(255,255,255,.025)}
.sp-npb tr[hidden]{display:none}
.sp-npb td.sp-pn b{display:block;font-size:15px}
.sp-npb td.sp-pn small{color:#8fa3d8;font-size:12px}
.sp-npb .tm{display:inline-block;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:900;color:#fff;background:var(--c,#334)}
.sp-npb td.sg b{color:var(--led);font-size:15px}
.sp-npb td.sg small{display:block;color:#b7c4e8;font-size:12px}
.sp-npb td.nt{font-size:13px;color:#c9d4f2;min-width:220px}
.sp-npb td.nt a{color:#9fd8ff;text-decoration:underline}
.sp-npb .yt{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sr);color:#fff;vertical-align:middle}
.sp-npb .yt svg{width:13px;height:13px}
@media(max-width:700px){.sp-npb th:nth-child(4),.sp-npb td.nt{display:none}.sp-npb-h input{margin-left:0;width:100%}}

/* ---------- アスリートのプレイリスト ---------- */
.sp-aths{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.sp-ath{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 18px;border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:0 16px 34px -26px rgba(10,26,70,.5)}
.sp-ath-hp{position:absolute;right:16px;top:-16px;width:62px;height:44px}
.sp-ath-sp{display:inline-flex;align-self:flex-start;gap:6px;align-items:center;font:400 12px/1 var(--disp);letter-spacing:.18em;padding:6px 10px 5px;border-radius:999px;background:var(--c,var(--sg));color:#fff}
.sp-ath h3{font-size:21px;font-weight:900;line-height:1.3}
.sp-ath h3 small{display:block;font:400 12.5px/1.3 var(--disp);letter-spacing:.12em;color:var(--mut)}
.sp-ath-q{position:relative;padding:12px 14px;border-radius:14px;background:#f3f7ff;font-size:14px;line-height:1.85}
.sp-ath-q::before{content:"";position:absolute;left:22px;top:-9px;border:9px solid transparent;border-top:0;border-bottom-color:#f3f7ff}
.sp-ath-songs{display:grid;gap:6px}
.sp-ath-songs li{display:flex;gap:10px;align-items:center;padding:7px 10px;border-radius:12px;border:1px dashed var(--line)}
.sp-ath-songs li span{flex:1;min-width:0;line-height:1.35}
.sp-ath-songs li b{display:block;font-size:14.5px}
.sp-ath-songs li small{display:block;font-size:12px;color:var(--mut)}
.sp-ath-songs .sp-pl{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--c,var(--sg));color:#fff}
.sp-ath-songs .sp-pl svg{width:14px;height:14px}
.sp-ath-src{margin-top:auto;font-size:11.5px;color:var(--mut)}
.sp-ath-src a{text-decoration:underline}

/* ---------- スタジアムの定番（チャント） ---------- */
.sp-anth{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}
.sp-an{position:relative;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:0 20px 40px -28px rgba(10,26,70,.5);transition:.25s}
.sp-an:hover{transform:translateY(-4px)}
.sp-an-img{position:relative;aspect-ratio:16/8;overflow:hidden;background:#000}
.sp-an-img img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1);transition:transform .4s}
.sp-an:hover .sp-an-img img{transform:scale(1.05)}
.sp-an-img::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(5,10,30,.75))}
.sp-an-n{position:absolute;left:14px;bottom:8px;z-index:1;font:400 54px/1 var(--disp);color:#fff;text-shadow:0 0 18px rgba(0,0,0,.5)}
.sp-an-where{position:absolute;right:12px;bottom:12px;z-index:1;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.sp-an-where span{font-size:11.5px;font-weight:900;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--sn)}
.sp-an-play{position:absolute;right:14px;top:14px;z-index:1;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--sr);color:#fff;box-shadow:0 0 0 6px rgba(255,59,48,.3)}
.sp-an-play svg{width:22px;height:22px}
.sp-an-tx{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.sp-an-tx h3 b{display:block;font:900 22px/1.2 var(--jp)}
.sp-an-tx h3 small{display:block;font-size:12.5px;color:var(--mut);font-weight:700;margin-top:2px}
.sp-an-tx p{font-size:14.3px;line-height:1.85}
.sp-chant{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--sn);color:#fff;font-weight:900;font-size:14px}
.sp-chant small{width:100%;font:400 11px/1 var(--disp);letter-spacing:.2em;color:var(--led)}
.sp-chant i{font-style:normal;display:grid;place-items:center;min-width:42px;height:34px;padding:0 8px;border-radius:8px;background:rgba(255,255,255,.12)}
.sp-chant i.s{background:var(--sb)}.sp-chant i.c{background:var(--sa);color:var(--sn)}.sp-chant i.r{background:transparent;color:rgba(255,255,255,.4)}
.sp-an .tlink{margin-top:auto}

/* ---------- 大会ソング年表 ---------- */
.sp-cup{position:relative;display:grid;gap:14px;padding-left:34px}
.sp-cup::before{content:"";position:absolute;left:12px;top:6px;bottom:6px;width:4px;border-radius:2px;background:linear-gradient(var(--sg),var(--sb),var(--sa))}
.sp-cup li{position:relative;display:grid;grid-template-columns:110px 1fr;gap:4px 16px;padding:14px 16px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.sp-cup li::before{content:"";position:absolute;left:-29px;top:20px;width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid var(--sg)}
.sp-cup-y{grid-row:span 3;font:400 30px/1 var(--disp);color:var(--sn)}
.sp-cup-y small{display:block;font:700 12px/1.4 var(--jp);color:var(--mut);margin-top:4px}
.sp-cup h3{font-size:17px;font-weight:900;line-height:1.35}
.sp-cup h3 small{font-size:12.5px;color:var(--mut);font-weight:700;margin-left:6px}
.sp-cup p{font-size:14px;line-height:1.8;color:var(--tx2)}
.sp-cup .acts{display:flex;flex-wrap:wrap;gap:4px 14px}
@media(max-width:600px){.sp-cup li{grid-template-columns:1fr}.sp-cup-y{grid-row:auto}}

/* ---------- 科学：なぜ音楽で強くなる？ ---------- */
.sp-sci{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.sp-sci>div{position:relative;padding:20px 18px 16px;border-radius:20px;background:#fff;border:1px solid var(--line);overflow:hidden}
.sp-sci>div::after{content:"";position:absolute;right:-16px;bottom:-16px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(15,169,88,.22) 0 40%,transparent 41%),radial-gradient(circle,transparent 0 55%,rgba(15,169,88,.15) 56% 62%,transparent 63%)}
.sp-sci b{display:block;font:400 34px/1 var(--disp);color:var(--sg2);margin-bottom:6px}
.sp-sci h3{font-size:17px;font-weight:900;margin-bottom:6px}
.sp-sci p{font-size:14px;line-height:1.85;color:var(--tx2)}
.sp-sci small{display:block;margin-top:8px;font-size:11.5px;color:var(--mut)}
.sp-sci small a{text-decoration:underline}
.sp-bpm{margin-top:18px;padding:18px;border-radius:20px;background:var(--sn);color:#fff}
.sp-bpm p.h{font-weight:900;margin-bottom:10px}
.sp-bpm-bar{position:relative;height:46px;border-radius:12px;background:linear-gradient(90deg,#2bb3ff,#0fa958 35%,#ffb800 65%,#ff3b30)}
.sp-bpm-bar span{position:absolute;top:100%;transform:translateX(-50%);margin-top:6px;font-size:12px;white-space:nowrap;text-align:center;line-height:1.35}
.sp-bpm-bar span b{display:block;font:400 15px/1 var(--disp);color:var(--led)}
.sp-bpm-bar span::before{content:"";position:absolute;left:50%;top:-14px;width:2px;height:10px;background:#fff}
.sp-bpm-sp{height:64px}

/* ---------- 英語講座 ---------- */
.sp-lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.sp-l{position:relative;display:flex;flex-direction:column;gap:8px;padding:30px 20px 18px;border-radius:20px;background:var(--card);border:1px solid var(--line);margin-top:12px}
.sp-l-n{position:absolute;top:-13px;left:16px;display:flex;align-items:center;gap:6px;font:400 13px/1 var(--disp);letter-spacing:.2em;padding:7px 12px 6px;border-radius:8px;background:linear-gradient(130deg,var(--sn2),var(--sg));color:#fff}
.sp-l-n b{font-size:18px;letter-spacing:.02em}
.sp-l h3{font-size:21px;font-weight:900;color:var(--sn2)}
.sp-l-sub{font-weight:700;color:var(--sr);font-size:14px}
.sp-l-sub span{display:block;font-size:12px;color:var(--mut);font-weight:400}
.sp-l-sub a{color:var(--sn2);text-decoration:underline}
.sp-l>p{font-size:14.5px;line-height:1.85}
.sp-l ul{display:grid;gap:6px}
.sp-l li{padding:8px 12px;border-radius:10px;background:#f2f6ff}
.sp-l li b{font-size:15px}.sp-l li small{display:block;color:var(--mut)}
.sp-l details{margin-top:auto;border-top:1px dashed var(--line);padding-top:10px}
.sp-l summary{cursor:pointer;font-weight:700;color:var(--sn2)}
.sp-l details p{margin-top:6px;padding:8px 12px;border-radius:10px;background:#e8fff1;font-weight:700}
.sp-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.sp-w{display:flex!important;flex-direction:column;align-items:flex-start;width:auto!important;height:auto!important;padding:10px 14px!important;border-radius:12px!important;background:var(--card)!important;border:1px solid var(--line)!important;text-align:left;color:var(--tx)!important}
.sp-w b{font-size:16px}.sp-w span{font-size:12.5px;color:var(--mut);line-height:1.5}
.sp-w:hover,.sp-w.on{border-color:var(--sg)!important;background:#eefff5!important}

/* ---------- あなたの登場曲メーカー ---------- */
.sp-maker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;padding:clamp(16px,2.4vw,28px);border-radius:28px;background:radial-gradient(circle at 0 0,rgba(255,184,0,.25),transparent 40%),radial-gradient(circle at 100% 100%,rgba(15,169,88,.22),transparent 45%),#fff;border:1px solid var(--line);box-shadow:0 30px 60px -36px rgba(10,26,70,.5)}
.sp-mk-form{display:grid;gap:12px;align-content:start}
.sp-mk-form label{display:grid;gap:4px;font-weight:700;font-size:14px}
.sp-mk-form label small{font-weight:400;color:var(--mut);font-size:12px}
.sp-mk-form input,.sp-mk-form select{padding:11px 14px;border-radius:12px;border:2px solid var(--line);font-size:16px;background:#fff}
.sp-mk-form input:focus,.sp-mk-form select:focus{border-color:var(--sg);outline:0}
.sp-mk-row{display:grid;grid-template-columns:110px 1fr;gap:10px}
.sp-mk-start{display:grid;place-items:center;gap:12px;text-align:center;padding:20px;border-radius:20px;background:var(--sn);color:#fff;min-height:280px}
.sp-mk-start p{font-size:14px;color:#c9d4f2;line-height:1.8}
.sp-mk-start[hidden],.sp-mk-q[hidden],.sp-mk-res[hidden]{display:none}
.sp-mk-q{padding:20px;border-radius:20px;background:var(--sn);color:#fff;min-height:280px}
.sp-mk-step{display:flex;align-items:center;gap:10px;font:400 13px/1 var(--disp);letter-spacing:.2em;color:var(--led)}
.sp-mk-step span{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden}
.sp-mk-step i{display:block;height:100%;background:var(--led);transition:width .3s}
.sp-mk-qt{font-size:clamp(18px,2.2vw,22px);font-weight:900;margin:16px 0 14px;line-height:1.5}
.sp-mk-opts{display:grid;gap:8px}
.sp-mk-opts button{padding:12px 16px;border-radius:14px;text-align:left;font-weight:700;font-size:15px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);transition:.15s}
.sp-mk-opts button:hover{background:var(--sg);border-color:var(--sg);transform:translateX(4px)}
.sp-mk-res{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}
@media(max-width:860px){.sp-maker,.sp-mk-res{grid-template-columns:1fr}}
.sp-jumbo{position:relative;display:grid;gap:4px;padding:22px 20px;border-radius:16px;background:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.6px) 0 0/5px 5px,#04060e;box-shadow:0 0 0 5px #1b2340,0 0 0 8px #3a4980,0 20px 40px -20px rgba(0,0,0,.7);text-align:center;overflow:hidden}
.sp-jumbo p{font-family:var(--disp);color:var(--led);text-shadow:0 0 6px rgba(255,207,63,.95),0 0 18px rgba(255,150,0,.6);letter-spacing:.14em}
.sp-jumbo-k{font-size:clamp(15px,2vw,20px);color:#ff6a5f!important;text-shadow:0 0 8px rgba(255,59,48,.9)!important}
.sp-jumbo-no{font-size:clamp(64px,9vw,110px);line-height:.9}
.sp-jumbo-n{font-size:clamp(24px,3.6vw,40px);line-height:1.1;font-family:var(--jp)!important;font-weight:900;letter-spacing:.06em;word-break:break-all}
.sp-jumbo-s{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 10px;margin-top:8px;padding-top:10px;border-top:1px dashed rgba(255,207,63,.3);font-size:15px;color:#9ff0c3!important;text-shadow:0 0 8px rgba(80,255,160,.7)!important;letter-spacing:.06em!important}
.sp-jumbo-s b{font-size:20px}.sp-jumbo-s small{width:100%;font-size:13px}
.sp-jumbo.on{animation:sp-jumbo 1.2s steps(2) 3}
.sp-jumbo.on .sp-jumbo-no,.sp-jumbo.on .sp-jumbo-n{animation:sp-zoom .7s cubic-bezier(.3,1.6,.5,1)}
@keyframes sp-jumbo{50%{box-shadow:0 0 0 5px var(--led),0 0 0 8px #3a4980,0 0 60px rgba(255,207,63,.7)}}
@keyframes sp-zoom{from{transform:scale(2.4);opacity:0}}
.sp-mk-out h3{font-size:clamp(28px,4vw,44px);font-weight:900;line-height:1.15;margin:10px 0 2px}
.sp-mk-out h3 small{display:block;font-size:14px;color:var(--mut);margin-bottom:4px}
.sp-mk-a{font-weight:700;color:var(--sg2);margin-bottom:8px}
.sp-mk-out>p{line-height:1.85;font-size:14.5px}
.sp-mk-w{margin-top:8px;padding:10px 12px;border-radius:12px;background:#fff8e1;font-size:13.5px!important}
.sp-mk-w b{display:block;font-size:12px;color:#a06a00}
.sp-mk-out .hero-btns{margin-top:14px}

/* ---------- ドン・ドン・パン！ ---------- */
.sp-rock{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;padding:clamp(14px,2vw,24px);border-radius:28px;background:linear-gradient(180deg,#0f2160,#060c22);color:#fff;box-shadow:0 30px 60px -30px rgba(10,26,70,.7)}
.sp-rock-stage{position:relative;min-height:340px;border-radius:18px;overflow:hidden;background:radial-gradient(500px 200px at 50% 110%,rgba(255,184,0,.25),transparent 70%),#050916;box-shadow:inset 0 0 0 2px #26355f}
#sp-rock-cv{position:absolute;inset:0;width:100%;height:100%}
.sp-rock-hud{position:absolute;left:12px;right:12px;top:10px;display:flex;justify-content:space-between;font:400 16px/1 var(--disp);letter-spacing:.14em;color:var(--led);pointer-events:none}
.sp-rock-j{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);font:400 clamp(30px,5vw,52px)/1 var(--disp);letter-spacing:.08em;pointer-events:none;opacity:0}
.sp-rock-j.pop{animation:sp-pop .5s ease-out forwards}
@keyframes sp-pop{0%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-70%) scale(1)}}
.sp-rock-j.perfect{color:#9ff0c3;text-shadow:0 0 24px rgba(80,255,160,.8)}.sp-rock-j.great{color:#7cc4ff}.sp-rock-j.good{color:var(--led)}.sp-rock-j.miss{color:#ff6a5f}.sp-rock-j.ready{color:#fff}
.sp-pads{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}
.sp-pad{display:grid;place-items:center;height:64px;border-radius:14px;font-weight:900;font-size:18px;color:#fff;touch-action:manipulation;user-select:none}
.sp-pad small{display:block;font:400 11px/1 var(--disp);letter-spacing:.16em;opacity:.8}
.sp-pad[data-lane=s]{background:linear-gradient(180deg,#3d86ff,#1e4fcf)}
.sp-pad[data-lane=c]{background:linear-gradient(180deg,#ffcf3f,#e89400);color:var(--sn)}
.sp-pad.hit{animation:sp-hit .18s}
@keyframes sp-hit{0%{transform:scale(.94);filter:brightness(1.5)}}
.sp-rock-side{display:flex;flex-direction:column;gap:10px}
.sp-rock-side h3{font-size:24px;font-weight:900}
.sp-rock-side p{font-size:14px;line-height:1.85;color:#d4ddf7}
.sp-rock-lv{display:grid;gap:8px}
.sp-rock-lv button{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:14px;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);font-weight:700;text-align:left;transition:.15s}
.sp-rock-lv button small{font:400 13px/1 var(--disp);letter-spacing:.12em;color:var(--led)}
.sp-rock-lv button:hover{background:var(--sg);border-color:var(--sg)}
.sp-rock.playing .sp-rock-lv button{opacity:.4;pointer-events:none}
.sp-rock-msg{min-height:3.4em;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06)}
.sp-rock-msg b{color:var(--led);font-size:18px}
.sp-rock-msg a{color:#9fd8ff}
.sp-rock-best{font-size:13px;color:var(--led)}
.sp-keys{font-size:12px!important;color:#93a3cf!important}
.sp-keys kbd{display:inline-block;padding:1px 6px;border-radius:4px;background:#1c2a55;border:1px solid #3a4980;font-family:inherit}
@media(max-width:860px){.sp-rock{grid-template-columns:1fr}}

/* ---------- ゲーム（クイズ） ---------- */
.sp-games{padding:clamp(40px,6vw,80px) 0;background:linear-gradient(180deg,rgba(15,169,88,.08),transparent)}
.sp-ggrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start;margin-top:18px}
.sp-gm{min-height:300px;width:100%;border-color:#cfe7da;background:radial-gradient(circle at 50% 0,rgba(15,169,88,.1),transparent 65%),var(--card)}
.sp-gm .q-n{color:var(--sg2)}
.sp-qt{font-size:clamp(17px,2vw,21px)!important}
.sp-why{font-size:14px;color:var(--tx2);margin-bottom:10px;text-align:left;padding:10px 14px;border-radius:10px;background:#f2f6ff}
.sp-gm .q-after{width:100%}
.sp-who-o{grid-template-columns:1fr 1fr}
.sp-who-o button{padding:8px!important;display:flex;flex-direction:column;gap:2px;font-size:13px!important;text-align:left}
.sp-who-o img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin-bottom:4px}

/* 曲ページの案内ボックス */
/* まだまだあるスタジアム曲 */
.sp-scs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:18px}
.sp-sc button{display:block;width:100%;text-align:left;padding:0;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line);cursor:pointer;transition:transform .2s,box-shadow .2s}
.sp-sc button:hover{transform:translateY(-3px);box-shadow:0 14px 26px -16px rgba(10,26,70,.55)}
.sp-sc img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.sp-sc span{display:grid;gap:2px;padding:9px 12px 11px}
.sp-sc b{font-size:14px;line-height:1.3}
.sp-sc small{font-size:11.5px;color:var(--mut);line-height:1.45}
/* NPB のトレンド */
.sp-trend{margin-top:22px;padding:18px 20px;border-radius:18px;background:var(--sn);color:#fff}
.sp-trend .sp-tag{background:var(--led);color:var(--sn)}
.sp-trend ul{display:grid;gap:8px;margin-top:12px}
.sp-trend li{line-height:1.7;font-size:14.5px}
.sp-trend li b{color:var(--led)}
.sp-jpc{align-content:start}
.sp-jpc-no{grid-row:1/3;align-self:center}
.sp-jpc h3,.sp-jpc .sp-jpc-tm{grid-column:2;margin-top:0}
.sp-jpc h3{align-self:end}
@media (max-width:1180px){.sp-scenes{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.sp-scenes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.sp-card,.sp-card-in{min-height:330px}.sp-card-no{font-size:84px}.sp-npb td.sp-pn small{white-space:nowrap}.sp-npb td.sp-pn b{font-size:14px}}
/* ===== ページ分け（2026-11-14）：特集の中のページ切りかえ・入口タイル・小さいヒーロー・ポップアップのプレーヤー ===== */
.sp-sub-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:18px 0 4px}
.sp-sub-nav a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-weight:900;font-size:13.5px;line-height:1.3;transition:transform .2s,border-color .2s}
.sp-sub-nav a img{flex:none;width:40px;height:40px}
.sp-sub-nav a small{display:block;font:400 11.5px/1 var(--disp);letter-spacing:.14em;color:var(--sg);margin-bottom:3px}
.sp-sub-nav a:hover{transform:translateY(-2px);border-color:var(--sg)}
.sp-sub-nav a[aria-current]{background:linear-gradient(130deg,var(--sn),var(--sn2));color:#fff;border-color:transparent}
.sp-sub-nav a[aria-current] small{color:var(--led)}
@media (max-width:1100px){.sp-sub-nav{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.sp-sub-nav{grid-template-columns:repeat(2,1fr)}.sp-sub-nav a{font-size:12.5px;padding:7px 8px}.sp-sub-nav a img{width:32px;height:32px}}
.sp-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.sp-hub-t{position:relative;display:grid;gap:6px;padding:20px 20px 18px 132px;min-height:150px;border-radius:22px;background:radial-gradient(circle at 0 100%,color-mix(in srgb,var(--c) 22%,transparent) 0 120px,transparent 121px),var(--card);border:1px solid var(--line);transition:transform .2s,box-shadow .2s;overflow:hidden}
.sp-hub-t img{position:absolute;left:12px;bottom:10px;width:110px;height:110px}
.sp-hub-t small{font:400 13px/1 var(--disp);letter-spacing:.2em;color:var(--c)}
.sp-hub-t b{font-size:19px;font-weight:900;line-height:1.3}
.sp-hub-t span{font-size:13px;color:var(--tx2);line-height:1.7}
.sp-hub-t i{position:absolute;right:16px;top:18px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c);color:#fff}
.sp-hub-t i svg{width:15px;height:15px}
.sp-hub-t:hover{transform:translateY(-4px);box-shadow:0 18px 30px -18px color-mix(in srgb,var(--c) 70%,transparent)}
@media (max-width:480px){.sp-hub-t{padding-left:104px}.sp-hub-t img{width:84px;height:84px}}
.sp-hero.sm{padding:clamp(36px,5vw,60px) 0 clamp(70px,8vw,100px)}
.sp-hero.sm h1{font-size:clamp(34px,6.4vw,76px);margin:16px 0 12px}
.sp-hero.sm .sp-rk{width:clamp(110px,15vw,190px);bottom:clamp(20px,4vw,40px)}
.sp-hero.sm .sp-lead{max-width:720px}
.sp-next{display:flex;justify-content:center;padding:10px 0 50px}
.sp-more{display:flex;margin:16px auto 0}
.sp-mp{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(4,10,30,.72);backdrop-filter:blur(3px)}
.sp-mp[hidden]{display:none}
html.sp-mp-open{overflow:hidden}
.sp-mp-in{position:relative;display:grid;grid-template-columns:1.6fr 1fr;width:min(1080px,100%);max-height:calc(100dvh - 32px);overflow:auto;border-radius:20px;background:var(--sn);color:#fff;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.sp-mp-v{aspect-ratio:16/9;background:#000}
.sp-mp-v iframe{display:block;width:100%;height:100%;border:0}
.sp-mp-tx{display:grid;align-content:start;gap:8px;padding:20px 20px 18px}
.sp-mp-tx h3{font-size:22px;font-weight:900;line-height:1.25;padding-right:30px}
.sp-mp-tx .sp-now-a{color:#a9b6dc;font-size:13.5px}
.sp-mp-tx .sp-pts{display:grid;gap:6px;font-size:13.5px;line-height:1.75;color:#e6ecff}
.sp-mp-tx .sp-pts li{padding-left:14px;position:relative}
.sp-mp-tx .sp-pts li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--led)}
.sp-mp-b{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:4px}
.sp-mp-b .tlink{color:var(--led)}
.sp-mp-x{position:absolute;right:10px;top:10px;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:22px;line-height:1}
.sp-mp-x:hover{background:rgba(255,255,255,.28)}
@media (max-width:820px){.sp-mp-in{grid-template-columns:1fr}.sp-mp-x{background:rgba(0,0,0,.55)}}
@media (min-width:900px){.sp-hub{grid-template-columns:repeat(6,1fr)}.sp-hub-t{grid-column:span 2}.sp-hub-t:nth-child(n+4){grid-column:span 3}}
.sp-hero.sm{background:linear-gradient(180deg,rgba(6,16,48,.9) 0%,rgba(10,26,70,.78) 60%,rgba(11,125,66,.88) 100%),var(--bg-img) center 30%/cover no-repeat}
.sp-hero.sm .sp-lead{text-shadow:0 2px 10px rgba(0,10,40,.9)}
.sp-more{padding:11px 22px;font-weight:900;background:var(--sn);color:#fff;border:0}
.sp-more:hover{background:var(--sn2);color:#fff}
