/* ── ひなテレ フロントエンド CSS ── */
#hinata-wrap { width:100%; min-height:100vh; min-height:100dvh; background:#0a0a0f; display:flex; flex-direction:column; }
#mini-wrap   { width:100%; background:#0a0a0f; }

/* プレーヤー */
#p-wrap,#mini-p-wrap { position:relative; width:100%; padding-top:56.25%; background:#000; flex-shrink:0; }
#player,#mini-player { position:absolute; top:0; left:0; width:100%; height:100%; }
#player-overlay,#mini-player-overlay { display:none; position:absolute; top:0; left:0; width:100%; height:100%; z-index:10; background:transparent; cursor:pointer; }
#p-wrap.pseudo-fs #player-overlay,#mini-p-wrap.pseudo-fs #mini-player-overlay { display:block; }
#p-wrap.pseudo-fs,#mini-p-wrap.pseudo-fs { position:fixed !important; top:0 !important; left:0 !important; width:100vw !important; height:100vh !important; padding-top:0 !important; z-index:99999; background:#000; }
#p-wrap.pseudo-fs #player,#mini-p-wrap.pseudo-fs #mini-player { width:100% !important; height:100% !important; }

/* 閉じるボタン */
#pseudo-fs-close,#mini-fs-close { display:none; position:fixed; top:12px; right:12px; z-index:2147483647; background:rgba(0,0,0,.7); color:#fff; border:none; font-size:1em; padding:8px 16px; border-radius:0; cursor:pointer; transition:opacity .5s; opacity:1; }
#pseudo-fs-close.visible,#mini-fs-close.visible { display:block; }
#pseudo-fs-close.fade,#mini-fs-close.fade { opacity:0; pointer-events:none; }

/* ローディングオーバーレイ */
#loading-overlay,#mini-loading-overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:#000; z-index:25; display:flex; align-items:center; justify-content:center; transition:opacity .6s ease; }
#loading-overlay img,#mini-loading-overlay img { width:100%; height:100%; object-fit:cover; }

/* iOS タップ */
#ios-start-overlay,#mini-ios-start-overlay { display:none; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.75); z-index:20; align-items:center; justify-content:center; cursor:pointer; }
#ios-start-overlay.visible,#mini-ios-start-overlay.visible { display:flex; }
#ios-start-icon,#mini-ios-start-icon { font-size:2.5em; color:#fff; width:68px; height:68px; line-height:68px; border:3px solid #fff; border-radius:50%; margin:0 auto 12px; padding-left:6px; box-sizing:border-box; }
#ios-start-text,#mini-ios-start-text { color:#ccc; font-size:.88em; letter-spacing:.08em; }

/* 寝落ちオーバーレイ */
#sleep-overlay,#mini-sleep-overlay { display:none; position:fixed; top:-200px; left:-200px; width:calc(100vw + 400px); height:calc(100vh + 400px); background:#000; z-index:999999999; opacity:0; transition:background .5s ease,opacity 1.5s ease; cursor:pointer; -webkit-transform:translateZ(0); transform:translateZ(0); pointer-events:none; }
#sleep-overlay.active,#mini-sleep-overlay.active { display:block; }
#sleep-overlay.dark,#mini-sleep-overlay.dark   { opacity:1; background:#000; }
#sleep-overlay.dimmed,#mini-sleep-overlay.dimmed { opacity:1; background:rgba(0,0,0,.85); transition:opacity .5s ease,background .5s ease; }
#sleep-ui-container,#mini-sleep-ui-container { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:240px; text-align:center; opacity:0; transition:opacity .5s ease; pointer-events:none; }
#sleep-overlay.dimmed #sleep-ui-container,#mini-sleep-overlay.dimmed #mini-sleep-ui-container { opacity:1; pointer-events:auto; }
#sleep-wake-hint,#mini-sleep-wake-hint { color:rgba(255,255,255,.8); font-size:1em; letter-spacing:.1em; margin-bottom:16px; pointer-events:none; font-weight:bold; }
#sleep-unlock-slider,#mini-sleep-unlock-slider { -webkit-appearance:none; appearance:none; width:100%; height:50px; background:rgba(255,255,255,.15); border-radius:25px; outline:none; margin:0; touch-action:none; }
#sleep-unlock-slider::-webkit-slider-thumb,#mini-sleep-unlock-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:44px; height:44px; border-radius:50%; background:#fff; cursor:pointer; box-shadow:0 2px 5px rgba(0,0,0,.3); }
@media (hover:hover) and (pointer:fine) { #sleep-btn,#mini-sleep-btn { display:none; } }
body.sleep-active { overflow:hidden !important; position:fixed !important; width:100% !important; }

/* チャンネルタブ */
#ch-tabs,#mini-ch-tabs { display:flex; gap:0; border-bottom:2px solid #1e2d45; background:#0a0a1a; flex-shrink:0; }
.ch-tab,.mini-ch-tab { flex:1; padding:8px 4px; border:none; font-size:.75em; cursor:pointer; text-align:center; font-weight:bold; letter-spacing:.02em; background:#0a0a1a; color:#555; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s; }
.ch-tab:hover,.mini-ch-tab:hover { color:#aaa; }
.ch-tab.active,.mini-ch-tab.active { color:#4a9eff; border-bottom:2px solid #4a9eff; background:#0f1621; }

/* シークバー */
#seek-wrap,#mini-seek-wrap { display:none; padding:6px 14px 4px; background:#0a0a0f; flex-shrink:0; }
#seek-wrap.visible,#mini-seek-wrap.visible { display:block; }
#seek-bar,#mini-seek-bar { width:100%; height:4px; -webkit-appearance:none; appearance:none; background:#333; cursor:pointer; outline:none; }
#seek-bar::-webkit-slider-thumb,#mini-seek-bar::-webkit-slider-thumb { -webkit-appearance:none; width:14px; height:14px; border-radius:50%; background:#4a9eff; cursor:pointer; }
#seek-time,#mini-seek-time { font-size:.7em; color:#666; text-align:right; margin-top:3px; }

/* いいねエリア */
#like-area,#mini-like-area { display:flex; align-items:center; gap:8px; flex-shrink:0; padding:6px 14px; background:#0d1520; border-bottom:1px solid #1e2d45; }
#like-btn,#mini-like-btn { display:flex; align-items:center; gap:6px; background:none; border:1px solid #2a3a5a; border-radius:0; padding:4px 12px; cursor:pointer; transition:all .2s; color:#aaa; font-size:.8em; font-weight:bold; }
#like-btn:hover,#mini-like-btn:hover { border-color:#e05a80; color:#e05a80; }
#like-btn.liked,#mini-like-btn.liked { background:#2a0f1a; border-color:#e05a80; color:#ff6b9d; }
.heart { font-size:1.1em; transition:transform .2s; display:inline-block; }
#like-btn.pop .heart,#mini-like-btn.pop .heart { animation:heartPop .3s ease; }
@keyframes heartPop { 0%{transform:scale(1);}50%{transform:scale(1.5);}100%{transform:scale(1);} }
#like-count,#mini-like-count { font-size:.75em; color:#666; }
#like-video-title,#mini-like-title { flex:1; font-size:.75em; color:#888; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

/* 情報エリア */
#h-info,#mini-h-info { margin:0; padding:8px 14px; background:#0f1621; border-bottom:1px solid #1e2d45; flex-shrink:0; }
.live-badge,.mini-live-badge { display:inline-block; background:#e00; color:#fff; font-size:.65em; font-weight:bold; padding:2px 6px; border-radius:2px; margin-right:6px; letter-spacing:.05em; }
.live-badge.hidden,.mini-live-badge.hidden { display:none; }
.cur-title,.mini-cur-title { font-weight:bold; color:#fff; font-size:.9em; }
.nxt-row,.mini-nxt-row { font-size:.75em; color:#888; margin-top:3px; }
.nxt-row span,.mini-nxt-row span { color:#aaa; }

/* 時刻・視聴バー */
#time-info,#mini-time-info { display:flex; gap:10px; padding:4px 14px 6px; font-size:.75em; color:#888; flex-wrap:wrap; }
#time-info span,#mini-time-info span { color:#aaa; }
.ti-label { color:#666; margin-right:2px; }
#watch-bonus-wrap,#mini-watch-bonus-wrap { padding:3px 14px 6px; }
#watch-bonus-bar-bg,#mini-watch-bonus-bar-bg { background:#1e2d45; border-radius:3px; height:6px; overflow:hidden; margin-bottom:3px; }
#watch-bonus-bar,#mini-watch-bonus-bar { height:6px; border-radius:3px; background:#4a9eff; width:0%; transition:width .8s linear; }
#watch-bonus-bar.new-mode,#mini-watch-bonus-bar.new-mode { background:#f0a500; }
#watch-bonus-label,#mini-watch-bonus-label { font-size:.72em; color:#666; }

/* ボタン行 */
#btn-row,#mini-btn-row { display:flex; gap:0; border-bottom:1px solid #1e2d45; flex-shrink:0; }
#mute-btn,#from-start-btn,#live-btn,#sleep-btn,#fs-btn,
#mini-mute-btn,#mini-from-start-btn,#mini-live-btn,#mini-sleep-btn,#mini-fs-btn { flex:1; padding:9px 4px; border:none; font-size:.75em; cursor:pointer; text-align:center; transition:background .2s; font-weight:bold; letter-spacing:.02em; line-height:1.2; border-radius:0; }
#mute-btn,#mini-mute-btn { background:#1a1a2e; color:#fff; border-right:1px solid #333; }
#mute-btn:hover,#mute-btn.unmuted,#mini-mute-btn:hover,#mini-mute-btn.unmuted { background:#0056b3; }
#from-start-btn,#mini-from-start-btn { display:none; background:#1a1a2e; color:#ff9999; border-right:1px solid #333; }
#from-start-btn.visible,#mini-from-start-btn.visible { display:block; }
#from-start-btn:hover,#mini-from-start-btn:hover { background:#c0392b; color:#fff; }
#live-btn,#mini-live-btn { background:#2a1e1e; color:#ff7070; border-right:1px solid #333; }
#live-btn:hover,#live-btn.is-live,#mini-live-btn:hover,#mini-live-btn.is-live { background:#c0392b; color:#fff; }
#sleep-btn,#mini-sleep-btn { background:#1a1a2e; color:#8888bb; border-right:1px solid #333; }
#sleep-btn:hover,#mini-sleep-btn:hover { background:#2a2a4e; color:#aaaadd; }
#sleep-btn.sleeping,#mini-sleep-btn.sleeping { background:#0a0a1a; color:#4444aa; }
#fs-btn,#mini-fs-btn { background:#1a1a2e; color:#aaa; }
#fs-btn:hover,#mini-fs-btn:hover { background:#2a2a4e; color:#fff; }

/* ページナビ */
#page-nav-buttons,#mini-page-nav-buttons { display:flex; gap:0; border-bottom:1px solid #1e2d45; flex-shrink:0; }
.page-nav-btn,.mini-page-nav-btn { flex:1; padding:9px 2px; border:none; font-size:.72em; cursor:pointer; text-align:center; transition:background .2s; font-weight:bold; letter-spacing:.02em; line-height:1.2; text-decoration:none; box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:4px; border-radius:0; }
.page-nav-btn.home-btn,.mini-page-nav-btn.home-btn { background:#1a1a2e; color:#4a9eff; border-right:1px solid #333; }
.page-nav-btn.home-btn:hover,.mini-page-nav-btn.home-btn:hover { background:#0056b3; color:#fff; }
.page-nav-btn.x-btn,.mini-page-nav-btn.x-btn { background:#1a1a2e; color:#fff; border-right:1px solid #333; }
.page-nav-btn.x-btn:hover,.mini-page-nav-btn.x-btn:hover { background:#000; color:#fff; }
.page-nav-btn.login-btn,.mini-page-nav-btn.login-btn { background:#1a1a2e; }
.page-nav-btn.login-btn.logged-in,.mini-page-nav-btn.login-btn.logged-in { color:#5cd65c; }
.page-nav-btn.login-btn.logged-out,.mini-page-nav-btn.login-btn.logged-out { color:#aaa; }
.page-nav-btn.login-btn:hover,.mini-page-nav-btn.login-btn:hover { background:#2a2a4e; color:#fff; }

/* EPG */
#epg-wrap { width:100%; background:#0f1621; overflow:hidden; flex-shrink:0; border-bottom:1px solid #1e2d45; }
#epg-toggle { width:100%; padding:0; border:none; cursor:pointer; background:#0d1e35; transition:background .2s; display:block; text-align:left; border-radius:0; }
#epg-toggle:hover { background:#112240; }
#epg-now-info { padding:14px 16px 0; }
#epg-now-label { font-size:.85em; color:#4a9eff; font-weight:bold; letter-spacing:.06em; margin-bottom:6px; display:flex; align-items:center; gap:6px; }
#epg-live-dot { width:10px; height:10px; background:#e00; border-radius:50%; display:inline-block; animation:epgBlink 1.2s infinite; flex-shrink:0; }
@keyframes epgBlink { 0%,100%{opacity:1;}50%{opacity:.2;} }
#epg-ch-badge { font-size:.85em; color:#5a7a9a; margin-left:auto; font-weight:normal; }
#epg-now-title-main { font-size:1.25em; font-weight:bold; color:#fff; line-height:1.4; word-break:break-all; margin-bottom:4px; }
#epg-now-next { font-size:.9em; color:#5a7a9a; padding-bottom:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#epg-toggle-foot { display:flex; align-items:center; justify-content:center; gap:10px; padding:12px 14px; background:#0a1530; border-top:1px solid #1e2d45; transition:background .2s; }
#epg-toggle:hover #epg-toggle-foot,#epg-toggle.open #epg-toggle-foot { background:#0e1e40; }
.epg-foot-icon,.epg-foot-label,.hepg-foot-icon,.hepg-foot-label { }
.epg-foot-label,.hepg-foot-label { font-size:1.1em; color:#5ab4ff; font-weight:bold; letter-spacing:.04em; }
.epg-arrow,.hepg-arrow { font-size:1.1em; color:#4a9eff; transition:transform .3s; margin-left:4px; }
#epg-toggle.open .epg-arrow,#hepg-toggle.open .hepg-arrow { transform:rotate(180deg); }
#epg-body,#hepg-body { max-height:0; overflow:hidden; transition:max-height .4s ease; display:flex; flex-direction:column; }
#epg-body.open,#hepg-body.open { max-height:5000px; }
#epg-tabs,#hepg-tabs { display:flex; gap:0; border-bottom:1px solid #1e2d45; background:#0a1020; }
.epg-tab,.hepg-tab { flex:1; padding:10px 4px; border:none; font-size:.75em; cursor:pointer; text-align:center; font-weight:bold; letter-spacing:.02em; background:#0a1020; color:#555; border-bottom:2px solid transparent; transition:all .2s; border-radius:0; }
.epg-tab:hover,.hepg-tab:hover { color:#aaa; }
.epg-tab.active,.hepg-tab.active { color:#4a9eff; border-bottom:2px solid #4a9eff; background:#0f1621; }
#epg-range-bar,#hepg-range-bar { padding:8px 14px; background:#0a1020; font-size:.75em; color:#5a7a9a; letter-spacing:.04em; border-bottom:1px solid #1e2d45; text-align:center; }
.epg-item,.hepg-item { display:flex; align-items:stretch; border-bottom:1px solid #1a2435; min-height:72px; transition:background .15s; }
.epg-item.epg-past,.hepg-item.hepg-past   { background:#080e18; opacity:.55; }
.epg-item.epg-current,.hepg-item.hepg-current { background:#0a1e3a; border-left:4px solid #4a9eff; }
.epg-item.epg-future,.hepg-item.hepg-future  { background:#0f1621; }
.epg-item.epg-new,.hepg-item.hepg-new { border-left:4px solid #ffcc00; }
.epg-time-col,.hepg-time-col { width:62px; min-width:62px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:8px 4px; border-right:1px solid #1e2d45; flex-shrink:0; }
.epg-time-start,.hepg-time-start { font-size:1.05em; font-weight:bold; color:#ddeeff; font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.epg-item.epg-current .epg-time-start,.hepg-item.hepg-current .hepg-time-start { color:#4a9eff; }
.epg-item.epg-past    .epg-time-start,.hepg-item.hepg-past    .hepg-time-start { color:#3a5a7a; }
.epg-time-end,.hepg-time-end { font-size:.72em; color:#4a6a8a; margin-top:3px; font-variant-numeric:tabular-nums; }
.epg-dur-badge,.hepg-dur-badge { font-size:.65em; color:#2a4a6a; margin-top:2px; background:#0a1628; padding:1px 4px; border-radius:2px; }
.epg-thumb-wrap,.hepg-thumb-wrap { width:96px; min-width:96px; height:72px; overflow:hidden; position:relative; flex-shrink:0; }
.epg-thumb,.hepg-thumb { width:96px; height:72px; object-fit:cover; display:block; background:#111; }
.epg-item.epg-past .epg-thumb,.hepg-item.hepg-past .hepg-thumb { filter:grayscale(60%); }
.epg-now-badge,.hepg-now-badge { position:absolute; top:3px; left:3px; background:#e00; color:#fff; font-size:.6em; font-weight:bold; padding:1px 5px; border-radius:2px; }
.epg-new-badge,.hepg-new-badge { position:absolute; top:3px; right:3px; background:#ffcc00; color:#000; font-size:.6em; font-weight:bold; padding:1px 5px; border-radius:2px; }
.epg-info,.hepg-info { flex:1; padding:8px 10px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; min-width:0; }
.epg-title,.hepg-title { font-size:.83em; color:#ccc; line-height:1.4; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; margin-bottom:5px; }
.epg-item.epg-current .epg-title,.hepg-item.hepg-current .hepg-title { color:#fff; font-weight:bold; font-size:.88em; }
.epg-item.epg-past    .epg-title,.hepg-item.hepg-past    .hepg-title { color:#4a6a8a; }
.epg-actions,.hepg-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.epg-yt-btn,.hepg-yt-btn { font-size:.7em; color:#4a9eff; text-decoration:none; padding:3px 8px; border:1px solid #2a4a7a; border-radius:0; background:#0a1830; white-space:nowrap; transition:background .2s; }
.epg-yt-btn:hover,.hepg-yt-btn:hover { background:#1a3a60; }
.epg-like-btn,.hepg-like-btn { display:flex; align-items:center; gap:3px; font-size:.7em; color:#888; background:none; border:1px solid #2a3a5a; border-radius:0; padding:3px 8px; cursor:pointer; transition:all .2s; white-space:nowrap; }
.epg-like-btn:hover,.hepg-like-btn:hover { border-color:#e05a80; color:#e05a80; }
.epg-like-btn.liked,.hepg-like-btn.liked { background:#2a0f1a; border-color:#e05a80; color:#ff6b9d; }
.epg-divider,.hepg-divider { padding:8px 16px; font-size:.88em; font-weight:bold; letter-spacing:.05em; border-bottom:1px solid #1e2d45; }
.epg-divider.past-label,.hepg-divider.past-label   { background:#060c14; color:#3a6a9a; }
.epg-divider.now-label,.hepg-divider.now-label     { background:#0a1828; color:#5ab4ff; }
.epg-divider.next-label,.hepg-divider.next-label   { background:#080e18; color:#4a7a9a; }

/* いいねリスト */
#likes-wrap { width:100%; background:#0f1621; overflow:hidden; flex-shrink:0; border-bottom:1px solid #1e2d45; }
#likes-toggle { width:100%; padding:14px 16px; border:none; cursor:pointer; border-radius:0; background:#2a0f1a; color:#ff6b9d; font-size:1.1em; font-weight:bold; display:flex; justify-content:space-between; align-items:center; transition:background .2s; }
#likes-toggle:hover { background:#3d1425; }
.likes-toggle-title { display:flex; align-items:center; gap:8px; }
.likes-arrow { transition:transform .3s; color:#e05a80; }
#likes-toggle.open .likes-arrow { transform:rotate(180deg); }
#likes-body { max-height:0; overflow:hidden; transition:max-height .4s ease; }
#likes-body.open { max-height:5000px; }
.likes-content { padding:14px; }
/* ── スタンドアロン いいね一覧 ── */
.hinata-likes-wrap { background:#0d1520; border-radius:12px; overflow:hidden; font-family:sans-serif; }
.hinata-likes-wrap h2 { display:flex; align-items:center; gap:8px; background:#1a1030; color:#ff6b9d; font-size:1em; font-weight:bold; margin:0; padding:14px 16px; border-bottom:1px solid #2a1040; }
.hinata-likes-count { font-size:.85em; color:#aaa; padding:10px 16px 0; margin:0; }
.hinata-likes-empty { font-size:.9em; color:#666; padding:24px 16px; margin:0; }

/* エクスポートエリア */
.hinata-export-area { background:#0a1020; padding:14px 16px; border-bottom:1px solid #1e2d45; }
.hinata-export-title { font-size:.8em; color:#7a9ab8; margin-bottom:10px; font-weight:bold; letter-spacing:.04em; }
.hinata-export-btns { display:flex; gap:8px; flex-wrap:wrap; }
.hinata-export-btn { display:inline-flex; align-items:center; gap:6px; font-size:.82em; font-weight:bold; padding:10px 16px; border-radius:8px; cursor:pointer; text-decoration:none; border:none; transition:all .2s; white-space:nowrap; }
.hinata-export-btn.yt { background:#e00; color:#fff; box-shadow:0 2px 8px rgba(220,0,0,.3); }
.hinata-export-btn.yt:hover { background:#c00; transform:translateY(-1px); }
.hinata-export-btn.copy { background:#1a2540; color:#7ab8ff; border:1px solid #2a4a7a; }
.hinata-export-btn.copy:hover { background:#1e2e50; }
.hinata-export-btn.copy.copied { color:#7dce82; border-color:#3a6a4a; }
.hinata-export-note { font-size:.72em; color:#4a6a8a; margin-top:10px; line-height:1.7; }

/* アイテム */
.hinata-like-item { background:#0f1828; border-left:4px solid #4a9eff; border-bottom:1px solid #1a2840; overflow:hidden; transition:opacity .3s,background .2s; }
.hinata-like-item:hover { background:#131e30; }
.hinata-like-item.removing { opacity:0; }
.hinata-like-top { display:flex; align-items:flex-start; gap:12px; padding:12px 14px 8px; }
.hinata-like-thumb { width:96px; height:54px; object-fit:cover; border-radius:6px; flex-shrink:0; background:#111; }
.hinata-like-info { flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-between; }
.hinata-like-title { font-size:.88em; color:#e8f0ff; font-weight:bold; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:6px; }
.hinata-like-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.hinata-like-meta .ch-label { font-size:.72em; font-weight:bold; padding:2px 8px; border-radius:4px; background:rgba(255,255,255,.07); }
.hinata-like-meta .like-date { font-size:.7em; color:#4a6a8a; }
.hinata-like-actions { display:flex; gap:8px; padding:0 14px 12px; }
.hinata-like-yt { flex:1; font-size:.78em; color:#c8d8f0; text-decoration:none; padding:8px 10px; border:1px solid #2a4a7a; border-radius:8px; background:#0a1830; text-align:center; display:flex; align-items:center; justify-content:center; gap:4px; transition:all .2s; }
.hinata-like-yt:hover { background:#1a3a60; color:#fff; border-color:#4a7aaa; }
.hinata-unlike-btn { flex:1; font-size:.78em; color:#888; padding:8px 10px; border:1px solid #2a3040; border-radius:8px; background:none; cursor:pointer; text-align:center; transition:all .2s; display:flex; align-items:center; justify-content:center; gap:4px; }
.hinata-unlike-btn:hover { border-color:#e05a80; color:#ff6b9d; background:#1a0815; }
.hinata-unlike-btn:disabled { opacity:.4; cursor:not-allowed; }

/* [login_btn] ひなテレへのボタン */
.hina-btn-wrap { text-align:center; margin:36px 0; width:100%; }
.hina-tele-button {
    position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:16px 44px; color:#fff !important; text-decoration:none !important;
    font-weight:900; font-size:1.1em; letter-spacing:.08em;
    border-radius:999px; border:none; cursor:pointer; overflow:hidden;
    background:linear-gradient(135deg, #5BBDE3 0%, #9B59B6 50%, #7E1281 100%);
    box-shadow:0 6px 24px rgba(91,189,227,.35), 0 2px 8px rgba(126,18,129,.3);
    transition:all .35s cubic-bezier(.34,1.56,.64,1);
}
.hina-tele-button::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 60%);
    border-radius:inherit;
}
.hina-tele-button::after {
    content:'▶'; font-size:.85em; opacity:.85; transition:transform .3s ease;
}
.hina-tele-button:hover {
    transform:translateY(-4px) scale(1.03);
    box-shadow:0 12px 32px rgba(91,189,227,.45), 0 4px 12px rgba(126,18,129,.4);
    color:#fff !important;
}
.hina-tele-button:hover::after { transform:translateX(4px); }
.hina-tele-button:active { transform:translateY(-1px) scale(.98); }
@media (max-width:480px) { .hina-tele-button { width:85%; padding:14px 24px; font-size:1em; } }

/* EPG 独立ウィジェット */
#hepg-wrap { width:100%; background:#0f1621; border-radius:10px; overflow:hidden; }
#hepg-toggle { width:100%; padding:0; border:none; cursor:pointer; background:#0d1e35; transition:background .2s; display:block; text-align:left; }
#hepg-toggle:hover { background:#112240; }
#hepg-now-info { padding:14px 16px 0; }
#hepg-now-label { font-size:.72em; color:#4a9eff; font-weight:bold; letter-spacing:.06em; margin-bottom:6px; display:flex; align-items:center; gap:6px; }
#hepg-live-dot { width:8px; height:8px; background:#e00; border-radius:50%; display:inline-block; animation:hepgBlink 1.2s infinite; flex-shrink:0; }
@keyframes hepgBlink { 0%,100%{opacity:1;}50%{opacity:.2;} }
#hepg-ch-badge { font-size:.75em; color:#5a7a9a; margin-left:auto; font-weight:normal; }
#hepg-now-title-main { font-size:1em; font-weight:bold; color:#fff; line-height:1.5; word-break:break-all; margin-bottom:4px; }
#hepg-now-next { font-size:.75em; color:#5a7a9a; padding-bottom:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#hepg-toggle-foot { display:flex; align-items:center; justify-content:center; gap:10px; padding:14px 16px; background:#0a1530; border-top:1px solid #1e2d45; transition:background .2s; }
#hepg-toggle:hover #hepg-toggle-foot,#hepg-toggle.open #hepg-toggle-foot { background:#0e1e40; }
