/* PokerScope 撲克視界 — 報紙調性:灰白底、襯線大標、細線分隔;強調色取 LOGO 的金,文字主色取 LOGO 的鋼灰。
   刻意只有淺色(user 2026-10-03:灰白底,不要黑底)。 */
:root{
  color-scheme:light;
  --bg:#f3f2ef; --fg:#1b1c1e; --muted:#58565f; --faint:#86837c;
  --rule:#d6d3cc; --rule-strong:#2e3136; --accent:#8a6627; --gold:#b08a3e; --steel:#2e3136; --box:#e9e6df;
  --serif:"Noto Serif TC","Songti TC","PMingLiU",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  --logo:"Cinzel","Trajan Pro",Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.6;
  padding:0 16px env(safe-area-inset-bottom)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:16px;background:var(--fg);color:var(--bg);padding:6px 10px;z-index:10}

/* 報頭 */
.mast{max-width:1080px;margin:0 auto;text-align:center;padding:14px 0 10px;border-bottom:1px solid var(--rule-strong)}
.mast-top{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);letter-spacing:.02em;
  border-bottom:1px solid var(--rule);padding-bottom:8px}
.brand{display:inline-flex;align-items:center;gap:12px;margin:14px 0 6px}
.mark{width:clamp(52px,14vw,72px);height:auto;display:block}
.wm{display:flex;flex-direction:column;align-items:center;line-height:1}
.wm-the{align-self:flex-start;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(11px,2.8vw,15px);
  letter-spacing:.04em;color:var(--muted);margin:0 0 2px .1em;line-height:1}  /* 網域 thepokerscope.com 的 the */
.wm-en{font-family:var(--logo);font-size:clamp(28px,8.4vw,48px);letter-spacing:.06em;white-space:nowrap}
.wm-en b{font-weight:700;color:var(--steel)}
.wm-en i{font-style:normal;font-weight:700;color:var(--gold)}
.wm-zh{display:flex;align-items:center;gap:8px;width:100%;margin-top:6px;font-family:var(--serif);font-weight:500;
  font-size:clamp(12px,3.4vw,16px);letter-spacing:.6em;text-indent:.6em;color:var(--steel)}
.wm-zh::before,.wm-zh::after{content:"";flex:1;height:1px;background:var(--gold)}
.mast-sub{font-size:12px;color:var(--muted);letter-spacing:.12em}
.sections{max-width:1080px;margin:0 auto;display:flex;gap:clamp(10px,3.2vw,24px);overflow-x:auto;scrollbar-width:none;
  font-size:14px;font-weight:600;padding:10px 0;border-bottom:3px double var(--rule-strong);
  justify-content:safe center}
.sections::-webkit-scrollbar{display:none}
.sections a{white-space:nowrap;color:var(--muted);padding:2px 0;border-bottom:2px solid transparent;transition:color .2s}
.sections a:hover{color:var(--fg)}
.sections a.on{color:var(--fg);border-bottom-color:var(--fg)}

main{max-width:1080px;margin:0 auto;padding-bottom:32px}
.ed-h{font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.06em;margin:22px 0 4px;
  display:flex;align-items:baseline;gap:10px}
.ed-h small{font-family:var(--sans);font-weight:400;color:var(--faint);font-size:13px;letter-spacing:0}
.rule-h{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em;margin:36px 0 0;
  padding-top:10px;border-top:2px solid var(--rule-strong)}

/* 新聞卡:沒有框,靠細線與間距 */
.story{padding:18px 0 20px;border-bottom:1px solid var(--rule)}
.kicker{display:inline-block;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.08em;margin-bottom:6px}
.story h2{font-family:var(--serif);font-weight:700;font-size:21px;line-height:1.35;margin:0 0 8px;
  letter-spacing:-.005em;text-wrap:pretty}
.story h2 a:hover{color:var(--muted)}
.dek{font-size:15px;color:var(--muted);margin:0 0 8px;text-wrap:pretty}
.meta{font-size:12px;color:var(--faint);margin:0;font-variant-numeric:tabular-nums}
.story.lead{padding-top:14px}
.story.lead h2{font-size:clamp(27px,7vw,40px);font-weight:900;line-height:1.22;letter-spacing:-.015em}
.story.lead .dek{font-size:17px}
.pts{margin:12px 0 12px;padding:0;list-style:none;font-family:var(--serif);font-size:16px}
.pts li{padding:7px 0 7px 16px;border-top:1px solid var(--rule);position:relative}
.pts li::before{content:"";position:absolute;left:2px;top:17px;width:5px;height:5px;background:var(--gold)}

.prev .brief{margin:0;padding:11px 0;border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:16px;font-weight:500}
.prev .brief a:hover{color:var(--muted)}
.empty{color:var(--muted);padding:48px 0;text-align:center}

/* 文章頁 */
.post{max-width:640px;margin:0 auto;padding-top:22px}
.post h1{font-family:var(--serif);font-weight:900;font-size:clamp(28px,7.5vw,42px);line-height:1.22;
  letter-spacing:-.015em;margin:0 0 12px;text-wrap:pretty}
.post>.dek{font-size:18px;line-height:1.55}
.byline{font-size:13px;color:var(--faint);margin:14px 0 22px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.quick{background:var(--box);padding:14px 18px 6px;margin:0 0 26px;border-top:3px solid var(--gold)}
.quick h2,.why h2,.cite h2{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.1em;margin:0 0 6px}
.quick ul{margin:0;padding:0;list-style:none;font-family:var(--serif);font-size:16px}
.quick li{padding:8px 0;border-top:1px solid var(--rule)}
.quick li:first-child{border-top:0}
.body p{font-family:var(--serif);font-size:18px;line-height:1.85;margin:0 0 1.15em;text-wrap:pretty}
.why{margin:30px 0;padding:16px 0 4px;border-top:2px solid var(--fg)}
.why p{font-family:var(--serif);font-size:17px;line-height:1.8;margin:0 0 12px}
.cite{padding:16px 0 0;border-top:1px solid var(--rule);font-size:14px}
.cite ul{margin:6px 0 10px;padding-left:18px}
.cite li{margin:6px 0}
.cite a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}
.cite a:hover{text-decoration-color:var(--fg)}
.note{font-size:12px;color:var(--faint)}
.more{max-width:640px;margin:0 auto}

.foot{max-width:1080px;margin:24px auto 0;border-top:3px double var(--rule-strong);padding:18px 0 40px;
  font-size:12px;color:var(--muted);text-align:center}
.foot p{max-width:560px;margin:8px auto}
.foot-logo{font-family:var(--logo);font-size:20px;letter-spacing:.06em}
.foot-logo b{color:var(--steel)}
.foot-logo i{font-style:normal;font-weight:700;color:var(--gold)}
.foot-links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.foot-links a{text-decoration:underline;text-underline-offset:3px}

/* 寬螢幕:頭條在左,其他新聞右側雙欄 */
@media (min-width:860px){
  .grid{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
  .grid .story:nth-child(odd){border-right:1px solid var(--rule);padding-right:32px}
  .story.lead{border-bottom:1px solid var(--rule-strong)}
  .story.lead .pts{max-width:640px}
}

/* 說明頁(隱私權) */
.doc .body h2{font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.04em;margin:28px 0 8px;
  padding-top:12px;border-top:1px solid var(--rule)}
.doc .body p{font-size:17px}

/* 廣告位:頭條下方,小而安靜 */
.ad{position:relative;max-width:728px;margin:18px auto 4px;min-height:90px;display:flex;align-items:center;
  justify-content:center;background:var(--box);border:1px solid var(--rule)}
.ad-tag{position:absolute;top:4px;left:8px;font-size:10px;letter-spacing:.12em;color:var(--faint)}
.ad-ph{margin:0;font-size:12px;color:var(--faint);letter-spacing:.3em}
.ad img{display:block;max-width:100%;height:auto}

/* 今日牌手 */
.feature{margin:22px 0 4px;padding:16px 0 14px;border-top:2px solid var(--gold);border-bottom:1px solid var(--rule)}
.feature h2{font-family:var(--serif);font-weight:900;font-size:26px;line-height:1.25;margin:0 0 6px;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pf-en{font-family:var(--logo);font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
.more-link{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* 牌手標籤 */
.who{padding:16px 0 0;margin-top:18px;border-top:1px solid var(--rule)}
.who h2{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.1em;margin:0 0 8px}
.chip{display:inline-flex;align-items:center;gap:6px;margin:0 8px 8px 0;padding:5px 11px;border:1px solid var(--rule);
  border-radius:999px;font-size:14px;transition:border-color .2s}
.chip:hover{border-color:var(--fg)}
.chip small{font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}
.chip.has-bio{border-color:var(--gold)}
.roster{padding-top:12px}
.profile h1{margin-bottom:8px}

/* 廣告輪播:各則疊在同一格,淡入淡出 */
.ad:has(.ad-slides){background:none;border:0;display:block}
.ad-slides{display:grid;width:100%}
.ad-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.ad-slide.on{opacity:1;visibility:visible}
.ad:has(.ad-slides) .ad-tag{z-index:1;color:rgba(255,255,255,.6);left:auto;right:8px}

/* 廣告:五星地下城 */
.ad-fsd{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:90px;padding:8px 14px 8px 10px;
  color:#fff;background:#1d1433 url(ads/fsd-bg.jpg) center/cover;overflow:hidden}
.ad-fsd::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,12,40,.92) 30%,rgba(20,12,40,.45))}
.ad-fsd>*{position:relative}
.ad-fsd-logo{width:62px;height:auto;flex:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.ad-fsd-copy{flex:1;font-size:13px;line-height:1.5;color:#e8e2f5}
.ad-fsd-copy b{display:block;font-size:16px;color:#f4c95d;font-weight:700}
.ad-fsd-cta{flex:none;font-size:13px;font-weight:700;color:#1d1433;background:#f4c95d;padding:7px 12px;border-radius:999px;
  transition:transform .2s}
.ad-fsd:hover .ad-fsd-cta,.ad-aq:hover .ad-aq-cta,.ad-th:hover .ad-th-cta{transform:translateX(2px)}

/* 廣告:問問題 AQ(沿用商店圖的墨綠 + 金) */
.ad-aq{display:flex;align-items:center;gap:12px;width:100%;min-height:90px;padding:8px 14px 8px 12px;
  background:radial-gradient(circle at 20% 50%,#2f5641,#1c3528 70%);color:#f1ece0}
.ad-aq-icon{width:56px;height:56px;flex:none;border-radius:13px;box-shadow:0 0 0 2px rgba(212,175,95,.55)}
.ad-aq-copy{flex:1;font-size:13px;line-height:1.5;color:#e6e0cf}
.ad-aq-copy b{display:block;font-family:var(--serif);font-size:18px;font-weight:700;color:#d9b866;letter-spacing:.04em}
.ad-aq-cta{flex:none;font-size:13px;font-weight:700;color:#1c3528;background:#d9b866;padding:7px 12px;border-radius:999px;
  transition:transform .2s}

/* 廣告:自家 Threads(Threads 品牌黑白) */
.ad-th{display:flex;align-items:center;gap:14px;width:100%;min-height:90px;padding:8px 14px 8px 16px;background:#101010;color:#f5f5f5}
.ad-th-icon{width:44px;height:44px;flex:none;fill:#fff}
.ad-th-copy{flex:1;font-size:13px;line-height:1.5;color:#cfcfcf}
.ad-th-copy b{display:block;font-size:17px;font-weight:700;color:#fff}
.ad-th-cta{flex:none;font-size:13px;font-weight:700;color:#101010;background:#fff;padding:7px 14px;border-radius:999px;transition:transform .2s}

/* 專欄 */
.col-no{font-family:var(--logo);font-size:13px;letter-spacing:.08em;color:var(--muted);margin:2px 0 4px}
.col-body .hl{background:linear-gradient(transparent 60%,rgba(176,138,62,.28) 60%)}
.col-body blockquote{margin:0 0 1.2em;padding:4px 0 4px 16px;border-left:3px solid var(--gold)}
.col-body blockquote p{font-size:20px;font-weight:700;line-height:1.6}
.col-body .scenario,.col-body .felt-box{background:var(--box);padding:14px 18px 4px;margin:0 0 1.3em;border-top:3px solid var(--steel)}
.col-body .scenario p,.col-body .felt-box p{font-size:16px;line-height:1.75}
.col-body .scenario-tag,.col-body .felt-label{display:block;font-family:var(--sans);font-size:12px;font-weight:700;
  letter-spacing:.1em;margin-bottom:8px;color:var(--accent)}
.col-body .hand-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 1.3em}
.col-body .hand-card{background:var(--box);padding:12px 14px 2px;border-top:3px solid var(--gold)}
.col-body .hand-card.bluff{border-top-color:var(--steel)}
.col-body .hand-card p{font-size:16px}
.col-body .rank{font-family:var(--logo);font-weight:700;font-size:18px;letter-spacing:.06em}
.col-body .position-row{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1.3em}
.col-body .pos{font-family:var(--sans);font-size:12px;font-weight:600;padding:4px 9px;border:1px solid var(--rule);color:var(--muted)}
.col-body .pos.active{border-color:var(--steel);background:var(--steel);color:var(--bg)}
.col-body .red{color:#a3201b}
.author{margin:28px 0 0;padding:14px 0;border-top:2px solid var(--steel);font-size:14px;color:var(--muted)}
.author p{margin:2px 0}
.author-name{font-family:var(--logo);font-size:18px;font-weight:700;color:var(--fg)}
.col-next{font-size:14px;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px}
.col-list{list-style:none;margin:0;padding:0}
.col-list li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule);
  font-family:var(--serif);font-size:16px}
.col-list small{font-family:var(--sans);font-size:12px;color:var(--faint);white-space:nowrap}

/* PokerBank 專欄 */
.col-lead{font-size:19px!important;font-weight:500;color:var(--muted)}
.col-source{margin-top:22px;padding-top:14px;border-top:1px solid var(--rule);font-size:14px}
.col-source h2{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.1em;margin:0 0 6px}
.col-source a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}
.older{margin:18px 0 0;text-align:right;font-size:14px;font-weight:700}
.older a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.older a::after{content:" →"}

/* 賽事日曆 */
.events{margin-bottom:8px}
.ev-note{font-size:12px;color:var(--faint);margin:8px 0 4px}
.ev-h{font-family:var(--sans);font-size:14px;font-weight:700;margin:20px 0 4px;display:flex;align-items:baseline;gap:8px}
.ev-h small{font-weight:400;color:var(--faint);font-size:12px}
.ev-list{list-style:none;margin:0;padding:0}
.ev-list li{padding:11px 0;border-bottom:1px solid var(--rule)}
.ev-top{display:flex;align-items:center;gap:10px;margin-bottom:3px}
.ev-live,.ev-soon{font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 7px}
.ev-live{background:var(--steel);color:var(--bg)}
.ev-soon{border:1px solid var(--gold);color:var(--accent)}
.ev-date{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.ev-name{font-family:var(--serif);font-size:16px;font-weight:700;line-height:1.4;margin:0}
.ev-meta{font-size:12px;color:var(--faint);margin:2px 0 0}
.ev-more{margin-top:14px}
.ev-more summary{cursor:pointer;font-size:14px;font-weight:700;padding:10px 0;border-top:1px solid var(--rule);list-style:none}
.ev-more summary::-webkit-details-marker{display:none}
.ev-more summary::after{content:" ＋";color:var(--accent)}
.ev-more[open] summary::after{content:" －"}
.ev-src{font-size:12px;color:var(--faint);margin-top:12px}
.ev-src a{text-decoration:underline;text-underline-offset:3px}
.ev-name a:hover{color:var(--muted)}
.ev-go{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ev-go::after{content:" ↗"}

/* 首頁:賽事導引 */
.ev-cta{margin:30px 0 0;padding:16px 16px 18px;background:var(--box);border-top:3px solid var(--gold)}
.cta-sum{margin:2px 0 10px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.cta-sum b{font-size:18px;color:var(--fg);font-weight:700}
.cta-list{list-style:none;margin:0 0 14px;padding:0}
.cta-list li{display:flex;align-items:baseline;gap:8px;padding:8px 0;border-top:1px solid var(--rule);font-size:14px}
.cta-state{flex:none;font-size:11px;font-weight:700;padding:1px 6px;border:1px solid var(--gold);color:var(--accent)}
.cta-state.on{background:var(--steel);border-color:var(--steel);color:var(--bg)}
.cta-name{flex:1;font-family:var(--serif);font-weight:700;line-height:1.4}
.cta-where{flex:none;font-size:12px;color:var(--faint)}
.cta-btn{display:block;text-align:center;padding:11px;background:var(--steel);color:var(--bg);font-weight:700;font-size:15px;
  transition:background .2s,transform .1s}
.cta-btn:hover{background:var(--fg)}
.cta-btn:active{transform:translateY(1px)}
.cta-btn::after{content:" →"}
.cta-sum span{white-space:nowrap}

/* 牌手照片 / 縮寫頭像 */
.ava{display:inline-block;border-radius:50%;object-fit:cover;flex:none;background:var(--box)}
.ava-mono{display:inline-flex;align-items:center;justify-content:center;font-family:var(--logo);font-weight:700;
  color:var(--steel);background:var(--box);border:1px solid var(--gold)}
.ava-sm{width:22px;height:22px;font-size:9px}
.ava-lg{width:72px;height:72px;font-size:22px}
.ava-xl{width:132px;height:132px;font-size:40px}
.feature{display:grid;grid-template-columns:auto 1fr;column-gap:14px}
.feature>*{grid-column:1/-1}
.feature .feature-ava{grid-column:1;grid-row:2/4;align-self:start}
.feature h2,.feature>.dek{grid-column:2}
.pf-photo{margin:6px 0 14px;display:flex;align-items:center;gap:14px}
.pf-photo figcaption{font-size:11px;color:var(--faint);line-height:1.5}
.pf-photo figcaption a{text-decoration:underline;text-underline-offset:2px}
.chip .ava-sm{margin-left:-5px}
.comments{max-width:640px;margin:8px auto 0}
.comments .rules{font-size:13px;color:var(--faint);margin:10px 0 4px}

/* 會員 / 論壇 / 新聞留言(頁面由 nim app/ 產生,留言由 ps.js 載入) */
.mast-top .acct{color:var(--fg);font-weight:600;white-space:nowrap}
.mast-top .acct:hover{color:var(--accent)}
.forum{max-width:760px;margin:0 auto;padding-top:18px}
.f-h1{font-family:var(--serif);font-weight:900;font-size:clamp(26px,6.5vw,36px);line-height:1.25;margin:6px 0 8px;text-wrap:pretty}
.f-lead{color:var(--muted);margin:0 0 18px}
.f-lead a,.hint a,.prose a,.login-cta a,.src a,.c-more a,.comments .rules a,.fp .pbody a{text-decoration:underline;text-underline-offset:2px}
.crumbs{font-size:13px;color:var(--faint);margin:0 0 6px}
.crumbs a:hover{color:var(--fg)}
.boards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 24px}
.board a{display:block;padding:14px 0;border-top:1px solid var(--rule)}
.board h2{font-family:var(--serif);font-size:19px;font-weight:700;margin:0 0 2px}
.board a:hover h2{color:var(--accent)}
.bdesc{font-size:14px;color:var(--muted);margin:0 0 4px}
.threads{list-style:none;margin:0;padding:0}
.thread{padding:12px 0;border-bottom:1px solid var(--rule)}
.thread .ttl{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.4}
.thread .ttl:hover{color:var(--accent)}
.thread .meta{margin-top:4px}
.bname{color:var(--accent)}
.flag{font-size:11px;font-weight:700;color:var(--bg);background:var(--steel);padding:1px 6px;margin-right:6px;vertical-align:2px}
.fp{padding:14px 0;border-bottom:1px solid var(--rule)}
.fp.op{border-bottom:2px solid var(--rule-strong);padding-bottom:18px}
.fp.op .pbody{font-size:17px}
.fp.is-held{background:var(--box);padding:12px 14px;border-left:3px solid var(--gold)}
.fp .pbody{line-height:1.75;overflow-wrap:anywhere}
.fp .pbody p{margin:.5em 0}
.uname{font-weight:700;color:var(--fg)}
.vbadge{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--gold);color:#fff;font-size:10px;font-weight:900;vertical-align:1px}
.role{font-size:11px;font-weight:700;color:var(--accent);border:1px solid var(--gold);padding:0 5px;vertical-align:1px}
.held{font-size:13px;color:var(--accent);margin:4px 0 0}
.tools{margin:6px 0 0;display:flex;gap:14px;flex-wrap:wrap}
.lnk{background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--faint);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.lnk:hover{color:var(--fg)}
.lnk:disabled{opacity:.5;cursor:default}
.modbar{margin:-4px 0 10px}
.src{font-size:14px;color:var(--muted);margin:0 0 10px}
.ps-form{margin:18px 0 8px;display:grid;gap:12px}
.ps-form[hidden]{display:none!important}
.ps-form select{font:inherit;font-size:16px;padding:9px 10px;border:1px solid var(--rule);background:#fff;color:var(--fg);justify-self:start}
.ps-form label.chk{display:flex;align-items:center;gap:8px;font-weight:400}
.ps-form label.chk input{width:auto}  /* display:grid 會蓋掉 hidden 屬性,驗證碼欄會提早出現 */
.ps-form label{display:grid;gap:6px;font-size:14px;font-weight:600}
.ps-form input,.ps-form textarea{font:inherit;font-size:16px;font-weight:400;color:var(--fg);background:#fff;border:1px solid var(--rule);padding:10px 12px;width:100%;border-radius:0}
.ps-form input:focus,.ps-form textarea:focus{outline:2px solid var(--gold);outline-offset:-1px;border-color:var(--gold)}
.ps-form button,.usearch button{justify-self:start;font:inherit;font-size:15px;font-weight:700;color:var(--bg);background:var(--steel);border:0;padding:10px 22px;cursor:pointer}
.ps-form button:hover{background:var(--fg)}
.ps-form button:disabled{opacity:.6;cursor:default}
.msg{font-size:14px;color:var(--muted);margin:0;min-height:1em}
.msg.bad{color:#a3361f}
.hint{font-size:13px;color:var(--faint);margin:0}
.login-cta{background:var(--box);padding:14px 16px;margin:18px 0;font-size:15px}
.newt{margin:0 0 14px;border-top:3px solid var(--gold);background:var(--box);padding:10px 16px}
.newt summary{cursor:pointer;font-weight:700}
.newt .ps-form{margin-top:12px}
.pager{display:flex;justify-content:space-between;margin:16px 0;font-weight:600}
.auth{max-width:420px}
.or{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:13px;margin:18px 0 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--rule)}
.prose h2{font-family:var(--serif);font-size:20px;margin:24px 0 8px}
.prose li{margin:6px 0}
.usearch{display:flex;gap:8px;margin:12px 0}
.usearch input{font:inherit;padding:8px 10px;border:1px solid var(--rule);flex:1;max-width:280px}
.ulist{width:100%;border-collapse:collapse;font-size:13px;display:block;overflow-x:auto}
.ulist th,.ulist td{text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--rule);white-space:nowrap}
.ulist .lnk{margin-right:10px}
.forum .empty,.comments .empty{padding:24px 0}
.c-more{font-size:14px;margin:12px 0 0}
.sub-note{font-size:13px;color:var(--faint);margin:20px 0 0}
.sub-cta{display:inline-block;margin-left:10px;vertical-align:middle}
/* Threads:報頭右上、頁尾、新聞文末 */
.mast-top{align-items:center}
.mast-r{display:flex;align-items:center;gap:14px}
.th-link{display:inline-flex;align-items:center;gap:5px;color:var(--fg);font-weight:600}
.th-link:hover{color:var(--accent)}
.th-ico{width:14px;height:14px;fill:currentColor;flex:none}
.follow{max-width:640px;margin:22px auto 0}
.follow a{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--box);border-top:3px solid var(--gold)}
.follow a:hover b{color:var(--accent)}
.follow .th-ico{width:28px;height:28px}
.follow span{display:flex;flex-direction:column;font-size:13px;color:var(--muted);line-height:1.5}
.follow b{font-size:15px;color:var(--fg)}
/* 後台流量報告(/mod/stats) */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin:8px 0 6px}
.tile{background:var(--bg);padding:12px 14px}
@media (max-width:520px){.tiles{grid-template-columns:repeat(2,1fr)}}
.tile-l{font-size:12px;color:var(--muted);margin:0}
.tile-v{font-family:var(--serif);font-size:28px;font-weight:700;margin:2px 0 0;font-variant-numeric:tabular-nums;line-height:1.2}
.tile-s{font-size:12px;color:var(--faint);margin:2px 0 0}
.tile-s a{text-decoration:underline;text-underline-offset:2px}
.bars{width:100%;height:auto;display:block;margin:12px 0 4px}
.bars .axis{stroke:var(--rule);stroke-width:1}
.bars .yl,.bars .xl{font-size:11px;fill:var(--faint);font-family:var(--sans)}
.bars .bar path{fill:var(--gold)}
.bars .bar.partial path{fill:var(--gold);opacity:.45}
.bars .bar .hit{fill:transparent}
.bars .bar:hover path{fill:var(--accent);opacity:1}
.bars .bar:hover .hit{fill:rgba(176,138,62,.08)}
.dtable summary{cursor:pointer;font-size:13px;color:var(--muted)}
.st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 28px}
.stbl{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px;font-variant-numeric:tabular-nums}
.stbl th{text-align:left;font-weight:600;color:var(--muted);border-bottom:1px solid var(--rule-strong);padding:6px 8px 6px 0}
.stbl td{border-bottom:1px solid var(--rule);padding:6px 8px 6px 0;vertical-align:top}
.stbl td:not(:first-child),.stbl th:not(:first-child){text-align:right;white-space:nowrap}
.stbl a{text-decoration:underline;text-underline-offset:2px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}  /* 防洗隱藏欄位 */
/* 錯誤回報與更正 */
.correction{margin:0 0 14px;padding:10px 14px;background:var(--box);border-left:3px solid var(--accent);font-size:14px;line-height:1.6}
.correction b{color:var(--accent);margin-right:8px}
.report-err{margin:18px 0 0;font-size:14px}
.report-err summary{cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.report-err summary:hover{color:var(--fg)}
.report-err .ps-form{margin-top:10px}
.mast-r .zh-toggle{color:var(--fg);font-weight:600;border:1px solid var(--rule);padding:0 6px;line-height:18px}
.mast-r .zh-toggle:hover{border-color:var(--gold);color:var(--accent)}
.series-link{margin:18px 0 0;padding:10px 14px;background:var(--box);font-size:14px}
.series-link a{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cat-intro{margin:4px 0 10px;color:var(--muted)}
.guide-list{list-style:none;padding:0;margin:8px 0 18px}
.guide-list li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--rule)}
.guide-list b{font-family:var(--serif);font-size:17px}
.guide-list span{font-size:14px;color:var(--muted)}
.guide-list small{font-size:12px;color:var(--faint)}
/* 簡體模式(ps.js 加 html.zh-cn):換簡體字型,避免繁體字型缺字時逐字跳到系統字型 */
html.zh-cn{--serif:"Noto Serif SC","Songti SC","STSong","Noto Serif TC",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Microsoft YaHei","PingFang TC",sans-serif}
/* 專欄:配圖、Markdown 轉來的小標/清單/分隔線 */
.col-hero{margin:6px 0 22px}
.col-hero img{width:100%;height:auto;display:block}
.col-body h2{font-family:var(--serif);font-size:21px;font-weight:700;line-height:1.45;margin:30px 0 12px}
.col-body ul,.col-body ol{font-family:var(--serif);font-size:18px;line-height:1.8;margin:0 0 1.15em;padding-left:1.4em}
.col-body li{margin:2px 0}
.col-body hr{border:0;border-top:1px solid var(--rule);margin:28px 0}
.col-body strong{font-weight:700;color:var(--fg)}
.today-col{margin:6px 0 4px}
.today-col .col-card{border-bottom:0;padding-bottom:6px}
/* 專欄卡片的右側縮圖(有配圖才出現) */
.col-card.has-thumb{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}
.col-thumb img{display:block;width:clamp(96px,28vw,180px);height:auto;aspect-ratio:3/2;object-fit:cover}
/* 原文嵌入的社群貼文 */
.embed{margin:24px 0;padding:0}
.embed .twitter-tweet,.embed .instagram-media{margin:0 auto!important}
.embed figcaption{font-size:12px;color:var(--faint);margin-top:6px;text-align:center}
.embed .yt{position:relative;aspect-ratio:16/9}
.embed .yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
