/* ==========================================================================
   PinNews 品傳媒佈景主題 — 主要樣式
   結構：1 設計變數 → 2 基礎 → 3 版面 → 4 頁首 → 5 卡片 → 6 首頁
        → 7 文章頁 → 8 列表頁 → 9 側欄 → 10 頁面／404 → 11 頁尾 → 12 浮動元件 → 13 列印
   斷點：768px（手機／桌機）、1024px（側欄出現）
   ========================================================================== */

/* ---------- 1. 設計變數（淺色） ---------- */
:root {
	--pin-brand: #f8b62b;          /* 品牌橘 */
	--pin-brand-strong: #e09c0b;   /* 品牌橘 hover */
	--pin-on-brand: #1a1a1a;       /* 橘底上的文字 */
	--pin-bg: #ffffff;
	--pin-surface: #f6f6f3;
	--pin-elev: #ffffff;
	--pin-text: #242424;
	--pin-text-2: #4a4a4a;
	--pin-muted: #6b6b6b;
	--pin-border: #e7e7e3;
	--pin-rule: #242424;           /* 區塊標題上方粗線 */
	--pin-chip-bg: #fdf0d3;
	--pin-chip-text: #7a5200;
	--pin-link-line: rgba(248, 182, 43, .9);
	--pin-topbar-bg: #141414;
	--pin-topbar-text: #e6e6e6;
	--pin-topbar-muted: #a3a3a3;
	--pin-up: #d6312b;             /* 台股慣例：紅漲 */
	--pin-down: #11894a;           /* 綠跌 */
	--pin-live: #e0262b;
	--pin-shadow: 0 10px 30px rgba(0, 0, 0, .08);
	--pin-radius: 6px;
	--pin-font: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "PingFang TC", "Microsoft JhengHei", sans-serif;
	--pin-container: 1200px;
	--pin-gutter: 24px;
	--pin-fs-base: 19px;           /* 文章內文基準字級（參考 Medium） */
	--pin-fs-delta: 0px;           /* 讀者字級調整 */
	--pin-sticky-top: var(--wp-admin--admin-bar--height, 0px);
	color-scheme: light;
}

/* 深色模式：讀者手動選擇 */
:root[data-theme="dark"] {
	--pin-bg: #121212;
	--pin-surface: #1b1b1b;
	--pin-elev: #1e1e1e;
	--pin-text: #e8e8e6;
	--pin-text-2: #c9c9c6;
	--pin-muted: #a0a09c;
	--pin-border: #2d2d2b;
	--pin-rule: #e8e8e6;
	--pin-chip-bg: rgba(248, 182, 43, .16);
	--pin-chip-text: #f8c55a;
	--pin-topbar-bg: #0a0a0a;
	--pin-up: #ff5c55;
	--pin-down: #3ccf7f;
	--pin-shadow: 0 10px 30px rgba(0, 0, 0, .4);
	color-scheme: dark;
}

/* 深色模式：跟隨系統（讀者沒手動選擇時） */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--pin-bg: #121212;
		--pin-surface: #1b1b1b;
		--pin-elev: #1e1e1e;
		--pin-text: #e8e8e6;
		--pin-text-2: #c9c9c6;
		--pin-muted: #a0a09c;
		--pin-border: #2d2d2b;
		--pin-rule: #e8e8e6;
		--pin-chip-bg: rgba(248, 182, 43, .16);
		--pin-chip-text: #f8c55a;
		--pin-topbar-bg: #0a0a0a;
		--pin-up: #ff5c55;
		--pin-down: #3ccf7f;
		--pin-shadow: 0 10px 30px rgba(0, 0, 0, .4);
		color-scheme: dark;
	}
}

/* 讀者字級：1 小 / 2 標準 / 3 大 / 4 特大 */
/* 實際由 JS 寫入 html 的 style（立即生效）；這裡是備援 */
:root[data-fs="1"] { --pin-fs-delta: -3px; }
:root[data-fs="3"] { --pin-fs-delta: 3px; }
:root[data-fs="4"] { --pin-fs-delta: 6px; }

@media (max-width: 768px) {
	:root { --pin-fs-base: 17px; --pin-gutter: 16px; }
}

/* ---------- 2. 基礎 ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--pin-sticky-top) + 64px); }

body {
	margin: 0;
	background: var(--pin-bg);
	color: var(--pin-text);
	font-family: var(--pin-font);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	transition: background-color .2s ease, color .2s ease;
}

img, svg, video, iframe { max-width: 100%; }
img { height: auto; }

a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }

h1, h2, h3, h4, h5, h6 { margin: 0; line-height: 1.4; font-weight: 700; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }

button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }

:focus-visible { outline: 2px solid var(--pin-brand); outline-offset: 2px; border-radius: 2px; }

[hidden] { display: none !important; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.pin-skip {
	position: absolute; left: 16px; top: -60px; z-index: 1000;
	background: var(--pin-brand); color: var(--pin-on-brand); padding: 10px 16px; border-radius: var(--pin-radius); font-weight: 700;
}
.pin-skip:focus { top: 16px; }

.pin-icon { display: block; flex-shrink: 0; }

.pin-icon-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%; color: var(--pin-text);
	transition: background-color .15s ease;
}
.pin-icon-btn:hover { background: var(--pin-surface); }

/* ---------- 3. 版面 ---------- */
.pin-container { width: 100%; max-width: var(--pin-container); margin: 0 auto; padding: 0 var(--pin-gutter); }

.pin-main { display: block; min-height: 60vh; outline: none; }

.pin-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; padding-bottom: 56px; }

@media (min-width: 1024px) {
	.pin-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; }
	.pin-layout--article { grid-template-columns: minmax(0, 680px) 300px; justify-content: center; gap: 72px; }
}

.pin-grid { display: grid; gap: 28px; }
.pin-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pin-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .pin-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px) {
	.pin-grid--3 { grid-template-columns: minmax(0, 1fr); }
	.pin-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
}

/* 區塊標題：上方粗線＋標題＋更多 */
.pin-section-head {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	border-top: 3px solid var(--pin-rule); padding-top: 12px; margin-bottom: 20px;
}
.pin-section-head__title { font-size: 22px; font-weight: 900; letter-spacing: .04em; }
.pin-section-head__more {
	display: inline-flex; align-items: center; gap: 2px; font-size: 14px; color: var(--pin-muted); font-weight: 500;
}
.pin-section-head__more:hover { color: var(--pin-text); }

/* 分類小標籤 */
.pin-chip {
	display: inline-block; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: .06em;
	padding: 5px 8px; border-radius: 3px; background: var(--pin-chip-bg); color: var(--pin-chip-text);
}
.pin-chip:hover { background: var(--pin-brand); color: var(--pin-on-brand); }

.pin-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 13px; color: var(--pin-muted); }
.pin-meta .pin-author { color: var(--pin-text-2); font-weight: 500; }
.pin-meta .pin-author:hover { color: var(--pin-text); text-decoration: underline; }

/* ---------- 4. 頁首 ---------- */

/* 4-1 頂部工具列 */
.pin-topbar { background: var(--pin-topbar-bg); color: var(--pin-topbar-text); font-size: 13px; }
.pin-topbar__inner { display: flex; align-items: center; gap: 20px; min-height: 38px; }
.pin-topbar__date { white-space: nowrap; color: var(--pin-topbar-muted); }
.pin-topbar__tools { margin-left: auto; }
.pin-topbar .pin-tools__btn { color: var(--pin-topbar-text); }
.pin-topbar .pin-tools__btn:hover { background: rgba(255, 255, 255, .1); }

/* 天氣與行情 */
.pin-ticker {
	display: flex; align-items: center; gap: 20px; min-height: 38px; min-width: 0; flex: 1 1 auto;
	overflow-x: auto; scrollbar-width: none; white-space: nowrap;
}
.pin-ticker::-webkit-scrollbar { display: none; }
.pin-tick { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; }
/* 行情跑馬燈：天氣固定左側，行情在右側循環移動，滑鼠移入暫停 */
.pin-ticker { overflow: hidden; }
.pin-ticker__marquee {
	flex: 1 1 auto; min-width: 0; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 24px), transparent);
	mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 24px), transparent);
}
.pin-ticker__track { display: flex; width: max-content; animation: pin-marquee var(--pin-ticker-duration, 30s) linear infinite; }
.pin-ticker__marquee:hover .pin-ticker__track { animation-play-state: paused; }
.pin-ticker__group { display: flex; align-items: center; gap: 20px; padding-right: 20px; }
.pin-tick__label { color: var(--pin-topbar-muted); }
.pin-tick__value { font-weight: 700; font-variant-numeric: tabular-nums; }
.pin-tick__pct { font-variant-numeric: tabular-nums; font-size: 12px; }
.pin-tick__pct.is-up { color: #ff6b63; }
.pin-tick__pct.is-down { color: #4fd68c; }
.pin-tick--weather svg { width: 18px; height: 18px; }
.pin-tick__city {
	appearance: none; background: transparent; border: 0; color: var(--pin-topbar-text);
	font: inherit; font-weight: 500; padding: 0 14px 0 0; cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: right 5px center, right 1px center; background-size: 4px 4px; background-repeat: no-repeat;
}
.pin-tick__city option { color: #111; }
.pin-tick__sep { width: 1px; height: 14px; background: rgba(255, 255, 255, .18); }

/* 讀者工具：字級、深色模式 */
.pin-tools { display: flex; align-items: center; gap: 4px; }
.pin-fontsize { display: flex; align-items: center; }
.pin-tools__btn {
	display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 6px;
	border-radius: 4px; font-weight: 700; font-size: 14px; line-height: 1;
}
.pin-tools__btn small { font-size: 11px; margin-left: 1px; }
.pin-tools__btn:hover { background: var(--pin-surface); }
.pin-tools__btn:disabled { opacity: .35; cursor: default; background: none; }
.pin-theme-toggle__sun { display: none; }
:root[data-theme="dark"] .pin-theme-toggle__sun { display: block; }
:root[data-theme="dark"] .pin-theme-toggle__moon { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .pin-theme-toggle__sun { display: block; }
	:root:not([data-theme="light"]) .pin-theme-toggle__moon { display: none; }
}

/* 4-2 Logo 列 */
.pin-masthead { background: var(--pin-bg); }
.pin-masthead__inner { display: flex; align-items: center; gap: 24px; min-height: 96px; }
.pin-masthead__brand { margin: 0; font-size: inherit; line-height: 1; }
.pin-masthead__ad { margin-left: auto; max-width: 728px; }
.pin-masthead__menu, .pin-masthead__search { display: none; }

.pin-logo { display: inline-flex; align-items: center; }
.pin-logo__img { display: block; max-height: 72px; width: auto; }
.pin-logo__img--dark { display: none; }
.pin-logo__text { font-size: 32px; font-weight: 900; letter-spacing: .08em; }
:root[data-theme="dark"] .pin-logo__img--dark { display: block; }
:root[data-theme="dark"] .pin-logo__img--dark ~ .pin-logo__img--light,
:root[data-theme="dark"] .pin-logo__img--light:has(+ .pin-logo__img--dark) { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .pin-logo__img--dark { display: block; }
	:root:not([data-theme="light"]) .pin-logo__img--light:has(+ .pin-logo__img--dark) { display: none; }
}
/* 沒有上傳深色版 Logo 時：深色模式把原 Logo（深紅字）轉為白色單色，確保看得清楚 */
:root[data-theme="dark"] .pin-logo__img--light:only-child { filter: brightness(0) invert(1); }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .pin-logo__img--light:only-child { filter: brightness(0) invert(1); }
}

/* 4-3 主選單（捲動時固定） */
.pin-nav {
	position: sticky; top: var(--pin-sticky-top); z-index: 50;
	background: var(--pin-bg); border-top: 1px solid var(--pin-border); border-bottom: 1px solid var(--pin-border);
	transition: box-shadow .2s ease;
}
.pin-nav.is-stuck { box-shadow: 0 4px 16px rgba(0, 0, 0, .06); }
.pin-nav__inner { display: flex; align-items: center; gap: 8px; min-height: 52px; }
.pin-nav__mini-logo {
	font-weight: 900; font-size: 18px; letter-spacing: .08em; white-space: nowrap;
	max-width: 0; overflow: hidden; opacity: 0; transition: max-width .25s ease, opacity .25s ease, margin .25s ease;
}
.pin-nav.is-stuck .pin-nav__mini-logo { max-width: 120px; opacity: 1; margin-right: 12px; }
.pin-nav__search { margin-left: auto; }

.pin-menu { display: flex; align-items: center; list-style: none; gap: 2px; flex-wrap: nowrap; }
.pin-menu > li { position: relative; }
.pin-menu > li > a {
	display: block; padding: 14px 12px; font-size: 16px; font-weight: 500; white-space: nowrap; position: relative;
}
.pin-menu > li > a::after {
	content: ""; position: absolute; left: 12px; right: 12px; bottom: 8px; height: 3px; background: var(--pin-brand);
	transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.pin-menu > li:hover > a::after,
.pin-menu > li.current-menu-item > a::after,
.pin-menu > li.current-menu-ancestor > a::after,
.pin-menu > li.current-category-ancestor > a::after { transform: scaleX(1); }
.pin-menu .sub-menu {
	position: absolute; left: 0; top: 100%; min-width: 180px; list-style: none; padding: 8px 0;
	background: var(--pin-elev); border: 1px solid var(--pin-border); border-radius: var(--pin-radius); box-shadow: var(--pin-shadow);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .15s ease; z-index: 10;
}
.pin-menu li:hover > .sub-menu, .pin-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.pin-menu .sub-menu a { display: block; padding: 8px 18px; font-size: 15px; white-space: nowrap; }
.pin-menu .sub-menu a:hover { background: var(--pin-surface); }

/* 4-4 即時新聞跑馬燈 */
.pin-breaking { border-bottom: 1px solid var(--pin-border); background: var(--pin-bg); font-size: 14px; }
.pin-breaking__inner { display: flex; align-items: center; gap: 16px; min-height: 42px; }
.pin-breaking__label {
	display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0;
	font-weight: 900; color: var(--pin-live); letter-spacing: .1em;
}
.pin-live-dot {
	width: 8px; height: 8px; border-radius: 50%; background: var(--pin-live);
	animation: pin-pulse 1.6s ease-in-out infinite;
}
@keyframes pin-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
.pin-breaking__track {
	flex: 1; overflow: hidden; min-width: 0;
	mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}
.pin-breaking__list { display: flex; gap: 48px; list-style: none; width: max-content; }
.pin-breaking__list.is-animated { animation: pin-marquee var(--pin-marquee-duration, 60s) linear infinite; }
.pin-breaking__track:hover .pin-breaking__list,
.pin-breaking__track:focus-within .pin-breaking__list { animation-play-state: paused; }
.pin-breaking__list li { white-space: nowrap; }
.pin-breaking__list a:hover { text-decoration: underline; text-decoration-color: var(--pin-brand); text-underline-offset: 4px; }
@keyframes pin-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.pin-breaking__list.is-paused { animation-play-state: paused !important; }
/* 暫停／播放鈕（CSS 畫圖示：暫停＝兩直槓，播放＝三角形） */
.pin-breaking__toggle {
	flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--pin-border);
	display: inline-flex; align-items: center; justify-content: center; color: var(--pin-text-2);
}
.pin-breaking__toggle:hover { border-color: var(--pin-text); color: var(--pin-text); }
.pin-breaking__pause { width: 8px; height: 10px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.pin-breaking__toggle[aria-pressed="true"] .pin-breaking__pause {
	width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 9px;
	border-color: transparent transparent transparent currentColor; margin-left: 2px;
}

/* 4-5 搜尋層 */
.pin-search {
	position: fixed; inset: var(--pin-sticky-top) 0 auto 0; z-index: 120;
	background: var(--pin-bg); border-bottom: 1px solid var(--pin-border); box-shadow: var(--pin-shadow); padding: 20px 0;
}
.pin-search__inner { display: flex; align-items: center; gap: 12px; }
.pin-search .pin-searchform { flex: 1; }

.pin-searchform { display: flex; align-items: center; border: 1px solid var(--pin-border); border-radius: 999px; background: var(--pin-surface); overflow: hidden; }
.pin-searchform__input {
	flex: 1; min-width: 0; border: 0; background: transparent; color: var(--pin-text);
	font: inherit; font-size: 16px; padding: 12px 20px; outline: none;
}
.pin-searchform__btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 46px; color: var(--pin-text-2); }
.pin-searchform:focus-within { border-color: var(--pin-brand); box-shadow: 0 0 0 3px rgba(248, 182, 43, .25); }

/* 4-6 手機抽屜選單 */
.pin-drawer { position: fixed; inset: 0; z-index: 200; }
.pin-drawer__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.pin-drawer__panel {
	position: absolute; top: 0; bottom: 0; left: 0; width: min(340px, 86vw); overflow-y: auto;
	background: var(--pin-bg); padding: 16px 20px 32px; display: flex; flex-direction: column; gap: 20px;
	animation: pin-slide-in .22s ease;
}
@keyframes pin-slide-in { from { transform: translateX(-100%); } to { transform: none; } }
.pin-drawer__head { display: flex; align-items: center; justify-content: space-between; }
.pin-drawer__head .pin-logo__img { max-height: 40px; }
.pin-drawer__menu { list-style: none; }
.pin-drawer__menu a { display: block; padding: 12px 0; font-size: 17px; font-weight: 500; border-bottom: 1px solid var(--pin-border); }
.pin-drawer__menu .sub-menu { list-style: none; padding-left: 16px; }
.pin-drawer__menu .sub-menu a { font-size: 15px; font-weight: 400; color: var(--pin-text-2); }
.pin-drawer__tools .pin-tools__btn { border: 1px solid var(--pin-border); min-width: 44px; height: 40px; }

/* 4-7 頁首 RWD */
@media (max-width: 1023px) {
	.pin-topbar__date { display: none; }
	.pin-masthead__inner { min-height: 64px; gap: 8px; }
	.pin-masthead__menu, .pin-masthead__search { display: inline-flex; }
	.pin-masthead__brand { flex: 1; display: flex; justify-content: center; }
	.pin-logo__img { max-height: 40px; }
	.pin-logo__text { font-size: 24px; }
	.pin-masthead__ad { display: none; }
	/* 手機版主選單：橫向捲動的分類列 */
	.pin-nav__inner { min-height: 44px; overflow-x: auto; scrollbar-width: none; }
	.pin-nav__inner::-webkit-scrollbar { display: none; }
	.pin-nav__mini-logo, .pin-nav__search { display: none; }
	.pin-menu > li > a { padding: 11px 10px; font-size: 15px; }
	.pin-menu > li > a::after { bottom: 4px; left: 10px; right: 10px; }
	.pin-menu .sub-menu { display: none; }
}
@media (max-width: 768px) {
	.pin-topbar__tools { display: none; }
	.pin-ticker { gap: 16px; }
	.pin-breaking__inner { min-height: 38px; }
}

/* ---------- 5. 文章卡片 ---------- */
.pin-card { position: relative; }
.pin-card__media { display: block; }
.pin-card__title a {
	text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: 4px;
	transition: text-decoration-color .15s ease;
}
.pin-card__title a:hover { text-decoration-color: var(--pin-brand); }
.pin-card__excerpt { color: var(--pin-text-2); font-size: 15px; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 圖片框：固定 16:9，避免版面跳動 */
.pin-thumb { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 4px; background: var(--pin-surface); }
.pin-thumb__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.pin-card:hover .pin-thumb__img { transform: scale(1.03); }
.pin-thumb--empty { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--pin-surface), var(--pin-chip-bg)); }
.pin-thumb--empty span { font-weight: 900; letter-spacing: .2em; color: var(--pin-chip-text); opacity: .6; }

/* 大頭條 */
.pin-card--lead .pin-card__body { padding-top: 18px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pin-card--lead .pin-card__title { font-size: 30px; line-height: 1.4; font-weight: 900; }
.pin-card--lead .pin-card__excerpt { font-size: 16px; }

/* 直式卡片 */
.pin-card--card .pin-card__body { padding-top: 12px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.pin-card--card .pin-card__title { font-size: 17px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* 列表橫式 */
.pin-card--row { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--pin-border); }
.pin-card--row:first-child { padding-top: 0; }
.pin-card--row .pin-card__body { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.pin-card--row .pin-card__title { font-size: 20px; line-height: 1.5; }
@media (max-width: 768px) {
	.pin-card--row { grid-template-columns: minmax(0, 1fr) 112px; gap: 14px; padding: 18px 0; }
	.pin-card--row .pin-card__media { order: 2; }
	.pin-card--row .pin-card__title { font-size: 17px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.pin-card--row .pin-card__excerpt, .pin-card--row .pin-chip { display: none; }
}

/* 小圖 */
.pin-card--mini { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--pin-border); }
.pin-card--mini:last-child { border-bottom: 0; }
.pin-card--mini .pin-card__body { display: flex; flex-direction: column; justify-content: space-between; gap: 6px; }
.pin-card--mini .pin-card__title { font-size: 15px; font-weight: 500; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* 即時新聞時間軸 */
.pin-live-list { position: relative; }
.pin-live-list::before { content: ""; position: absolute; left: 61px; top: 8px; bottom: 8px; width: 1px; background: var(--pin-border); }
.pin-card--live { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 20px; padding: 14px 0; }
.pin-card__clock { font-size: 14px; font-weight: 700; color: var(--pin-muted); font-variant-numeric: tabular-nums; padding-top: 2px; text-align: right; position: relative; }
.pin-card__clock::after {
	content: ""; position: absolute; right: -13px; top: 9px; width: 7px; height: 7px; border-radius: 50%;
	background: var(--pin-bg); border: 2px solid var(--pin-brand);
}
.pin-card--live .pin-card__body { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
.pin-card--live .pin-card__title { font-size: 17px; font-weight: 500; line-height: 1.6; flex: 1 1 100%; }
.pin-card--live:first-child .pin-card__clock { color: var(--pin-live); }

/* 排行 */
.pin-card--rank { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--pin-border); }
.pin-card--rank:last-child { border-bottom: 0; }
.pin-card__rank { font-size: 26px; font-weight: 900; line-height: 1.1; color: var(--pin-brand); font-variant-numeric: tabular-nums; }
.pin-card--rank .pin-card__title { font-size: 15px; font-weight: 500; line-height: 1.55; }

/* ---------- 6. 首頁 ---------- */
.pin-home { padding-top: 28px; }

/* 6-1 頭條分頁 */
.pin-hero { margin-bottom: 48px; }
.pin-tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--pin-border); margin-bottom: 24px; overflow-x: auto; scrollbar-width: none; }
.pin-tabs__tab {
	position: relative; padding: 4px 0 12px; font-size: 20px; font-weight: 900; color: var(--pin-muted); white-space: nowrap; letter-spacing: .04em;
}
.pin-tabs__tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--pin-brand); transform: scaleX(0); transition: transform .2s ease; }
.pin-tabs__tab[aria-selected="true"] { color: var(--pin-text); }
.pin-tabs__tab[aria-selected="true"]::after { transform: scaleX(1); }
.pin-hero__panel { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 40px; }
.pin-hero__side { display: flex; flex-direction: column; }
.pin-hero__side .pin-card--mini:first-child { padding-top: 0; }
.pin-hero__more { display: inline-flex; align-items: center; gap: 2px; margin-top: auto; padding-top: 14px; font-size: 14px; font-weight: 700; color: var(--pin-chip-text); }
/* 平板維持左右兩欄（右欄較窄），手機才改單欄 */
@media (max-width: 1023px) { .pin-hero__panel { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; } .pin-card--lead .pin-card__title { font-size: 24px; } .pin-hero__side .pin-card--mini { grid-template-columns: minmax(0, 1fr) 88px; } }
@media (max-width: 768px) { .pin-hero__panel { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
@media (max-width: 768px) {
	.pin-home { padding-top: 16px; }
	.pin-card--lead .pin-card__title { font-size: 23px; }
	.pin-tabs__tab { font-size: 18px; }
}

/* 6-2 即時＋熱門 */
.pin-home__live { padding-bottom: 48px; }

/* 6-3 財經｜娛樂 */
.pin-home__duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; margin-bottom: 56px; }
.pin-block .pin-card--card .pin-card__title { font-size: 20px; }
.pin-block__list { margin-top: 8px; }
@media (max-width: 768px) { .pin-home__duo { grid-template-columns: minmax(0, 1fr); gap: 40px; } }

.pin-block--crypto { margin-bottom: 64px; }

/* ---------- 7. 文章頁 ---------- */
.pin-layout--article { padding-top: 24px; }

.pin-breadcrumbs { font-size: 13px; color: var(--pin-muted); margin-bottom: 18px; }
.pin-breadcrumbs a:hover { color: var(--pin-text); text-decoration: underline; }
.pin-breadcrumbs .separator { margin: 0 4px; }

.pin-article__header .pin-chip { margin-bottom: 14px; }
.pin-article__title { font-size: 38px; line-height: 1.4; font-weight: 700; letter-spacing: .01em; }
.pin-article__dek { margin-top: 14px; font-size: calc(20px + var(--pin-fs-delta)); line-height: 1.7; color: var(--pin-muted); }
.pin-article__byline {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
	margin-top: 24px; padding: 16px 0; border-top: 1px solid var(--pin-border); border-bottom: 1px solid var(--pin-border);
}
.pin-article__author { display: flex; align-items: center; gap: 12px; }
.pin-article__author .pin-author { font-weight: 700; font-size: 15px; }
.pin-article__author .pin-author:hover { text-decoration: underline; }
.pin-article__author .pin-meta { margin-top: 2px; }
.pin-meta__updated { color: var(--pin-chip-text); }
.pin-avatar { border-radius: 50%; display: block; object-fit: cover; }
.pin-article__actions { display: flex; align-items: center; gap: 8px; }
.pin-article__actions .pin-tools { border-right: 1px solid var(--pin-border); padding-right: 8px; }

.pin-article__figure { margin: 28px 0 0; }
.pin-article__image { width: 100%; border-radius: 4px; display: block; }
.pin-article__figure figcaption { margin-top: 10px; font-size: 14px; color: var(--pin-muted); text-align: center; line-height: 1.6; }

@media (max-width: 1023px) {
	.pin-article__title { font-size: 32px; }
	/* 平板：側欄移到下方時，文章仍維持 680px 閱讀寬度並置中 */
	.pin-layout--article > .pin-article, .pin-layout--article > .pin-sidebar { width: 100%; max-width: 680px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 768px) {
	.pin-layout--article { padding-top: 16px; }
	.pin-article__title { font-size: 26px; }
	.pin-article__dek { font-size: 17px; }
	.pin-article__byline { flex-direction: column; align-items: flex-start; gap: 12px; }
	.pin-article__actions { width: 100%; justify-content: space-between; }
	.pin-article__figure { margin: 20px calc(var(--pin-gutter) * -1) 0; }
	.pin-article__image { border-radius: 0; }
	.pin-article__figure figcaption { padding: 0 var(--pin-gutter); }
}

/* 7-1 內文排版（Medium 節奏換算中文） */
.pin-prose {
	font-size: calc(var(--pin-fs-base) + var(--pin-fs-delta));
	line-height: 1.85;
	letter-spacing: .02em;
	color: var(--pin-text);
	word-break: break-word;
	overflow-wrap: anywhere;
}
.pin-article__content { margin-top: 32px; }
.pin-prose > * + * { margin-top: 1.6em; }
.pin-prose p { margin: 0; }
.pin-prose p + p { margin-top: 1.6em; }
.pin-prose h2 { font-size: 1.37em; line-height: 1.5; margin: 2.2em 0 .8em; font-weight: 700; }
.pin-prose h3 { font-size: 1.1em; line-height: 1.55; margin: 2em 0 .6em; font-weight: 700; }
.pin-prose h4 { font-size: 1em; margin: 1.8em 0 .5em; font-weight: 700; }
.pin-prose h2 + *, .pin-prose h3 + *, .pin-prose h4 + * { margin-top: 0; }
.pin-prose a { text-decoration: underline; text-decoration-color: var(--pin-link-line); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.pin-prose a:hover { background: var(--pin-chip-bg); }
.pin-prose strong, .pin-prose b { font-weight: 700; }
.pin-prose blockquote {
	margin: 2em 0; padding: .2em 0 .2em 1.2em; border-left: 3px solid var(--pin-brand); color: var(--pin-text-2);
	font-style: normal;
}
.pin-prose blockquote p + p { margin-top: 1em; }
.pin-prose ul, .pin-prose ol { padding-left: 1.4em; }
.pin-prose li + li { margin-top: .5em; }
.pin-prose img { display: block; max-width: 100% !important; height: auto !important; margin-left: auto; margin-right: auto; border-radius: 4px; }
.pin-prose figure, .pin-prose .wp-caption { max-width: 100% !important; width: auto !important; margin: 2em 0; }
.pin-prose figcaption, .pin-prose .wp-caption-text { margin-top: 10px; font-size: 14px; line-height: 1.6; color: var(--pin-muted); text-align: center; letter-spacing: 0; }
.pin-prose iframe, .pin-prose video, .pin-prose embed { display: block; max-width: 100%; margin: 2em auto; }
.pin-prose iframe[src*="youtube"], .pin-prose iframe[src*="youtu.be"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.pin-prose table { width: 100%; border-collapse: collapse; font-size: .85em; display: block; overflow-x: auto; }
.pin-prose th, .pin-prose td { border: 1px solid var(--pin-border); padding: 8px 12px; text-align: left; }
.pin-prose th { background: var(--pin-surface); }
.pin-prose hr { border: 0; text-align: center; margin: 2.4em 0; }
.pin-prose hr::before { content: "• • •"; letter-spacing: 1em; color: var(--pin-muted); }
/* 匯入稿件常帶有內嵌字型／字級，統一回主題排版 */
.pin-prose [style*="font-family"] { font-family: inherit !important; }
.pin-prose [style*="font-size"] { font-size: inherit !important; }
.pin-prose [style*="line-height"] { line-height: inherit !important; }
.pin-prose [style*="color"] { color: inherit !important; }
.pin-prose [style*="background"] { background: transparent !important; }
.pin-page-links { margin-top: 2em; font-size: 15px; }

/* 7-2 文章底部 */
.pin-article__footer { margin-top: 48px; display: flex; flex-direction: column; gap: 28px; }

.pin-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pin-tags__label { font-size: 14px; font-weight: 700; margin-right: 4px; }
.pin-tags a { font-size: 14px; padding: 6px 12px; border-radius: 999px; background: var(--pin-surface); color: var(--pin-text-2); }
.pin-tags a:hover { background: var(--pin-chip-bg); color: var(--pin-chip-text); }

.pin-share { display: flex; align-items: center; gap: 6px; }
.pin-share__label { font-size: 14px; font-weight: 700; margin-right: 6px; }
.pin-share__btn {
	display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%;
	border: 1px solid var(--pin-border); color: var(--pin-text-2); transition: all .15s ease;
}
.pin-share__btn:hover { background: var(--pin-brand); border-color: var(--pin-brand); color: var(--pin-on-brand); }
.pin-share__btn--line:hover { background: #06c755; border-color: #06c755; color: #fff; }
.pin-share__btn--facebook:hover { background: #1877f2; border-color: #1877f2; color: #fff; }
.pin-share__btn--x:hover { background: #111; border-color: #111; color: #fff; }
.pin-share--bottom { padding: 16px 0; border-top: 1px solid var(--pin-border); border-bottom: 1px solid var(--pin-border); }

.pin-author-box { display: flex; gap: 20px; padding: 24px; background: var(--pin-surface); border-radius: var(--pin-radius); }
.pin-author-box__avatar { flex-shrink: 0; }
.pin-author-box__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--pin-muted); }
.pin-author-box__name { font-size: 20px; font-weight: 900; margin: 2px 0 8px; }
.pin-author-box__bio { font-size: 15px; line-height: 1.75; color: var(--pin-text-2); }
.pin-author-box__more { display: inline-flex; align-items: center; gap: 2px; margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--pin-chip-text); }
@media (max-width: 768px) { .pin-author-box { flex-direction: column; gap: 12px; padding: 20px; } }

.pin-adjacent { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pin-adjacent__item { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border: 1px solid var(--pin-border); border-radius: var(--pin-radius); transition: border-color .15s ease; }
.pin-adjacent__item:hover { border-color: var(--pin-brand); }
.pin-adjacent__item--next { text-align: right; grid-column: 2; }
.pin-adjacent__label { font-size: 12px; font-weight: 700; color: var(--pin-muted); letter-spacing: .1em; }
.pin-adjacent__title { font-size: 15px; font-weight: 500; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 768px) {
	.pin-adjacent { grid-template-columns: minmax(0, 1fr); }
	.pin-adjacent__item--next { grid-column: auto; text-align: left; }
}

.pin-related { padding: 8px 0 64px; }

/* 留言 */
.comments-area { margin-top: 48px; }

/* ---------- 8. 列表頁 ---------- */
.pin-archive-head { padding: 28px 0 24px; margin-bottom: 32px; border-bottom: 1px solid var(--pin-border); }
.pin-archive-head__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--pin-muted); }
.pin-archive-head__title { font-size: 34px; font-weight: 900; letter-spacing: .03em; }
.pin-archive-head__desc { margin-top: 12px; max-width: 760px; font-size: 16px; line-height: 1.8; color: var(--pin-text-2); }
.pin-archive-head__desc p + p { margin-top: .8em; }
.pin-archive-head__count { margin-top: 6px; color: var(--pin-muted); font-size: 14px; }
.pin-archive-head--search .pin-searchform { margin-top: 18px; max-width: 560px; }

.pin-subcats { display: flex; gap: 8px; margin-top: 18px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.pin-subcats__item { flex-shrink: 0; font-size: 14px; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--pin-border); color: var(--pin-text-2); }
.pin-subcats__item:hover { border-color: var(--pin-text); color: var(--pin-text); }
.pin-subcats__item.is-active { background: var(--pin-text); border-color: var(--pin-text); color: var(--pin-bg); }

@media (max-width: 1023px) { .pin-archive-head__title { font-size: 28px; } }
@media (max-width: 768px) {
	.pin-archive-head { padding: 18px 0 18px; margin-bottom: 16px; }
	.pin-archive-head__title { font-size: 24px; }
	.pin-archive-head__desc { font-size: 15px; }
}

.pin-pagination { margin-top: 40px; }
.pin-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.pin-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px;
	border: 1px solid var(--pin-border); border-radius: var(--pin-radius); font-size: 15px; font-variant-numeric: tabular-nums;
}
.pin-pagination a.page-numbers:hover { border-color: var(--pin-text); }
.pin-pagination .page-numbers.current { background: var(--pin-brand); border-color: var(--pin-brand); color: var(--pin-on-brand); font-weight: 700; }
.pin-pagination .page-numbers.dots { border: 0; }

.pin-empty { padding: 40px 0; display: flex; flex-direction: column; gap: 20px; color: var(--pin-text-2); }

/* ---------- 9. 側欄與廣告位 ---------- */
.pin-sidebar { display: flex; flex-direction: column; gap: 36px; min-width: 0; }
.pin-sidebar__ads:empty { display: none; }
.pin-sidebar__ads > * + * { margin-top: 24px; }
.pin-sidebar__ads img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.pin-sidebar__sticky { position: sticky; top: calc(var(--pin-sticky-top) + 72px); }
.pin-widget__title { font-size: 18px; font-weight: 900; letter-spacing: .04em; border-top: 3px solid var(--pin-rule); padding-top: 10px; margin-bottom: 8px; }
@media (max-width: 1023px) { .pin-sidebar__sticky { position: static; } }

.pin-slot { margin: 0 auto 48px; text-align: center; max-width: 100%; overflow: hidden; }
.pin-slot__label { display: block; font-size: 11px; letter-spacing: .2em; color: var(--pin-muted); margin-bottom: 6px; }
.pin-slot img { max-width: 100%; height: auto; display: inline-block; }
.pin-slot--header { margin: 0; }
.pin-slot--header .pin-slot__label { display: none; }
.pin-slot--list { margin: 24px 0; padding-bottom: 24px; border-bottom: 1px solid var(--pin-border); }
.pin-slot--single { margin: 24px 0 0; }

/* 廣告位預覽框（管理員預覽模式） */
.pin-adph {
	width: 100%; max-width: calc(var(--pin-ph-w) * 1px); aspect-ratio: var(--pin-ph-w) / var(--pin-ph-h);
	min-height: 90px; margin: 0 auto 32px; padding: 10px; position: relative;
	border: 2px dashed var(--pin-brand); border-radius: 4px; color: var(--pin-text);
	background: repeating-linear-gradient(45deg, var(--pin-chip-bg), var(--pin-chip-bg) 10px, transparent 10px, transparent 20px);
	display: flex; align-items: center; justify-content: center; text-align: center; font-family: var(--pin-font);
}
.pin-adph__inner { background: var(--pin-bg); padding: 8px 14px; border-radius: 4px; display: flex; flex-direction: column; gap: 2px; box-shadow: var(--pin-shadow); max-width: 100%; }
.pin-adph__name { font-size: 15px; font-weight: 900; }
.pin-adph__size { font-size: 14px; font-weight: 700; color: var(--pin-chip-text); font-variant-numeric: tabular-nums; }
.pin-adph__how { font-size: 12px; color: var(--pin-muted); line-height: 1.5; }
.pin-masthead__ad .pin-adph { margin: 0; width: 728px; min-height: 90px; }
.pin-masthead__ad .pin-adph__how { font-size: 11px; }
.pin-masthead__ad .pin-adph__inner { padding: 4px 10px; }
.pin-prose .pin-adph { margin: 2em auto; letter-spacing: 0; line-height: 1.5; }
.pin-list .pin-adph { margin: 24px auto; }
@media (max-width: 1023px) { .pin-masthead__ad .pin-adph { display: none; } }
@media (max-width: 768px) {
	.pin-adph { max-width: calc(var(--pin-ph-mw, var(--pin-ph-w)) * 1px); aspect-ratio: var(--pin-ph-mw, var(--pin-ph-w)) / var(--pin-ph-mh, var(--pin-ph-h)); }
	.pin-adph--desk-only { display: none; }
}

/* ---------- 10. 一般頁面、404 ---------- */
.pin-page-hero { background: var(--pin-surface); border-bottom: 1px solid var(--pin-border); padding: 56px 0 48px; }
.pin-page-hero__title { font-size: 40px; font-weight: 900; letter-spacing: .04em; }
.pin-page-hero__title::after { content: ""; display: block; width: 48px; height: 4px; background: var(--pin-brand); margin-top: 16px; }
.pin-page-hero__lead { margin-top: 16px; max-width: 680px; font-size: 18px; color: var(--pin-text-2); line-height: 1.8; }
.pin-page__content { max-width: 760px; margin: 48px auto 72px; }
@media (max-width: 768px) {
	.pin-page-hero { padding: 36px 0 28px; }
	.pin-page-hero__title { font-size: 28px; }
	.pin-page__content { margin: 32px auto 56px; }
}

/* 10-1 共用按鈕 */
.pin-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	padding: 11px 26px; border-radius: 999px; background: var(--pin-brand); color: var(--pin-on-brand);
	font-weight: 700; font-size: 15px; line-height: 1.2; border: 1px solid var(--pin-brand); transition: all .15s ease;
}
.pin-btn:hover { background: var(--pin-brand-strong); border-color: var(--pin-brand-strong); color: var(--pin-on-brand); }
.pin-btn--ghost { background: transparent; color: var(--pin-text); border-color: var(--pin-border); }
.pin-btn--ghost:hover { background: var(--pin-surface); border-color: var(--pin-text); color: var(--pin-text); }
.pin-btn--sm { padding: 7px 14px; font-size: 13px; font-weight: 500; }

.pin-page-hero__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .3em; color: var(--pin-chip-text); margin-bottom: 10px; }
.pin-page-hero--center { text-align: center; }
.pin-page-hero--center .pin-page-hero__title::after { margin-left: auto; margin-right: auto; }
.pin-page-hero--center .pin-page-hero__lead { margin-left: auto; margin-right: auto; }

/* 10-2 行動區（CTA） */
.pin-cta {
	margin: 56px 0 72px; padding: 48px 32px; text-align: center; border-radius: 12px;
	background: linear-gradient(135deg, var(--pin-chip-bg), var(--pin-surface));
	border: 1px solid var(--pin-border);
}
.pin-cta__title { font-size: 26px; font-weight: 900; letter-spacing: .04em; }
.pin-cta__text { margin: 10px auto 24px; max-width: 560px; color: var(--pin-text-2); }

/* 10-3 合作媒體 */
.pin-partners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.pin-partner {
	display: flex; flex-direction: column; gap: 18px; padding: 28px; border: 1px solid var(--pin-border);
	border-radius: 12px; background: var(--pin-elev); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.pin-partner:hover { border-color: var(--pin-brand); box-shadow: var(--pin-shadow); transform: translateY(-2px); }
.pin-partner__logo-wrap {
	height: 96px; display: flex; align-items: center; justify-content: center; padding: 12px;
	background: #fff; border-radius: 8px; border: 1px solid var(--pin-border);
}
.pin-partner__logo { max-height: 72px; max-width: 80%; width: auto; height: auto; object-fit: contain; }
.pin-partner__logo.is-text { font-size: 22px; font-weight: 900; color: #242424; }
.pin-partner__body { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.pin-partner__name { font-size: 20px; font-weight: 900; }
.pin-partner__count { font-size: 13px; font-weight: 700; color: var(--pin-chip-text); }
.pin-partner__summary { font-size: 15px; line-height: 1.8; color: var(--pin-text-2); }
.pin-partner__more summary { cursor: pointer; font-size: 14px; font-weight: 700; color: var(--pin-text); list-style: none; display: inline-flex; align-items: center; gap: 4px; }
.pin-partner__more summary::-webkit-details-marker { display: none; }
.pin-partner__more summary::after { content: "＋"; color: var(--pin-brand); }
.pin-partner__more[open] summary::after { content: "－"; }
.pin-partner__desc { margin-top: 12px; font-size: 15px; line-height: 1.85; }
.pin-partner__desc p + p { margin-top: 1em; }
.pin-partner__actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 768px) {
	.pin-partners { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
	.pin-partner { padding: 20px; }
}

/* 10-4 關於我們 */
.pin-about-hero { padding: 72px 0 56px; background: radial-gradient(circle at 85% 20%, var(--pin-chip-bg), transparent 55%), var(--pin-surface); border-bottom: 1px solid var(--pin-border); }
.pin-about-hero__inner { max-width: 860px; }
.pin-about-hero__title { font-size: 20px; font-weight: 700; color: var(--pin-muted); letter-spacing: .1em; }
.pin-about-hero__tagline { margin-top: 10px; font-size: 44px; font-weight: 900; line-height: 1.35; letter-spacing: .03em; }
.pin-about-hero__intro { margin-top: 20px; font-size: 18px; line-height: 1.9; color: var(--pin-text-2); max-width: 760px; }

.pin-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: -36px 0 0; background: var(--pin-elev); border: 1px solid var(--pin-border); border-radius: 12px; box-shadow: var(--pin-shadow); position: relative; }
.pin-stats__item { padding: 24px; text-align: center; display: flex; flex-direction: column; gap: 4px; }
.pin-stats__item + .pin-stats__item { border-left: 1px solid var(--pin-border); }
.pin-stats__item strong { font-size: 34px; font-weight: 900; color: var(--pin-text); font-variant-numeric: tabular-nums; }
.pin-stats__item span { font-size: 14px; color: var(--pin-muted); }

.pin-about-section { margin-top: 80px; }
.pin-about-section__head { text-align: center; max-width: 680px; margin: 0 auto 36px; }
.pin-about-section__title { font-size: 30px; font-weight: 900; letter-spacing: .04em; }
.pin-about-section__lead { margin-top: 12px; color: var(--pin-text-2); line-height: 1.85; }

.pin-mouths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pin-mouth { position: relative; padding: 32px 28px; border-radius: 12px; border: 1px solid var(--pin-border); background: var(--pin-elev); overflow: hidden; }
.pin-mouth__num { position: absolute; right: 20px; top: 12px; font-size: 56px; font-weight: 900; color: var(--pin-chip-bg); line-height: 1; }
.pin-mouth__glyph { display: block; width: 44px; height: 32px; border: 4px solid var(--pin-brand); border-radius: 4px; margin-bottom: 20px; }
.pin-mouth__title { font-size: 21px; font-weight: 900; position: relative; }
.pin-mouth__text { margin-top: 10px; line-height: 1.85; color: var(--pin-text-2); position: relative; }

.pin-about-logo { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 56px; align-items: center; }
.pin-about-logo__art { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 16px; background: #fff; border: 1px solid var(--pin-border); padding: 40px; }
.pin-about-logo__img { max-width: 100%; height: auto; }
.pin-about-logo__text .pin-about-section__title { margin-bottom: 16px; }
.pin-about-logo__text .pin-prose { font-size: 17px; }
.pin-about-logo__text .pin-prose p + p { margin-top: 1.2em; }

.pin-logo-wall { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.pin-logo-wall__item { display: flex; align-items: center; justify-content: center; height: 92px; padding: 14px; border-radius: 8px; background: #fff; border: 1px solid var(--pin-border); transition: border-color .15s ease; }
.pin-logo-wall__item:hover { border-color: var(--pin-brand); }
.pin-logo-wall__img { max-height: 56px; max-width: 100%; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s ease, opacity .2s ease; }
.pin-logo-wall__item:hover .pin-logo-wall__img { filter: none; opacity: 1; }
.pin-logo-wall__img.is-text { font-size: 14px; font-weight: 700; color: #242424; filter: none; }

@media (max-width: 1023px) {
	.pin-mouth { padding: 26px 20px; }
	.pin-about-logo { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.pin-about-logo__art { max-width: 280px; margin: 0 auto; }
	.pin-logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.pin-mouths { grid-template-columns: minmax(0, 1fr); }
	.pin-about-hero { padding: 44px 0 52px; }
	.pin-about-hero__tagline { font-size: 30px; }
	.pin-about-hero__intro { font-size: 16px; }
	.pin-stats__item { padding: 16px 8px; }
	.pin-stats__item strong { font-size: 22px; }
	.pin-stats__item span { font-size: 12px; }
	.pin-about-section { margin-top: 56px; }
	.pin-about-section__title { font-size: 24px; }
	.pin-logo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 10-5 聯繫我們 */
.pin-contact { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 48px; padding-top: 48px; padding-bottom: 72px; align-items: start; }
.pin-contact__info { display: flex; flex-direction: column; gap: 16px; }
.pin-contact__card { display: flex; gap: 16px; padding: 22px; border: 1px solid var(--pin-border); border-radius: 12px; background: var(--pin-elev); }
.pin-contact__icon { flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--pin-chip-bg); color: var(--pin-chip-text); }
.pin-contact__label { font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--pin-muted); }
.pin-contact__value { display: block; margin-top: 4px; font-size: 17px; font-weight: 700; word-break: break-all; }
a.pin-contact__value:hover { color: var(--pin-chip-text); text-decoration: underline; }
.pin-contact__text { margin-top: 4px; font-size: 15px; line-height: 1.8; color: var(--pin-text-2); }
.pin-contact__info .pin-social { padding: 4px 4px 0; }
.pin-contact__form { padding: 36px; border: 1px solid var(--pin-border); border-radius: 12px; background: var(--pin-elev); box-shadow: var(--pin-shadow); }
.pin-contact__form-title { font-size: 22px; font-weight: 900; margin-bottom: 20px; }
@media (max-width: 1023px) { .pin-contact { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 28px; } }
@media (max-width: 768px) { .pin-contact__form { padding: 22px; } }

/* 10-6 作者頁 */
.pin-profile {
	display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 36px; align-items: start;
	margin: 8px 0 48px; padding: 36px; border: 1px solid var(--pin-border); border-radius: 12px;
	background: linear-gradient(135deg, var(--pin-surface), var(--pin-elev));
}
.pin-profile__media { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 12px; background: #fff; border: 1px solid var(--pin-border); padding: 20px; }
.pin-profile__logo { max-width: 100%; max-height: 140px; width: auto; height: auto; object-fit: contain; }
.pin-profile__logo.is-text { font-size: 20px; font-weight: 900; color: #242424; text-align: center; }
.pin-profile__avatar { width: 120px; height: 120px; }
.pin-profile__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .3em; color: var(--pin-chip-text); }
.pin-profile__name { margin-top: 6px; font-size: 34px; font-weight: 900; letter-spacing: .03em; }
.pin-profile__stats { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 10px; font-size: 14px; color: var(--pin-muted); }
.pin-profile__stats li + li::before { content: "・"; margin-right: 20px; margin-left: -20px; color: var(--pin-border); }
.pin-profile__bio { margin-top: 16px; font-size: 16px; line-height: 1.9; color: var(--pin-text-2); max-width: 760px; }
.pin-profile__bio p + p { margin-top: .9em; }
.pin-profile__bio--clamp:not(.is-open) { max-height: calc(1.9em * 4); overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.pin-profile__toggle { margin-top: 8px; font-size: 14px; font-weight: 700; color: var(--pin-chip-text); }
.pin-profile__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
@media (max-width: 768px) {
	.pin-profile { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 22px; margin-bottom: 28px; }
	.pin-profile__media { width: 140px; }
	.pin-profile__name { font-size: 26px; }
}

.pin-404 { padding: 64px var(--pin-gutter) 72px; text-align: center; }
.pin-404__code { font-size: 96px; font-weight: 900; line-height: 1; color: var(--pin-brand); letter-spacing: .05em; }
.pin-404__title { margin-top: 16px; font-size: 28px; font-weight: 900; }
.pin-404__text { margin-top: 10px; color: var(--pin-muted); }
.pin-404 .pin-searchform { max-width: 520px; margin: 28px auto 0; }
.pin-404__latest { margin-top: 64px; text-align: left; }

/* Gravity Forms 表單統一風格 */
.gform_wrapper input[type="text"], .gform_wrapper input[type="email"], .gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"], .gform_wrapper input[type="number"], .gform_wrapper select, .gform_wrapper textarea {
	width: 100%; padding: 12px 14px !important; border: 1px solid var(--pin-border) !important; border-radius: var(--pin-radius) !important;
	background: var(--pin-bg) !important; color: var(--pin-text) !important; font: inherit !important; font-size: 16px !important;
}
.gform_wrapper input:focus, .gform_wrapper select:focus, .gform_wrapper textarea:focus { border-color: var(--pin-brand) !important; outline: none; box-shadow: 0 0 0 3px rgba(248, 182, 43, .25); }
.gform_wrapper .gfield_label { font-weight: 700 !important; font-size: 15px !important; color: var(--pin-text) !important; }
.gform_wrapper .gform_button, .gform_wrapper input[type="submit"] {
	background: var(--pin-brand) !important; color: var(--pin-on-brand) !important; border: 0 !important; border-radius: 999px !important;
	padding: 12px 36px !important; font-weight: 700 !important; font-size: 16px !important; cursor: pointer;
}
.gform_wrapper .gform_button:hover { background: var(--pin-brand-strong) !important; }

/* ---------- 11. 頁尾（固定深色） ---------- */
.pin-footer { background: #111; color: #cfcfcb; font-size: 14px; }
.pin-footer__grid { display: grid; grid-template-columns: 2fr 1.4fr 1fr; gap: 56px; padding-top: 56px; padding-bottom: 48px; }
.pin-footer .pin-logo__img { max-height: 48px; }
/* 頁尾固定深底：有深色版 Logo 用深色版，否則把原 Logo 轉白 */
.pin-footer .pin-logo__img--light:only-child { filter: brightness(0) invert(1); }
.pin-footer .pin-logo__img--dark { display: block; }
.pin-footer .pin-logo__img--light:not(:only-child) { display: none; }
.pin-footer .pin-logo__text { color: #fff; }
.pin-footer__about { margin-top: 16px; line-height: 1.9; color: #a8a8a4; max-width: 420px; }
.pin-footer__title { font-size: 15px; font-weight: 700; color: #fff; letter-spacing: .1em; margin-bottom: 16px; }
.pin-footer__catlist { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
.pin-footer__menu { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.pin-footer a:hover { color: var(--pin-brand); }
.pin-footer .pin-social { margin-top: 20px; }
.pin-footer .pin-social__link { border-color: #333; color: #cfcfcb; }
.pin-footer__bottom { border-top: 1px solid #262626; padding: 18px 0; font-size: 13px; color: #8a8a86; }
@media (max-width: 768px) {
	.pin-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 40px; }
}

.pin-social { display: flex; gap: 8px; }
.pin-social__link { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--pin-border); }
.pin-social__link:hover { background: var(--pin-brand); border-color: var(--pin-brand); color: var(--pin-on-brand) !important; }

/* ---------- 12. 浮動元件 ---------- */
.pin-progress { position: fixed; top: var(--pin-sticky-top); left: 0; right: 0; height: 3px; z-index: 110; pointer-events: none; }
.pin-progress__bar { display: block; height: 100%; background: var(--pin-brand); transform: scaleX(0); transform-origin: left; }

.pin-backtop {
	position: fixed; right: 20px; bottom: 24px; z-index: 90; width: 46px; height: 46px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--pin-text); color: var(--pin-bg); box-shadow: var(--pin-shadow); transition: transform .2s ease, opacity .2s ease;
}
.pin-backtop:hover { transform: translateY(-2px); }

.pin-toast {
	position: fixed; left: 50%; bottom: 32px; transform: translateX(-50%); z-index: 300;
	background: var(--pin-text); color: var(--pin-bg); padding: 10px 20px; border-radius: 999px; font-size: 14px; box-shadow: var(--pin-shadow);
}

body.pin-no-scroll { overflow: hidden; }

/* 減少動態效果偏好 */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	/* 即時新聞跑馬燈：依需求一律輪播（讀者可按暫停鈕停止） */
	.pin-breaking__list.is-animated {
		animation-duration: var(--pin-marquee-duration, 60s) !important;
		animation-iteration-count: infinite !important;
	}
	.pin-live-dot { animation: none !important; }
	.pin-ticker__track {
		animation-duration: var(--pin-ticker-duration, 30s) !important;
		animation-iteration-count: infinite !important;
	}
}

/* ---------- 12-1. 天氣氛圍（data-mood 由 JS 依天氣＋台灣時段設定） ----------
   只改背景色調、頁首與裝飾，文章內文區維持原本底色，不影響閱讀 */
:root {
	--pin-mood-wash: transparent;     /* 頁面頂部光暈 */
	--pin-mood-wash-2: transparent;   /* 頁面頂部漸層 */
	--pin-mood-bar: var(--pin-topbar-bg);
	--pin-mood-accent: var(--pin-brand);
}
:root[data-mood="clear-day"]   { --pin-mood-wash: rgba(248, 182, 43, .16); --pin-mood-wash-2: rgba(255, 222, 150, .12); --pin-mood-bar: #33240a; --pin-mood-accent: #f2a90f; }
:root[data-mood="clear-night"] { --pin-mood-wash: rgba(86, 110, 200, .14); --pin-mood-wash-2: rgba(150, 130, 230, .08); --pin-mood-bar: #0e1733; --pin-mood-accent: #8ea6ff; }
:root[data-mood="cloud"]       { --pin-mood-wash: rgba(120, 138, 165, .15); --pin-mood-wash-2: rgba(170, 182, 200, .10); --pin-mood-bar: #1b222c; --pin-mood-accent: #8797ad; }
:root[data-mood="rain"]        { --pin-mood-wash: rgba(52, 122, 205, .15); --pin-mood-wash-2: rgba(120, 170, 225, .10); --pin-mood-bar: #0c1d31; --pin-mood-accent: #4f9ef0; }
:root[data-mood="storm"]       { --pin-mood-wash: rgba(88, 74, 160, .17); --pin-mood-wash-2: rgba(120, 110, 170, .10); --pin-mood-bar: #17122b; --pin-mood-accent: #a993ff; }
:root[data-mood="fog"]         { --pin-mood-wash: rgba(150, 150, 150, .16); --pin-mood-wash-2: rgba(200, 200, 200, .12); --pin-mood-bar: #222222; --pin-mood-accent: #9a9a9a; }

/* 頁面頂部氛圍光暈（Logo 列、跑馬燈透出色調；主選單半透明毛玻璃） */
:root[data-mood] body {
	background-image:
		radial-gradient(ellipse 110% 560px at 75% 0, var(--pin-mood-wash), transparent 70%),
		linear-gradient(to bottom, var(--pin-mood-wash-2), transparent 640px);
	background-repeat: no-repeat;
}
:root[data-mood] .pin-masthead,
:root[data-mood] .pin-breaking { background: transparent; }
:root[data-mood] .pin-nav {
	background: color-mix(in srgb, var(--pin-bg) 80%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
}
:root[data-mood] .pin-page-hero,
:root[data-mood] .pin-about-hero {
	background-image: radial-gradient(ellipse 80% 120% at 85% 0, var(--pin-mood-wash), transparent 70%);
}
:root[data-mood] .pin-tabs__tab::after,
:root[data-mood] .pin-progress__bar { background: var(--pin-mood-accent); }

/* 頂部工具列：依氛圍換底色並加上裝飾特效 */
.pin-topbar { position: relative; overflow: hidden; }
.pin-topbar__inner { position: relative; z-index: 1; }
:root[data-mood] .pin-topbar { background: linear-gradient(90deg, var(--pin-topbar-bg) 0%, var(--pin-mood-bar) 55%, var(--pin-mood-bar) 100%); }
:root[data-mood] .pin-topbar::before,
:root[data-mood] .pin-topbar::after { content: ""; position: absolute; inset: 0; pointer-events: none; }

/* 晴天：右側暖陽光暈，緩慢呼吸 */
:root[data-mood="clear-day"] .pin-topbar::before {
	background: radial-gradient(circle at 88% 40%, rgba(255, 196, 70, .45), transparent 32%);
	animation: pin-glow 6s ease-in-out infinite alternate;
}
/* 夜晚：星點閃爍 */
:root[data-mood="clear-night"] .pin-topbar::before {
	background-image:
		radial-gradient(1px 1px at 12% 30%, #fff, transparent), radial-gradient(1px 1px at 27% 70%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 41% 25%, #fff, transparent), radial-gradient(1px 1px at 58% 60%, #fff, transparent),
		radial-gradient(1px 1px at 69% 20%, #fff, transparent), radial-gradient(1.5px 1.5px at 81% 65%, #fff, transparent),
		radial-gradient(1px 1px at 93% 35%, #fff, transparent);
	opacity: .55;
	animation: pin-twinkle 4s ease-in-out infinite alternate;
}
/* 多雲：柔和雲團緩慢飄移 */
:root[data-mood="cloud"] .pin-topbar::before {
	background:
		radial-gradient(ellipse 140px 26px at 20% 60%, rgba(255, 255, 255, .08), transparent 70%),
		radial-gradient(ellipse 200px 30px at 70% 40%, rgba(255, 255, 255, .07), transparent 70%);
	animation: pin-drift-bg 18s ease-in-out infinite alternate;
}
/* 下雨／雷雨：斜向雨絲 */
:root[data-mood="rain"] .pin-topbar::before,
:root[data-mood="storm"] .pin-topbar::before {
	background-image: repeating-linear-gradient(105deg, transparent 0 9px, rgba(160, 205, 255, .16) 9px 10px);
	background-size: 200% 200%;
	animation: pin-rain 1.2s linear infinite;
}
/* 雷雨：每 9 秒一次很淡的閃光 */
:root[data-mood="storm"] .pin-topbar::after {
	background: rgba(220, 210, 255, .5);
	opacity: 0;
	animation: pin-flash 9s ease-out infinite;
}
/* 霧：水平霧帶緩慢流動 */
:root[data-mood="fog"] .pin-topbar::before {
	background: repeating-linear-gradient(0deg, transparent 0 8px, rgba(255, 255, 255, .05) 8px 14px);
	animation: pin-drift-bg 20s linear infinite alternate;
}

@keyframes pin-glow { from { opacity: .6; } to { opacity: 1; } }
@keyframes pin-twinkle { from { opacity: .3; } to { opacity: .7; } }
@keyframes pin-drift-bg { from { transform: translateX(-4%); } to { transform: translateX(4%); } }
@keyframes pin-rain { from { background-position: 0 0; } to { background-position: -40px 40px; } }
@keyframes pin-flash { 0%, 90%, 100% { opacity: 0; } 91% { opacity: .55; } 92.5% { opacity: 0; } 93.5% { opacity: .3; } 95% { opacity: 0; } }

/* ---------- 12-2. Logo 列天氣插畫場景（只在 .pin-masthead 內，純裝飾） ---------- */
.pin-masthead { position: relative; overflow: hidden; }
.pin-masthead__inner { position: relative; z-index: 1; }
.pin-sky {
	position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
	--sky-cloud: #ffffff; --sky-cloud-edge: rgba(150, 165, 185, .35);
	--sky-drop: rgba(70, 145, 230, .75); --sky-star: #d7b23c; --sky-star-2: #8ea6ff;
}
:root[data-theme="dark"] .pin-sky {
	--sky-cloud: rgba(255, 255, 255, .17); --sky-cloud-edge: rgba(255, 255, 255, .08);
	--sky-drop: rgba(150, 200, 255, .7); --sky-star: #ffffff; --sky-star-2: #c8d4ff;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .pin-sky {
		--sky-cloud: rgba(255, 255, 255, .17); --sky-cloud-edge: rgba(255, 255, 255, .08);
		--sky-drop: rgba(150, 200, 255, .7); --sky-star: #ffffff; --sky-star-2: #c8d4ff;
	}
}

/* 雲朵：由左往右緩慢飄過 */
.pin-sky__cloud {
	position: absolute; left: 0; display: block; opacity: .95;
	animation: pin-cloud-drift var(--d, 90s) linear infinite;
	filter: drop-shadow(0 3px 6px rgba(40, 60, 90, .08));
}
.pin-sky__cloud svg { display: block; width: 100%; height: auto; }
.pin-sky__cloud path { fill: var(--sky-cloud); stroke: var(--sky-cloud-edge); stroke-width: 1.2; }
.pin-sky__cloud.is-light { opacity: .75; }
.pin-sky__cloud.is-overcast path { fill: color-mix(in srgb, var(--sky-cloud) 82%, #8b97a8); }
.pin-sky__cloud.is-rain path     { fill: color-mix(in srgb, var(--sky-cloud) 72%, #6f86a3); }
.pin-sky__cloud.is-storm path    { fill: color-mix(in srgb, var(--sky-cloud) 50%, #4c5470); }
@keyframes pin-cloud-drift { from { transform: translateX(-260px); } to { transform: translateX(calc(100vw + 40px)); } }

/* 太陽：暖色核心＋緩慢旋轉的光芒 */
.pin-sky__sun { position: absolute; right: 12%; top: 50%; width: 150px; height: 150px; transform: translateY(-50%); }
.pin-sky__core {
	position: absolute; inset: 43px; border-radius: 50%;
	background: radial-gradient(circle at 40% 40%, #ffe27a, #f8b62b 70%);
	box-shadow: 0 0 30px 8px rgba(255, 196, 60, .55), 0 0 80px 20px rgba(255, 196, 60, .25);
}
.pin-sky__rays {
	position: absolute; inset: 0; border-radius: 50%;
	background: repeating-conic-gradient(rgba(255, 190, 50, .45) 0deg 6deg, transparent 6deg 30deg);
	-webkit-mask: radial-gradient(circle, transparent 36px, #000 38px, transparent 74px);
	mask: radial-gradient(circle, transparent 36px, #000 38px, transparent 74px);
	animation: pin-spin 50s linear infinite;
}
.pin-sky__sun.is-behind { right: 18%; opacity: .8; }

/* 月亮與星星 */
.pin-sky__moon {
	position: absolute; right: 13%; top: 50%; width: 54px; height: 54px; margin-top: -27px; border-radius: 50%;
	box-shadow: 13px -7px 0 0 #ffdf7e;
	filter: drop-shadow(0 0 14px rgba(255, 215, 110, .7));
	transform: rotate(-12deg);
}
.pin-sky__star {
	position: absolute; border-radius: 50%; background: var(--sky-star);
	box-shadow: 0 0 6px var(--sky-star);
	animation: pin-star 3.2s ease-in-out infinite;
}
.pin-sky__star:nth-child(3n) { background: var(--sky-star-2); box-shadow: 0 0 6px var(--sky-star-2); animation-duration: 4.4s; }
@keyframes pin-star { 0%, 100% { opacity: .25; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.2); } }
.pin-sky__shooting {
	position: absolute; top: 12%; left: 30%; width: 120px; height: 2px; border-radius: 2px; opacity: 0;
	background: linear-gradient(90deg, transparent, var(--sky-star));
	transform: rotate(-18deg);
	animation: pin-shooting 11s ease-in infinite;
}
@keyframes pin-shooting {
	0%, 82% { opacity: 0; transform: translate(0, 0) rotate(-18deg); }
	84% { opacity: 1; }
	92% { opacity: 0; transform: translate(260px, 80px) rotate(-18deg); }
	100% { opacity: 0; }
}

/* 雨滴 */
.pin-sky__rain { position: absolute; inset: 0; transform: skewX(-12deg); }
.pin-sky__drop {
	position: absolute; top: -26px; width: 1.6px; border-radius: 2px;
	background: linear-gradient(to bottom, transparent, var(--sky-drop));
	animation: pin-drop var(--d, 1s) linear infinite;
}
.pin-sky__rain.is-heavy .pin-sky__drop { width: 2px; }
@keyframes pin-drop { from { transform: translateY(0); } to { transform: translateY(150px); } }

/* 雷雨：閃電與閃光 */
.pin-sky__bolt { position: absolute; left: 58%; top: 4px; width: 26px; opacity: 0; animation: pin-bolt 8s ease-out infinite; }
.pin-sky__bolt svg { display: block; width: 100%; height: auto; fill: #ffd23f; filter: drop-shadow(0 0 8px rgba(255, 220, 90, .9)); }
.pin-sky__flash { position: absolute; inset: 0; background: rgba(235, 230, 255, .55); opacity: 0; animation: pin-flash 8s ease-out infinite; }
@keyframes pin-bolt { 0%, 89%, 100% { opacity: 0; } 90% { opacity: 1; } 92% { opacity: .2; } 93% { opacity: .9; } 95% { opacity: 0; } }

/* 霧帶 */
.pin-sky__fog {
	position: absolute; left: -20%; width: 140%; height: 34px; top: 12%; border-radius: 50%;
	background: radial-gradient(ellipse at center, rgba(190, 196, 204, .45), transparent 70%);
	animation: pin-fog 16s ease-in-out infinite alternate;
}
.pin-sky__fog.is-2 { top: 42%; animation-duration: 21s; animation-direction: alternate-reverse; }
.pin-sky__fog.is-3 { top: 70%; animation-duration: 26s; }
@keyframes pin-fog { from { transform: translateX(-6%); } to { transform: translateX(6%); } }

/* 手機：場景縮小 */
@media (max-width: 768px) {
	.pin-sky > * { zoom: .6; }
	.pin-sky__sun, .pin-sky__moon { right: 4%; }
}

/* 問候語彩色插畫圖示的小動畫 */
.pin-illus { display: block; overflow: visible; }
.pin-illus--sun .pin-illus__rays { transform-origin: 28px 28px; animation: pin-spin 20s linear infinite; }
.pin-illus--cloud, .pin-illus--fog { animation: pin-float-x 5s ease-in-out infinite alternate; }
.pin-illus--rain .pin-illus__drops { animation: pin-float-y 1.6s ease-in-out infinite; }
.pin-illus--storm .pin-illus__bolt { animation: pin-bolt 5s ease-out infinite; }
.pin-illus--moon { animation: pin-tilt 7s ease-in-out infinite alternate; }

/* 會動的天氣圖示 */
.pin-wicon { transform-origin: 50% 50%; }
.pin-wicon--sun { animation: pin-spin 24s linear infinite; }
.pin-wicon--partly, .pin-wicon--cloud { animation: pin-float-x 5s ease-in-out infinite alternate; }
.pin-wicon--rain, .pin-wicon--storm, .pin-wicon--snow { animation: pin-float-y 2.4s ease-in-out infinite; }
.pin-wicon--moon { animation: pin-tilt 7s ease-in-out infinite alternate; }
.pin-wicon--fog { animation: pin-float-x 6s ease-in-out infinite alternate; }
@keyframes pin-spin { to { transform: rotate(360deg); } }
@keyframes pin-float-x { from { transform: translateX(-1.5px); } to { transform: translateX(1.5px); } }
@keyframes pin-float-y { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(1.5px); } }
@keyframes pin-tilt { from { transform: rotate(-8deg); } to { transform: rotate(8deg); } }

/* 問候語卡片 */
.pin-greeting {
	display: flex; align-items: center; gap: 12px; padding: 8px 18px 8px 10px; border-radius: 999px;
	background: color-mix(in srgb, var(--pin-elev) 72%, transparent); border: 1px solid var(--pin-border);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	animation: pin-fade-in .5s ease;
}
.pin-greeting--masthead { margin-left: 32px; max-width: 420px; }
.pin-greeting__icon {
	flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	color: var(--pin-mood-accent); background: color-mix(in srgb, var(--pin-mood-accent) 14%, transparent);
}
.pin-greeting__text { display: flex; flex-direction: column; line-height: 1.45; min-width: 0; }
.pin-greeting__text strong { font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pin-greeting__text span { font-size: 13px; color: var(--pin-muted); }
.pin-greeting--mobile { display: none; }
@keyframes pin-fade-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media (max-width: 1023px) {
	.pin-greeting--masthead { display: none; }
	.pin-greeting--mobile { display: flex; margin-bottom: 16px; border-radius: 12px; }
}

/* 天氣氛圍是低調的裝飾動畫：系統開啟「減少動態」時仍保留緩慢效果，但關閉閃光與入場動畫 */
@media (prefers-reduced-motion: reduce) {
	:root[data-mood="clear-day"] .pin-topbar::before { animation: pin-glow 6s ease-in-out infinite alternate !important; }
	:root[data-mood="clear-night"] .pin-topbar::before { animation: pin-twinkle 4s ease-in-out infinite alternate !important; }
	:root[data-mood="cloud"] .pin-topbar::before,
	:root[data-mood="fog"] .pin-topbar::before { animation: pin-drift-bg 18s ease-in-out infinite alternate !important; }
	:root[data-mood="rain"] .pin-topbar::before,
	:root[data-mood="storm"] .pin-topbar::before { animation: pin-rain 1.6s linear infinite !important; }
	:root[data-mood="storm"] .pin-topbar::after { animation: none !important; opacity: 0; }
	.pin-wicon--sun { animation: pin-spin 24s linear infinite !important; }
	.pin-wicon--partly, .pin-wicon--cloud, .pin-wicon--fog { animation: pin-float-x 5s ease-in-out infinite alternate !important; }
	.pin-wicon--rain, .pin-wicon--storm, .pin-wicon--snow { animation: pin-float-y 2.4s ease-in-out infinite !important; }
	.pin-wicon--moon { animation: pin-tilt 7s ease-in-out infinite alternate !important; }
	/* Logo 列插畫場景（緩慢裝飾動畫照常播放；閃電閃光關閉） */
	.pin-sky__cloud { animation: pin-cloud-drift var(--d, 90s) linear infinite !important; }
	.pin-sky__rays { animation: pin-spin 50s linear infinite !important; }
	.pin-sky__star { animation: pin-star 3.2s ease-in-out infinite !important; }
	.pin-sky__drop { animation: pin-drop var(--d, 1s) linear infinite !important; }
	.pin-sky__fog { animation: pin-fog 18s ease-in-out infinite alternate !important; }
	.pin-sky__shooting { animation: pin-shooting 11s ease-in infinite !important; }
	.pin-sky__bolt, .pin-sky__flash { animation: none !important; opacity: 0; }
	.pin-illus--sun .pin-illus__rays { animation: pin-spin 20s linear infinite !important; }
}

/* ---------- 13. 列印 ---------- */
@media print {
	.pin-topbar, .pin-nav, .pin-breaking, .pin-masthead__ad, .pin-masthead__menu, .pin-masthead__search,
	.pin-sidebar, .pin-slot, .pin-share, .pin-article__actions, .pin-adjacent, .pin-related, .pin-footer,
	.pin-backtop, .pin-progress, .pin-search, .pin-drawer, .pin-breadcrumbs, .comments-area, .pin-ad { display: none !important; }
	body { background: #fff; color: #000; }
	.pin-layout--article { display: block; }
	.pin-prose { font-size: 12pt; color: #000; }
	.pin-prose a { text-decoration: none; }
	.pin-prose a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
}
