/* ===== 正式版新增樣式（疊在 style.css 上面） ===== */
[hidden]{display:none!important}
a{color:inherit}
.small{font-size:12px}
.brand{text-decoration:none;color:inherit}
.brand-fox{width:40px;height:40px;display:block;filter:drop-shadow(0 4px 12px rgba(242,120,40,.35))}
.brand-logo{height:38px;width:auto;max-width:120px;object-fit:contain;border-radius:8px}
.desktop-nav a.nav-link{text-decoration:none;display:inline-flex;align-items:center}
.lang-ja body,.lang-ja{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Meiryo","Noto Sans JP",sans-serif}
.lang-zh-CN{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif}

/* 右上角工具列 */
.nav-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}
.tool-btn{position:relative;display:inline-flex;align-items:center;gap:6px;height:38px;min-width:38px;justify-content:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:#d7d8dc;text-decoration:none;cursor:pointer;font-size:14px}
.tool-btn:hover{border-color:rgba(242,140,56,.45);color:#ffc08a}
.tool-label{font-size:12px}
.login-btn{padding:0 14px;font-weight:700}
.avatar{width:38px;padding:0;background:linear-gradient(145deg,#3d2614,#1a110b);color:#ffd0a3;font-weight:800}
.bell-dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:#e2483d;box-shadow:0 0 0 2px #0a0b0e}
.lang-menu{position:relative}
.pop-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:150px;padding:6px;border:1px solid rgba(242,140,56,.22);border-radius:14px;background:rgba(10,11,14,.98);box-shadow:0 20px 50px rgba(0,0,0,.5);z-index:120}
.lang-menu.open .pop-menu{display:grid}
.pop-menu a{padding:9px 12px;border-radius:9px;color:#c9cad0;text-decoration:none;font-size:14px}
.pop-menu a:hover,.pop-menu a.active{background:rgba(242,140,56,.1);color:#ffc08a}

/* 分類下拉：連結版 */
.category-root{text-decoration:none}
.category-sublist a{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:999px;padding:6px 9px;color:#aaaeb7;font-size:11px;text-decoration:none}
.category-sublist a:hover{color:#ffc08a;border-color:rgba(242,140,56,.4);background:rgba(242,140,56,.08)}
.category-sublist small{opacity:.55;margin-left:4px}

/* 卡片 */
.card-link{display:block;text-decoration:none;color:inherit}
.poster-fallback{display:grid;place-items:center;padding:14px;text-align:center;font-weight:800;line-height:1.4;color:#f0b48a;background:linear-gradient(160deg,#2c1d13,#111317)}
.poster-rating{position:absolute;right:9px;bottom:9px;padding:4px 7px;border-radius:7px;background:rgba(4,5,7,.8);font-size:10px;color:#ffc08a}
.heart.on{color:#ffb877;border-color:rgba(242,140,56,.55)}
.progress-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.15)}
.progress-bar i{display:block;height:100%;background:var(--gold)}
.card-remove{position:absolute;right:8px;top:8px;z-index:4;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(6,7,9,.78);color:#ddd;cursor:pointer}
.rank-card{text-decoration:none;color:inherit}
.shelf-intro{margin:6px 0 0;font-size:13px}
.hero-content p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero-actions a.btn{text-decoration:none;display:inline-flex;align-items:center}
.cinematic-hero{display:grid}
.home-wrap .shelf-section:first-of-type{margin-top:26px}

/* 小提示 */
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:200;max-width:min(92vw,460px);padding:11px 16px;border-radius:12px;background:rgba(20,22,28,.97);border:1px solid rgba(242,140,56,.3);color:#f2e6cf;font-size:14px;transition:.25s;box-shadow:0 14px 40px rgba(0,0,0,.45);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* 結果頁與篩選 */
.filter-panel{padding:14px 16px;margin-bottom:24px;border:1px solid var(--line);border-radius:18px;background:rgba(12,13,17,.92);display:grid;gap:10px}
.filter-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.filter-row+.filter-row{padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}
.filter-selects{display:flex;flex-wrap:wrap;gap:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}
.filter-selects label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.filter-selects select,.ptool select{background:#111318;color:#e9dcc2;border:1px solid rgba(242,140,56,.28);border-radius:9px;padding:7px 10px;font-size:13px;outline:none}
.page-intro{margin:0 0 6px;max-width:720px;line-height:1.7}
.search-big{display:flex;gap:10px;margin:0 0 24px}
.search-big input{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:14px;color:#fff;padding:13px 16px;font-size:16px;outline:none}
.search-big input:focus{border-color:rgba(242,140,56,.5)}

/* 播放頁 */
.player-box{position:relative}
.player-msg{position:absolute;inset:0;display:grid;place-content:center;gap:10px;text-align:center;padding:20px;background:rgba(5,6,8,.92);border-radius:13px;z-index:5}
.player-msg b{font-size:18px}
.player-msg p{color:#b8bac0;max-width:440px;margin:0 auto;line-height:1.6}
.player-msg-actions{display:flex;gap:8px;justify-content:center}
.skip-btn{position:absolute;right:16px;bottom:64px;z-index:6;border:1px solid rgba(255,255,255,.3);background:rgba(10,11,14,.85);color:#fff;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer}
.resume-tip{position:absolute;left:16px;bottom:64px;z-index:6;background:rgba(10,11,14,.88);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13px;color:#ddd}
.resume-tip button{margin-left:8px;background:none;border:0;color:var(--gold);cursor:pointer;font-weight:700}
.player-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 6px 4px}
.ptool{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.ptool select{padding:5px 8px;font-size:12px}
.ptool.check{cursor:pointer}
.ptool-spacer{flex:1}
.ptool-btn{border:1px solid var(--line);background:rgba(255,255,255,.035);color:#cfd0d5;border-radius:9px;padding:6px 10px;font-size:12px;cursor:pointer}
.ptool-btn:hover{border-color:rgba(242,140,56,.4);color:#ffc08a}
.watch-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:18px 0 6px;flex-wrap:wrap}
.watch-title{font-family:Georgia,"Noto Serif TC",serif;font-size:28px;margin:0 0 4px}
.watch-now{margin:0}
.watch-actions{margin:0;flex-wrap:wrap}
.watch-actions .btn:disabled{opacity:.4;cursor:default}
.btn.on{border-color:rgba(242,140,56,.55);color:#ffc08a}
.ep-groups{display:flex;gap:8px;overflow-x:auto;margin-bottom:10px;scrollbar-width:none}
.ep.broken span:after{content:" !";color:#e2483d}
.episodes-block{margin-top:8px}
.detail-meta a{color:#f0b48a;text-decoration:none}
.credit a{color:#d8d8db;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.25)}
.credit a:hover{color:#ffc08a}
.rating-box{display:flex;align-items:center;gap:10px;margin:10px 0 2px;flex-wrap:wrap}
.rating-avg{color:#ffc08a;font-weight:800}
.stars button{background:none;border:0;color:#4a4d55;font-size:22px;cursor:pointer;padding:0 1px;transition:.15s}
.stars button.on,.stars:hover button{color:#f7b27a}
.stars button:hover~button{color:#4a4d55}
.comments{margin:30px 0}
.comment-form textarea{width:100%;min-height:90px;resize:vertical;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;outline:none;font:inherit}
.comment-form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 18px;flex-wrap:wrap}
.comment{padding:14px 0;border-bottom:1px solid var(--line)}
.comment-head{display:flex;align-items:center;gap:10px}
.comment p{margin:8px 0 0;line-height:1.7;color:#d3d4d8;overflow-wrap:anywhere}
.link-btn{margin-left:auto;background:none;border:0;color:var(--muted);cursor:pointer;font-size:12px}
.link-btn:hover{color:#ffc08a}
.login-hint a{color:var(--gold)}

/* 我的 */
.me-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 18px;flex-wrap:wrap}
.me-head h1{font-family:Georgia,"Noto Serif TC",serif;margin:0 0 6px}
.me-head p{margin:0;max-width:640px;line-height:1.6}
.me-auth{display:flex;gap:8px}
.me-auth a{text-decoration:none}
.tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:20px;border-bottom:1px solid var(--line);scrollbar-width:none}
.tabs button{background:none;border:0;color:#9a9da5;padding:11px 14px;cursor:pointer;font-weight:700;white-space:nowrap;border-bottom:2px solid transparent}
.tabs button.active{color:#ffc08a;border-bottom-color:var(--gold)}
.me-actions{margin-top:20px}
.notice-list{display:grid;gap:8px}
.notice{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:rgba(255,255,255,.02)}
.notice.unread{border-color:rgba(242,140,56,.4);background:rgba(242,140,56,.06)}
.notice img{width:48px;aspect-ratio:2/3;object-fit:cover;border-radius:8px;background:#151820}
.notice b{display:block;margin-bottom:4px}
.account-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:grid;gap:6px;font-size:13px;color:#b9bbc2}
.form input:disabled{opacity:.6}
.form-msg{min-height:1.2em;margin:0;font-size:13px;color:#ffc08a}

/* 登入註冊 */
.auth-card{max-width:420px;margin:40px auto}
.auth-card h1{font-family:Georgia,"Noto Serif TC",serif;margin:4px 0 18px}
.auth-card input{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;outline:none;font-size:15px}
.auth-card input:focus{border-color:rgba(242,140,56,.5)}
.auth-switch a{color:var(--gold)}

/* 404 */
.notfound{text-align:center;padding:80px 20px}
.nf-code{font:900 96px/1 Georgia,serif;color:transparent;-webkit-text-stroke:2px rgba(242,140,56,.7)}
.notfound h1{margin:16px 0 8px}
.nf-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}
.nf-actions a{text-decoration:none}

/* 專題 */
.playlist-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.playlist-card{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;text-decoration:none;margin:0}
.playlist-card:hover{border-color:rgba(242,140,56,.4)}
.playlist-covers{position:relative;height:150px}
.playlist-covers img{position:absolute;width:86px;aspect-ratio:2/3;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 25px rgba(0,0,0,.4)}
.playlist-covers img:nth-child(1){left:0;top:12px;transform:rotate(-6deg)}
.playlist-covers img:nth-child(2){left:32px;top:4px;z-index:2}
.playlist-covers img:nth-child(3){left:64px;top:12px;transform:rotate(6deg);z-index:1}
.playlist-card h3{margin:0 0 6px}
.playlist-card p{margin:0 0 8px;line-height:1.6;font-size:13px}

/* 手機底部導覽（連結版） */
.mobile-dock a{border:0;background:none;color:#777b84;display:grid;place-items:center;gap:2px;text-decoration:none}
.mobile-dock a span{font-size:18px}
.mobile-dock a small{font-size:9px}
.mobile-dock a.active{color:#f7b27a}

@media(max-width:999px){
  .nav{gap:14px}.cinematic-search{min-width:200px}.tool-label{display:none}
  .account-panel{grid-template-columns:1fr}
}
@media(max-width:699px){
  .mobile-dock,.results-page .mobile-dock{grid-template-columns:repeat(5,1fr)}
  .topbar .nav{flex-wrap:wrap}
  .nav-tools{margin-left:auto}
  .login-btn{padding:0 11px;font-size:13px}
  .tool-btn{height:34px;min-width:34px}
  .avatar{width:34px}
  .watch-page .nav-tools{margin-left:auto}
  .watch-head{margin-top:14px}
  .watch-title{font-size:22px}
  .watch-actions{width:100%}
  .watch-actions .btn{flex:1;padding:10px 6px;font-size:12px}
  .player-tools{padding:10px 0 4px;gap:8px 10px}
  .ptool span{font-size:11px}
  .ptool-btn span{display:none}
  .skip-btn{bottom:52px;right:10px;padding:8px 12px}
  .resume-tip{left:10px;right:10px;bottom:52px}
  .filter-panel{padding:11px 10px}
  .search-big input{font-size:16px}
  .playlist-card{grid-template-columns:110px 1fr}
  .playlist-covers{height:120px}.playlist-covers img{width:66px}
  .playlist-covers img:nth-child(2){left:22px}.playlist-covers img:nth-child(3){left:44px}
  .toast{bottom:90px}
  .rank-card{min-height:0}
}
.cinematic-search button{white-space:nowrap}
.hero-actions .btn.glass{flex:0 0 auto;min-width:48px}
.ep em{font-style:normal}
@media(max-width:699px){
  .player-tools{padding:10px 12px 4px}
  .episodes{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .ep{padding:10px 4px;text-align:center}
  .ep.num-only em{display:none}
  .ep.num-only span{width:auto;font-size:13px;color:#cfd0d5}
  .ep.num-only.active span{color:#ffc08a}
  .ep:not(.num-only){grid-column:span 5;text-align:left;padding:10px}
}

/* ---- 狐狸影視：首頁大圖、片架卡片 ---- */
.shelf-card{min-width:0}
.cinematic-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;background:#0b0c10}
.hero-bg{position:absolute;inset:-60px;background-size:cover;background-position:center;filter:blur(40px) saturate(1.25) brightness(.6);z-index:-2;transition:background-image .4s}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,9,12,.94) 0%,rgba(8,9,12,.7) 45%,rgba(8,9,12,.3) 100%),linear-gradient(0deg,rgba(8,9,12,.9),transparent 55%)}
.hero-poster{position:relative;z-index:2;display:block;width:230px;aspect-ratio:2/3;margin-right:56px;border-radius:18px;overflow:hidden;transform:rotate(2.5deg);box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1),0 0 60px rgba(242,120,40,.18);transition:transform .35s}
.hero-poster:hover{transform:rotate(0) translateY(-4px)}
.hero-poster img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:999px){.hero-poster{width:180px;margin-right:24px}}
@media(max-width:699px){.cinematic-hero{grid-template-columns:1fr}.hero-poster{display:none}.hero-bg{filter:blur(28px) saturate(1.2) brightness(.55)}}
@media(min-width:700px){.cinematic-hero{padding-left:72px;padding-right:72px}.hero-poster{margin-right:8px}}
@media(max-width:699px){
  .cinematic-hero{min-height:520px;padding:24px 20px}
  .hero-bg{inset:0;filter:none;background-position:center top}
  .hero-shade{background:linear-gradient(0deg,rgba(8,9,12,.98) 0%,rgba(8,9,12,.88) 38%,rgba(8,9,12,.25) 70%,rgba(8,9,12,.1) 100%)}
  .hero h1{font-size:34px}
}

/* ---- 首頁輪播廣告 ---- */
.cinematic-hero.hero-ad .hero-bg{inset:0;filter:none;background-position:center}
.cinematic-hero.hero-ad .hero-shade{background:linear-gradient(90deg,rgba(8,9,12,.72) 0%,rgba(8,9,12,.3) 42%,transparent 70%)}
.hero-ad-link{position:absolute;inset:0;z-index:1}
.hero-ad .hero-content{pointer-events:none}.hero-ad .hero-content a{pointer-events:auto}
.hero-ad-tag{display:inline-block;margin-bottom:10px;padding:3px 9px;border-radius:6px;font-size:11px;letter-spacing:.12em;color:#fff;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.28)}
@media(max-width:699px){.cinematic-hero.hero-ad .hero-shade{background:linear-gradient(0deg,rgba(8,9,12,.85) 0%,transparent 45%)}}

/* ---- 片頭廣告 ---- */
.player-box{position:relative}
.preroll{position:absolute;inset:0;z-index:20;background:#000;display:grid;place-items:center;overflow:hidden}
.preroll video,.preroll img{width:100%;height:100%;object-fit:contain;background:#000;cursor:pointer}
.preroll-tag{position:absolute;left:12px;top:12px;padding:4px 10px;border-radius:7px;font-size:12px;color:#fff;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.25)}
.preroll-tag b{font-weight:600;color:#ffc08a;margin-left:4px}
.preroll-more{position:absolute;right:12px;top:12px;padding:7px 12px;border-radius:9px;font-size:13px;font-weight:700;color:#14100b;background:linear-gradient(135deg,#f79a4a,#d9601f);text-decoration:none}
.preroll-sound{position:absolute;left:12px;bottom:14px;padding:8px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.6);color:#fff;cursor:pointer}
.preroll-skip{position:absolute;right:0;bottom:18px;padding:11px 16px 11px 18px;border:1px solid rgba(255,255,255,.35);border-right:0;border-radius:10px 0 0 10px;background:rgba(0,0,0,.72);color:#fff;font-size:14px;font-weight:700;cursor:pointer;min-width:120px}
.preroll-skip:disabled{color:#bbb;cursor:default;font-weight:500}
.preroll-skip:not(:disabled):hover{background:rgba(242,140,56,.9);color:#14100b}
@media(max-width:699px){.preroll-skip{bottom:12px;padding:9px 12px;font-size:12px;min-width:0}.preroll-more{font-size:12px;padding:6px 10px}}
.cinematic-hero.hero-ad .hero-content{align-self:end}

/* ---- 搜尋提示 ---- */
.cinematic-search{position:relative}
.suggest-box{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;background:#121318;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 18px 50px rgba(0,0,0,.55);max-height:70vh;overflow:auto}
.suggest-item{display:flex;gap:10px;align-items:center;padding:7px 8px;border-radius:10px;color:var(--text);text-decoration:none}
.suggest-item:hover,.suggest-item:focus{background:rgba(242,140,56,.12);outline:none}
.suggest-item img{width:34px;height:48px;object-fit:cover;border-radius:6px;background:#1b1d23;flex:0 0 auto}
.suggest-item b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.suggest-item small{color:var(--muted);font-size:11px}
.suggest-item span{min-width:0}
.suggest-head{font-size:11px;color:var(--muted);padding:6px 8px 2px}
.suggest-tags{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px 8px}
.suggest-tags a{font-size:13px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:#ddd;text-decoration:none}
.suggest-tags a:hover,.suggest-tags a:focus{border-color:rgba(242,140,56,.55);color:#ffc08a;outline:none}

/* ---- 網站公告 ---- */
.site-notice{background:linear-gradient(90deg,rgba(242,140,56,.18),rgba(242,140,56,.06));border-bottom:1px solid rgba(242,140,56,.25);position:relative;z-index:30}
.site-notice .inner{display:flex;align-items:center;gap:10px;padding:9px 18px;font-size:14px}
.site-notice a,.site-notice span{color:#ffd9b8;text-decoration:none;flex:1;min-width:0}
.site-notice a:hover{text-decoration:underline}
.site-notice button{background:none;border:0;color:#ffd9b8;font-size:15px;cursor:pointer;padding:2px 6px}

/* ---- 快速連結（排行榜、追劇日曆、專題） ---- */
.quick-links{display:flex;gap:8px;margin:0 0 16px;overflow-x:auto;scrollbar-width:none}
.quick-links a{flex:0 0 auto;padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#ddd;text-decoration:none;font-size:14px}
.quick-links a:hover{border-color:rgba(242,140,56,.5);color:#ffc08a}
.home-quick{display:none;margin-top:16px}
@media(max-width:999px){.home-quick{display:flex}}

/* ---- 排行榜 ---- */
.rank-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rank-row{display:grid;grid-template-columns:44px 64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.rank-num{font:900 26px Georgia,serif;color:#6c6f78;text-align:center}
.rank-num.top{color:#f28c38;text-shadow:0 0 18px rgba(242,140,56,.35)}
.rank-cover img{width:64px;height:90px;object-fit:cover;border-radius:9px;display:block;background:#1b1d23}
.rank-info{min-width:0;color:var(--text);text-decoration:none}
.rank-info b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-info small{display:block;margin-top:5px}
.rank-views{color:#ffc08a;font-size:13px;white-space:nowrap}
@media(max-width:699px){.rank-row{grid-template-columns:30px 52px minmax(0,1fr);gap:10px;padding:8px 10px}.rank-cover img{width:52px;height:74px}.rank-views{grid-column:3;font-size:12px;margin-top:-6px}.rank-num{font-size:20px}}

/* ---- 追劇日曆 ---- */
.week-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.week-tab{display:grid;gap:3px;justify-items:center;padding:10px 4px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#ccc;cursor:pointer}
.week-tab b{font-size:15px}
.week-tab small{font-size:11px;color:var(--muted);min-height:14px}
.week-tab.active{border-color:rgba(242,140,56,.6);background:rgba(242,140,56,.12);color:#ffc08a}
.week-tab.active small{color:#ffc08a}

/* ---- 狀態、推播卡、驗證碼 ---- */
.status-tag{color:#9ad8a1}
.status-tag.ongoing{color:#ffc08a}
.push-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.push-card p{margin:6px 0 0}
.captcha-row{display:flex;gap:10px;align-items:center}
.captcha-row input{flex:1;min-width:0}
.captcha-img{border:0;padding:0;background:none;cursor:pointer;flex:0 0 auto;border-radius:10px;overflow:hidden;height:44px}
.captcha-img img{display:block;height:44px;width:120px}

/* ---- 全螢幕：整個播放器放大 ---- */
.player-box:fullscreen,.player-box.is-full{background:#000;width:100%;height:100%;max-width:none;border-radius:0}
.player-box:fullscreen .player,.player-box.is-full .player{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0}

/* ---- 彈幕 ---- */
.danmaku-layer{position:absolute;inset:0 0 48px;overflow:hidden;pointer-events:none;z-index:5}
.dm{position:absolute;left:100%;white-space:nowrap;font-size:20px;font-weight:700;text-shadow:0 0 3px #000,0 0 6px rgba(0,0,0,.8);animation:dmfly 8s linear forwards;will-change:transform}
.dm.mine{border:1px solid rgba(255,255,255,.7);border-radius:6px;padding:0 6px}
.danmaku-layer.paused .dm{animation-play-state:paused}
@keyframes dmfly{from{transform:translateX(0)}to{transform:translateX(calc(-100vw - 100%))}}
.player-box:fullscreen .dm{font-size:26px}
@media(max-width:699px){.dm{font-size:15px}.danmaku-layer{bottom:40px}}
.dm-bar{display:flex;gap:8px;align-items:center;margin:4px 0 0;padding:8px 0}
.dm-bar input{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:#fff}
.dm-bar .btn{padding:10px 14px}
.dm-colors{display:flex;gap:5px}
.dm-colors button{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.dm-colors button.on{border-color:#f28c38;box-shadow:0 0 0 2px rgba(242,140,56,.35)}
@media(max-width:699px){.dm-colors{display:none}.dm-bar{padding:8px 12px}}

/* ---- 角落廣告、暫停廣告 ---- */
.corner-ad{position:absolute;right:12px;top:12px;z-index:12;width:min(26%,280px);border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.5);background:#000;animation:cornerIn .35s ease}
.corner-ad img{display:block;width:100%;height:auto}
.corner-ad-tag{position:absolute;left:6px;top:6px;z-index:2;padding:2px 6px;border-radius:5px;font-size:10px;color:#fff;background:rgba(0,0,0,.6)}
.corner-ad-x{position:absolute;right:4px;top:4px;z-index:2;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;font-size:12px;line-height:24px;padding:0}
@keyframes cornerIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:699px){.corner-ad{width:38%;right:8px;top:8px}}
.pause-ad{position:absolute;inset:0 0 48px;z-index:14;display:grid;place-items:center;background:rgba(0,0,0,.35);pointer-events:none}
.pause-ad-card{position:relative;pointer-events:auto;width:min(62%,560px);border-radius:14px;overflow:hidden;background:#111;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.pause-ad-card img{display:block;width:100%;height:auto}
.pause-ad-play{position:absolute;left:50%;bottom:12px;translate:-50% 0;padding:9px 18px}
@media(max-width:699px){.pause-ad-card{width:80%}.pause-ad-play{padding:7px 12px;font-size:12px}}

/* ---- 下一集倒數 ---- */
.next-up{position:absolute;right:16px;bottom:64px;z-index:16;display:grid;gap:6px;min-width:240px;max-width:calc(100% - 32px);padding:14px 16px;border-radius:14px;background:rgba(10,11,14,.92);border:1px solid rgba(242,140,56,.4);box-shadow:0 18px 50px rgba(0,0,0,.6)}
.next-up small{color:#ffc08a;font-size:12px}
.next-up b{font-size:16px}
.next-up-actions{display:flex;gap:8px;margin-top:4px}
.next-up-actions .btn{padding:8px 14px;font-size:13px}
@media(max-width:699px){.next-up{left:10px;right:10px;bottom:48px;min-width:0}}

.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}


/* ---- 分類大選單（電腦版）：放大、三欄 ---- */
.nav-dropdown .category-menu{position:fixed;top:74px;left:50%;width:min(1180px,94vw);max-height:calc(100vh - 90px);padding:20px;gap:14px;
  transform:translate(-50%,-6px);grid-template-columns:repeat(3,minmax(0,1fr))!important;border-radius:20px}
.nav-dropdown.open .category-menu{transform:translate(-50%,0)}
.nav-dropdown .category-menu:before{display:none}
.nav-dropdown .category-menu-group{padding:16px 16px 12px;border-radius:16px;background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.07)}
.cat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.07)}
.cat-root{display:flex;align-items:center;gap:10px;color:#f4f0e8;text-decoration:none;min-width:0}
.cat-root b{font-size:19px;letter-spacing:.02em}
.cat-root small{font-size:13px;color:#ffc08a;font-weight:600;white-space:nowrap}
.cat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(242,140,56,.13);font-size:19px;flex:0 0 auto}
.cat-root:hover b{color:#ffc08a}
.cat-all{font-size:14px;color:#f28c38;text-decoration:none;white-space:nowrap}
.cat-all:hover{text-decoration:underline}
.cat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px}
.cat-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;color:#d7d8dc;font-size:15px;text-decoration:none}
.cat-list a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-list a small{font-size:12px;color:#7d808a;flex:0 0 auto}
.cat-list a:hover{background:rgba(242,140,56,.12);color:#ffc08a}
.cat-list a:hover small{color:#ffc08a}
@media(max-width:1100px){.nav-dropdown .category-menu{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ---- 頁首：選單文字不准折行，寬度不夠時縮小間距與搜尋框 ---- */
.desktop-nav .nav-link{white-space:nowrap}
@media(max-width:1240px){.nav{gap:14px}.desktop-nav{gap:0}.desktop-nav .nav-link{padding:11px 8px}.cinematic-search{min-width:220px}}
@media(max-width:1080px){.cinematic-search{min-width:0;flex:1 1 160px}.brand-copy small{display:none}.tool-label{display:none}}
@media(max-width:900px){.desktop-nav a[href$="/ranking"],.desktop-nav a[href$="/schedule"],.desktop-nav a[href$="/playlists"]{display:none}}

/* ---- 看廣告換免廣告 ---- */
.reward-card{display:flex;align-items:center;gap:16px;margin:0 0 20px;padding:16px 18px;border-radius:16px;
  background:linear-gradient(110deg,rgba(242,140,56,.16),rgba(242,140,56,.04));border:1px solid rgba(242,140,56,.35)}
.reward-icon{font-size:30px;flex:0 0 auto}
.reward-copy{flex:1;min-width:0}
.reward-copy b{font-size:17px}
.reward-copy p{margin:5px 0 0}
.reward-card .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:699px){.reward-card{flex-wrap:wrap;padding:14px}.reward-card .btn{width:100%}}
.reward-btn{color:#ffc08a}
.reward-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.82);backdrop-filter:blur(6px)}
.reward-box{width:min(900px,100%);border-radius:16px;overflow:hidden;background:#000;border:1px solid rgba(242,140,56,.35);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.reward-media{position:relative;aspect-ratio:16/9;background:#000}
.reward-media video,.reward-media img{width:100%;height:100%;object-fit:contain;display:block}
.reward-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#111217}
.reward-bar .muted{flex:1;min-width:0;font-size:13px}
.reward-left{color:#ffc08a;white-space:nowrap}
@media(max-width:699px){.reward-bar{flex-wrap:wrap}.reward-bar .muted{flex-basis:100%;order:3}}

/* ---- 手機閱讀與操作 ---- */
@media (max-width: 699px) {
  .cinematic-search input,
  .filter-selects select,
  .dm-bar input {
    font-size: 16px;
  }

  .cinematic-search input { min-width: 0; }
  .cinematic-search button { flex-shrink: 0; font-size: 14px; }
  .filter-selects label, .chip, .back-result, .link-btn { font-size: 14px; }

  .hero p { font-size: 15px; line-height: 1.55; }
  .hero-meta { flex-wrap: wrap; font-size: 14px; }
  .shelf-intro, .section-head .muted, .small { font-size: 13px; }
  .cinema-card .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 15px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .cinema-card .sub { flex-wrap: wrap; gap: 4px 6px; font-size: 12px; }
  .poster-badge, .detail-poster > span { font-size: 11px; }
  .rank-copy b { font-size: 14px; }
  .rank-copy small, .week-tab small { font-size: 12px; }
  .rank-views { font-size: 13px; }

  .mobile-dock, .results-page .mobile-dock {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .mobile-dock a {
    grid-template-rows: 24px auto;
    align-content: center;
    min-height: 56px;
    gap: 4px;
    padding-inline: 2px;
    text-align: center;
  }
  .mobile-dock a:not(.active) { color: #a7a9b2; }
  .mobile-dock svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .mobile-dock a small {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }
  .mobile-ad { bottom: calc(max(10px, env(safe-area-inset-bottom)) + 80px); }

  .watch-title { font-size: 24px; overflow-wrap: anywhere; }
  .watch-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .watch-actions .btn {
    min-height: 44px;
    font-size: 14px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .ptool { min-width: 0; max-width: 100%; }
  .ptool span, .ptool-btn { font-size: 14px; }
  .ptool select { min-width: 0; max-width: min(55vw, 190px); font-size: 16px; }
  .ptool select, .ptool.check, .ptool-btn, .ep { min-height: 44px; }
  .ptool-spacer { display: none; }
  .ptool-btn span { display: inline; }
  .ep, .detail-meta, .credit { font-size: 14px; }
  .ep.num-only span { font-size: 15px; }
  .ep:not(.num-only) { white-space: normal; overflow-wrap: anywhere; }
  .detail .desc { font-size: 16px; line-height: 1.75; }
}
