/* SF Portal：共用版面（頁首、選單、文章的各種呈現、文章頁、列表、頁尾）。各風格的字型、紙色、首頁排法在 assets/styles/。
   顏色變數由頁面上的 <style id="sf-portal-colors"> 提供（依品牌色與風格算好，對比都達 WCAG AA）；這裡只放預設值。
   全部是明亮配色：沒有深色底，有顏色的區塊用品牌色的淡色（--sf-soft、--sf-band）。 */
:where(:root){
	--sf-brand:#1d4ed8;--sf-ink:#1d4ed8;--sf-soft:#eef2ff;--sf-band:#dfe6fb;--sf-band-ink:#1a44bf;--sf-band-muted:#4b5361;
	--sf-bg:#fff;--sf-bg2:#f3f4f6;--sf-text:#15181c;--sf-muted:#59616b;--sf-line:#e2e5e9;--sf-rule:#1f2329;
	--sf-on-ink:#fff;--sf-shade:rgba(16,20,26,.08);
	--sf-sans:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei","Heiti TC",system-ui,sans-serif;
	--sf-serif:"Iowan Old Style",Georgia,"Songti TC","Noto Serif TC","Noto Serif CJK TC","Source Han Serif TC",PMingLiU,serif;
	--sf-font:var(--sf-sans);--sf-head:var(--sf-sans);--sf-brandfont:var(--sf-sans);
	--sf-hw:700;--sf-bw:800;
	--sf-wrap:1200px;--sf-gap:24px;--sf-img-radius:0px;--sf-box-radius:0px;
	--sf-title:26px;--sf-title-d:34px;--sf-prose:18px;--sf-prose-d:19px;--sf-prose-lh:1.85;
	--sf-sec-gap:40px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body.sf{margin:0;background:var(--sf-bg);color:var(--sf-text);font:17px/1.75 var(--sf-font)}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--sf-ink)}
:focus-visible{outline:2px solid var(--sf-ink);outline-offset:2px}
::selection{background:var(--sf-soft);color:var(--sf-text)}
.sf-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sf-skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--sf-text);color:var(--sf-bg);padding:8px 14px}
.sf-skip:focus{left:8px;top:8px;color:var(--sf-bg)}
.sf-wrap{width:100%;max-width:var(--sf-wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.sf-col1{max-width:calc(760px + 32px)}

/* ── 頁首 ── */
.sf-header{background:var(--sf-bg)}
.sf-header__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px 12px}
.sf-brand{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.sf-brand__name{font-family:var(--sf-brandfont);font-size:26px;font-weight:var(--sf-bw);color:var(--sf-ink);overflow-wrap:anywhere}
.sf-brand__tag{font-size:13px;color:var(--sf-muted);margin-top:3px;line-height:1.4}
.sf-header__side,.sf-bar__side,.sf-mast__side{display:flex;align-items:center;gap:12px;flex-shrink:0}
.sf-date{font-size:14px;color:var(--sf-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.sf-util{font-size:13px;color:var(--sf-muted);border-bottom:1px solid var(--sf-line);background:var(--sf-bg)}
.sf-util__in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px}
.sf-util .sf-date{font-size:13px}
.sf-util__links{display:flex;gap:16px}
.sf-mast{padding-block:18px 14px}
.sf-bar{display:flex;align-items:center;gap:24px;min-height:64px}
.sf-bar .sf-brand{flex-shrink:0}
@media (max-width:520px){.sf-header__side .sf-date,.sf-bar__side .sf-date,.sf-mast__side .sf-date{display:none}.sf-search__label{display:none}.sf-search__btn{padding:0 10px}.sf-brand__name{font-size:23px}}

.sf-search{position:relative}
.sf-search__btn{list-style:none;display:flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:1px solid var(--sf-line);border-radius:999px;cursor:pointer;color:var(--sf-text);font-size:14px;user-select:none;background:var(--sf-bg)}
.sf-search__btn::-webkit-details-marker{display:none}
.sf-search[open] .sf-search__btn{border-color:var(--sf-ink);color:var(--sf-ink)}
.sf-search__form{display:flex;gap:8px}
.sf-search[open] .sf-search__form{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(420px,calc(100vw - 32px));padding:12px;background:var(--sf-bg);border:1px solid var(--sf-line);border-radius:10px;box-shadow:0 10px 30px var(--sf-shade)}
.sf-search__form input{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid var(--sf-line);border-radius:8px;font:inherit;font-size:16px;color:var(--sf-text);background:var(--sf-bg)}
.sf-search__form input:focus-visible{outline:2px solid var(--sf-ink);outline-offset:-1px}
.sf-search__form button{height:44px;padding:0 16px;border:0;border-radius:8px;background:var(--sf-ink);color:var(--sf-on-ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.sf-search__form button:active{filter:brightness(.92)}
.sf-search__form--page{margin-top:12px;max-width:520px}

/* 選單：自己一列時往下捲會固定在最上方（細條），左邊出現小站名 */
.sf-nav{position:sticky;top:0;z-index:50;background:var(--sf-bg);border-top:1px solid var(--sf-line);border-bottom:1px solid var(--sf-line)}
.sf-nav__in{display:flex;align-items:stretch;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sf-nav__in::-webkit-scrollbar{display:none}
.sf-nav a{display:flex;align-items:center;padding:12px 14px;font-weight:700;font-size:16px;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.sf-nav a[aria-current="page"]{color:var(--sf-ink);border-bottom-color:var(--sf-brand)}
.sf-nav__mini{display:none!important;color:var(--sf-ink);font-family:var(--sf-brandfont);font-weight:var(--sf-bw)!important;padding-left:0!important;margin-right:6px}
body.sf-stuck .sf-nav__mini{display:flex!important}
body.sf-stuck .sf-nav{box-shadow:0 2px 10px var(--sf-shade)}
/* 站名與選單同一列（inline、dark）：選單不另外固定；電腦版整個頁首固定在上方 */
.sf-bar .sf-nav{position:static;border:0;background:none;flex:1;min-width:0}
.sf-bar .sf-nav a{padding:20px 12px;margin-bottom:0}
@media (min-width:700px){.sf-h-inline .sf-header,.sf-h-bar .sf-header{position:sticky;top:0;z-index:50}}
@media (max-width:699px){
	.sf-bar{flex-wrap:wrap;gap:0 12px;min-height:0;padding-top:10px}
	.sf-bar .sf-brand{flex:1}
	.sf-bar .sf-nav{order:3;flex:0 0 100%;margin-inline:-4px}
	.sf-bar .sf-nav a{padding:10px}
}

/* ── 共用 ── */
.sf-main{padding-block:20px 48px}
.sf-meta{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:13px;line-height:1.5;color:var(--sf-muted);font-variant-numeric:tabular-nums}
.sf-meta__by{color:var(--sf-text)}
.sf-empty{padding:40px 0;color:var(--sf-muted);text-align:center}
.sf-sec{margin:0 0 var(--sf-sec-gap);min-width:0}
.sf-sec__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.sf-sec__h,.sf-box__h,.sf-day__h{margin:0;font-family:var(--sf-head);font-size:20px;font-weight:var(--sf-hw);line-height:1.35}
.sf-box__h{margin-bottom:10px}
.sf-more{font-size:14px;font-weight:700;color:var(--sf-ink);white-space:nowrap}
.sf-more:hover{text-decoration:underline;text-underline-offset:3px}
.sf-front__more{margin:20px 0 0}
.sf-cover{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:var(--sf-img-radius);background:var(--sf-bg2)}
.sf-cover__img{display:block;width:100%;height:100%;object-fit:cover}

/* ── 一則文章（sf-it）：hero 頭條、card 卡片、media 小圖＋標題、text 文字、overlay 標題放在圖上的白色標題框 ── */
.sf-it{position:relative;min-width:0}
.sf-it__media{display:block;position:relative}
.sf-it__body{min-width:0}
.sf-it__title{margin:0;font-family:var(--sf-head);font-weight:var(--sf-hw);line-height:1.48;overflow-wrap:anywhere}
.sf-it__title a:hover{color:var(--sf-ink)}
.sf-it__excerpt{margin:6px 0 0;color:var(--sf-muted);font-size:15px;line-height:1.72}
.sf-it .sf-meta{margin-top:6px}
.sf-it--hero .sf-it__title{font-size:24px;line-height:1.4;margin-top:12px;text-wrap:balance}
.sf-it--hero.no-img .sf-it__title{margin-top:0;font-size:28px}
.sf-it--hero .sf-it__excerpt{font-size:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-it--card .sf-it__title{font-size:17px;margin-top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-it--card.no-img .sf-it__title{margin-top:0}
.sf-it--card .sf-it__excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-it--media{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;align-items:start}
.sf-it--media.no-img{display:block}
.sf-it--media .sf-it__title{font-size:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-it--media .sf-it__excerpt{display:none}
.sf-it--text .sf-it__title{font-size:19px}
.sf-it--text .sf-it__excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-it--overlay .sf-cover{aspect-ratio:4/3}
.sf-it--overlay.has-img .sf-it__body{position:absolute;left:10px;right:10px;bottom:10px;padding:10px 12px 9px;background:var(--sf-bg);color:var(--sf-text);border-radius:var(--sf-img-radius);box-shadow:0 1px 2px var(--sf-shade);pointer-events:none}
.sf-it--overlay.has-img .sf-it__title a{pointer-events:auto}
.sf-it--overlay.has-img .sf-it__title a:hover{color:var(--sf-ink);text-decoration:underline;text-underline-offset:3px}
.sf-it--overlay.has-img .sf-it__title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-it--overlay.has-img .sf-meta{margin-top:4px}
.sf-it--overlay.no-img{background:var(--sf-bg2);padding:16px;border-radius:var(--sf-img-radius)}
.sf-it--overlay .sf-it__title{font-size:17px}
.sf-it__badge{position:absolute;left:8px;bottom:8px;padding:1px 7px;font-size:12.5px;line-height:1.6;font-weight:600;color:var(--sf-text);background:var(--sf-bg);border-radius:4px;box-shadow:0 1px 2px var(--sf-shade);font-variant-numeric:tabular-nums}

/* 時間＋標題的列表 */
.sf-rows{list-style:none;margin:0;padding:0}
.sf-row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--sf-line)}
.sf-row:first-child{padding-top:0}
.sf-row__time{flex:0 0 auto;min-width:3.4em;font-size:13px;line-height:1.75;color:var(--sf-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.sf-row__title{font-size:15.5px;font-weight:600;line-height:1.58}
/* 時間軸（即時）：左邊時間、中間一條線 */
.sf-tl .sf-row{position:relative;display:grid;grid-template-columns:5.4em minmax(0,1fr);gap:0 20px;border:0;padding:0 0 16px}
.sf-tl .sf-row::before{content:"";position:absolute;left:calc(5.4em + 9px);top:0;bottom:0;width:1px;background:var(--sf-line)}
.sf-tl .sf-row::after{content:"";position:absolute;left:calc(5.4em + 6px);top:8px;width:7px;height:7px;background:var(--sf-brand)}
.sf-tl .sf-row:first-child::after{background:var(--sf-ink)}
.sf-tl .sf-row__time{text-align:right}

/* 時間軸風格：依日期分組 */
.sf-day{margin-bottom:28px}
.sf-day__h{font-size:16px;padding:8px 0;border-bottom:2px solid var(--sf-rule);margin-bottom:2px}
.sf-tlist{list-style:none;margin:0;padding:0}
.sf-tli{display:grid;grid-template-columns:3.4em minmax(0,1fr);gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--sf-line);align-items:start}
.sf-tli.has-img{grid-template-columns:3.4em minmax(0,1fr) 112px}
.sf-tli__time{font-weight:700;font-size:15px;line-height:1.5;color:var(--sf-ink);font-variant-numeric:tabular-nums}
.sf-tli__title{margin:0;font-family:var(--sf-head);font-size:16.5px;font-weight:var(--sf-hw);line-height:1.5}
.sf-tli__title a:hover{color:var(--sf-ink)}
.sf-tli__excerpt{margin:4px 0 0;font-size:14px;line-height:1.65;color:var(--sf-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:699px){.sf-tli__excerpt{display:none}}
@media (min-width:700px){.sf-tli.has-img{grid-template-columns:3.6em minmax(0,1fr) 160px}}

/* 卡片格、兩欄列表、堆疊列表 */
.sf-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}
.sf-grid3,.sf-grid4{display:grid;gap:28px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-list2{display:grid;grid-template-columns:minmax(0,1fr);gap:0 32px;border-top:1px solid var(--sf-line)}
.sf-list2>.sf-it{padding:12px 0;border-bottom:1px solid var(--sf-line)}
.sf-stack>.sf-it{padding-block:18px;border-bottom:1px solid var(--sf-line)}
.sf-stack>.sf-it:first-child{padding-top:0}
@media (min-width:800px){.sf-list2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.sf-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.sf-grid4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* 卡片格裡沒有圖的文章：淺底文字卡（標題＋摘要），不會像缺圖 */
@media (min-width:700px){.sf-grid3>.sf-it--card.no-img,.sf-grid4>.sf-it--card.no-img,.sf-list--grid>.sf-it--card.no-img{align-self:start;padding:16px 16px 14px;background:var(--sf-bg2);border-radius:var(--sf-img-radius)}}
/* 手機：卡片改成「小圖＋標題」一列一則（不用一直往下滑大圖）；看板、頻道風格保留兩欄卡片 */
@media (max-width:699px){
	.sf-grid3,.sf-grid4{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--sf-line)}
	.sf-grid3>.sf-it--card,.sf-grid4>.sf-it--card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--sf-line)}
	.sf-grid3>.sf-it--card.no-img,.sf-grid4>.sf-it--card.no-img{display:block}
	.sf-grid3>.sf-it--card .sf-it__title,.sf-grid4>.sf-it--card .sf-it__title{font-size:15.5px;margin-top:0}
	.sf-grid3>.sf-it--card .sf-it__excerpt,.sf-grid4>.sf-it--card .sf-it__excerpt{display:none}
	.sf-grid3>.sf-it--text,.sf-grid4>.sf-it--text{padding:14px 0;border-bottom:1px solid var(--sf-line)}
}

/* 首頁的主欄＋側欄（各風格可以改） */
.sf-front{display:grid;gap:28px;margin-bottom:var(--sf-sec-gap);min-width:0}
.sf-front>*{min-width:0}
.sf-front__side{display:grid;gap:24px;align-content:start}
@media (min-width:1000px){.sf-front{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:32px}}

/* 熱門排行、關於本站 */
.sf-popular{min-width:0;margin-bottom:var(--sf-sec-gap)}
.sf-front .sf-popular,.sf-single__aside .sf-popular,.sf-board .sf-popular{margin-bottom:0}
.sf-rank{list-style:none;margin:0;padding:0}
.sf-rank li{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--sf-line);font-size:15px;font-weight:600;line-height:1.55;break-inside:avoid}
.sf-rank li:first-child{border-top:0}
.sf-rank__n{flex:0 0 1.5em;font-size:19px;font-weight:800;line-height:1.2;color:var(--sf-ink);font-variant-numeric:tabular-nums}
.sf-rank__title{min-width:0}
.sf-popular--two .sf-rank{column-gap:40px}
.sf-popular--two .sf-rank li:first-child{border-top:0}
@media (min-width:800px){.sf-popular--two .sf-rank{columns:2}.sf-popular--two .sf-rank li:nth-child(6){border-top:0}}
.sf-popular--row .sf-rank{display:grid;gap:0 24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.sf-popular--row .sf-rank{grid-template-columns:repeat(5,minmax(0,1fr))}.sf-popular--row .sf-rank li{flex-direction:column;gap:6px;border-top:2px solid var(--sf-rule);padding-top:12px}}
.sf-popular--thumbs .sf-rank li{align-items:center}
.sf-rank__media{flex:0 0 96px}
.sf-popular--thumbs .sf-rank{display:grid;gap:0 32px}
@media (min-width:800px){.sf-popular--thumbs .sf-rank{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-popular--thumbs .sf-rank li:nth-child(2){border-top:0}}
.sf-popular--big .sf-rank__n{font-size:40px;line-height:1;flex-basis:1.25em;font-weight:800}
.sf-popular--big .sf-rank li{align-items:center;padding:12px 0}
.sf-aboutbox p{margin:0 0 8px;font-size:14.5px;line-height:1.75;color:var(--sf-muted)}
.sf-aboutbox__links{display:flex;flex-wrap:wrap;gap:4px 16px}
.sf-aboutbox__links a{color:var(--sf-ink);font-weight:600}
.sf-aboutbox__links a:hover{text-decoration:underline;text-underline-offset:3px}

/* ── 文章頁 ── */
.sf-single{display:grid;gap:32px;align-items:start}
.sf-article{min-width:0}
.sf-single--solo .sf-article{width:100%;max-width:760px;margin-inline:auto}
.sf-single__aside{min-width:0;display:grid;gap:24px}
@media (min-width:1000px){
	.sf-single--aside{grid-template-columns:minmax(0,760px) minmax(0,340px);justify-content:space-between}
	.sf-single__aside{position:sticky;top:72px}
}
.sf-article__head{margin-bottom:18px}
.sf-head--center .sf-article__head{text-align:center}
.sf-head--center .sf-article__meta,.sf-head--center .sf-fs{justify-content:center}
.sf-article__cat{display:inline-block;font-size:14px;font-weight:700;color:var(--sf-ink);margin-bottom:10px}
.sf-article__cat:hover{text-decoration:underline;text-underline-offset:3px}
.sf-article__title{font-family:var(--sf-head);font-size:var(--sf-title);font-weight:var(--sf-hw);line-height:1.42;margin:0 0 12px;text-wrap:balance;overflow-wrap:anywhere}
.sf-article__meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;line-height:1.6;color:var(--sf-muted);font-variant-numeric:tabular-nums}
.sf-article__by{color:var(--sf-text);font-weight:600}
.sf-article__cover{margin:0 0 24px}
.sf-fs{display:flex;align-items:center;gap:4px;margin-top:12px;font-size:13px;color:var(--sf-muted)}
.sf-fs__label{margin-right:4px}
.sf-fs button{min-width:36px;height:32px;padding:0 8px;border:1px solid var(--sf-line);background:var(--sf-bg);color:var(--sf-text);font:inherit;font-size:14px;cursor:pointer;border-radius:4px}
.sf-fs button[aria-pressed="true"]{border-color:var(--sf-ink);color:var(--sf-ink);font-weight:700}
.sf-fs button:active{background:var(--sf-bg2)}
.sf-prose{font-size:var(--sf-prose);line-height:var(--sf-prose-lh);overflow-wrap:anywhere}
[data-sf-fs="s"] .sf-prose{font-size:calc(var(--sf-prose) - 2px)}
[data-sf-fs="l"] .sf-prose{font-size:calc(var(--sf-prose) + 3px)}
.sf-prose>*:first-child{margin-top:0}
.sf-prose p{margin:0 0 1.15em}
.sf-prose h2{font-family:var(--sf-head);font-size:1.26em;line-height:1.45;margin:1.7em 0 .6em;font-weight:var(--sf-hw)}
.sf-prose h3{font-family:var(--sf-head);font-size:1.1em;line-height:1.5;margin:1.4em 0 .5em;font-weight:var(--sf-hw)}
.sf-prose ul,.sf-prose ol{margin:0 0 1.15em;padding-left:1.4em}
.sf-prose li{margin:.3em 0}
.sf-prose a{color:var(--sf-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.sf-prose blockquote{margin:1.2em 0;padding:.2em 0 .2em 1em;border-left:2px solid var(--sf-rule);color:var(--sf-text)}
.sf-prose img{border-radius:var(--sf-img-radius)}
.sf-prose figure{margin:1.4em 0}
.sf-prose figcaption{font-size:14px;color:var(--sf-muted);margin-top:6px}
.sf-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;font-size:16px}
.sf-prose th,.sf-prose td{border:1px solid var(--sf-line);padding:8px 10px;text-align:left}
.sf-prose .sf-references{font-size:15px;line-height:1.7;color:var(--sf-muted)}
.sf-prose .sf-ai-note{font-size:14px;line-height:1.7;color:var(--sf-muted);border-top:1px solid var(--sf-line);padding-top:12px;margin-top:20px}
.sf-dropcap>p:first-of-type::first-letter{float:left;font-family:var(--sf-serif);font-size:3.4em;line-height:.92;font-weight:700;margin:.08em .14em 0 0;color:var(--sf-text)}
.sf-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:28px 0 8px;padding-top:16px;border-top:1px solid var(--sf-line)}
.sf-share__label{font-size:14px;color:var(--sf-muted);margin-right:4px}
.sf-share__btn{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid var(--sf-line);border-radius:6px;background:var(--sf-bg);color:var(--sf-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.sf-share__btn:hover{border-color:var(--sf-ink);color:var(--sf-ink)}
.sf-share__btn:active{background:var(--sf-bg2)}
.sf-prevnext{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--sf-line)}
.sf-prevnext a{display:flex;flex-direction:column;gap:2px;min-width:0}
.sf-prevnext__next{grid-column:2;text-align:right}
.sf-prevnext__label{font-size:13px;color:var(--sf-muted)}
.sf-prevnext__title{font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sf-related{margin-top:24px}
.sf-related--solo>.sf-sec:has(.sf-stack),.sf-related--solo>.sf-popular{max-width:760px;margin-inline:auto}
.sf-side-list{display:grid}
.sf-side-list>.sf-it{padding:10px 0;border-bottom:1px solid var(--sf-line)}
.sf-side-list>.sf-it:first-child{padding-top:0}
.sf-side-list .sf-it--media{grid-template-columns:96px minmax(0,1fr)}
.sf-side-list .sf-it__title{font-size:15px}
.sf-article--page{margin:0 auto;max-width:760px}
@media (min-width:1000px){
	.sf-article__title{font-size:var(--sf-title-d)}
	.sf-prose{font-size:var(--sf-prose-d)}
	[data-sf-fs="s"] .sf-prose{font-size:calc(var(--sf-prose-d) - 2px)}
	[data-sf-fs="l"] .sf-prose{font-size:calc(var(--sf-prose-d) + 3px)}
}

/* ── 列表（最新、搜尋、熱門） ── */
.sf-page-head{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--sf-line)}
.sf-page-head__title{font-family:var(--sf-head);font-size:26px;font-weight:var(--sf-hw);margin:0;line-height:1.35}
.sf-page-head__desc{color:var(--sf-muted);font-size:15px;margin-top:6px}
.sf-page-head__desc p{margin:0}
.sf-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.sf-list--media>.sf-it,.sf-list--media-r>.sf-it{grid-template-columns:116px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--sf-line)}
.sf-list--media-r>.sf-it{grid-template-columns:minmax(0,1fr) 116px}
.sf-list--media-r .sf-it__media{order:2}
.sf-list--media .sf-it__title,.sf-list--media-r .sf-it__title{font-size:17px}
.sf-list--text>.sf-it{padding:18px 0;border-bottom:1px solid var(--sf-line)}
.sf-list--text .sf-it__title{font-size:20px}
.sf-list--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
.sf-list--grid .sf-it__title{font-size:17px}
@media (min-width:700px){
	.sf-list--media>.sf-it{grid-template-columns:260px minmax(0,1fr);gap:20px}
	.sf-list--media-r>.sf-it{grid-template-columns:minmax(0,1fr) 220px;gap:20px}
	.sf-list--media .sf-it__title,.sf-list--media-r .sf-it__title{font-size:20px}
	.sf-list--media .sf-it__excerpt,.sf-list--media-r .sf-it__excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
@media (min-width:1000px){.sf-list--grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:699px){.sf-list--grid{grid-template-columns:minmax(0,1fr)}.sf-list--grid .sf-it__excerpt{display:none}}
.sf-item{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--sf-line);align-items:start}
.sf-item__title{font-family:var(--sf-head);font-size:17px;font-weight:var(--sf-hw);line-height:1.5;margin:0 0 4px}
.sf-list--rank .sf-item{grid-template-columns:28px 116px minmax(0,1fr)}
.sf-list--rank .sf-item.no-img{grid-template-columns:28px minmax(0,1fr)}
.sf-item__rank{font-size:22px;font-weight:800;color:var(--sf-ink);font-variant-numeric:tabular-nums;line-height:1.2}
@media (min-width:700px){
	.sf-list--rank .sf-item{grid-template-columns:40px 220px minmax(0,1fr);gap:20px}
	.sf-list--rank .sf-item.no-img{grid-template-columns:40px minmax(0,1fr)}
	.sf-item__title{font-size:20px}
}
.navigation.pagination{margin-top:28px}
.nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.nav-links a,.nav-links span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--sf-line);border-radius:var(--sf-box-radius);font-weight:600;font-variant-numeric:tabular-nums}
.nav-links .current{background:var(--sf-ink);border-color:var(--sf-ink);color:var(--sf-on-ink)}

/* ── 頁尾 ── */
.sf-footer{background:var(--sf-bg2);border-top:1px solid var(--sf-line);padding-block:32px calc(24px + env(safe-area-inset-bottom,0px));font-size:14px}
.sf-footer__in{display:grid;gap:18px}
.sf-footer__brand{display:flex;flex-direction:column;gap:2px;min-width:0}
.sf-footer .sf-brand__name{font-size:20px}
.sf-footer__pitch{margin:6px 0 0;color:var(--sf-muted);line-height:1.7;max-width:36em}
.sf-footer .sf-trust-links{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px 18px;margin:0;font-size:14px}
.sf-footer .sf-trust-links a:hover,.sf-footer .sf-trust-links a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.sf-footer__base{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding-top:14px;border-top:1px solid var(--sf-line);font-size:13px;color:var(--sf-muted)}
.sf-footer__copy{margin:0 auto 0 0}
.sf-footer__base a:hover{color:var(--sf-ink);text-decoration:underline;text-underline-offset:3px}
.sf-f-center .sf-footer__in{justify-items:center;text-align:center}
.sf-f-center .sf-footer__brand{align-items:center}
.sf-f-center .sf-footer .sf-trust-links,.sf-f-center .sf-footer__base{justify-content:center}
.sf-f-center .sf-footer__base{width:100%}
.sf-f-center .sf-footer__copy{margin:0}
@media (min-width:800px){
	.sf-f-split .sf-footer__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px}
	.sf-f-split .sf-footer .sf-trust-links{display:grid;grid-template-columns:repeat(3,max-content);gap:8px 32px;justify-content:end;align-content:start}
	.sf-f-split .sf-footer__base{grid-column:1/-1}
}
.sf-f-rule .sf-footer{background:var(--sf-bg);border-top:4px double var(--sf-rule)}
.sf-f-tint .sf-footer{background:var(--sf-band);border-top:0;color:var(--sf-text)}
.sf-f-tint .sf-footer .sf-brand__name{color:var(--sf-band-ink)}
.sf-f-tint .sf-footer .sf-brand__tag,.sf-f-tint .sf-footer__pitch,.sf-f-tint .sf-footer__base{color:var(--sf-band-muted)}
.sf-f-tint .sf-footer__base{border-top-color:var(--sf-rule)}
.sf-f-tint .sf-footer__base a:hover,.sf-f-tint .sf-footer .sf-trust-links a:hover{color:var(--sf-band-ink)}
@media (min-width:800px){
	.sf-f-tint .sf-footer__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px}
	.sf-f-tint .sf-footer .sf-trust-links{display:grid;grid-template-columns:repeat(3,max-content);gap:8px 32px;justify-content:end;align-content:start}
	.sf-f-tint .sf-footer__base{grid-column:1/-1}
}
.sf-totop-float{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--sf-bg);color:var(--sf-text);border:1px solid var(--sf-line);box-shadow:0 1px 2px var(--sf-shade)}
.sf-totop-float:hover{color:var(--sf-ink);border-color:var(--sf-ink)}
.sf-totop-float[hidden]{display:none}
@media print{.sf-nav,.sf-search,.sf-share,.sf-single__aside,.sf-related,.sf-footer,.sf-ticker,.sf-totop-float,.sf-fs{display:none}}
