/* =====================================================================
   新外觀共用層（a／b／c 三種風格都會載入）
   解決：字體一致、滿版版面、選單與按鈕字級、正式頁尾、書封呈現
   ===================================================================== */
:root{
  --brand:#00693e;
  --serif:"Noto Serif TC","Noto Serif CJK TC","Songti TC","Source Han Serif TC",serif;
  --sans:"Noto Sans TC","Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,monospace;
  --maxw:1240px;
}
body{font-family:var(--sans);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;background:var(--paper);color:var(--ink)}
body[class*="theme-"] :is(h1,h2,h3){font-family:var(--serif);text-wrap:balance;letter-spacing:.01em}

/* ---- 滿版外框 ---- */
.shell{max-width:none;margin:0;min-height:100vh;box-shadow:none;background:var(--paper);display:flex;flex-direction:column}
main{flex:1}
.top,.inner,.content,#home,.site-footer{padding-left:max(22px,calc((100% - var(--maxw))/2));padding-right:max(22px,calc((100% - var(--maxw))/2))}

/* ---- 頁首與選單 ---- */
.top{min-height:78px;gap:28px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-decoration:none}
.brand-name{font:900 21px/1.15 var(--sans);letter-spacing:.03em}
.brand-sub{display:block;font:700 11px/1.2 var(--mono);letter-spacing:.16em;opacity:.78}
#home .mag-issue{justify-content:flex-end}
#home .mag-issue span:first-of-type{display:none}
.nav{gap:26px}
.nav a{font:500 16px/1 var(--sans);letter-spacing:.04em}
@media(max-width:1100px){.nav{gap:16px}.nav a{font-size:15px}}
@media(max-width:900px){.top{min-height:64px}.nav a{font-size:17px;padding:14px 6px}.toggle{font:500 15px var(--sans);padding:8px 14px}}

/* ---- 按鈕與小字 ---- */
.site-btn,a.action{font:700 15px/1.3 var(--sans);padding:12px 22px;letter-spacing:.04em;border-radius:0}
.back{font:700 15px/1.3 var(--sans)}
.flow a,.lights-subnav a{font:700 15px/1.2 var(--sans);padding:10px 18px}
.mag-link,.mag-archive{font:700 16px/1.4 var(--sans)}
.inner small,.mag-heading small,.mag-hero-copy>small,.activity-note>small,.store-section>small{letter-spacing:.14em}

/* ---- 頁首標題區 ---- */
.inner{padding-top:72px;padding-bottom:44px}
.inner h1{font:900 clamp(40px,5.4vw,64px)/1.12 var(--serif);margin:10px 0 14px}
.inner p{font-size:18px;max-width:40em}
.content{padding-top:40px;padding-bottom:88px}

/* ---- 首頁 ---- */
#home{padding-bottom:88px}
.mag-hero h1{font-weight:900}
.mag-hero-copy p{font-size:18px}
.mag-cover b{font-family:var(--serif);font-size:22px}
.mag-cover small{font-size:14px}
.mag-index strong{font-family:var(--serif);font-size:20px}

/* ---- 書封：像實體書一樣放在紙上 ---- */
.book-cover{filter:drop-shadow(0 10px 14px rgba(20,18,12,.22)) drop-shadow(0 2px 3px rgba(20,18,12,.18))}
.cover-button{flex:0 0 132px;transition:transform .2s ease}
.cover-button:hover{transform:translateY(-6px)}
.book-cover.thumb,.book-cover-missing.thumb{width:132px;height:186px}
.light-covers-0915{gap:20px;padding:10px 4px 16px}
.selection-grid-0915{gap:34px 26px}
.selection-card-0915{background:transparent;border-top:0;transition:transform .2s ease}
.selection-card-0915:hover{transform:translateY(-6px)}
.book-cover.selection-cover{height:280px;object-position:center bottom}
.selection-copy{padding:18px 4px 0}
.selection-copy b{font-family:var(--serif);font-size:19px}
.book-detail-copy h1.book-title{font-family:var(--serif);font-weight:900}

/* ---- 書店與照片 ---- */
.store-grid .real-card img{height:260px}
.real-card{transition:transform .2s ease,box-shadow .2s ease}
.store-grid .real-card:hover,.vote-grid .real-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,18,12,.12)}
.real-copy h2,.real-copy h3{font-size:24px}
.store-detail .photo{min-height:420px}
.gallery img{height:460px}

/* ---- 內文易讀 ---- */
.activity-note p,.activity-note li,.letter-full p{font-size:18px;line-height:1.9}
.activity-note h2{font-weight:900}
.letter-full{max-width:860px;padding:56px 64px}
.letter-full h2{font:900 30px/1.2 var(--serif)}

/* ---- 正式頁尾 ---- */
.site-footer{padding-top:56px;padding-bottom:40px;font-size:15px}
.ft-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px 56px}
.ft-brand{display:flex;gap:20px;align-items:flex-start}
.ft-logo{width:84px;height:84px;flex:0 0 84px;display:block}
.ft-brand b{display:block;font:700 20px/1.4 var(--serif);margin-bottom:8px}
.ft-brand p{margin:0 0 10px;max-width:34em;line-height:1.8;opacity:.85}
.ft-brand a{font-weight:700;text-decoration:none}
.ft-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;align-content:start}
.ft-nav a{text-decoration:none;font-weight:500;padding:3px 0}
.ft-nav a:hover{text-decoration:underline}
.ft-copy{grid-column:1/-1;margin:14px 0 0;padding-top:18px;font-size:13px;opacity:.7}
@media(max-width:760px){
  .ft-inner{grid-template-columns:1fr}
  .ft-logo{width:64px;height:64px;flex-basis:64px}
  .inner{padding-top:48px;padding-bottom:32px}
  .book-cover.thumb,.book-cover-missing.thumb{width:108px;height:152px}
  .cover-button{flex-basis:108px}
  .book-cover.selection-cover{height:220px}
  .store-grid .real-card img{height:220px}
  .gallery img{height:320px}
  .letter-full{padding:30px 22px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- 1.4.2：選單固定在最上方（管理工具列在時，排在它下面） ---- */
.shell{overflow:visible}
.top{position:sticky;top:var(--abh,0px);z-index:40}
html{scroll-padding-top:calc(var(--abh,0px) + 96px)}
@media(max-width:900px){.nav.open{max-height:calc(100vh - var(--abh,0px) - 70px);overflow-y:auto}}
/* 從首頁索引點進活動消息時，標出那一則 */
.timeline-card:target{outline:3px solid var(--mod,#1e7149);outline-offset:4px}
/* 活動說明：未填寫時只有管理者看得到的提示框 */
.activity-note.activity-empty{background:transparent;border:2px dashed #c9c3b8;color:#77716a}
.activity-note.activity-empty p{font-size:15px;margin:6px 0 0}
.activity-note{margin-bottom:28px}
