/* MCBS 節目與 DJ：深藍＋黑 */
.mcbs{--navy:#0d2142;--navy2:#132d57;--black:#0a0c11;--panel:#111827;--line:rgba(255,255,255,.1);--fg:#fff;--mut:#a9b6cc;--accent:#4ea8ff;
	color:var(--mut);font-family:"Open Sans","Noto Sans TC","Microsoft JhengHei",sans-serif;letter-spacing:1px;line-height:1.7}
.mcbs *{box-sizing:border-box}
.mcbs a{text-decoration:none!important}
.mcbs-home,.mcbs-schedule,.mcbs-events,.mcbs-dj-grid{margin-bottom:8px}
.mcbs-home{background:linear-gradient(180deg,var(--navy),var(--black));padding:36px 28px 40px;margin:24px 0}
.mcbs-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:40px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mcbs-head:first-child{margin-top:0}
.mcbs-h{margin:32px 0 18px!important;font-family:"Josefin Sans","Noto Sans TC",sans-serif;font-size:26px;font-weight:300;letter-spacing:2px;color:inherit}
.mcbs-head .mcbs-h{margin:0!important;color:var(--fg)}
.mcbs-more{color:var(--accent)!important;font-size:13px;letter-spacing:2px}
.mcbs-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.mcbs-tab{padding:7px 18px;border:1px solid #c5cfdd;border-radius:0;background:transparent;color:#41506a;font:inherit;font-size:13px;letter-spacing:3px;cursor:pointer;text-transform:none}
.mcbs-tab:hover,.mcbs-tab.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.mcbs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.mcbs-card{position:relative;display:flex;flex-direction:column;background:var(--panel);color:var(--fg)!important;border-bottom:2px solid transparent;transition:transform .2s,border-color .2s,box-shadow .2s}
.mcbs-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 14px 30px -18px rgba(0,0,0,.8)}
.mcbs-card[hidden]{display:none}
.mcbs-cover,.mcbs-event-img{aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy2),var(--black)) center/cover;font-family:"Josefin Sans","Noto Sans TC",sans-serif;font-size:40px;font-weight:300;color:rgba(255,255,255,.85)}
.mcbs-cover.has-img,.mcbs-event-img.has-img,.mcbs-avatar.has-img{background-size:cover;background-position:center}
.mcbs-card-body{padding:14px 16px 18px}
.mcbs-card-title{margin:2px 0 4px!important;font-size:17px!important;font-weight:400!important;letter-spacing:1px;color:var(--fg)!important;line-height:1.4!important}
.mcbs-time{font-size:13px;color:var(--accent)}
.mcbs-host{font-size:13px;color:var(--mut)}
.mcbs-slots{list-style:none;margin:10px 0 0!important;padding:10px 0 0!important;border-top:1px solid var(--line);font-size:13px;line-height:1.8}
.mcbs-slots li{margin:0!important;color:var(--mut)}
.mcbs-slots li.is-main{color:var(--accent)}
.mcbs-slots li.is-dim{opacity:.35}
.mcbs-live{display:none;position:absolute;top:10px;left:10px;padding:2px 10px;background:var(--accent);color:var(--black);font-size:11px;font-weight:600;letter-spacing:3px}
.mcbs-card.is-live .mcbs-live{display:block}
.mcbs-dj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.mcbs-dj-grid.is-compact{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.mcbs-dj{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;background:var(--panel);color:var(--fg)!important;transition:background .2s}
.mcbs-dj:hover{background:var(--navy)}
.is-compact .mcbs-dj{background:transparent;padding:12px 6px}
.is-compact .mcbs-dj:hover{background:rgba(255,255,255,.05)}
.mcbs-avatar{width:104px;height:104px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy2),var(--black));box-shadow:0 0 0 3px var(--black),0 0 0 4px var(--line);font-family:"Josefin Sans",sans-serif;font-size:34px;font-weight:300;color:#fff;transition:box-shadow .2s}
.is-compact .mcbs-avatar{width:84px;height:84px;font-size:28px}
.mcbs-dj:hover .mcbs-avatar{box-shadow:0 0 0 3px var(--black),0 0 0 4px var(--accent)}
.mcbs-dj-name{margin-top:14px;font-size:16px;color:var(--fg)}
.mcbs-dj-role{font-size:12px;color:var(--mut)}
.mcbs-dj-show{width:100%;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;display:flex;flex-direction:column}
.mcbs-dj-show b{font-weight:400;color:var(--fg)}
.mcbs-dj-show span{color:var(--accent)}
.mcbs-events{display:flex;flex-direction:column;gap:14px}
.mcbs-event{display:flex;align-items:stretch;background:var(--panel);color:var(--mut)!important;transition:background .2s}
.mcbs-event:hover{background:var(--navy)}
.mcbs-events.is-past .mcbs-event{opacity:.7}
.mcbs-date{flex:0 0 88px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--navy);color:var(--fg)}
.mcbs-event:hover .mcbs-date{background:var(--black)}
.mcbs-date b{font-family:"Josefin Sans",sans-serif;font-size:34px;font-weight:300;line-height:1}
.mcbs-date span{font-size:12px;color:var(--accent);margin-top:4px}
.mcbs-event-body{flex:1;padding:16px 20px}
.mcbs-event-body p{margin:6px 0 0!important;font-size:14px}
.mcbs-event-img{flex:0 0 200px;aspect-ratio:auto}
.mcbs-empty{padding:24px;text-align:center;border:1px dashed #c5cfdd;color:#41506a}
.mcbs-home .mcbs-empty{border-color:var(--line);color:var(--mut)}
.mcbs-single{margin-bottom:24px}
.mcbs-hero{display:block;width:100%;height:auto;margin-bottom:16px}
.mcbs-meta{display:flex;flex-wrap:wrap;gap:8px}
.mcbs-chip{padding:4px 14px;background:var(--navy);color:#fff;font-size:13px;letter-spacing:2px}
.mcbs-dj-top{display:flex;align-items:center;gap:24px}
.mcbs-dj-top .mcbs-dj-role{font-size:14px;color:inherit;margin-bottom:10px}
.mcbs-btn{display:inline-block;padding:10px 26px;background:var(--navy);color:#fff!important;font-size:13px;letter-spacing:3px;text-decoration:none!important;transition:background .2s}
.mcbs-btn:hover{background:var(--black)}
/* 非首頁（白底內容區）時，DJ 小卡改用深色字 */
.mcbs:not(.mcbs-home) .mcbs-h{color:#0d2142}
.mcbs:not(.mcbs-home) .is-compact .mcbs-dj{color:#0d2142!important}
.mcbs:not(.mcbs-home) .is-compact .mcbs-dj-name{color:#0d2142}
.mcbs:not(.mcbs-home) .is-compact .mcbs-avatar{box-shadow:0 0 0 3px #fff,0 0 0 4px #c5cfdd}
.mcbs:not(.mcbs-home) .is-compact .mcbs-dj:hover{background:#eef2f8}
@media (max-width:600px){
	.mcbs-home{padding:28px 16px;margin:16px -16px}
	.mcbs-grid{grid-template-columns:1fr}
	.mcbs-dj-grid{grid-template-columns:1fr 1fr}
	.mcbs-dj-grid.is-compact{grid-template-columns:repeat(3,1fr)}
	.mcbs-event-img{display:none}
	.mcbs-dj-top{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion:reduce){.mcbs *{transition:none!important}}

/* ---------- 左側播放器（沿用原本「線上收聽」播放器的漸層卡片樣式） ---------- */
.mcbs-player{--a:#ff3d6e;--b:#7b5cff;--c:#25d0ff;--navy:#0d2142;--black:#0a0c11;--mut:rgba(255,255,255,.6);position:fixed;z-index:9990;display:flex;flex-direction:column;align-items:stretch;gap:22px;box-sizing:border-box;
	background:linear-gradient(180deg,var(--navy),var(--black));color:#fff;font-family:'Noto Sans TC',sans-serif;letter-spacing:1px}
.mcbs-player *{box-sizing:border-box}
.mcbs-player a{color:inherit;text-decoration:none!important}
.mcbs-player-logo{display:block;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -16px rgba(0,0,0,.8)}
.mcbs-player-logo img{display:block;width:100%;height:auto}
.mcbs-player-card{position:relative;border-radius:22px;padding:2px;background:linear-gradient(120deg,var(--a),var(--b),var(--c));background-size:200% 200%;box-shadow:0 18px 50px -12px rgba(123,92,255,.55);animation:mcbsBorder 8s ease infinite}
.mcbs-player-glow{position:absolute;inset:0;border-radius:inherit;filter:blur(28px);opacity:0;background:inherit;z-index:0;transition:opacity .6s}
.mcbs-player.is-playing .mcbs-player-glow{opacity:.5}
.mcbs-player-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:20px;background:radial-gradient(120% 140% at 0% 0%,#24243a 0%,#12121c 60%)}
.mcbs-player-top{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--mut);min-width:0}
.mcbs-player-live{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-weight:700;letter-spacing:.08em;font-size:11px;background:rgba(255,255,255,.08);color:var(--mut);flex:0 0 auto}
.mcbs-player-live i{width:7px;height:7px;border-radius:50%;background:currentColor}
.mcbs-player.is-playing .mcbs-player-live{background:rgba(255,61,110,.18);color:var(--a)}
.mcbs-player.is-playing .mcbs-player-live i{animation:mcbsLivePulse 1.4s ease-out infinite}
.mcbs-player-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcbs-player.is-error .mcbs-player-status{color:#ff8a8a}
.mcbs-player-title{font-size:21px;font-weight:700;line-height:1.2}
.mcbs-player-title small{font-size:13px;font-weight:500;color:var(--mut);margin-left:4px}
.mcbs-player-show{display:block;font-size:14px;color:var(--c);line-height:1.5}
.mcbs-player-show:hover{color:#fff!important}
.mcbs-player-dj{font-size:12px;color:var(--mut)}
.mcbs-player-dj:empty{display:none}
.mcbs-player-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.mcbs-player-play{position:relative;flex:0 0 64px;width:64px;height:64px;border:0!important;border-radius:50%;cursor:pointer;display:grid;place-items:center;padding:0!important;margin:0;line-height:0;min-width:0;color:#fff!important;
	background:linear-gradient(135deg,var(--a),var(--b))!important;box-shadow:0 8px 22px -6px var(--a);transition:transform .2s}
.mcbs-player-play:hover{transform:scale(1.06)}
.mcbs-player-play:active{transform:scale(.96)}
.mcbs-player-play:focus-visible,.mcbs-player-mute:focus-visible{outline:2px solid var(--c);outline-offset:3px}
.mcbs-player-play svg{width:28px;height:28px;fill:currentColor;grid-area:1/1}
.mcbs-player-play .i-play{transform:translateX(1px)}
.mcbs-player-play .i-pause,.mcbs-player.is-playing .i-play,.mcbs-player.is-loading .i-play{display:none}
.mcbs-player.is-playing .i-pause{display:block}
.mcbs-player-play .i-spin{grid-area:1/1;width:64px;height:64px;border-radius:50%;border:3px solid transparent;border-top-color:#fff;opacity:0;animation:mcbsSpin .9s linear infinite}
.mcbs-player.is-loading .i-spin{opacity:1}
.mcbs-player.is-waiting .mcbs-player-play{animation:mcbsWait 1.6s ease-out infinite}
.mcbs-player-eq{display:flex;align-items:flex-end;gap:4px;height:34px}
.mcbs-player-eq i{width:5px;height:6px;border-radius:3px;background:linear-gradient(to top,var(--b),var(--c))}
.mcbs-player.is-playing .mcbs-player-eq i{animation:mcbsEq 1s ease-in-out infinite}
.mcbs-player-eq i:nth-child(2){animation-delay:-.35s!important}
.mcbs-player-eq i:nth-child(3){animation-delay:-.7s!important}
.mcbs-player-eq i:nth-child(4){animation-delay:-.2s!important}
.mcbs-player-eq i:nth-child(5){animation-delay:-.55s!important}
.mcbs-player-vol{display:flex;align-items:center;gap:8px}
.mcbs-player-mute{width:32px;height:32px;padding:4px!important;min-width:0;line-height:0;border:0!important;border-radius:50%;background:transparent!important;cursor:pointer;color:var(--mut)!important}
.mcbs-player-mute:hover{color:#fff!important}
.mcbs-player-mute svg{width:100%;height:100%;fill:currentColor}
.mcbs-player-mute .x,.mcbs-player.is-muted .mcbs-player-mute .w{display:none}
.mcbs-player.is-muted .mcbs-player-mute .x{display:inline}
.mcbs-player-vol input[type=range]{-webkit-appearance:none;appearance:none;flex:1;height:5px!important;padding:0!important;margin:0!important;border:0!important;border-radius:5px;box-shadow:none!important;outline:none;cursor:pointer;
	background:linear-gradient(to right,var(--c) 0,var(--b) var(--v,80%),rgba(255,255,255,.18) var(--v,80%))}
.mcbs-player-vol input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(123,92,255,.35)}
.mcbs-player-vol input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(123,92,255,.35)}
.mcbs-player-next{font-size:12px;color:#7d8aa3;line-height:1.6;text-align:center}
html.mcbs-loading body{cursor:progress}
html.mcbs-loading #content{opacity:.5;transition:opacity .2s}
@keyframes mcbsSpin{to{transform:rotate(360deg)}}
@keyframes mcbsEq{0%,100%{height:6px}50%{height:32px}}
@keyframes mcbsLivePulse{0%{box-shadow:0 0 0 0 rgba(255,61,110,.7)}100%{box-shadow:0 0 0 8px rgba(255,61,110,0)}}
@keyframes mcbsBorder{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes mcbsWait{0%{box-shadow:0 0 0 0 rgba(255,61,110,.6)}100%{box-shadow:0 0 0 16px rgba(255,61,110,0)}}

/* 頁首：不透明深藍，捲動時不會透出內容 */
body.mcbs-shell .site-header,body.mcbs-shell .site-header.header-scrolled{background-color:#0d2142!important}

/* 桌機：左欄固定 360px，網站內容在右欄；頁首的網站名稱左欄已有，選單改成一排置中 */
@media (min-width:1025px){
	.mcbs-player{left:0;top:var(--mcbs-top,0px);bottom:0;width:360px;padding:32px 24px;justify-content:center;overflow-y:auto;border-right:1px solid rgba(255,255,255,.08)}
	.admin-bar .mcbs-player{top:var(--mcbs-top,32px)}
	body.mcbs-shell{padding-left:360px;overflow-x:hidden}
	body.mcbs-shell .site-header{left:0!important;width:auto!important;right:0;z-index:9995}
	body.mcbs-shell .site-header .site-branding{display:none}
	body.mcbs-shell .site-header .main-navigation{width:100%!important;float:none!important;text-align:center}
	body.mcbs-shell .site-header .main-navigation ul{float:none!important;display:inline-flex!important;flex-wrap:wrap;justify-content:center}
	body.mcbs-shell .site-header .main-navigation li{float:none!important;display:inline-block;padding:0!important;margin:0!important}
	body.mcbs-shell .site-header .main-navigation li a{padding:3px 14px!important;letter-spacing:1px!important;font-size:16px!important}
	body.mcbs-shell .container{width:auto!important;max-width:1170px;padding-left:30px;padding-right:30px}
	body.mcbs-shell .go-top{right:20px}
}
/* 手機、平板：播放器變成畫面下方的橫條 */
@media (max-width:1024px){
	.mcbs-player{left:0;right:0;bottom:0;height:76px;padding:0 10px;flex-direction:row;align-items:center;gap:10px;box-shadow:0 -8px 24px -12px rgba(0,0,0,.6)}
	.mcbs-player-logo{flex:0 0 auto;width:56px;border-radius:8px;box-shadow:none}
	.mcbs-player-card{flex:1;min-width:0;padding:0;background:none;box-shadow:none;animation:none}
	.mcbs-player-glow,.mcbs-player-title,.mcbs-player-top,.mcbs-player-eq,.mcbs-player-next,.mcbs-player-vol input{display:none!important}
	.mcbs-player-inner{flex-direction:row;align-items:center;gap:8px;padding:0;background:none}
	.mcbs-player-now{flex:1;min-width:0}
	.mcbs-player-show{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	.mcbs-player-row{margin:0;gap:4px}
	.mcbs-player-play,.mcbs-player-play .i-spin{width:48px;height:48px;flex-basis:48px}
	.mcbs-player-play svg{width:22px;height:22px}
	body.mcbs-shell{padding-bottom:76px}
	body.mcbs-shell .go-top{bottom:92px}
	body #content article.hentry{padding:24px 16px!important}
}
@media (prefers-reduced-motion:reduce){.mcbs-player,.mcbs-player *{animation:none!important}}

/* 首頁大圖：主題預設的灰色遮罩改成深藍漸層到紫，呼應 logo 與播放器 */
.header-image:after{background:linear-gradient(120deg,rgba(13,33,66,.92) 0%,rgba(13,33,66,.8) 45%,rgba(123,92,255,.55) 100%)!important}

/* 學期下拉選單 */
.mcbs-term-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:22px}
.mcbs-term-head .mcbs-h{margin:0!important}
.mcbs-term{display:flex;align-items:center;gap:10px;margin:0;order:2}
.mcbs-term label{margin:0;font-size:13px;letter-spacing:2px;color:#41506a}
.mcbs-term select{-webkit-appearance:none;appearance:none;min-width:220px;height:auto;margin:0;padding:9px 40px 9px 14px;border:1px solid #c5cfdd;border-radius:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1l5 5 5-5%27 fill=%27none%27 stroke=%27%230d2142%27 stroke-width=%272%27/%3E%3C/svg%3E") no-repeat right 14px center/12px;color:#0d2142;font:inherit;font-size:15px;cursor:pointer}
.mcbs-term select:focus{outline:2px solid #4ea8ff;outline-offset:2px}
.mcbs-h small{margin-left:10px;font-size:13px;font-weight:400;letter-spacing:1px;color:#a9b6cc}
.mcbs-schedule .mcbs-dj-grid{margin-top:4px}
