/* Monthly editions: the printed issue beside its readable contents. */
.route-magazine { --monthly-ink:#19281f; --monthly-blue:#1738b8; --monthly-paper:#f8f5ec; --monthly-surface:#eeeade; --monthly-reading-size:20px; }
.monthly-library,.monthly-reading { color:var(--monthly-ink); max-width:1240px; margin:0 auto; padding:48px 24px 80px; }
.monthly-library *, .monthly-reading * { box-sizing:border-box; }
.monthly-library [hidden],.monthly-reading [hidden] { display:none!important; }
.monthly-library h1,.monthly-library h2,.monthly-library h3,.monthly-reading h1,.monthly-reading h2 { font-family:"Noto Serif TC",Georgia,serif; color:var(--monthly-blue); line-height:1.35; letter-spacing:-.025em; margin:0; text-wrap:balance; }
.monthly-title { display:flex; align-items:baseline; justify-content:space-between; gap:32px; margin-bottom:48px; }
.monthly-title h1 { font-size:clamp(40px,4.4vw,64px); }
.monthly-title p { font-size:18px; line-height:1.7; margin:0; max-width:30em; }
.monthly-title>div>a { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; font-size:16px; }
.monthly-stage { display:grid; grid-template-columns:1fr 1.08fr; gap:56px; align-items:start; }
.monthly-cover { position:sticky; top:var(--monthly-header-offset,196px); margin:0; padding:24px; background:var(--monthly-surface); }
.monthly-cover img { display:block; width:100%; height:auto; max-height:calc(100svh - var(--monthly-header-offset,196px) - 95px); object-fit:contain; }
.monthly-cover figcaption { font-size:15px; text-align:center; margin-top:16px; color:var(--monthly-ink); }
.monthly-intro { padding:16px 0 40px; }
.monthly-intro h2 { font-size:clamp(30px,3vw,40px); }
.monthly-intro p { font-size:18px; line-height:1.85; margin:20px 0; }
.monthly-intro .monthly-issue-number { font-size:16px; margin:12px 0 24px; }
.monthly-library a,.monthly-reading a { color:var(--monthly-blue); text-underline-offset:5px; text-decoration-thickness:1.5px; }
.monthly-library a:hover,.monthly-reading a:hover { text-decoration:underline; }
.monthly-library a:focus-visible,.monthly-reading a:focus-visible,.monthly-reading select:focus-visible,.monthly-reading summary:focus-visible { outline:3px solid var(--monthly-blue); outline-offset:5px; }
.monthly-library .monthly-button,.monthly-reading .monthly-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 24px; background:var(--monthly-blue); color:white; border:0; border-radius:0; font:700 17px/1.5 "Microsoft YaHei",sans-serif; text-decoration:none; transition:transform .18s,opacity .18s; cursor:pointer; }
.monthly-button:hover { opacity:.86; transform:translateY(-2px); }
.monthly-button:active { transform:translateY(1px); }
.monthly-contents-link { display:inline-flex; min-height:48px; align-items:center; margin-left:24px; font-size:17px; }
.monthly-access { margin-top:24px; padding:20px; background:var(--monthly-surface); }
.monthly-access p { font-size:16px; line-height:1.7; margin:0 0 16px; }
.monthly-access p:last-child { margin-bottom:0; }
.monthly-files { display:flex; flex-wrap:wrap; gap:16px 24px; margin-top:20px; font-size:16px; line-height:1.7; }
.monthly-files a { min-height:44px; display:inline-flex; align-items:center; flex-wrap:wrap; gap:5px; }
.monthly-toc { padding-top:24px; scroll-margin-top:24px; }
.monthly-toc>h2 { font-size:32px; }
.monthly-desk-nav { display:flex; flex-wrap:wrap; gap:8px 24px; margin:16px 0 36px; }
.monthly-desk-nav a { display:flex; align-items:center; min-height:44px; font-size:17px; }
.monthly-desk { margin:0 0 48px; scroll-margin-top:28px; }
.monthly-desk-heading { display:flex; align-items:center; gap:24px; background:var(--monthly-surface); padding:16px; }
.monthly-desk-heading img { width:45%; aspect-ratio:3/2; height:auto; object-fit:cover; }
.monthly-desk-heading h3 { font-size:30px; }
.monthly-desk-heading h3 span { display:block; margin-top:8px; font:400 17px/1.5 "Microsoft YaHei",sans-serif; letter-spacing:0; color:var(--monthly-ink); }
.monthly-desk ul,.monthly-shelf ul { list-style:none; padding:0; margin:8px 0 0; }
.monthly-desk li a { display:flex; justify-content:space-between; gap:20px; padding:18px 8px; font-size:18px; line-height:1.65; text-decoration:none; transition:background .2s,transform .2s; }
.monthly-desk li a:hover { background:var(--monthly-surface); transform:translateX(3px); }
.monthly-desk li a span { max-width:25em; }
.monthly-desk small { flex:none; font-size:14px; font-variant-numeric:tabular-nums; color:var(--monthly-ink); padding-top:4px; }
.monthly-shelf { display:grid; grid-template-columns:1fr 1.08fr; gap:56px; background:var(--monthly-blue); color:white; margin-top:24px; padding:40px; }
.monthly-shelf h2,.monthly-shelf h3,.monthly-shelf a { color:white; }
.monthly-shelf h2 { font-size:32px; }
.monthly-shelf h3 { font-size:26px; }
.monthly-shelf p { font-size:17px; line-height:1.8; }
.monthly-shelf li a { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:18px 0; font-size:18px; }
.monthly-shelf li span { font-size:16px; }
.monthly-reading-nav { display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:36px; font-size:16px; }
.monthly-reading-nav a { min-height:44px; display:flex; align-items:center; }
.monthly-reading-grid { display:grid; grid-template-columns:250px minmax(0,760px); gap:60px; justify-content:space-between; }
.monthly-reading-sidebar { position:sticky; top:var(--monthly-header-offset,196px); max-height:calc(100svh - var(--monthly-header-offset,196px) - 24px); overflow:auto; padding:20px; background:var(--monthly-surface); font-size:15px; line-height:1.7; }
.monthly-reading-sidebar summary { font-size:18px; font-weight:700; cursor:pointer; min-height:36px; }
.monthly-reading-sidebar section { margin-top:24px; }
.monthly-reading-sidebar h2 { font-size:20px; margin-bottom:8px; }
.monthly-reading-sidebar a { display:block; padding:10px 4px; text-decoration:none; color:var(--monthly-ink); }
.monthly-reading-sidebar a[aria-current=page] { color:var(--monthly-blue); font-weight:700; background:var(--monthly-paper); }
.monthly-reading-main { min-width:0; }
.monthly-article-header h1 { font-size:clamp(28px,3vw,40px); line-height:1.45; }
.monthly-article-header>p { margin:20px 0 28px; font-size:16px; line-height:1.7; }
.monthly-reading-tools { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; padding:16px; background:var(--monthly-surface); margin-bottom:28px; }
.monthly-reading-tools label { display:flex; align-items:center; gap:12px; font-size:16px; min-width:0; }
.monthly-reading-tools label:last-child { flex:1; }
.monthly-reading-tools select { min-height:44px; max-width:100%; min-width:0; padding:8px; font:inherit; color:var(--monthly-ink); background:var(--monthly-paper); border:1px solid #7a8177; border-radius:0; }
.monthly-reading-tools label:last-child select { flex:1; width:0; }
.monthly-prose { font-family:"Microsoft YaHei","Noto Sans TC",sans-serif; font-size:var(--monthly-reading-size); line-height:1.95; font-weight:400; overflow-wrap:anywhere; }
.monthly-prose p { font:inherit; margin:0 0 1.4em; text-align:left; color:var(--monthly-ink); }
.monthly-prose section { margin-top:48px; scroll-margin-top:24px; outline-offset:8px; }
.monthly-prose h2 { font-size:clamp(24px,2.2vw,30px); line-height:1.5; margin:0 0 24px; }
.monthly-prose strong { font-weight:700; }
.monthly-article-art { margin:0 0 32px; }
.monthly-article-art img { display:block; width:100%; height:auto; max-height:460px; object-fit:contain; background:var(--monthly-paper); }
.monthly-observations { padding:24px; margin:36px 0; background:var(--monthly-surface); }
.monthly-observations h2 { font-size:24px; }
.monthly-observations dl { margin:0; }
.monthly-observations dl>div+div { margin-top:20px; }
.monthly-observations dt { font-weight:700; }
.monthly-observations dd { margin:4px 0 0; }
.monthly-prose ul { padding-left:1.5em; font-size:17px; line-height:1.8; }
.monthly-prose li { margin-bottom:12px; }
.monthly-next { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; background:var(--monthly-surface); padding:24px; }
.monthly-next a { font-size:17px; line-height:1.7; text-decoration:none; }
.monthly-next span,.monthly-next strong { display:block; }
.monthly-next span { font-size:15px; margin-bottom:10px; color:var(--monthly-ink); }
@media (prefers-reduced-motion:no-preference) {
 .monthly-title,.monthly-intro,.monthly-cover,.monthly-desk,.monthly-shelf { animation:monthly-arrive .55s both; }
 .monthly-intro { animation-delay:.08s; }.monthly-desk:nth-of-type(2) {animation-delay:.12s}.monthly-desk:nth-of-type(3) {animation-delay:.18s}
 @keyframes monthly-arrive { from {opacity:.5;transform:translateY(12px)} to {opacity:1;transform:none} }
}
@media (max-width:1000px) {
 .monthly-stage { gap:32px; grid-template-columns:.85fr 1.15fr; }
 .monthly-cover { padding:12px; }
 .monthly-title { display:block; }.monthly-title p { margin-top:16px; }
 .monthly-reading-grid { grid-template-columns:210px minmax(0,1fr); gap:32px; }
 .monthly-desk li a { gap:12px; }
}
@media (max-width:900px) {
 .monthly-reading-grid { display:block; }
 .monthly-reading-sidebar { position:static; max-height:none; margin-bottom:32px; }
 .monthly-reading-sidebar nav { max-height:50svh; overflow:auto; }
}
@media (max-width:650px) {
 .monthly-library,.monthly-reading { padding:28px 20px 48px; }
 .monthly-title { margin-bottom:24px; }.monthly-title h1 { font-size:40px; }.monthly-title p { font-size:16px; }
 .monthly-stage { display:flex; flex-direction:column; gap:24px; }
 .monthly-cover { position:static; width:100%; padding:20px; }
 .monthly-cover img { max-height:49svh; }.monthly-cover figcaption { font-size:14px; margin-top:12px; }
 .monthly-contents-column { display:contents; }.monthly-intro { order:1; padding:4px 0 12px; }.monthly-cover { order:2; }.monthly-toc { order:3; width:100%; }
 .monthly-intro h2 { font-size:30px; }.monthly-intro p { font-size:17px; }
 .monthly-contents-link { margin-left:20px; }.monthly-files { gap:8px 16px; }
 .monthly-toc>h2 { font-size:28px; }.monthly-desk-heading h3 { font-size:28px; }
 .monthly-desk li a { display:block; font-size:17px; padding:16px 0; }.monthly-desk li a span { display:block; text-wrap:pretty; }.monthly-desk small { display:block; font-size:13px; padding-top:8px; }
 .monthly-shelf { display:block; padding:28px 24px; margin-top:0; }.monthly-shelf h2 { font-size:28px; }.monthly-years {margin-top:24px;}
 .monthly-reading-nav { font-size:14px; gap:8px; margin-bottom:20px; }.monthly-reading-nav span:nth-child(2) {order:3;flex-basis:100%;}
 .monthly-reading-sidebar { margin-bottom:24px; padding:16px; }
 .monthly-article-header h1 { font-size:28px; }.monthly-article-header>p { font-size:14px; }
 .monthly-reading-tools { padding:12px; gap:12px; }.monthly-reading-tools label:last-child { flex-basis:100%; }
 .monthly-prose h2 { font-size:24px; }.monthly-prose section { margin-top:36px; }.monthly-observations { padding:20px; }
 .monthly-next { gap:20px; padding:20px; }.monthly-next a { font-size:16px; }
}

/* Override the shared editorial heading/body rules only within the monthly views. */
#app .publication-v3.route-magazine .monthly-title p,
#app .publication-v3.route-magazine .monthly-intro p,
#app .publication-v3.route-magazine .monthly-article-header>p {font-weight:400;}
#app .publication-v3.route-magazine .monthly-article-header>p {font-size:16px;line-height:1.7;}
#app .publication-v3.route-magazine .monthly-title h1 {font-size:clamp(40px,4.4vw,64px);line-height:1.35;}
#app .publication-v3.route-magazine .monthly-intro h2 {font-size:clamp(30px,3vw,40px);line-height:1.35;}
#app .publication-v3.route-magazine .monthly-toc>h2,
#app .publication-v3.route-magazine .monthly-shelf h2 {font-size:32px;line-height:1.35;}
#app .publication-v3.route-magazine .monthly-shelf :is(h2,h3,a,p,span,strong) {color:white;}
#app .publication-v3.route-magazine .monthly-reading-sidebar h2 {font-size:20px;line-height:1.5;}
#app .publication-v3.route-magazine .monthly-article-header h1 {font-size:clamp(28px,3vw,40px);line-height:1.45;}
#app .publication-v3.route-magazine .monthly-prose h2 {font-size:clamp(24px,2.2vw,30px);line-height:1.5;}
#app .publication-v3.route-magazine .monthly-prose p,
#app .publication-v3.route-magazine .monthly-prose dd {font-size:var(--monthly-reading-size);line-height:1.95;font-weight:400;color:var(--monthly-ink);}
#app .publication-v3.route-magazine .monthly-prose strong {font-weight:700;}
@media(max-width:650px){
 #app .publication-v3.route-magazine .monthly-title h1 {font-size:40px;}
 #app .publication-v3.route-magazine .monthly-article-header h1 {font-size:28px;}
 #app .publication-v3.route-magazine .monthly-toc>h2,
 #app .publication-v3.route-magazine .monthly-shelf h2 {font-size:28px;}
 #app .publication-v3.route-magazine .monthly-prose h2 {font-size:24px;}
}
