/*
Theme Name: 廣娛傳媒 ent.111adv.com（復古彩色電視・彩條測試圖）
Template: nvbase
Description: ent.111adv.com 專屬子主題：七色彩條測試圖邊框的復古彩色電視，轉台式頭條、電視節目表新聞、遙控器票房頻道與上映日曆（文化部票房開放資料）、頻道一覽分類。
Version: 1.0.0
Text Domain: nv-ent111adv
*/

:root{
	--mag:#ec1f8e;--mag2:#bd1170;--cyan:#00b8dc;--yel:#ffd21a;--grn:#1db84a;--red:#ff3b3b;--blu:#2d4dff;--silver:#c9c9d6;
	--wood:#d9702f;--wood2:#a94f1a;--bg:#fff2f8;--ink:#2a1530;--muted:#6b5470;--line:#f2d3e4;--paper:#fffdf8;
	--sans:'Noto Sans TC',system-ui,-apple-system,'Microsoft JhengHei',sans-serif;
	--disp:'Bungee','Noto Sans TC',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.tvx{margin:0;color:var(--ink);font:16px/1.7 var(--sans);overflow-x:hidden;background-color:var(--bg);
	background-image:radial-gradient(circle at 12px 12px,rgba(236,31,142,.13) 3px,transparent 3.5px),radial-gradient(circle at 36px 36px,rgba(0,184,220,.14) 3px,transparent 3.5px);
	background-size:48px 48px}
a{color:inherit;text-decoration:none}
a:hover{color:var(--mag)}
img{max-width:100%;display:block}
.tvx-wrap,.nv-wrap{max-width:1220px;margin:0 auto;padding-inline:20px}

/* 彩條 */
.tvx-bars{display:grid;grid-template-columns:repeat(7,1fr);height:12px}
.tvx-bars i:nth-child(1){background:var(--silver)}.tvx-bars i:nth-child(2){background:var(--yel)}.tvx-bars i:nth-child(3){background:var(--cyan)}
.tvx-bars i:nth-child(4){background:var(--grn)}.tvx-bars i:nth-child(5){background:var(--mag)}.tvx-bars i:nth-child(6){background:var(--red)}.tvx-bars i:nth-child(7){background:var(--blu)}
.tvx-bars-foot{height:18px}

/* ---------- 頁首 ---------- */
.tvx-head{background:var(--mag);color:#fff}
.tvx-head-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.tvx-logo{display:flex;align-items:center;gap:14px;color:#fff;min-width:0}
.tvx-logo:hover{color:#fff}
.tvx-logo-ch{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:62px;border-radius:16px;background:var(--yel);color:var(--ink);font:400 13px/1 var(--disp);border:4px solid #fff;box-shadow:4px 4px 0 var(--mag2);transform:rotate(-4deg)}
.tvx-logo-ch b{font:400 28px/1 var(--disp);font-weight:400}
.tvx-logo-txt{display:flex;flex-direction:column;min-width:0}
.tvx-logo-txt small{font:400 14px/1.2 var(--disp);letter-spacing:.14em;color:var(--yel)}
.tvx-logo-txt b{font:900 clamp(28px,4.4vw,44px)/1.15 var(--sans);letter-spacing:.12em;text-shadow:3px 3px 0 var(--blu)}
.tvx-onair{flex:none;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.tvx-onair-dot{font:400 14px/1 var(--disp);background:var(--red);color:#fff;border:3px solid #fff;padding:5px 10px 4px;border-radius:30px;letter-spacing:.1em;animation:tvx-blink 1.6s steps(2) infinite}
@keyframes tvx-blink{50%{background:var(--mag2)}}
.tvx-onair b{font:900 19px var(--sans)}
.tvx-onair em{font:500 13px var(--sans);font-style:normal;opacity:.9}

.tvx-nav{background:#fff;border-bottom:4px solid var(--ink);position:relative;z-index:20}
.tvx-nav-in{display:flex;align-items:center;gap:12px;padding-block:8px}
.tvx-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px;flex:1;min-width:0}
.tvx-menu a{display:flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:30px;border:3px solid var(--ink);font:900 15px var(--sans);color:var(--ink);background:#fff;box-shadow:3px 3px 0 var(--ink);transition:transform .1s}
.tvx-menu a:hover{transform:translate(-1px,-1px);color:var(--ink)}
.tvx-menu em{font:400 12px/1 var(--disp);font-style:normal;color:#fff;background:var(--c,var(--mag));border-radius:20px;padding:5px 7px 4px}
.tvx-menu .c0{--c:var(--mag)}.tvx-menu .c1{--c:var(--cyan)}.tvx-menu .c2{--c:var(--grn)}.tvx-menu .c3{--c:var(--red)}.tvx-menu .c4{--c:var(--blu)}.tvx-menu .c5{--c:#e0a800}.tvx-menu .c6{--c:var(--mag2)}
.tvx-menu .on a{background:var(--yel)}
.tvx-burger{display:none;background:var(--yel);color:var(--ink);border:3px solid var(--ink);border-radius:30px;padding:5px 16px;font:900 15px var(--sans);cursor:pointer;box-shadow:3px 3px 0 var(--ink)}
.nv-search{display:flex;max-width:100%}
.nv-search input{min-width:0;width:120px;border:3px solid var(--ink);border-right:0;background:#fff;color:var(--ink);padding:4px 12px;font:14px var(--sans);outline:none;border-radius:30px 0 0 30px}
.nv-search button{border:3px solid var(--ink);background:var(--cyan);color:#fff;font:900 14px var(--sans);padding:0 14px;cursor:pointer;border-radius:0 30px 30px 0}

/* ---------- 電視機 ---------- */
.tvx-stage{padding-block:34px 56px}
.tvx-set{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;background:linear-gradient(180deg,#e88445,var(--wood) 30%,#c45f22);border-radius:38px;padding:24px;border:5px solid var(--ink);box-shadow:inset 0 0 0 6px rgba(255,255,255,.18),10px 10px 0 var(--ink)}
.tvx-set::before{content:"";position:absolute;inset:10px;border-radius:30px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.035) 0 3px,transparent 3px 11px);pointer-events:none}
.tvx-leg{position:absolute;bottom:-30px;width:16px;height:32px;background:var(--ink);border-radius:0 0 6px 6px}
.tvx-leg.l{left:12%;transform:skewX(12deg)}.tvx-leg.r{right:12%;transform:skewX(-12deg)}
.tvx-screen-wrap{position:relative;padding:14px;border-radius:30px;border:4px solid var(--ink);
	background:linear-gradient(90deg,var(--silver) 0 14.28%,var(--yel) 14.28% 28.57%,var(--cyan) 28.57% 42.85%,var(--grn) 42.85% 57.14%,var(--mag) 57.14% 71.42%,var(--red) 71.42% 85.71%,var(--blu) 85.71%)}
.tvx-screen{position:relative;border-radius:40px/30px;overflow:hidden;background:#1a1035;border:4px solid var(--ink);aspect-ratio:16/10.5;box-shadow:inset 0 0 40px rgba(0,0,0,.6)}
.tvx-ch{position:absolute;inset:0}
.tvx-ch[hidden]{display:none}
.tvx-ch-img{position:absolute;inset:0;display:block;background:linear-gradient(135deg,var(--mag),var(--blu))}
.tvx-ch-img img{width:100%;height:100%;object-fit:cover}
.tvx-ch-img::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.09) 0 2px,transparent 2px 4px);pointer-events:none}
.tvx-ch-cap{position:absolute;left:0;right:0;bottom:0;padding:60px 26px 22px;background:linear-gradient(transparent,rgba(26,8,40,.9) 45%);color:#fff}
.tvx-ch-meta{margin:0 0 6px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:700 13.5px var(--sans)}
.tvx-ch-meta b{font:400 14px/1 var(--disp);background:var(--yel);color:var(--ink);padding:5px 8px 4px;border-radius:6px}
.tvx-ch-meta span{background:rgba(255,255,255,.18);padding:1px 10px;border-radius:20px}
.tvx-ch-title{margin:0 0 6px;font:900 clamp(21px,2.5vw,31px)/1.4 var(--sans);text-shadow:2px 2px 0 rgba(0,0,0,.4)}
.tvx-ch-title a:hover{color:var(--yel)}
.tvx-ch-ex{margin:0;font-size:15px;color:#f6e6ff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tvx-live{position:absolute;right:18px;top:16px;z-index:3;font:900 13px var(--sans);color:#fff;background:var(--red);padding:3px 12px;border-radius:20px;border:2px solid #fff}
.tvx-static{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;
	background:repeating-radial-gradient(circle at 30% 40%,#fff 0 1px,#777 1px 2px,#222 2px 3px),linear-gradient(90deg,var(--silver),var(--yel),var(--cyan),var(--grn),var(--mag),var(--red),var(--blu));background-blend-mode:multiply}
.tvx-set.is-switch .tvx-static{opacity:.85;transition:opacity .08s}

.tvx-panel{position:relative;z-index:1;background:#fff4e6;border:4px solid var(--ink);border-radius:24px;padding:16px;display:flex;flex-direction:column;gap:10px}
.tvx-knobs{display:flex;justify-content:space-around;padding:4px 0}
.tvx-knob{width:66px;height:66px;border-radius:50%;background:conic-gradient(from 0deg,#fff,#d8d8e4,#fff,#c2c2d2,#fff);border:4px solid var(--ink);position:relative;box-shadow:3px 3px 0 var(--ink)}
.tvx-knob::after{content:"";position:absolute;left:50%;top:5px;width:6px;height:22px;margin-left:-3px;background:var(--red);border-radius:3px}
.tvx-knob.s{width:50px;height:50px;align-self:center;transform:rotate(60deg)}
.tvx-panel-l{margin:0;font:400 14px var(--disp);letter-spacing:.06em;color:var(--mag2)}
.tvx-chbtns{display:flex;flex-direction:column;gap:7px}
.tvx-chbtns button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;text-align:left;border:3px solid var(--ink);border-radius:12px;background:#fff;padding:5px 8px;cursor:pointer;font:700 13.5px/1.4 var(--sans);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.tvx-chbtns button b{font:400 18px/1 var(--disp);color:#fff;background:var(--c,var(--mag));border-radius:8px;padding:6px 0 5px;text-align:center}
.tvx-chbtns button span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tvx-chbtns .c0{--c:var(--mag)}.tvx-chbtns .c1{--c:var(--cyan)}.tvx-chbtns .c2{--c:var(--grn)}.tvx-chbtns .c3{--c:var(--red)}.tvx-chbtns .c4{--c:var(--blu)}
.tvx-chbtns button[aria-pressed="true"]{background:var(--yel);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.tvx-grille{flex:1;min-height:40px;border-radius:12px;background:repeating-linear-gradient(0deg,var(--wood2) 0 3px,transparent 3px 8px);opacity:.55}

/* ---------- 標題 ---------- */
.tvx-h2{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:0 0 18px}
.tvx-h2 b{font:900 clamp(24px,2.8vw,30px)/1.2 var(--sans);background:var(--blu);color:#fff;padding:6px 18px 7px;border:4px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);transform:rotate(-1.5deg)}
.tvx-h2 span{font:400 15px/1.3 var(--disp);color:var(--mag2);letter-spacing:.04em}
.tvx-h2.on-dark span{color:var(--yel)}
.tvx-h2.on-dark b{background:var(--mag)}

/* ---------- 節目表＋側欄 ---------- */
.tvx-cols{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;padding-block:6px 40px}
.tvx-block{background:var(--paper);border:4px solid var(--ink);border-radius:22px;padding:22px;box-shadow:8px 8px 0 var(--ink)}
.tvx-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tvx-slot{--c:var(--mag);display:grid;grid-template-columns:96px minmax(0,1fr);border:3px solid var(--ink);border-radius:14px;background:#fff;overflow:hidden}
.tvx-slot.is-cyan{--c:var(--cyan)}.tvx-slot.is-green{--c:var(--grn)}.tvx-slot.is-blue{--c:var(--blu)}.tvx-slot.is-red{--c:var(--red)}.tvx-slot.is-yellow{--c:#eaa900}
.tvx-slot-time{background:var(--c);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;border-right:3px solid var(--ink);text-align:center}
.tvx-slot-time small{font:700 12.5px/1.3 var(--sans)}
.tvx-slot-time time{font:400 23px/1.1 var(--disp)}
.tvx-slot-body{padding:8px 12px 10px;min-width:0}
.tvx-genre{display:inline-block;font:700 12px/1.7 var(--sans);color:var(--c);border:2px solid var(--c);border-radius:20px;padding:0 9px}
.tvx-slot h4{margin:4px 0 0;font:700 15.5px/1.55 var(--sans)}

.sidebar.nv-side{min-width:0;max-width:680px}
.sidebar.nv-side>*{margin-bottom:16px}
.tvx-side,.nv-layout>.nv-side{background:var(--cyan);border:4px solid var(--ink);border-radius:22px;padding:14px;box-shadow:8px 8px 0 var(--ink);align-self:start}
.tvx-side::before{content:"資訊頻道";display:block;font:900 17px var(--sans);color:#fff;letter-spacing:.14em;margin:0 0 10px 4px;text-shadow:2px 2px 0 var(--ink)}
.tvx-side>section,.tvx-side>div,.nv-layout>.nv-side>section,.nv-layout>.nv-side>div{background:#fff;border-radius:14px;overflow:hidden;border:3px solid var(--ink)}
.tvx-side>*:last-child{margin-bottom:0}

/* ---------- 票房頻道 ---------- */
.tvx-bo{background:var(--blu);color:#fff;padding-block:40px 44px;border-block:5px solid var(--ink);
	background-image:radial-gradient(circle at 20px 20px,rgba(255,255,255,.1) 3px,transparent 3.5px);background-size:40px 40px}
.tvx-bo-lead{margin:-6px 0 18px;color:#e6eaff}
.tvx-bo-lead b{color:var(--yel)}
.tvx-bo-in{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.tvx-remote{background:#2b2240;border:4px solid var(--ink);border-radius:60px 60px 34px 34px;padding:26px 18px 20px;box-shadow:8px 8px 0 var(--ink);position:relative;display:flex;flex-direction:column;gap:14px}
.tvx-remote-ir{display:block;width:30px;height:12px;border-radius:10px;background:var(--red);margin:0 auto;box-shadow:0 0 10px var(--red)}
.tvx-remote-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.tvx-remote-mode button{border:3px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font:900 13px/1.3 var(--sans);padding:6px 2px;cursor:pointer}
.tvx-remote-mode button[aria-pressed="true"]{background:var(--yel)}
.tvx-remote-num{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tvx-remote-num button{aspect-ratio:1;border-radius:50%;border:3px solid var(--ink);background:#fff;color:var(--ink);font:400 18px/1 var(--disp);cursor:pointer;box-shadow:0 4px 0 var(--ink)}
.tvx-remote-num button:nth-child(3n+1){background:#ffe0f0}.tvx-remote-num button:nth-child(3n+2){background:#d9f6ff}.tvx-remote-num button:nth-child(3n){background:#ddf8e4}
.tvx-remote-num button:last-child{grid-column:2}
.tvx-remote-num button[aria-pressed="true"]{background:var(--mag);color:#fff;transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.tvx-remote-pm{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tvx-remote-pm button{border:3px solid var(--ink);border-radius:20px;background:var(--cyan);color:#fff;font:400 13px var(--disp);padding:7px 0;cursor:pointer;box-shadow:0 3px 0 var(--ink)}
.tvx-remote-brand{margin:0;text-align:center;font:400 13px var(--disp);color:#a99cc8;letter-spacing:.3em}
.tvx-bo-tv{min-width:0}
.tvx-bo-screen{background:#1d1238;border:5px solid var(--ink);border-radius:30px;padding:22px 26px;box-shadow:0 0 0 10px var(--wood),0 0 0 14px var(--ink),12px 12px 0 14px var(--ink);margin:14px 14px 40px;position:relative;transition:filter .12s,opacity .12s}
.tvx-bo-screen::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,var(--silver) 0 14.28%,var(--yel) 14.28% 28.57%,var(--cyan) 28.57% 42.85%,var(--grn) 42.85% 57.14%,var(--mag) 57.14% 71.42%,var(--red) 71.42% 85.71%,var(--blu) 85.71%)}
.tvx-bo-screen.is-switch{filter:brightness(2.2) contrast(.4);opacity:.6}
.tvx-bo-rank{margin:6px 0 4px;font:700 15px var(--sans);color:var(--cyan)}
.tvx-bo-rank b{font:400 44px/1 var(--disp);color:var(--yel);vertical-align:-6px;margin:0 4px}
.tvx-bo-screen h3{margin:0 0 14px;font:900 clamp(24px,3vw,34px)/1.35 var(--sans);color:#fff}
.tvx-bo-screen dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.tvx-bo-screen dl div{background:rgba(255,255,255,.08);border-radius:12px;padding:8px 12px;min-width:0}
.tvx-bo-screen dl div.w{grid-column:1/-1}
.tvx-bo-screen dt{font:500 12.5px var(--sans);color:#c7b8ee}
.tvx-bo-screen dd{margin:0;font:900 18px/1.4 var(--sans);color:#fff;overflow-wrap:anywhere}
.tvx-bo-screen dd[data-bo="amt"]{color:var(--yel)}
.tvx-bo-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tvx-bo-list button{width:100%;display:grid;grid-template-columns:36px minmax(0,1.3fr) minmax(0,1fr) 96px;gap:10px;align-items:center;border:3px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);padding:5px 10px;cursor:pointer;text-align:left;font:700 15px/1.4 var(--sans)}
.tvx-bo-list b{font:400 18px/1 var(--disp);color:var(--mag)}
.tvx-bo-list .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tvx-bo-list .bar{height:14px;border-radius:8px;background:#f1eaf6;overflow:hidden;border:2px solid var(--ink)}
.tvx-bo-list .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--yel),var(--mag))}
.tvx-bo-list .m{text-align:right;font-size:13.5px;color:var(--muted)}
.tvx-bo-list li.on button{background:var(--yel)}
.tvx-note{font-size:13.5px;color:var(--muted);margin:14px 0 0}
.tvx-bo .tvx-note{color:#dfe4ff}
.nv-govcredit{font:13px/1.6 var(--sans);color:var(--muted);margin:10px 0 0;padding:6px 12px;background:#fff;border:2px solid var(--ink);border-radius:12px}
.nv-govcredit a{color:var(--mag2);text-decoration:underline}
.tvx-bo .nv-govcredit{color:var(--ink)}

/* ---------- 上映日曆 ---------- */
.tvx-cal{padding-block:44px 30px}
.tvx-cal>.tvx-wrap{background:var(--paper);border:4px solid var(--ink);border-radius:22px;padding:22px;box-shadow:8px 8px 0 var(--ink)}
.tvx-cal-lead{margin:-6px 0 12px;color:var(--muted)}
.tvx-cal-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tvx-cal-tabs button{border:3px solid var(--ink);border-radius:30px;background:#fff;color:var(--ink);font:900 15px var(--sans);padding:4px 16px;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}
.tvx-cal-tabs button[aria-pressed="true"]{background:var(--grn);color:#fff}
.tvx-month[hidden]{display:none}
.tvx-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:3px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--ink);gap:2px}
.tvx-cal-wk{background:var(--mag);color:#fff;text-align:center;font:900 14px/2 var(--sans)}
.tvx-cal-wk.we{background:var(--mag2)}
.tvx-cal-d{background:#fff;min-height:92px;padding:4px 6px 6px;display:flex;flex-direction:column;gap:3px;min-width:0}
.tvx-cal-d.blank{background:#f7eef4}
.tvx-cal-d .n{font:400 14px/1.2 var(--disp);color:var(--muted)}
.tvx-cal-d.has{background:#fffbe6}
.tvx-cal-d.has .n{color:var(--ink)}
.tvx-cal-d .f{display:block;font:700 12.5px/1.35 var(--sans);border-radius:6px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}
.tvx-cal-d .f.lv1{background:#d9f6ff;color:#035a6b}
.tvx-cal-d .f.lv2{background:var(--cyan);color:#fff}
.tvx-cal-d .f.lv3{background:var(--mag);color:#fff}
.tvx-cal-list{display:none;list-style:none;margin:0;padding:0}
.tvx-cal-list li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:2px dashed var(--line);font-size:15px}
.tvx-cal-list b{color:var(--mag2)}

/* ---------- 頻道一覽 ---------- */
.tvx-chans{padding-block:24px 50px}
.tvx-chans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tvx-mini{--c:var(--mag);background:var(--paper);border:4px solid var(--ink);border-radius:24px;padding:12px 12px 14px;box-shadow:6px 6px 0 var(--ink)}
.tvx-mini.is-cyan{--c:var(--cyan)}.tvx-mini.is-green{--c:var(--grn)}.tvx-mini.is-blue{--c:var(--blu)}.tvx-mini.is-red{--c:var(--red)}.tvx-mini.is-yellow{--c:#eeb000}
.tvx-mini-h{display:flex;align-items:center;gap:10px;background:var(--c);color:#fff;border:3px solid var(--ink);border-radius:14px;padding:6px 12px;margin-bottom:10px}
.tvx-mini-h:hover{color:#fff;filter:brightness(1.08)}
.tvx-mini-h em{font:400 14px/1 var(--disp);font-style:normal;background:#fff;color:var(--ink);border-radius:8px;padding:5px 7px 4px}
.tvx-mini-h b{font:900 20px var(--sans);flex:1}
.tvx-mini-h small{font:700 13px var(--sans)}
.tvx-mini-scr{display:block;position:relative;aspect-ratio:16/10;border-radius:26px/20px;overflow:hidden;border:4px solid var(--ink);background:linear-gradient(135deg,var(--c),var(--blu))}
.tvx-mini-scr img{width:100%;height:100%;object-fit:cover}
.tvx-mini-scr span{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 10px;background:linear-gradient(transparent,rgba(26,8,40,.9));color:#fff;font:700 15.5px/1.5 var(--sans)}
.tvx-mini-scr.no-img{aspect-ratio:auto}
.tvx-mini-scr.no-img span{position:static;display:block;padding:12px 14px}
.tvx-mini ul{list-style:none;margin:10px 4px 0;padding:0}
.tvx-mini li{padding:7px 0 7px 18px;border-top:2px dashed var(--line);position:relative;font:500 15px/1.55 var(--sans)}
.tvx-mini li::before{content:"";position:absolute;left:0;top:14px;width:10px;height:10px;border-radius:3px;background:var(--c)}

/* ---------- 頁尾 ---------- */
.tvx-foot{background:var(--ink);color:#f0e4ff}
.tvx-foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding-block:26px 16px}
.tvx-signoff{display:flex;align-items:center;gap:14px}
.tvx-signoff b{display:block;font:900 26px var(--sans);color:#fff;letter-spacing:.1em}
.tvx-signoff small{font-size:13.5px;color:var(--yel)}
.tvx-foot-nav{display:flex;flex-wrap:wrap;gap:6px 16px}
.tvx-foot-nav a{color:#fff;font:700 15px var(--sans)}
.tvx-foot-nav a:hover{color:var(--yel)}
.tvx-copy{margin:0;padding:12px 20px 22px;text-align:center;font-size:13px;color:#bba9d0;border-top:1px solid rgba(255,255,255,.15)}

/* ---------- 內頁（nvbase 通用 class） ---------- */
.nv-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;padding-block:28px 44px;align-items:start}
.nv-main{min-width:0}
.nv-archive .nv-main,.nv-article,.nv-404{background:var(--paper);border:4px solid var(--ink);border-radius:22px;padding:24px 28px 28px;box-shadow:8px 8px 0 var(--ink)}
.nv-404{margin-block:30px}
.nv-crumb{display:flex;flex-wrap:wrap;gap:4px;font:500 14px var(--sans);color:var(--muted);margin-bottom:12px}
.nv-crumb a{color:var(--mag2);font-weight:700}
.nv-crumb .sep{margin:0 3px}
.nv-crumb>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-page-head{margin-bottom:14px;padding-bottom:12px;border-bottom:4px solid var(--ink);position:relative}
.nv-page-head::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:6px;background:linear-gradient(90deg,var(--silver) 0 14.28%,var(--yel) 14.28% 28.57%,var(--cyan) 28.57% 42.85%,var(--grn) 42.85% 57.14%,var(--mag) 57.14% 71.42%,var(--red) 71.42% 85.71%,var(--blu) 85.71%)}
.nv-page-title{display:inline-block;margin:0;background:var(--mag);color:#fff;font:900 clamp(26px,3.6vw,36px)/1.3 var(--sans);padding:6px 20px 8px;border:4px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);letter-spacing:.08em}
.nv-page-desc{color:var(--muted);margin-top:10px}
.nv-list-item{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:3px dashed var(--line)}
.nv-list-item:not(:has(.nv-card-media)){grid-template-columns:1fr}
.nv-list-item .nv-card-media{display:block;aspect-ratio:16/10.5;overflow:hidden;border-radius:22px/16px;border:4px solid var(--ink)}
.nv-list-item .nv-card-img{width:100%;height:100%;object-fit:cover}
.nv-card-cat{display:inline-block;font:700 12.5px var(--sans);color:#fff;background:var(--blu);padding:1px 10px;border-radius:20px;margin-bottom:4px}
.nv-card-title{margin:0 0 6px;font:700 19px/1.5 var(--sans)}
.nv-card-excerpt{margin:0 0 4px;font-size:15px;color:var(--muted)}
.nv-card-time{font:400 14px var(--disp);color:var(--mag)}
.nv-pagination{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}
.nv-pagination a,.nv-pagination span{display:inline-block;min-width:42px;text-align:center;padding:5px 12px;background:#fff;border:3px solid var(--ink);border-radius:30px;font:400 15px var(--disp);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.nv-pagination .current{background:var(--yel)}
.nv-empty{font-weight:700}
.nv-article-cat{display:inline-block;background:var(--cyan);color:#fff;font:900 14px var(--sans);padding:3px 14px;border:3px solid var(--ink);border-radius:20px;margin-bottom:10px}
.nv-article-cat:hover{color:#fff;background:var(--mag)}
.nv-article-title{font:900 clamp(25px,3.2vw,36px)/1.42 var(--sans);margin:0 0 12px}
.nv-article-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font:500 14px var(--sans);color:var(--muted);padding:8px 0;margin-bottom:22px;border-block:3px solid var(--ink)}
.nv-article-meta time{font:400 15px var(--disp);color:var(--mag)}
.nv-article-meta .nv-site{font-weight:900;color:var(--blu)}
.nv-article-body{font-size:17.5px;line-height:1.95;overflow-wrap:anywhere}
.nv-article-body img{height:auto;margin:16px auto;border-radius:12px}
.nv-article-body h2,.nv-article-body h3{font-weight:900;color:var(--mag2);line-height:1.45}
.nv-article-body a{color:var(--blu);text-decoration:underline}
.nv-article-body blockquote{margin:20px 0;padding:12px 18px;background:#fff;border:3px solid var(--ink);border-left:10px solid var(--cyan);border-radius:12px}
.nv-article-body table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%}
.nv-article-body td,.nv-article-body th{border:1px solid var(--line);padding:6px 8px}
.nv-article-body iframe,.nv-article-body video{max-width:100%}
/* 原稿常把大圖設成靠右浮動，會把文字擠成窄欄 → 一律置中不浮動 */
.nv-article-body .alignright,.nv-article-body .alignleft,.nv-article-body .wp-caption,.nv-article-body figure,.nv-article-body table[align]{float:none!important;max-width:100%!important;margin:16px auto!important;width:auto!important}
.nv-article-body table[align] td{border:0}
.nv-article-body .wp-caption-text,.nv-article-body figcaption{font-size:14px;color:var(--muted);text-align:center}
.nv-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.nv-tags a{background:#fff;color:var(--ink);border:3px solid var(--ink);padding:0 12px;font-size:14px;border-radius:20px}
.nv-sec-title{font:900 22px var(--sans);margin:30px 0 14px;display:inline-block;padding:4px 16px;background:var(--blu);color:#fff;border:3px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink)}
.nv-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nv-related-grid .nv-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:start;background:#fff;border:3px solid var(--ink);border-radius:14px;padding:8px}
.nv-related-grid .nv-card:not(:has(.nv-card-media)){grid-template-columns:1fr}
.nv-related-grid .nv-card-media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:10px}
.nv-related-grid .nv-card-img{width:100%;height:100%;object-fit:cover}
.nv-related-grid .nv-card-title{font:700 15.5px/1.5 var(--sans)}
.nv-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;padding-top:12px;border-top:3px dashed var(--mag);font:700 15px/1.5 var(--sans)}
.nv-prevnext .next{text-align:right}
.nv-404 .nv-search{margin:14px 0 30px}
.nv-404 .nv-search input{flex:1;width:auto}

/* ---------- 響應式 ---------- */
@media (max-width:1080px){
	.tvx-cols,.nv-layout{grid-template-columns:minmax(0,1fr)}
	.tvx-side,.nv-layout>.nv-side{max-width:680px;width:100%}
	.tvx-chans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
	.tvx-set{grid-template-columns:minmax(0,1fr);padding:16px;border-radius:28px}
	.tvx-knobs,.tvx-grille{display:none}
	.tvx-chbtns{flex-direction:row;overflow-x:auto;padding-bottom:4px}
	.tvx-chbtns button{flex:0 0 190px}
	.tvx-bo-in{grid-template-columns:minmax(0,1fr)}
	.tvx-remote{border-radius:30px;flex-direction:row;flex-wrap:wrap;justify-content:center;padding:16px}
	.tvx-remote-ir,.tvx-remote-brand{display:none}
	.tvx-remote-mode{flex:1 1 100%}
	.tvx-remote-num{grid-template-columns:repeat(5,1fr);flex:1 1 100%}
	.tvx-remote-num button:last-child{grid-column:auto}
	.tvx-remote-pm{flex:1 1 100%}
	.tvx-burger{display:inline-block}
	.tvx-nav-in{flex-wrap:wrap;justify-content:space-between}
	.tvx-menu{display:none;flex:1 1 100%;order:3}
	.tvx-nav.is-open .tvx-menu{display:flex}
	.nv-search input{width:130px}
}
@media (max-width:640px){
	.tvx-wrap,.nv-wrap{padding-inline:12px}
	.tvx-head-in{padding-block:10px}
	.tvx-logo-ch{width:46px;height:46px;border-radius:12px;font-size:10px;border-width:3px}
	.tvx-logo-ch b{font-size:20px}
	.tvx-logo-txt small{font-size:11px}
	.tvx-onair b{font-size:14px}
	.tvx-onair em{display:none}
	.tvx-stage{padding-block:18px 44px}
	.tvx-set{padding:10px;gap:12px;box-shadow:6px 6px 0 var(--ink)}
	.tvx-screen-wrap{padding:8px;border-radius:20px}
	.tvx-screen{aspect-ratio:4/4.2;border-radius:26px/20px}
	.tvx-ch-cap{padding:50px 14px 14px}
	.tvx-ch-ex{display:none}
	.tvx-panel{padding:10px}
	.tvx-chbtns button{flex-basis:160px}
	.tvx-block{padding:16px 14px;box-shadow:5px 5px 0 var(--ink)}
	.tvx-guide-grid{grid-template-columns:minmax(0,1fr)}
	.tvx-h2 b{font-size:23px}
	.tvx-bo-screen{margin:10px 10px 32px;padding:18px 14px}
	.tvx-bo-screen dl{grid-template-columns:repeat(2,minmax(0,1fr))}
	.tvx-bo-list button{grid-template-columns:28px minmax(0,1fr) 80px;gap:8px}
	.tvx-bo-list .bar{display:none}
	.tvx-cal>.tvx-wrap{padding:16px 12px;border-radius:0;border-inline:0}
	.tvx-cal-grid{display:none}
	.tvx-cal-list{display:block}
	.tvx-chans-grid{grid-template-columns:minmax(0,1fr)}
	.nv-archive .nv-main,.nv-article,.nv-404{padding:16px 14px;box-shadow:5px 5px 0 var(--ink)}
	.nv-list-item{grid-template-columns:110px minmax(0,1fr);gap:12px}
	.nv-list-item .nv-card-media{border-width:3px;border-radius:14px}
	.nv-list-item .nv-card-excerpt{display:none}
	.nv-card-title{font-size:16.5px}
	.nv-related-grid{grid-template-columns:minmax(0,1fr)}
	.nv-prevnext{grid-template-columns:1fr}
	.nv-prevnext .next{text-align:left}
}
@media (prefers-reduced-motion:reduce){.tvx-onair-dot{animation:none}}
