/*
Theme Name: 學海燈塔（書院筆記）
Template: nvbase
Description: edu.111.org.tw 專屬外觀「書院筆記」：海軍藍＋燈塔黃、方格筆記紙紋理、索引頁籤導覽、螢光筆標記；燈塔頭條、考試與連假倒數、大專校院查詢、連假日曆、閱讀排行。
Version: 1.0.0
Author: terry ops
Text Domain: og-edu
*/
:root{
	--navy:#0f2340; --navy2:#1b3a66; --navy3:#2c4f82; --ink:#1b2433; --muted:#5b6880;
	--y:#f6c445; --y2:#ffe58a; --hl:rgba(255,212,59,.62);
	--paper:#fbf8ef; --paper2:#f4efe1; --grid:rgba(44,79,130,.085); --line:#d6dde8; --rule:#c9d6e8;
	--margin:#e0715d; --card:#fffdf7;
	--t0:#f6c445; --t1:#8fc6e9; --t2:#a3d9bb; --t3:#f3a891; --t4:#c5b7ec; --t5:#e8d29b;
	--sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
	--serif:"Noto Serif TC","Songti TC","PMingLiU",serif;
	--disp:"Fraunces","Noto Serif TC",Georgia,serif;
	--hand:"Caveat","Noto Sans TC",cursive;
	--r:10px; --sh:0 1px 0 rgba(15,35,64,.06),0 8px 24px -14px rgba(15,35,64,.35);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.8 var(--sans);overflow-x:hidden;
	background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:26px 26px}
a{color:inherit;text-decoration:none}
a:hover{color:var(--navy3)}
img{max-width:100%;display:block}
button,input,select{font:inherit;color:inherit}
.nv-wrap{max-width:1280px;margin:0 auto;padding-inline:28px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.be-skip{position:absolute;left:-999px;top:0;background:var(--y);color:var(--navy);padding:8px 14px;z-index:99;font-weight:700}
.be-skip:focus{left:8px}
.hl{background:linear-gradient(transparent 56%,var(--hl) 56%,var(--hl) 90%,transparent 90%);padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
:focus-visible{outline:3px solid var(--y);outline-offset:2px}

/* ---------- 頂條 ---------- */
.be-topbar{background:var(--navy);color:#cfdaeb;font-size:13px;letter-spacing:.04em}
.be-topbar-in{display:flex;align-items:center;gap:22px;min-height:36px;flex-wrap:wrap}
.be-topcount{color:#fff}
.be-topcount b{color:var(--y);font:700 16px var(--disp);margin:0 2px}
.be-topen{margin-left:auto;font:500 11px var(--disp);letter-spacing:.32em;color:#8ea3c4}

/* ---------- 報頭 ---------- */
.be-mast{position:relative;background:var(--card);border-bottom:1px solid var(--line);
	background-image:linear-gradient(90deg,transparent 54px,rgba(224,113,93,.55) 54px,rgba(224,113,93,.55) 55.5px,transparent 55.5px),
	repeating-linear-gradient(transparent 0 31px,rgba(44,79,130,.14) 31px 32px)}
.be-mast-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding-block:22px 20px}
.be-logo{display:inline-flex;align-items:center;gap:16px;color:var(--navy)}
.be-logo:hover{color:var(--navy)}
.be-mark{flex:none;border-radius:15px;filter:drop-shadow(0 6px 10px rgba(15,35,64,.25))}
.be-logo-t{display:flex;flex-direction:column;line-height:1}
.be-logo-name{margin:0;font:900 42px/1 var(--serif);letter-spacing:.12em;color:var(--navy);position:relative}
.be-logo-name::after{content:"";position:absolute;left:-2px;right:.1em;bottom:-3px;height:9px;background:var(--hl);z-index:-1;border-radius:3px;transform:rotate(-.6deg)}
.be-logo-t{position:relative;z-index:0}
.be-logo-en{font:italic 500 14px var(--disp);letter-spacing:.08em;color:var(--navy3);margin-top:10px}
.be-mast-mid{border-left:2px dashed var(--rule);padding-left:26px}
.be-slogan{margin:0;font:700 19px/1.4 var(--serif);color:var(--navy);letter-spacing:.1em}
.be-motto{margin:6px 0 0;font:600 18px/1.2 var(--hand);color:var(--margin);letter-spacing:.02em}
.nv-search{display:flex;align-items:stretch;background:#fff;border:2px solid var(--navy);border-radius:999px;overflow:hidden;box-shadow:3px 3px 0 var(--y)}
.nv-search input{border:0;background:transparent;padding:9px 16px;width:220px;outline:none;font-size:14.5px;min-width:0}
.nv-search button{border:0;background:var(--navy);color:#fff;padding:0 18px;font-weight:700;cursor:pointer;letter-spacing:.1em}
.nv-search button:hover{background:var(--navy3)}
.be-burger{display:none;width:46px;height:46px;border:2px solid var(--navy);border-radius:12px;background:#fff;cursor:pointer;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;box-shadow:2px 2px 0 var(--y)}
.be-burger i{display:block;width:20px;height:2.5px;border-radius:2px;background:var(--navy)}

/* ---------- 索引頁籤導覽 ---------- */
.be-nav{background:var(--navy);position:sticky;top:env(safe-area-inset-top,0px);z-index:40;box-shadow:0 6px 16px -10px rgba(0,0,0,.5)}
.be-tabs{list-style:none;margin:0;padding:10px 0 0;display:flex;flex-wrap:wrap;gap:4px}
.be-tabs a{display:block;padding:9px 20px 10px;font:700 15.5px var(--sans);letter-spacing:.14em;color:#dce6f4;border-radius:10px 10px 0 0;position:relative;transition:background .15s,color .15s,transform .15s}
.be-tabs a::before{content:"";position:absolute;left:12px;right:12px;top:0;height:4px;border-radius:0 0 4px 4px;background:var(--tc,var(--y));opacity:.9}
.be-tabs .tab-0{--tc:var(--t0)} .be-tabs .tab-1{--tc:var(--t1)} .be-tabs .tab-2{--tc:var(--t2)} .be-tabs .tab-3{--tc:var(--t3)} .be-tabs .tab-4{--tc:var(--t4)} .be-tabs .tab-5{--tc:var(--t5)} .be-tabs .tab-x{--tc:#fff}
.be-tabs a:hover{background:rgba(255,255,255,.08);color:#fff}
.be-tabs li.on a{background:var(--paper);color:var(--navy)}
.be-tabs li.on a::before{left:0;right:0;height:5px;border-radius:10px 10px 0 0;top:0}
.be-tabs .tab-x a{color:var(--y)}
.be-nav-search{display:none}

/* ---------- 共用 ---------- */
.be-sec{margin-top:64px}
.be-h2{display:flex;align-items:flex-end;flex-wrap:wrap;gap:4px 14px;margin:0 0 24px;padding-bottom:12px;border-bottom:2px solid var(--navy);position:relative}
.be-h2::after{content:"";position:absolute;left:0;right:0;bottom:-6px;border-bottom:1px solid var(--navy)}
.be-h2-no{font:700 30px/1 var(--hand);color:var(--margin);transform:rotate(-6deg);margin-right:2px}
.be-h2 h2{margin:0;font:900 clamp(26px,2.6vw,34px)/1.15 var(--serif);color:var(--navy);letter-spacing:.08em}
.be-h2 small{font:italic 500 15px var(--disp);color:var(--muted);letter-spacing:.06em;padding-bottom:3px}
.be-more{margin-left:auto;font-weight:700;font-size:14px;color:var(--navy);border:1.5px solid var(--navy);border-radius:999px;padding:3px 14px;background:#fff;box-shadow:2px 2px 0 var(--y)}
.be-more:hover{background:var(--navy);color:#fff}
.be-tag{align-self:flex-start;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--navy);background:var(--y2);padding:1px 9px;border-radius:3px;transform:rotate(-1deg)}
.be-btn{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--navy);background:#fff;color:var(--navy);padding:7px 18px;border-radius:999px;font-weight:700;font-size:14.5px;cursor:pointer;box-shadow:3px 3px 0 var(--navy)}
.be-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--navy);color:var(--navy)}
.be-btn-y{background:var(--y);border-color:var(--y);color:var(--navy);box-shadow:3px 3px 0 rgba(0,0,0,.35)}
.be-btn-ghost{box-shadow:none}
.be-empty{padding:30px;text-align:center;color:var(--muted);border:2px dashed var(--line);border-radius:var(--r)}
.be-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px;font-size:13px}
.be-kicker span{background:var(--y);color:var(--navy);font-weight:900;letter-spacing:.2em;padding:3px 12px;border-radius:3px}
.be-kicker em{font:italic 500 16px var(--disp);letter-spacing:.04em}
.be-kicker i{font-style:normal;border:1px solid currentColor;padding:1px 10px;border-radius:999px;opacity:.85}

/* 圖片＆佔位 */
.be-media{display:block;position:relative;overflow:hidden;border-radius:8px;background:var(--paper2);aspect-ratio:16/10}
.be-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
a.be-media:hover img,.be-card:hover .be-media img{transform:scale(1.04)}
.be-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
	background-color:#eef2f8;background-image:linear-gradient(rgba(44,79,130,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(44,79,130,.13) 1px,transparent 1px);background-size:16px 16px}
.be-ph .be-mark{opacity:.9;filter:none}
.be-ph em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--navy3)}

/* ---------- Hero ---------- */
.be-hero{position:relative;color:#fff;background:#141f45 var(--hero) center 40%/cover no-repeat;overflow:hidden;isolation:isolate}
.be-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,18,44,.92) 0%,rgba(10,22,52,.78) 38%,rgba(12,26,60,.25) 66%,rgba(12,26,60,0) 82%),linear-gradient(0deg,rgba(8,18,40,.7),transparent 40%)}
.be-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:28px;z-index:1;background:var(--paper);
	-webkit-mask:radial-gradient(14px 14px at 14px 0,transparent 98%,#000) 0 0/28px 28px repeat-x;mask:radial-gradient(14px 14px at 14px 0,transparent 98%,#000) 0 0/28px 28px repeat-x}
.be-hero-beam{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 22% at 72% 24%,rgba(255,214,110,.22),transparent 70%);animation:be-glow 6s ease-in-out infinite alternate}
@keyframes be-glow{from{opacity:.55}to{opacity:1}}
.be-hero-in{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:48px;align-items:end;padding-block:80px 76px;min-height:560px}
.be-hero-story{max-width:690px}
.be-hero-t{margin:0;font:900 clamp(30px,3.6vw,50px)/1.28 var(--serif);letter-spacing:.03em;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.be-hero-t a:hover{color:var(--y2)}
.be-hero-x{margin:18px 0 0;font-size:17px;line-height:1.85;color:#dbe4f2;max-width:600px}
.be-hero-m{display:flex;align-items:center;gap:20px;margin:26px 0 0;flex-wrap:wrap}
.be-hero-m time{font:500 15px var(--disp);letter-spacing:.06em;color:#b8c7de}
.be-hero-notes{background:var(--card);color:var(--ink);border-radius:6px;padding:20px 22px 14px 40px;position:relative;transform:rotate(1.2deg);box-shadow:0 22px 40px -18px rgba(0,0,0,.6);
	background-image:linear-gradient(90deg,transparent 28px,rgba(224,113,93,.6) 28px,rgba(224,113,93,.6) 29.5px,transparent 29.5px),repeating-linear-gradient(transparent 0 29px,rgba(44,79,130,.16) 29px 30px);background-position:0 0,0 14px}
.be-hero-notes::before{content:"";position:absolute;top:-14px;left:50%;width:110px;height:28px;margin-left:-55px;background:rgba(246,196,69,.82);transform:rotate(-3deg);box-shadow:0 2px 4px rgba(0,0,0,.15)}
.be-hero-notes h3{display:flex;align-items:baseline;gap:10px;margin:4px 0 6px;font:900 20px var(--serif);color:var(--navy);letter-spacing:.12em}
.be-hero-notes h3 em{font:700 22px var(--hand);color:var(--margin);letter-spacing:0}
.be-hero-notes ol{list-style:none;margin:0;padding:0;counter-reset:n}
.be-hero-notes li{counter-increment:n;position:relative;padding:9px 0 9px 4px;border-bottom:1px dashed var(--line);line-height:1.55}
.be-hero-notes li:last-child{border-bottom:0}
.be-hero-notes li::before{content:counter(n);position:absolute;left:-32px;top:9px;width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--y);font:700 13px/22px var(--disp);text-align:center}
.be-hero-notes li a{font-weight:700;font-size:15.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.be-hero-notes li time{display:block;font-size:12px;color:var(--muted);margin-top:2px}

/* ---------- 倒數計時簿 ---------- */
.be-count{margin-top:34px}
.be-count-pad{position:relative;background:var(--card);border-radius:14px;padding:30px 32px 22px 72px;box-shadow:var(--sh);border:1px solid var(--line);
	background-image:linear-gradient(90deg,transparent 52px,rgba(224,113,93,.5) 52px,rgba(224,113,93,.5) 53.5px,transparent 53.5px)}
.be-count-pad::before{content:"";position:absolute;left:16px;top:22px;bottom:22px;width:20px;
	background:radial-gradient(circle at 10px 10px,var(--paper2) 6px,#9aa8bd 6.5px,#9aa8bd 7.5px,transparent 8px) 0 0/20px 38px repeat-y}
.be-count-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:18px}
.be-count-h h2{margin:0;font:900 26px var(--serif);color:var(--navy);letter-spacing:.1em}
.be-count-h small{font:italic 500 15px var(--disp);color:var(--muted)}
.be-count-h p{margin:0 0 0 auto;color:var(--muted);font-size:14px}
.be-count-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.be-cd{position:relative;background:#fff;border:1.5px solid var(--rule);border-radius:10px;padding:14px 16px 12px;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px}
.be-cd-n{grid-column:1/-1;font-weight:900;font-size:14px;letter-spacing:.14em;color:var(--navy3)}
.be-cd-d{font:900 46px/1.05 var(--disp);color:var(--navy);font-variant-numeric:tabular-nums}
.be-cd-d.be-now{font:900 26px/1.6 var(--serif);color:var(--margin)}
.be-cd-u{font-weight:700;color:var(--muted)}
.be-cd-f{grid-column:1/-1;font-size:13px;color:var(--ink);line-height:1.45;margin-top:4px}
.be-cd time{grid-column:1/-1;font-size:12px;color:var(--muted);letter-spacing:.04em}
.be-cd.is-next{background:var(--navy);border-color:var(--navy);color:#fff;transform:rotate(-1deg);box-shadow:4px 5px 0 var(--y)}
.be-cd.is-next .be-cd-n{color:var(--y)} .be-cd.is-next .be-cd-d{color:#fff} .be-cd.is-next .be-cd-u,.be-cd.is-next time{color:#aebfdb} .be-cd.is-next .be-cd-f{color:#e3eaf5}
.be-cd.is-next::after{content:"NEXT";position:absolute;top:-11px;right:12px;background:var(--y);color:var(--navy);font:900 11px/1 var(--disp);letter-spacing:.2em;padding:5px 8px;border-radius:3px}
.be-cd-hol{background:#fff8dc;border-color:#ecd38b}
.be-cd-hol .be-cd-n{color:#9a6a00}
.be-count-note{margin:14px 0 0;font-size:12px;color:var(--muted)}

/* ---------- Ch.1 教育焦點＋排行 ---------- */
.be-ch1{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.be-focus{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px}
.be-focus-lead{display:flex;flex-direction:column;gap:14px}
.be-media-lg{aspect-ratio:16/10;box-shadow:var(--sh)}
.be-focus-b h3{margin:8px 0 8px;font:900 25px/1.42 var(--serif);color:var(--navy)}
.be-focus-b p{margin:0;color:#3b475b;font-size:15.5px}
.be-focus-b time,.be-card time,.be-checklist time{font-size:12.5px;color:var(--muted);letter-spacing:.04em}
.be-checklist{list-style:none;margin:0;padding:6px 0 0;background:repeating-linear-gradient(transparent 0 calc(1.6em*2 + 20px - 1px),transparent 0)}
.be-checklist li{position:relative;padding:12px 0 12px 36px;border-bottom:1px solid var(--rule)}
.be-checklist li::before{content:"";position:absolute;left:2px;top:16px;width:18px;height:18px;border:2px solid var(--navy);border-radius:4px;background:#fff}
.be-checklist li:nth-child(-n+2)::after{content:"";position:absolute;left:6px;top:12px;width:9px;height:16px;border:solid var(--margin);border-width:0 3.5px 3.5px 0;transform:rotate(40deg)}
.be-checklist a{display:block;font-weight:700;font-size:16px;line-height:1.55;color:var(--ink)}
.be-checklist a:hover{color:var(--navy3);background:linear-gradient(transparent 60%,var(--hl) 60%)}
.be-rank{background:var(--navy);color:#fff;border-radius:14px;padding:24px 22px 16px;position:relative;overflow:hidden}
.be-rank::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(246,196,69,.35),transparent 65%)}
.be-rank header{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:10px;margin-bottom:6px;position:relative}
.be-rank h2{margin:0;font:900 22px var(--serif);letter-spacing:.14em}
.be-rank small{font:italic 500 14px var(--disp);color:#9fb3d3}
.be-rank ol{list-style:none;margin:0;padding:0}
.be-rank li{display:grid;grid-template-columns:34px 1fr;gap:6px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.16);align-items:start}
.be-rank li:last-child{border-bottom:0}
.be-rank li b{font:900 26px/1 var(--disp);color:#7f95ba;font-style:italic}
.be-rank li:nth-child(-n+3) b{color:var(--y)}
.be-rank li a{font-size:15px;font-weight:500;line-height:1.55;color:#eef3fb;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.be-rank li a:hover{color:var(--y2)}

/* ---------- Ch.2 校院查詢＋連假（深色帶） ---------- */
.be-band{margin-top:72px;padding:6px 0 60px;background:linear-gradient(180deg,#eaf0f8,#f3f6fb);border-block:1px solid var(--line);
	background-image:linear-gradient(rgba(44,79,130,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(44,79,130,.08) 1px,transparent 1px);background-size:13px 13px}
.be-band .be-sec{margin-top:48px}
.be-ch2{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.be-lead{margin:-10px 0 18px;color:var(--muted)}
.be-unitool{background:#fff;border:1.5px solid var(--rule);border-radius:14px;padding:22px;box-shadow:var(--sh)}
.be-uni-stats{display:grid;grid-template-columns:repeat(4,auto) 1fr;gap:6px 26px;align-items:end;margin-bottom:18px}
.be-uni-stats div b{display:block;font:900 32px/1 var(--disp);color:var(--navy)}
.be-uni-stats div span{font-size:13px;color:var(--muted);letter-spacing:.1em}
.be-uni-bar{height:12px;border-radius:999px;background:var(--t3);overflow:hidden;align-self:center;opacity:.9}
.be-uni-bar i{display:block;height:100%;background:var(--navy)}
.be-uni-f{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:12px;margin-bottom:6px}
.be-uni-f input,.be-uni-f select{width:100%;border:2px solid var(--navy);border-radius:10px;padding:10px 14px;background:#fff;outline:none;font-size:15px}
.be-uni-f input:focus,.be-uni-f select:focus{box-shadow:0 0 0 4px var(--hl)}
.be-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;grid-column:1/-1}
.be-chips::before{content:attr(data-label);font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.1em;width:3.6em}
.be-chips button{border:1.5px solid var(--rule);background:#fff;border-radius:999px;padding:4px 14px;font-size:14px;cursor:pointer;font-weight:500}
.be-chips button:hover{border-color:var(--navy)}
.be-chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.be-chips[data-k="sys"] button.on{background:var(--y);border-color:var(--y);color:var(--navy)}
.be-uni-msg{margin:10px 0;font-size:13.5px;color:var(--muted)}
.be-uni-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.be-uni{display:flex;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);transition:border-color .15s,box-shadow .15s}
.be-uni:hover{border-color:var(--navy3);box-shadow:3px 3px 0 var(--y)}
.be-uni-badge{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:900;letter-spacing:.05em}
.be-uni-badge.t-pub{background:var(--navy);color:var(--y)}
.be-uni-badge.t-pri{background:#fde6df;color:#a8432f;border:1.5px solid #f0b4a5}
.be-uni-b{min-width:0;display:flex;flex-direction:column;line-height:1.5}
.be-uni-b b{font-size:16px;color:var(--navy)}
.be-uni-b b a:hover{background:linear-gradient(transparent 60%,var(--hl) 60%)}
.be-uni-m{font-size:13px;color:#3b475b}
.be-uni-m .sys{font-style:normal;font-size:11.5px;font-weight:700;background:#e7eef8;color:var(--navy3);padding:0 7px;border-radius:3px;margin-right:6px}
.be-uni-a{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.be-uni[hidden]{display:none}
.be-uni-foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.be-uni-foot [hidden]{display:none}
.be-cal{background:var(--card);border-radius:14px;padding:22px 22px 14px;border:1.5px solid var(--rule);box-shadow:var(--sh);margin-top:8px}
.be-cal header{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.be-cal header h2{margin:0;font:900 22px var(--serif);color:var(--navy);letter-spacing:.14em}
.be-cal header small{font:italic 500 14px var(--disp);color:var(--muted)}
.be-cal-list{list-style:none;margin:0;padding:0}
.be-cal-list li{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}
.be-cal-day{display:flex;flex-direction:column;align-items:center;border-radius:8px;overflow:hidden;border:1.5px solid var(--navy);background:#fff;line-height:1.1}
.be-cal-day em{display:block;width:100%;text-align:center;font-style:normal;font-size:11px;font-weight:700;background:var(--margin);color:#fff;padding:2px 0}
.be-cal-day b{font:900 22px/1.2 var(--disp);color:var(--navy)}
.be-cal-day i{font-style:normal;font-size:11px;color:var(--muted);padding-bottom:2px}
.be-cal-b{min-width:0;display:flex;flex-direction:column;line-height:1.45}
.be-cal-b strong{font-size:14.5px;color:var(--ink)}
.be-cal-b small{font-size:12px;color:var(--muted)}
.be-cal-left{font-size:12px;color:var(--muted);text-align:right;white-space:nowrap}
.be-cal-left b{font:900 22px var(--disp);color:var(--navy);margin:0 2px}
.be-cal-list li.is-now .be-cal-left b{font:900 15px var(--sans);color:var(--margin)}
.be-cal-sub{margin:16px 0 6px;font:900 15px var(--serif);color:var(--navy);letter-spacing:.12em}
.be-hol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:2px}
.be-hol li{display:flex;gap:10px;font-size:13.5px;padding:3px 0}
.be-hol time{flex:none;width:96px;white-space:nowrap;color:var(--navy3);font-weight:700}
.nv-govcredit{margin:14px 0 0;font-size:12px;color:var(--muted);line-height:1.6}
.nv-govcredit a{color:var(--navy3);text-decoration:underline;text-underline-offset:2px}

/* ---------- Ch.3 即時筆記＋側欄 ---------- */
.be-ch3{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.be-timeline{position:relative}
.be-timeline::before{content:"";position:absolute;left:66px;top:6px;bottom:6px;width:2px;background:repeating-linear-gradient(var(--rule) 0 6px,transparent 6px 11px)}
.be-tl{display:grid;grid-template-columns:56px minmax(0,1fr) 168px;gap:26px;padding:18px 0;border-bottom:1px solid var(--line);position:relative}
.be-tl::before{content:"";position:absolute;left:61px;top:26px;width:12px;height:12px;border-radius:50%;background:var(--y);border:2px solid var(--navy)}
.be-tl time{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;padding-top:4px}
.be-tl time b{font:700 17px var(--disp);color:var(--navy)}
.be-tl time span{font-size:12px;color:var(--muted)}
.be-tl-b{min-width:0}
.be-tl-b h3{margin:4px 0 4px;font:700 19px/1.5 var(--serif);color:var(--navy)}
.be-tl-b p{margin:0;font-size:14.5px;color:#4a5569;line-height:1.7}
.be-tl-img{aspect-ratio:4/3;align-self:start}
.be-side{display:flex;flex-direction:column;gap:22px}
.be-side>*{max-width:100%}
.nv-side .ncab-title,.nv-side .widget-title,.nv-side .nv-widget-title{font:900 18px var(--serif)!important;color:var(--navy)!important;letter-spacing:.12em}

/* ---------- Ch.4 分章（筆記本頁） ---------- */
.be-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;padding-top:16px}
.be-page{position:relative;background:var(--card);border:1px solid var(--line);border-radius:4px 14px 14px 14px;padding:26px 24px 16px;box-shadow:var(--sh);
	background-image:repeating-linear-gradient(transparent 0 33px,rgba(44,79,130,.1) 33px 34px)}
.be-page-tab{position:absolute;top:-34px;left:-1px;margin:0;background:var(--pc);border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;padding:6px 18px 5px}
.be-page-tab a{font:900 16px var(--serif);letter-spacing:.12em;color:var(--navy);display:flex;align-items:baseline;gap:8px}
.be-page-tab small{font:italic 500 12.5px var(--disp);letter-spacing:.04em;color:#3d4c66}
.be-page.pg-0{--pc:var(--t1)} .be-page.pg-1{--pc:var(--t2)} .be-page.pg-2{--pc:var(--t3)} .be-page.pg-3{--pc:var(--t4)}
.be-page::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pc);border-radius:4px 0 0 14px}
.be-card{display:flex;flex-direction:column;gap:10px}
.be-card-b{display:flex;flex-direction:column;gap:4px;min-width:0}
.be-card-t{margin:0;font:700 17px/1.5 var(--serif);color:var(--navy)}
.be-card-x{margin:0;font-size:14px;color:#4a5569;line-height:1.65}
.be-card-row{display:grid;grid-template-columns:42% minmax(0,1fr);gap:18px;align-items:start;padding-bottom:14px;border-bottom:2px solid var(--navy)}
.be-lines{list-style:none;margin:0;padding:0}
.be-lines li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid rgba(44,79,130,.12);line-height:1.55}
.be-lines li:last-child{border-bottom:0}
.be-lines li::before{content:"✎";position:absolute;left:0;top:8px;color:var(--margin);font-size:14px}
.be-lines a{font-weight:500;font-size:15.5px}
.be-lines a:hover{background:linear-gradient(transparent 60%,var(--hl) 60%)}
.be-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}

/* 天氣 */
.be-wx-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.be-wx-c{background:#fff;border:1.5px solid var(--rule);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;line-height:1.4}
.be-wx-c b{color:var(--navy3);font-size:14px;letter-spacing:.14em}
.be-wx-c strong{font:900 26px var(--disp);color:var(--navy)}
.be-wx-c sup{font-size:12px}
.be-wx-c span{font-size:12.5px;color:var(--muted)}

/* ---------- 頁尾 ---------- */
.be-foot{margin-top:80px;background:var(--navy);color:#c6d2e5;position:relative}
.be-foot-wave{height:22px;background:var(--paper);-webkit-mask:radial-gradient(12px 12px at 12px 22px,transparent 98%,#000) 0 0/24px 22px repeat-x;mask:radial-gradient(12px 12px at 12px 22px,transparent 98%,#000) 0 0/24px 22px repeat-x;transform:translateY(-1px)}
.be-foot-in{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:44px;padding-block:44px 36px}
.be-foot .be-logo-name{color:#fff}
.be-foot .be-mark{box-shadow:0 0 0 2px rgba(255,255,255,.28)}
.be-foot .be-logo-name::after{background:rgba(246,196,69,.45)}
.be-foot .be-logo-en{color:#9fb3d3}
.be-foot-slogan{margin:18px 0 6px;font:700 16px var(--serif);color:var(--y);letter-spacing:.12em}
.be-foot p{font-size:14px;line-height:1.85;margin:0 0 8px}
.be-foot h3{margin:0 0 14px;font:900 15px var(--serif);color:#fff;letter-spacing:.2em;padding-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.25)}
.be-foot-nav div{display:flex;flex-wrap:wrap;gap:8px}
.be-foot-nav a{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 13px;font-size:14px}
.be-foot-nav a:hover{background:var(--y);color:var(--navy);border-color:var(--y)}
.be-foot-src ul{list-style:none;margin:0 0 10px;padding:0}
.be-foot-src li{padding:5px 0;display:flex;flex-direction:column;line-height:1.5}
.be-foot-src li a{color:#fff;font-weight:700;font-size:14.5px}
.be-foot-src li a:hover{color:var(--y)}
.be-foot-src small{font-size:12px;color:#8fa3c4}
.be-foot-note{font-size:12px!important;color:#8fa3c4}
.be-copy{border-top:1px solid rgba(255,255,255,.12);padding:14px 0;font-size:13px;color:#8fa3c4;letter-spacing:.06em}
.be-copy span{font:italic 500 13px var(--disp)}

/* ---------- 內頁（nvbase 樣板） ---------- */
.nv-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start;padding-block:36px 10px}
.nv-main{min-width:0}
.nv-crumb{font-size:13px;color:var(--muted);margin-bottom:16px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.nv-crumb a{color:var(--navy3)}
.nv-crumb a:hover{text-decoration:underline}
.nv-crumb .sep{margin:0 4px;color:#a3afc2}
.nv-crumb span:last-child{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.nv-article{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:34px 40px 30px;box-shadow:var(--sh);position:relative}
.nv-article::before{content:"";position:absolute;left:22px;top:0;bottom:0;width:1.5px;background:rgba(224,113,93,.45)}
.nv-article-head{margin-bottom:24px;padding-bottom:18px;border-bottom:2px solid var(--navy)}
.nv-article-cat{display:inline-block;background:var(--y);color:var(--navy);font-weight:900;font-size:13px;letter-spacing:.16em;padding:2px 12px;border-radius:3px}
.nv-article-title{margin:12px 0 12px;font:900 clamp(26px,3vw,38px)/1.4 var(--serif);color:var(--navy);letter-spacing:.02em}
.nv-article-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13.5px;color:var(--muted)}
.nv-article-meta time{font-family:var(--disp)}
.nv-article-meta .nv-site{font-weight:700;color:var(--navy3)}
.nv-article-body{font-size:17.5px;line-height:2;color:#232c3b;overflow-wrap:anywhere}
.nv-article-body p{margin:0 0 1.25em}
.nv-article-body h2,.nv-article-body h3{font-family:var(--serif);color:var(--navy);line-height:1.5;margin:1.6em 0 .7em}
.nv-article-body h2{font-size:24px;padding-left:12px;border-left:5px solid var(--y)}
.nv-article-body a{color:var(--navy3);text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:3px;text-underline-offset:3px}
.nv-article-body img,.nv-article-body video,.nv-article-body iframe{max-width:100%;height:auto;border-radius:8px}
.nv-article-body figure{margin:1.4em 0;max-width:100%}
.nv-article-body figcaption,.nv-article-body .wp-caption-text{font-size:13.5px;color:var(--muted);text-align:center;margin-top:6px}
.nv-article-body blockquote{margin:1.5em 0;padding:14px 22px;background:#fff8dc;border-left:5px solid var(--y);border-radius:0 8px 8px 0;font-family:var(--serif)}
.nv-article-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:15px}
.nv-article-body td,.nv-article-body th{border:1px solid var(--line);padding:6px 10px}
.nv-article-body ul,.nv-article-body ol{padding-left:1.4em}
.nv-article-body pre{overflow-x:auto;background:#f1f4f9;padding:14px;border-radius:8px}
.nv-tags{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0}
.nv-tags a{font-size:13.5px;background:#eef2f8;color:var(--navy3);padding:3px 12px;border-radius:999px}
.nv-tags a:hover{background:var(--y)}
.nv-sec-title{font:900 22px var(--serif);color:var(--navy);letter-spacing:.1em;margin:36px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--navy)}
.nv-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.nv-404 .nv-related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.nv-card{display:flex;flex-direction:column;gap:8px;min-width:0}
.nv-card-media{display:block;overflow:hidden;border-radius:8px;aspect-ratio:16/10;background:var(--paper2);position:relative}
.nv-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.nv-card:hover .nv-card-media img{transform:scale(1.04)}
.nv-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.nv-card-cat{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--navy);background:var(--y2);padding:1px 9px;border-radius:3px}
.nv-card-title{margin:0;font:700 16px/1.5 var(--serif);color:var(--navy)}
.nv-card-title a:hover{background:linear-gradient(transparent 60%,var(--hl) 60%)}
.nv-card-excerpt{margin:0;font-size:14.5px;color:#4a5569;line-height:1.7}
.nv-card-time{font-size:12.5px;color:var(--muted)}
.nv-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px;padding-top:18px;border-top:1px dashed var(--rule);font-size:14.5px}
.nv-prevnext .next{text-align:right}
.nv-prevnext a{font-weight:700;color:var(--navy3)}
.nv-page-head{position:relative;padding:4px 0 18px;margin-bottom:24px;border-bottom:2px solid var(--navy)}
.nv-page-head::after{content:"";position:absolute;left:0;right:0;bottom:-6px;border-bottom:1px solid var(--navy)}
.nv-page-title{margin:0;font:900 clamp(28px,3vw,38px)/1.3 var(--serif);color:var(--navy);letter-spacing:.1em;display:inline;background:linear-gradient(transparent 58%,var(--hl) 58%,var(--hl) 92%,transparent 92%)}
.nv-page-desc{margin-top:10px;color:var(--muted)}
.nv-list{display:flex;flex-direction:column}
.nv-list-item{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.nv-list-item:not(:has(.nv-card-media)){grid-template-columns:1fr}
.nv-list-item .nv-card-title{font-size:20px}
.nv-pagination{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 10px}
.nv-pagination a,.nv-pagination span{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;padding:0 12px;border:1.5px solid var(--navy);border-radius:10px;background:#fff;font-weight:700;font-size:14.5px}
.nv-pagination .current{background:var(--navy);color:var(--y)}
.nv-pagination a:hover{background:var(--y)}
.nv-pagination .dots{border:0;background:none}
.nv-404{padding-block:50px 10px}
.nv-404 .nv-search{max-width:480px;margin:16px 0 10px}
.nv-404 .nv-search input{width:100%}
.nv-empty{color:var(--muted)}
.nv-page .nv-article-title{margin-top:0}
.be-schools{padding-block:30px 10px}
.be-schools-h{margin-bottom:24px}
.be-schools-h h1{margin:0 0 10px;font:900 clamp(30px,3.4vw,42px)/1.3 var(--serif);color:var(--navy);letter-spacing:.1em}
.be-schools-h p{color:var(--muted);max-width:760px;margin:0}
.be-schools .be-uni-list{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- RWD ---------- */
@media (max-width:1180px){
	.be-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.be-ch1,.be-ch2,.be-ch3,.nv-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
	.be-tl{grid-template-columns:56px minmax(0,1fr) 140px}
	.be-schools .be-uni-list{grid-template-columns:repeat(2,minmax(0,1fr))}
	.be-wx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:960px){
	.nv-wrap{padding-inline:20px}
	.be-mast-in{grid-template-columns:1fr auto;gap:14px}
	.be-mast-mid{grid-column:1/-1;grid-row:2;border-left:0;padding-left:0;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline}
	.be-motto{margin:0}
	.be-mast-r{display:none}
	.be-burger{display:inline-flex}
	.be-nav{position:sticky}
	.be-tabs{display:none;flex-direction:column;padding:8px 0 12px;gap:2px}
	.be-nav.is-open .be-tabs{display:flex}
	.be-tabs a{border-radius:8px;padding:10px 14px}
	.be-tabs a::before{left:0;right:auto;top:10px;bottom:10px;width:4px;height:auto;border-radius:0 4px 4px 0}
	.be-nav.is-open .be-nav-search{display:block;padding:0 0 14px}
	.be-nav-search .nv-search{box-shadow:none;border-color:#fff}
	.be-nav-search .nv-search input{width:100%;flex:1}
	.be-hero-in{grid-template-columns:1fr;gap:34px;padding-block:56px 64px;min-height:0}
	.be-hero::before{background:linear-gradient(180deg,rgba(8,18,44,.45),rgba(8,18,44,.88) 55%,rgba(8,18,44,.94))}
	.be-hero-notes{transform:none;max-width:560px}
	.be-ch1,.be-ch2,.be-ch3,.nv-layout{grid-template-columns:1fr}
	.be-focus{grid-template-columns:1fr}
	.be-pages{grid-template-columns:1fr;gap:52px}
	.be-grid4,.nv-related-grid,.nv-404 .nv-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.be-foot-in{grid-template-columns:1fr 1fr}
	.be-foot-brand{grid-column:1/-1}
	.be-count-h p{margin-left:0;flex-basis:100%}
}
@media (max-width:640px){
	body{font-size:15.5px;background-size:22px 22px}
	.nv-wrap{padding-inline:16px}
	.be-topbar-in{gap:4px 14px;padding-block:6px;font-size:12px}
	.be-topen{display:none}
	.be-mast{background-image:repeating-linear-gradient(transparent 0 31px,rgba(44,79,130,.14) 31px 32px)}
	.be-mast-in{padding-block:16px 14px}
	.be-logo{gap:12px}
	.be-logo .be-mark{width:46px;height:46px}
	.be-logo-name{font-size:30px;letter-spacing:.08em}
	.be-logo-en{font-size:12px;margin-top:7px}
	.be-slogan{font-size:15px}
	.be-motto{font-size:15px}
	.be-hero-in{padding-block:40px 56px}
	.be-hero-x{font-size:15.5px}
	.be-hero-notes{padding:18px 16px 10px 38px}
	.be-count-pad{padding:22px 16px 16px 46px;background-image:linear-gradient(90deg,transparent 36px,rgba(224,113,93,.5) 36px,rgba(224,113,93,.5) 37.5px,transparent 37.5px)}
	.be-count-pad::before{left:8px}
	.be-count-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	.be-cd{padding:12px}
	.be-cd-d{font-size:36px}
	.be-cd-hol{grid-column:1/-1}
	.be-sec{margin-top:48px}
	.be-h2-no{font-size:24px}
	.be-uni-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
	.be-uni-stats div b{font-size:24px}
	.be-uni-stats div span{font-size:11.5px;letter-spacing:0}
	.be-uni-bar{grid-column:1/-1}
	.be-uni-f{grid-template-columns:1fr}
	.be-uni-list,.be-schools .be-uni-list{grid-template-columns:1fr}
	.be-unitool{padding:16px}
	.be-timeline::before{left:0}
	.be-tl{grid-template-columns:minmax(0,1fr) 104px;gap:6px 14px;padding-left:18px}
	.be-tl::before{left:-5px;top:24px}
	.be-tl time{grid-column:1/-1;flex-direction:row;gap:8px;align-items:baseline;padding:0}
	.be-tl time b{font-size:15px}
	.be-tl-b h3{font-size:17px}
	.be-tl-b p{display:none}
	.be-tl-img{grid-column:2;grid-row:2}
	.be-card-row{grid-template-columns:1fr}
	.be-page{padding:22px 16px 12px}
	.be-grid4,.nv-related-grid,.nv-404 .nv-related-grid{grid-template-columns:1fr 1fr;gap:14px}
	.be-foot-in{grid-template-columns:1fr;gap:28px}
	.nv-article{padding:22px 18px 20px 26px}
	.nv-article::before{left:12px}
	.nv-article-body{font-size:16.5px;line-height:1.95}
	.nv-list-item{grid-template-columns:120px minmax(0,1fr);gap:14px;padding:14px 0}
	.nv-list-item .nv-card-title{font-size:16.5px}
	.nv-list-item .nv-card-excerpt{display:none}
	.nv-prevnext{grid-template-columns:1fr}
	.nv-prevnext .next{text-align:left}
	.be-wx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
