/* 曲名は知らないのに、絶対聞いたことある洋楽100（/heard100/）。モチーフ：昭和〜平成のブラウン管テレビとカラーバー */
.p-hd{--y:#ffd21f;--cy2:#19c6e6;--g:#25c26e;--m:#ff4fa8;--rd:#ff5a4e;--bl:#4b6bff;--or:#ff9a1f;--ink:#1d1a24}
.p-hd main{overflow-x:clip}

/* ---------- ヒーロー ---------- */
.hd-hero{position:relative;overflow:hidden;padding:42px 0 46px;background:radial-gradient(circle at 80% 30%,rgba(255,210,31,.35),transparent 42%),radial-gradient(circle at 5% 95%,rgba(25,198,230,.22),transparent 40%),repeating-radial-gradient(circle at 80% 40%,rgba(29,26,36,.035) 0 2px,transparent 2px 14px),var(--bg);border-bottom:3px solid var(--ink)}
.hd-bars{position:absolute;left:0;right:0;bottom:0;height:12px;display:flex}
.hd-bars i{flex:1;background:var(--c)}
.hd-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px 50px;align-items:center}
.hd-k{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:400 17px/1 var(--disp);letter-spacing:.12em;color:var(--tx2)}
.hd-onair{background:var(--rd);color:#fff;padding:5px 10px 4px;border-radius:6px;letter-spacing:.08em;animation:hd-blink 1.6s steps(2) infinite}
@keyframes hd-blink{50%{opacity:.55}}
.hd-h1{margin:14px 0 16px;font-weight:900;font-size:clamp(30px,4.6vw,58px);line-height:1.22;letter-spacing:-.01em}
.hd-h1 .nw{display:inline-block}
.hd-h1-s{display:block;font-size:.62em;color:var(--tx2)}
.hd-h1 em{font-style:normal;color:#fff;background:var(--rd);padding:0 .14em;border-radius:.12em;box-shadow:.08em .08em 0 var(--ink);margin-right:.05em}
.hd-100{display:inline-block;font:400 1.75em/0.8 var(--disp);letter-spacing:.02em;margin-left:.08em;background:linear-gradient(90deg,var(--y) 0 14.3%,var(--cy2) 0 28.6%,var(--g) 0 42.9%,var(--m) 0 57.2%,var(--rd) 0 71.5%,var(--bl) 0 85.8%,var(--or) 0);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px var(--ink);vertical-align:-.08em}
.hd-h1 small{display:block;margin-top:10px;font-size:clamp(13px,1.4vw,16px);font-weight:700;color:var(--mut);letter-spacing:0}
.hd-lead{font-size:clamp(15px,1.5vw,17px);color:var(--tx2);max-width:640px}
.hd-lead b{color:var(--tx);background:linear-gradient(transparent 62%,rgba(255,210,31,.55) 0)}
.hd-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hd-safe{margin-top:12px;font-size:12.5px;color:var(--mut)}

/* ブラウン管テレビ */
.hd-tv{position:relative;justify-self:center;width:min(420px,100%);padding-top:56px}
.hd-tv-ant{position:absolute;top:0;left:50%;width:180px;height:70px;transform:translateX(-50%)}
.hd-tv-ant i{position:absolute;bottom:0;left:50%;width:4px;height:78px;background:var(--ink);border-radius:2px;transform-origin:bottom}
.hd-tv-ant i:first-child{transform:rotate(-34deg)}.hd-tv-ant i:last-child{transform:rotate(30deg)}
.hd-tv-ant i::after{content:"";position:absolute;top:-7px;left:-5px;width:14px;height:14px;border-radius:50%;background:var(--rd)}
.hd-tv-body{position:relative;display:grid;grid-template-columns:1fr 84px;gap:14px;padding:18px;background:linear-gradient(160deg,#c98a4b,#9b5f2c);border:3px solid var(--ink);border-radius:26px;box-shadow:8px 8px 0 var(--ink)}
.hd-tv-scr{position:relative;aspect-ratio:4/3;border-radius:22px/30px;overflow:hidden;background:#222;border:3px solid var(--ink);box-shadow:inset 0 0 40px rgba(0,0,0,.6)}
.hd-noise{position:absolute;inset:-50%;background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 3px),radial-gradient(circle,rgba(255,255,255,.18) 1px,transparent 1.5px) 0 0/5px 5px;animation:hd-noise .4s steps(4) infinite;opacity:.6}
@keyframes hd-noise{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}
.hd-tv-ch{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:12px;color:#fff;background:linear-gradient(90deg,#d9d9d9 0 14.3%,var(--y) 0 28.6%,var(--cy2) 0 42.9%,var(--g) 0 57.2%,var(--m) 0 71.5%,var(--rd) 0 85.8%,var(--bl) 0);transition:opacity .25s}
.hd-tv-ch::before{content:"";position:absolute;inset:18% 8%;background:rgba(29,26,36,.86);border-radius:10px}
.hd-tv-ch>*{position:relative}
.hd-tv-ch small{font:400 16px/1 var(--disp);letter-spacing:.2em;color:var(--y)}
.hd-tv-ch b{font:400 clamp(24px,3vw,34px)/1.05 var(--disp);letter-spacing:.03em;margin:6px 0}
.hd-tv-ch span{font-size:12.5px;font-weight:700}
.hd-tv-ch.off{opacity:0}
.hd-tv-rk{position:absolute;left:-34px;bottom:-6px;width:118px;z-index:2;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.35))}
.hd-tv-side{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:8px}
.hd-knob{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6d8,#e2c27e 60%,#a8823e);border:3px solid var(--ink);position:relative}
.hd-knob::after{content:"";position:absolute;top:4px;left:50%;width:3px;height:14px;background:var(--ink);transform:translateX(-50%)}
.hd-knob+.hd-knob::after{transform:translateX(-50%) rotate(60deg);transform-origin:50% 16px}
.hd-grill{display:grid;gap:6px;width:56px;margin-top:6px}
.hd-grill i{height:5px;border-radius:3px;background:rgba(29,26,36,.55)}
.hd-tv-legs{display:flex;justify-content:space-between;padding:0 50px}
.hd-tv-legs i{width:14px;height:26px;background:var(--ink);border-radius:0 0 6px 6px}

/* ---------- 点数の帯（上にくっつく） ---------- */
.hd-bar{position:sticky;top:var(--hdh,64px);z-index:30;background:rgba(255,253,247,.94);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink)}
.hd-bar-in{display:flex;align-items:center;gap:10px 18px;padding:9px 0;flex-wrap:wrap}
.hd-score{display:flex;align-items:baseline;gap:6px;font-weight:900}
.hd-score small{font-size:12px;color:var(--mut)}
.hd-score b{font:400 38px/1 var(--disp);color:var(--rd)}
.hd-score span{font:400 20px/1 var(--disp);color:var(--tx2)}
.hd-prog{flex:1;min-width:120px;height:14px;border-radius:8px;background:#eee8da;border:2px solid var(--ink);overflow:hidden;display:flex}
.hd-prog i{display:block;height:100%;width:0;transition:width .35s}
#hd-prog-y{background:linear-gradient(90deg,var(--y),var(--or),var(--m),var(--rd))}
#hd-prog-n{background:repeating-linear-gradient(45deg,#cfc7b8 0 5px,#e2dbcd 5px 10px)}
.hd-done{font-size:12.5px;color:var(--mut);font-weight:700}
.hd-res-btn{padding:9px 18px;font-size:14px}

/* ---------- セクション共通 ---------- */
.hd-sec{padding:46px 0 10px}
.hd-sh{margin-bottom:20px}
.hd-sh p{font:400 16px/1 var(--disp);letter-spacing:.18em;color:var(--rd)}
.hd-sh h2{font-size:clamp(22px,2.8vw,32px);font-weight:900;line-height:1.35;margin:6px 0 4px}
.hd-sh span{font-size:14px;color:var(--mut)}

/* 絞り込み */
.hd-tools{display:grid;gap:12px;margin-bottom:18px}
.hd-filter{display:flex;flex-wrap:wrap;gap:8px}
.hd-filter button{padding:7px 14px;border-radius:999px;border:2px solid var(--ink);background:#fff;font-size:13.5px;font-weight:700;position:relative;overflow:hidden}
.hd-filter button small{font:400 15px/1 var(--disp);margin-left:3px;color:var(--mut)}
.hd-filter button[style]::before{content:"";position:absolute;right:-8px;top:-8px;width:20px;height:20px;border-radius:50%;background:var(--c)}
.hd-filter button.on{background:var(--ink);color:#fff}
.hd-filter button.on small{color:var(--y)}
.hd-opts{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:13.5px}
.hd-tg{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:700}
.hd-tg input{width:18px;height:18px;accent-color:var(--rd)}
.hd-shuf{padding:6px 12px;border-radius:8px;background:var(--bg2);border:1px solid var(--line);font-weight:700;font-size:13px}

/* 年代の見出し */
.hd-era{margin-bottom:26px}
.hd-era-h{display:flex;align-items:baseline;gap:10px;margin:8px 0 14px;padding-bottom:6px;border-bottom:2px dashed var(--line)}
.hd-era-h b{font-size:20px;font-weight:900}
.hd-era-h small{font:400 18px/1 var(--disp);color:var(--mut)}
.hd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:start}

/* ---------- 曲カード（角の四分円の色面＋白抜き番号。縁の色線は使わない） ---------- */
.hd-c{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 16px 14px;background:#fff;border:2px solid var(--ink);border-radius:18px;box-shadow:4px 4px 0 var(--ink);overflow:hidden;transition:transform .15s,box-shadow .15s}
.hd-c::before{content:"";position:absolute;right:-46px;top:-46px;width:120px;height:120px;border-radius:50%;background:var(--c1);opacity:.9;transition:background .2s}
.hd-c[data-v="1"]::before{background:var(--rd);opacity:1}
.hd-c[data-v="0"]::before{background:#b9b3c2}
.hd-c-top{position:relative;display:flex;align-items:center;gap:10px}
.hd-no{font:400 34px/1 var(--disp);color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:2px 2px 0 var(--ink);letter-spacing:.03em}
.hd-chips{display:flex;flex-wrap:wrap;gap:4px;padding-right:56px}
.hd-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--c) 22%,#fff);border:1px solid color-mix(in srgb,var(--c) 70%,#000 0%)}
.hd-where{position:relative;font-weight:900;font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg2);padding:8px 12px;border-radius:10px}
.hd-where::before{content:"📺 どこで聞いた？";display:block;font-size:10.5px;color:var(--mut);letter-spacing:.06em}
.hd-c-mid{display:flex;gap:12px;align-items:center}
.hd-play{flex:none;position:relative;width:74px;height:74px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;align-content:center;gap:0;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--ink);transition:transform .15s}
.hd-play svg{width:26px;height:26px;margin-left:3px}
.hd-play small{font-size:9.5px;font-weight:700;line-height:1;margin-top:2px}
.hd-play:hover{transform:scale(1.06)}
.hd-play:disabled{opacity:.35;cursor:default}
.hd-eq{position:absolute;inset:0;display:none;align-items:flex-end;justify-content:center;gap:3px;padding-bottom:18px}
.hd-eq i{width:5px;background:var(--y);border-radius:2px;animation:hd-eq .7s ease-in-out infinite alternate}
.hd-eq i:nth-child(2){animation-delay:.2s}.hd-eq i:nth-child(3){animation-delay:.4s}
@keyframes hd-eq{from{height:6px}to{height:26px}}
.hd-play.now .hd-eq{display:flex}
.hd-play.now svg,.hd-play.now small{opacity:0}
.hd-ttl{min-width:0}
.hd-ttl h3{font:400 clamp(24px,2.4vw,28px)/1.05 var(--disp);letter-spacing:.02em;overflow-wrap:anywhere}
.hd-art{font-size:13px;color:var(--tx2);font-weight:700;margin-top:3px}
.hd-ja{font-size:12px;color:var(--mut)}
.hd-yn{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.hd-yn button,.hd-pop-yn button{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 6px;border-radius:12px;border:2px solid var(--ink);font-weight:900;font-size:14px;background:#fff;transition:transform .1s,background .15s}
.hd-yn button b,.hd-pop-yn button b{font-size:18px;line-height:1}
.hd-yn button:active,.hd-pop-yn button:active{transform:scale(.96)}
.hd-yes b{color:var(--rd)}
.hd-no-b b{color:#6f6a78}
.hd-c[data-v="1"] .hd-yes{background:var(--rd);color:#fff}
.hd-c[data-v="1"] .hd-yes b{color:#fff}
.hd-c[data-v="0"] .hd-no-b{background:#6f6a78;color:#fff}
.hd-c[data-v="0"] .hd-no-b b{color:#fff}
.hd-c[data-v="1"]{box-shadow:4px 4px 0 var(--rd)}
.hd-c[data-v]::after{position:absolute;right:6px;top:12px;transform:rotate(18deg);font-weight:900;color:#fff;line-height:1;text-align:center}
.hd-c[data-v="1"]::after{content:"◯";font-size:30px}
.hd-c[data-v="0"]::after{content:"✕";font-size:26px;right:10px;top:14px}
.hd-more summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--gold);list-style:none}
.hd-more summary::-webkit-details-marker{display:none}
.hd-more summary::before{content:"▸ ";transition:.2s;display:inline-block}
.hd-more[open] summary::before{transform:rotate(90deg)}
.hd-more-in{display:grid;gap:10px;margin-top:10px;font-size:13.5px;line-height:1.7}
.hd-fam,.hd-mean{background:#fffbea;border-radius:8px;padding:8px 10px}
.hd-fam b,.hd-mean b{display:inline-block;font-size:11px;background:var(--ink);color:#fff;border-radius:4px;padding:0 6px;margin-right:6px}
.hd-uses{display:grid;gap:6px}
.hd-uses li{display:grid;grid-template-columns:24px 1fr;gap:6px;align-items:start}
.hd-uses li b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--c) 30%,#fff);font-size:12px}
.hd-note{font-size:12.5px;color:var(--tx2)}
.hd-foot{display:grid;gap:6px}
.hd-go{display:inline-flex;align-items:center;gap:6px;font-weight:900;color:var(--hot)}
.hd-src{font-size:11.5px;color:var(--mut);display:flex;flex-wrap:wrap;gap:4px 10px}
.hd-src small{font-weight:700}
.hd-src a{text-decoration:underline;text-decoration-color:var(--line);overflow-wrap:anywhere}

/* 曲名を隠すモード */
.hd-blind .hd-ttl h3,.hd-blind .hd-art,.hd-blind .hd-ja{filter:blur(9px);user-select:none;transition:filter .2s}
.hd-blind .hd-c[data-v] .hd-ttl h3,.hd-blind .hd-c[data-v] .hd-art,.hd-blind .hd-c[data-v] .hd-ja{filter:none}
.hd-blind .hd-more{display:none}
.hd-blind .hd-c[data-v] .hd-more{display:block}

.hd-empty{padding:30px;text-align:center;color:var(--mut)}
.hd-end{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:20px 0 10px}

/* ---------- 結果 ---------- */
.hd-res{padding:50px 0 30px;background:radial-gradient(circle at 50% 0,rgba(255,210,31,.4),transparent 55%),var(--bg2);border-block:3px solid var(--ink);scroll-margin-top:60px}
.hd-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 40px;align-items:start}
.hd-r-tv{position:relative;background:linear-gradient(160deg,#c98a4b,#9b5f2c);border:3px solid var(--ink);border-radius:26px;padding:16px;box-shadow:8px 8px 0 var(--ink)}
.hd-r-scr{position:relative;aspect-ratio:4/3;border-radius:20px/28px;overflow:hidden;border:3px solid var(--ink);background:#141218;color:#fff;display:grid;place-content:center;text-align:center;padding:10px}
.hd-r-scr::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px)}
.hd-r-scr>*{position:relative}
.hd-r-k{font:400 16px/1 var(--disp);letter-spacing:.2em;color:var(--y)}
.hd-r-num{font:400 clamp(90px,14vw,150px)/.9 var(--disp);letter-spacing:.02em;background:linear-gradient(90deg,var(--y),var(--or),var(--m));-webkit-background-clip:text;background-clip:text;color:transparent}
.hd-r-num small{font-size:.32em;color:#fff;-webkit-text-fill-color:#fff}
.hd-r-rank{display:inline-block;margin:8px auto 0;font-weight:900;font-size:clamp(18px,2.4vw,24px);background:var(--rd);padding:2px 14px;border-radius:8px}
.hd-r-bars{display:flex;height:10px;margin-top:12px;border-radius:5px;overflow:hidden}
.hd-r-bars i{flex:1;background:var(--c)}
.hd-r-t h2{font-size:clamp(22px,2.8vw,30px);font-weight:900;line-height:1.35}
.hd-r-t>p{margin:8px 0 14px;color:var(--tx2)}
.hd-r-age{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:10px 14px;margin-bottom:14px}
.hd-r-age img{width:64px;height:64px}
.hd-r-age b{display:block;font-size:18px;font-weight:900}
.hd-r-age small{font-size:12.5px;color:var(--mut)}
.hd-r-sc{display:grid;gap:7px;margin-bottom:16px}
.hd-r-sc div{display:grid;grid-template-columns:150px 1fr 54px;gap:8px;align-items:center;font-size:13px;font-weight:700}
.hd-r-sc i{display:block;height:12px;border-radius:6px;background:#e8e1d2;overflow:hidden}
.hd-r-sc i::before{content:"";display:block;height:100%;width:var(--p);background:var(--c);border-radius:6px;transition:width .8s}
.hd-r-sc em{font-style:normal;text-align:right;font:400 17px/1 var(--disp)}
.hd-r-btns{display:flex;flex-wrap:wrap;gap:10px}
.hd-r-miss{margin-top:28px}
.hd-r-miss h3{font-size:18px;font-weight:900;margin-bottom:10px}
.hd-r-ml{display:flex;flex-wrap:wrap;gap:8px}
.hd-r-ml button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#fff;border:2px solid var(--ink);font-size:13px;font-weight:700}
.hd-r-ml button svg{color:var(--rd)}
.hd-r-ml button span{font-family:var(--disp);font-size:16px;letter-spacing:.02em;font-weight:400}

/* ---------- クイズ ---------- */
.hd-qz{background:#fff;border:2px solid var(--ink);border-radius:22px;box-shadow:6px 6px 0 var(--ink);padding:24px;max-width:820px;margin:0 auto}
.hd-qz-start{display:grid;justify-items:center;gap:12px;text-align:center}
.hd-qz-start img{width:110px}
.hd-qz-h{display:flex;justify-content:space-between;align-items:center;font:400 18px/1 var(--disp);letter-spacing:.12em;color:var(--mut)}
.hd-qz-h b{color:var(--rd)}
.hd-qz-q{margin:14px 0 16px;font-size:clamp(18px,2.2vw,23px);font-weight:900;line-height:1.5;background:var(--bg2);border-radius:14px;padding:14px 16px}
.hd-qz-q small{display:block;font-size:12px;color:var(--mut);font-weight:700}
.hd-qz-o{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hd-qz-o button{padding:14px 12px;border:2px solid var(--ink);border-radius:14px;background:#fff;text-align:left;line-height:1.25}
.hd-qz-o button b{display:block;font:400 22px/1.05 var(--disp);letter-spacing:.02em}
.hd-qz-o button small{font-size:12px;color:var(--mut);font-weight:700}
.hd-qz-o button.ok{background:#e4f8ea;border-color:var(--g);box-shadow:0 0 0 3px var(--g)}
.hd-qz-o button.ng{background:#ffe9e7;border-color:var(--rd);opacity:.8}
.hd-qz-f{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.hd-qz-f p{font-weight:900}
.hd-qz-end{text-align:center;display:grid;gap:12px;justify-items:center}
.hd-qz-end b{font:400 72px/1 var(--disp);color:var(--rd)}

/* ---------- 講座 ---------- */
.hd-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.hd-w{position:relative;background:#fff;border:2px solid var(--ink);border-radius:18px;padding:18px 18px 16px;overflow:hidden}
.hd-w-n{display:inline-block;font:400 30px/1 var(--disp);letter-spacing:.04em;background:var(--c);padding:4px 10px 2px;border-radius:8px;border:2px solid var(--ink);transform:rotate(-3deg);margin-bottom:10px}
.hd-w h3{font-size:17px;font-weight:900;margin-bottom:6px}
.hd-w p{font-size:14px;color:var(--tx2)}
.hd-find{margin-top:16px;background:var(--ink);color:#fff;border-radius:18px;padding:20px 22px}
.hd-find h3{font-size:18px;font-weight:900;margin-bottom:10px}
.hd-find ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;counter-reset:f}
.hd-find li{counter-increment:f;font-size:14px;color:#e8e4ef;position:relative;padding-left:38px}
.hd-find li::before{content:counter(f);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--y);color:var(--ink);display:grid;place-items:center;font:400 18px/1 var(--disp)}
.hd-find li b{display:block;color:#fff}
.hd-en{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.hd-e{background:#fff;border:2px solid var(--ink);border-radius:16px;padding:16px;position:relative}
.hd-e-g{position:absolute;top:-12px;left:14px;font-size:11.5px;font-weight:900;background:var(--y);border:2px solid var(--ink);border-radius:6px;padding:0 8px}
.hd-e h3{display:flex;align-items:center;gap:6px;font:400 25px/1.1 var(--disp);letter-spacing:.02em;margin:6px 0 8px}
.hd-e p{font-size:13.5px;color:var(--tx2)}
.hd-e a{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:var(--hot)}
.hd-credit{margin-top:18px;font-size:12.5px;color:var(--mut)}
.hd-more-l{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

/* ---------- 動画ポップアップ ---------- */
.hd-pop{position:fixed;inset:0;z-index:100;background:rgba(20,18,26,.72);display:grid;place-items:center;padding:16px}
.hd-pop[hidden]{display:none}
.hd-pop-in{width:min(760px,100%);background:#fff;border:3px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:8px 8px 0 var(--ink)}
.hd-pop-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--ink);color:#fff}
.hd-pop-h p{font:400 20px/1.1 var(--disp);letter-spacing:.03em;min-width:0;overflow-wrap:anywhere}
.hd-pop-x{font-size:28px;line-height:1;color:#fff;padding:0 6px}
.hd-pop-v{aspect-ratio:16/9;background:#000}
.hd-pop-v iframe{width:100%;height:100%;border:0;display:block}
.hd-pop-yn{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px}
.hd-pop-yn span{font-weight:900;margin-right:auto}
.hd-pop-yn button{padding:8px 16px}
.hd-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);opacity:0;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-weight:700;font-size:14px;z-index:120;transition:.3s;pointer-events:none}
.hd-toast.on{transform:translate(-50%,0);opacity:1}

@media (max-width:860px){
  .hd-hero{padding:26px 0 34px}
  .hd-hero-in{grid-template-columns:1fr}
  .hd-tv{width:min(300px,82%);order:-1;padding-top:40px}
  .hd-tv-body{grid-template-columns:1fr 56px;padding:12px;gap:10px}
  .hd-knob{width:32px;height:32px}
  .hd-grill{width:40px}
  .hd-tv-rk{width:80px;left:-22px}
  .hd-r{grid-template-columns:1fr}
  .hd-r-sc div{grid-template-columns:120px 1fr 46px}
}
@media (max-width:560px){
  .wrap{width:min(1200px,100% - 32px)}
  .hd-grid{grid-template-columns:1fr}
  .hd-bar-in{gap:6px 12px}
  .hd-score b{font-size:32px}
  .hd-done{display:none}
  .hd-prog{order:3;flex-basis:100%}
  .hd-res-btn{margin-left:auto}
  .hd-qz{padding:16px}
  .hd-qz-o{grid-template-columns:1fr}
  .hd-play{width:64px;height:64px}
  .hd-tv{width:min(240px,66%);padding-top:34px}
  .hd-tv-ant{width:130px;height:50px}.hd-tv-ant i{height:56px}
  .hd-tv-rk{width:64px;left:-26px}
  .hd-filter{gap:6px}
  .hd-filter button{padding:5px 10px;font-size:12.5px}
  .hd-yn button{font-size:13px;white-space:nowrap;gap:4px;padding:10px 4px}
}
@media (prefers-reduced-motion:reduce){.hd-noise,.hd-onair,.hd-eq i{animation:none}}
.hd-play-x{background:#fff;color:var(--ink);border:2px dashed var(--ink);box-shadow:none}
.hd-play-x svg{margin-left:0}
