body{font-size:14px;line-height:1.6}
main{max-width:980px;margin:0 auto}
header h1 small{font-size:.5em;font-weight:400;color:var(--muted);letter-spacing:0;white-space:nowrap}
a{color:var(--accent)}
.beta{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#d6336c;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
.sub{margin:2px 0 8px;font-size:12px;color:var(--muted)}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 14px;margin:0 0 12px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
input[type=text],input[type=number],select{font:inherit;color:var(--text);background:var(--control-bg);border:1px solid var(--border-strong);border-radius:8px;padding:5px 9px;min-width:0}
input[type=text]{flex:1 1 260px}
input[type=number]{width:5em}
select option,select optgroup{background:var(--menu-bg);color:var(--text)}
button.b{font:inherit;color:var(--text);background:var(--control-bg);border:1px solid var(--border-strong);border-radius:8px;padding:5px 12px;cursor:pointer}
button.b:hover{background:var(--control-hover)}
button.b.on{background:var(--accent);color:#fff;border-color:transparent}
:root[data-theme="dark"] button.b.on{color:#10121c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) button.b.on{color:#10121c}}
label{cursor:pointer;white-space:nowrap}
details.set summary{cursor:pointer;color:var(--muted);font-size:13px}
#tip{margin:6px 0;padding:8px 12px;border:1px solid var(--notice-border);background:var(--notice-bg);color:var(--notice-text);border-radius:10px;font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#tip[hidden]{display:none}
#tlog{font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;max-height:240px;overflow:auto;margin-top:8px;border:1px solid var(--border,#ddd);border-radius:8px;padding:6px 8px;background:var(--card,transparent)}
#tlog div{white-space:pre-wrap;word-break:break-all}#tlog .w{color:#c77700}#tlog .e{color:#e5484d}#tlog .g{color:#2e9e4f}
.logbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
details.set .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 18px;margin-top:8px}
.field{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.field>span{min-width:6.5em;color:var(--muted);font-size:13px}
.hint{font-size:12px;color:var(--muted);margin:6px 0 0}
.hint code{font:inherit;font-size:12px;background:var(--control-bg);border-radius:5px;padding:0 5px}
#stat{font-size:12px;color:var(--muted);margin:4px 0 6px}
#ctl .row{flex-wrap:nowrap;gap:8px 10px}
#ctl #engine{width:12em;flex:0 1 12em;text-overflow:ellipsis}
#ctl #filter{width:8em;flex:0 1 8em}
#connrow,#engrow{display:flex;align-items:center;gap:8px;font-size:13px;margin:4px 0 2px}
.lamp{width:10px;height:10px;border-radius:50%;background:#8a8f9c;flex:none}
.lamp.on{background:#2fbf6b;box-shadow:0 0 0 3px rgba(47,191,107,.25)}
.lamp.off{background:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.25)}
.lamp.wait{background:#e0b23a;animation:blink 1s infinite}
@keyframes blink{50%{opacity:.35}}
#conntxt.on,#etxt.on{color:#2fbf6b}#conntxt.off,#etxt.off{color:#e5484d}#conntxt.wait,#etxt.wait{color:#e0b23a}#etxt.end{color:var(--muted)}
#err{color:#e5484d;font-size:13px;margin:4px 0}
#list{list-style:none;margin:0;padding:0;height:min(62vh,640px);overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px}
#list li{display:grid;grid-template-columns:4.2em 4.6em 12px 8em 1fr;gap:0 8px;align-items:baseline;padding:3px 12px;border-bottom:1px solid var(--border)}
#list li:last-child{border-bottom:0}
#list li.hide{display:none}
#list li.said{background:var(--control-bg)}
.no{color:var(--faint);font-size:12px;text-align:right}
.tm{color:var(--muted);font-size:12px}
.dot{width:9px;height:9px;border-radius:50%;align-self:center}
.tx{word-break:break-word;white-space:pre-wrap}
.emo{height:1.7em;width:auto;vertical-align:middle;margin:0 1px}
.nm{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nm.nick{color:var(--accent)}
#fbar{display:none}
#stage.full{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;padding:10px 12px;box-sizing:border-box;height:100vh;height:100dvh}
#stage.full #fbar{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-bottom:6px;padding-left:84px}   /* 左上は、iPhone・iPadの全画面の「×」が出るので空けておく */
#stage.full #fbar .b{white-space:nowrap}
#fautow{display:inline-flex;align-items:center;gap:4px;cursor:pointer}#fautow input{margin:0}
#fvolw{display:none!important;align-items:center;gap:4px;font-size:15px}#fvol{width:96px;margin:0}
@media(max-width:420px){#fvol{width:60px}#stage.full #fbar{gap:6px;padding-left:72px}#stage.full #fbar .b{padding:6px 8px;font-size:13px}}
#stage.full #list{flex:1;height:auto;min-height:0}
body.stagefull{overflow:hidden}
@media (max-width:560px){
  body{font-size:15px}
  input[type=text],input[type=number],select{font-size:16px}
  button.b{min-height:38px;padding:6px 12px}
  .panel{padding:10px}
  #ctl .row{flex-wrap:wrap}
  #ctl .row>*{flex:0 0 auto}
  #ctl #engine{flex:1 1 7em !important;width:7em !important;max-width:100%}
  #ctl #filter{flex:1 1 5em !important;width:5em !important;max-width:100%}
  main>p.sub:first-of-type{display:none}
  #credit{font-size:11px}
  header .head h1{font-size:min(20px,5vw);letter-spacing:0;white-space:nowrap}
  @media (max-width:340px){header .head h1{white-space:normal}}
  select{max-width:100%}
  #list{height:calc(100dvh - 300px);min-height:260px}
  #list li{display:grid;grid-template-columns:1fr auto;gap:0 8px;padding:6px 10px}
  #list .tm,#list .dot{display:none}
  #list .nm{grid-column:1;grid-row:1;max-width:none}
  #list .no{grid-column:2;grid-row:1;font-size:11px}
  #list .tx{grid-column:1 / span 2;grid-row:2;font-size:15px;line-height:1.5}
}
@media (min-width:441px) and (max-width:560px){
  #ctl .row{flex-wrap:nowrap;gap:6px}
  #ctl .row>*{flex:0 1 auto !important;min-width:0}
  #ctl button.b{padding:6px 8px;font-size:13px;white-space:nowrap}
  #ctl label{font-size:13px}
  #ctl .lg{display:none}
  #ctl #engine{width:7em !important;font-size:13px;padding:5px 4px}
  #ctl #filter{width:7em !important;font-size:13px;padding:5px 6px}
}
#list{position:relative}
.lw{position:relative}
#ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;pointer-events:none;color:var(--muted);font-size:15px;line-height:1.6}
#ph[hidden]{display:none}
#ph .pi{font-size:34px;line-height:1}
#ph b{color:var(--text);font-size:17px}
#ph small{font-size:12px;color:var(--muted2)}
#ph.err b{color:#e5484d}
#ph a{pointer-events:auto;color:var(--accent,#4c5bd4);text-decoration:underline}
.spin{width:30px;height:30px;border-radius:50%;border:4px solid var(--border-strong);border-top-color:var(--accent);animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#stage.full .lw{flex:1;min-height:0}
#stage.full .lw #list{height:100%}
#list li.evrow{display:block;padding:10px 14px;font-size:15px;line-height:1.5;background:linear-gradient(90deg,rgba(255,170,60,.24),rgba(255,120,160,.12));border-left:4px solid #ffb02e}
#list li.evrow.big{background:linear-gradient(90deg,rgba(255,200,60,.42),rgba(255,120,160,.2));border-left-width:6px;font-size:16px}
#list li.evrow.bits{background:linear-gradient(90deg,rgba(145,70,255,.3),rgba(145,70,255,.08));border-left-color:#9146ff}
#list li.evrow.sub{background:linear-gradient(90deg,rgba(60,180,255,.24),rgba(60,180,255,.06));border-left-color:#3cb4ff}
#list li.evrow img{height:30px;width:auto;vertical-align:middle;margin-right:8px}
#list li.evrow .pt{font-weight:700;color:#ff9f1a}
#list li.evrow.bits .pt{color:#a970ff}
#list li.cheer{border-left:4px solid #9146ff}
#list li.cheer .tx::before{content:"💎 " attr(data-bits);font-weight:700;color:#a970ff;margin-right:6px}
#toast{position:absolute;left:50%;top:10px;transform:translateX(-50%);max-width:92%;z-index:5;padding:12px 20px;border-radius:14px;font-size:17px;font-weight:700;color:#fff;background:linear-gradient(90deg,#ff8a00,#ff3d77);box-shadow:0 8px 28px rgba(0,0,0,.4);text-align:center;pointer-events:none;animation:tin .35s ease-out}
#toast.bits{background:linear-gradient(90deg,#7b3fe4,#a970ff)}
#toast.sub{background:linear-gradient(90deg,#1e88e5,#3cb4ff)}
#toast[hidden]{display:none}
@keyframes tin{from{opacity:0;transform:translate(-50%,-12px)}}

/* NG */
#list li.ng{display:none}
#list li .nm,#list li .dot{cursor:pointer}
#list li .nm:hover{text-decoration:underline}
.ngmenu{position:fixed;z-index:200;min-width:14em;max-width:80vw;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.35);padding:6px;display:grid;gap:4px}
.ngmenu .ngh{padding:2px 8px 4px;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ngmenu button{font:inherit;font-size:13px;text-align:left;border:0;border-radius:8px;background:var(--control-bg);color:var(--text);padding:7px 10px;cursor:pointer}
.ngmenu button:hover{background:var(--control-hover)}
.ngchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ngchip{font-size:12px;padding:2px 8px}

/* ---- スマホ(幅700px以下): コメントを画面の上に、操作は下のバー、設定は下から出るパネル ---- */
#mbar,#sheetbg{display:none}
#mbar .mlab{display:none}
@media (max-width:700px){
  main{padding-bottom:64px}
  main>.sub,#credit,#services,#lvinfo,#engnote{display:none}
  main>.pagetitle{margin:0 0 6px;font-size:15px}
  main>.panel:first-of-type{padding:6px 8px;margin:0 0 6px}
  #openform{flex-wrap:nowrap;gap:6px}
  #openform input{flex:1 1 auto;min-width:0}
  #openform button{flex:0 0 auto}
  header{margin-bottom:6px}
  #engrow{display:none}
  #connrow{margin:2px 0;font-size:12px}
  #stat{margin:2px 0 4px;font-size:11px}
  #list{height:calc(100dvh - 252px);min-height:200px}
  /* 下の操作バー */
  #mbar{display:flex;gap:6px;align-items:center;justify-content:space-between;position:fixed;left:0;right:0;bottom:0;z-index:190;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border-strong);box-shadow:0 -4px 14px rgba(0,0,0,.18)}
  #mbar{gap:4px}
  #mbar .b{white-space:nowrap;padding:6px 8px;font-size:13px}
  #mbar #mautow{gap:3px;min-width:0}
  @media (max-width:345px){#mbar .mlong{display:none}}
  #mautow{display:inline-flex;align-items:center;gap:4px}#mautow input{margin:0}
  /* 設定: 下から出るパネル(オーバーレイ) */
  #ctl{display:none;position:fixed;left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom));z-index:180;margin:0;border-radius:14px;border:1px solid var(--border-strong);max-height:58dvh;overflow:auto;padding:10px 12px 12px;background:var(--bg);box-shadow:0 -8px 30px rgba(0,0,0,.4)}
  body.setopen #ctl{display:block}
  #sheetbg{position:fixed;inset:0;z-index:170;background:transparent}
  body.setopen #sheetbg{display:block}
  /* 下のバーと重なる操作は、パネルの中では出さない */
  #ctl #speak,#ctl #full,#ctl .row>label{display:none}
  #ctl .row{flex-wrap:wrap}
  body.stagefull #mbar,body.stagefull #sheetbg{display:none}
  body.stagefull #ctl{display:none}
}

/* ---- PC(幅701px以上): 設定を大きく・見やすく。 広い画面では、右に設定、左にコメントを並べる ---- */
@media (min-width:701px){
  #ctl{font-size:15px}
  #ctl .row{flex-wrap:wrap;gap:10px 12px}
  #ctl button.b{min-height:42px;padding:8px 16px;font-size:15px}
  #ctl #engine{flex:1 1 100%;width:100%;max-width:none;font-size:15px;padding:9px 10px;order:5}
  #ctl .row>label{font-size:15px;padding:8px 4px}
  #ctl input[type=text],#ctl input[type=number],#ctl input[type=password],#ctl select{font-size:15px;padding:8px 10px}
  #ctl input[type=number]{width:6em}
  #ctl input[type=checkbox]{width:18px;height:18px;vertical-align:-3px;margin-right:6px}
  #ctl .hint{font-size:13px;line-height:1.7}
  #ctl details.set{margin-top:12px;border:1px solid var(--border-strong);border-radius:12px;padding:0 14px 12px;background:var(--panel)}
  #ctl details.set>summary{font-size:16px;font-weight:700;color:var(--text);padding:12px 0;list-style:revert}
  #ctl details.set[open]>summary{border-bottom:1px solid var(--border);margin-bottom:6px}
  #ctl .field>span{min-width:8.5em;font-size:14px;color:var(--text)}
  #ctl .field{padding:4px 0}
  #ctl details.set .grid{grid-template-columns:1fr;gap:6px 0}
  #ctl .ngchips .ngchip{font-size:13px;padding:4px 10px}
  #ctl #tlog{max-height:300px;font-size:12.5px}
}
@media (min-width:1000px){
  main{max-width:1320px;display:grid;grid-template-columns:minmax(0,1fr) 420px;column-gap:20px;align-items:start}
  main>.pagetitle,main>.sub:first-of-type{grid-column:1 / -1}
  main>.panel:first-of-type{grid-column:1;grid-row:3}
  #ctl{grid-column:2;grid-row:3 / span 7;position:sticky;top:10px;max-height:calc(100vh - 20px);overflow:auto;margin:0}
  #credit,#stage,main>p.sub:last-of-type{grid-column:1}
  #list{height:calc(100vh - 330px);min-height:420px}
  #stage.full #list{height:auto}
}
@media (min-width:701px){
  #ctl #vvkeyrow input{flex:1 1 100%;width:100%;min-width:0;box-sizing:border-box}
  #ctl #vvkeyrow>span:first-child{flex:0 0 100%}
  #ctl .field select{flex:1 1 auto;min-width:0}
  #ctl .field input[type=text]{min-width:0;box-sizing:border-box}
  #ctl #vvurlrow input{flex:1 1 100%}
}

/* 入力欄の候補(放送中の番組を、ユーザー名・タイトルで探す) */
#openform{position:relative}
#sugg{position:absolute;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:200;max-height:50vh;overflow:auto}
#sugg[hidden]{display:none}
#sugg li{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border-radius:8px;cursor:pointer;min-width:0}
#sugg li.on,#sugg li:hover{background:var(--chip,rgba(127,127,127,.18))}
#sugg .sn{font-weight:700;flex:0 1 auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sugg .st{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
#sugg .sw{flex:0 0 auto;font-size:12px;color:var(--muted)}
#sugg .sw:empty{display:none}
#sugg .sid{flex:0 0 auto;font-size:12px;color:var(--muted)}
#sugg .sw:not(:empty)+.sid{margin-left:-6px}
#sugg .sw:not(:empty)+.sid::before{content:'・ '}
#sugg .si{display:none}
#sugg mark{background:rgba(255,200,0,.35);color:inherit;border-radius:2px}
#sugg .sh{padding:6px 10px;font-size:12px;color:var(--muted);cursor:default}

/* 速度測定の結果 */
#benchout table.bench{width:100%;border-collapse:collapse;font-size:14px}
#benchout table.bench td{padding:7px 6px;border-bottom:1px solid var(--border);vertical-align:middle}
#benchout table.bench td:first-child{white-space:normal}
#benchout table.bench td:nth-child(2){width:32%;min-width:60px}
#benchout table.bench td:last-child{text-align:right;white-space:nowrap}
#benchout .bar{display:block;height:12px;border-radius:6px;background:var(--accent,#5b6cff)}
#benchout b{font-size:16px}
#benchout small{color:var(--muted);font-size:11.5px}
#benchout .benchsum{margin:10px 0 4px;padding:8px 10px;border-radius:8px;background:rgba(127,127,127,.14);font-weight:700}
#benchout .benchbad{margin:6px 0;color:var(--muted);font-size:13px}

/* 速度測定の結果(ポップアップ) */
#benchmodal{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
#benchmodal[hidden]{display:none}
#benchmodal .bm-card{background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.4);width:min(640px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:14px 18px 16px}
#benchmodal .bm-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
#benchmodal h2{margin:0;font-size:18px}
#benchmodal .bm-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}
#benchmodal #benchout{font-size:14px;line-height:1.6}
@media (max-width:700px){#benchout table.bench td:nth-child(2){display:none}}

/* 番組ランキングのポップアップ内(iframe)で、幅701〜999pxのとき: スマホ風の配置(コメント一覧を大きく、設定は下のバーから) */
@media (min-width:701px) and (max-width:999px){
  body.cvpopmid main{padding-bottom:64px}
  body.cvpopmid main>.pagetitle,body.cvpopmid main>.sub,body.cvpopmid #credit,body.cvpopmid #services,body.cvpopmid #lvinfo,body.cvpopmid #engnote{display:none}
  body.cvpopmid main>.panel:first-of-type{padding:6px 8px;margin:0 0 6px}
  body.cvpopmid #openform{flex-wrap:nowrap;gap:6px}
  body.cvpopmid #openform input{flex:1 1 auto;min-width:0}
  body.cvpopmid #openform button{flex:0 0 auto}
  body.cvpopmid header{margin-bottom:6px}
  body.cvpopmid #engrow{display:none}
  body.cvpopmid #connrow{margin:2px 0;font-size:12px}
  body.cvpopmid #stat{margin:2px 0 4px;font-size:11px}
  body.cvpopmid #mbar{display:flex;gap:6px;align-items:center;justify-content:space-between;position:fixed;left:0;right:0;bottom:0;z-index:190;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border-strong);box-shadow:0 -4px 14px rgba(0,0,0,.18)}
  body.cvpopmid #mbar .b{white-space:nowrap;padding:6px 10px;font-size:14px}
  body.cvpopmid #mbar{justify-content:flex-start;gap:8px}
  body.cvpopmid #mbar .mlab{display:inline}
  body.cvpopmid #mbar #mautow{margin-left:auto}
  body.cvpopmid #mautow{display:inline-flex;align-items:center;gap:4px}
  body.cvpopmid #mautow input{margin:0}
  body.cvpopmid #ctl{display:none;position:fixed;left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom));z-index:180;margin:0;border-radius:14px;border:1px solid var(--border-strong);max-height:58dvh;overflow:auto;padding:10px 12px 12px;background:var(--bg);box-shadow:0 -8px 30px rgba(0,0,0,.4)}
  body.cvpopmid.setopen #ctl{display:block}
  body.cvpopmid #sheetbg{position:fixed;inset:0;z-index:170;background:transparent}
  body.cvpopmid.setopen #sheetbg{display:block}
  body.cvpopmid #ctl #speak,body.cvpopmid #ctl #full,body.cvpopmid #ctl .row>label{display:none}
  body.cvpopmid #ctl .row{flex-wrap:wrap}
  body.cvpopmid.stagefull #mbar,body.cvpopmid.stagefull #sheetbg{display:none}
  body.cvpopmid.stagefull #ctl{display:none}
  body.cvpopmid #list{height:calc(100dvh - 230px);min-height:300px}
}

/* コメント履歴(名前のメニューから) */
.uhist{position:fixed;inset:0;z-index:210;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:12px}
.uhbox{width:min(560px,100%);max-height:min(80vh,640px);display:flex;flex-direction:column;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.4);overflow:hidden}
.uhh{display:flex;align-items:center;gap:10px;padding:10px 10px 4px 14px}
.uhh b{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uhh button{font:inherit;font-size:14px;border:1px solid var(--border-strong);background:var(--control-bg);color:var(--text);border-radius:8px;padding:4px 10px;cursor:pointer}
.uhn{margin:0;padding:0 14px 8px;font-size:11.5px;color:var(--muted)}
.uhl{list-style:none;margin:0;padding:0 14px 12px;overflow:auto;min-height:0}
.uhl li{display:flex;gap:10px;align-items:baseline;padding:5px 0;border-top:1px solid var(--line, rgba(128,128,128,.2));font-size:14px;line-height:1.45}
.uhl .uhm{flex:none;min-width:8.6em;text-align:right;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:pre}
.uhl .uht{min-width:0;overflow-wrap:anywhere}
.uhl li.ng .uht{opacity:.5}
.uhl .uhe{color:var(--muted);border:0}

/* 入力候補: 左にサムネイル、右に名前とタイトルの2段(PC・スマホ共通) */
#sugg li{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-areas:"si sn" "si st";gap:2px 10px;align-items:center;padding:8px}
#sugg li.noth{grid-template-columns:minmax(0,1fr);grid-template-areas:"sn" "st"}
#sugg li.sh{display:block}
#sugg .si{display:block;grid-area:si;width:72px;height:40px;border-radius:6px;object-fit:cover;background:var(--line,rgba(127,127,127,.25))}
#sugg .sn{grid-area:sn;max-width:none}
#sugg .sw{display:none}
#sugg .sid{display:none}
#sugg .st{grid-area:st;font-size:13px}

/* スマホで、番組ランキングのポップアップ(iframe)に出すとき: 上の見出しや説明を省き、コメント一覧を、画面いっぱい(下のバーまで)に広げる */
@media (max-width:700px){
  body.cvpopmid header,body.cvpopmid main>.pagetitle,body.cvpopmid main>.sub,body.cvpopmid #credit,body.cvpopmid #services,body.cvpopmid #lvinfo,body.cvpopmid #stage+.sub{display:none}
  body.cvpopmid{padding-top:0;padding-bottom:0}
  body.cvpopmid main{display:flex;flex-direction:column;height:100vh;height:100dvh;box-sizing:border-box;padding-top:8px;padding-bottom:calc(58px + env(safe-area-inset-bottom));overflow:hidden}
  body.cvpopmid main>.panel:first-of-type{padding:6px 8px;margin:0 0 4px}
  body.cvpopmid #stage:not(.full){flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
  body.cvpopmid #stage:not(.full) .lw{flex:1 1 auto;min-height:0;position:relative}
  body.cvpopmid #stage:not(.full) #list{height:100%;min-height:0}
}

/* 棒読みの「速さ」「音量」はスライダー(右に今の数字) */
.field input[type=range]{flex:1 1 140px;min-width:0;accent-color:var(--accent)}
.field output{min-width:2.4em;text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}

.sqhide{display:none !important}
body.cvsearch #openform button[type=submit],body.cvsearch #sugg{display:none !important}
#cvtoggle[hidden]{display:none}
#volrow{margin:6px 0 2px}
