/* =====================================================================
   270C 鑲金招募令 — Kit/css/cat.css（四個分類頁 Info／Quest／shop／maps 共用；規格 §4.2）
   載入順序：theme.css（token、.gs-slab、.gs-tile 基本型、.gs-chapter、.gs-tag、.gs-notice）→ 本檔。
   index.php 只在 $PAGE 為 Info／Quest／shop／maps 時載入；篩選行為在 Kit/cat.js。
   紀律：類別一律 gs- 前綴；不使用 important 旗標；不重定義 theme.css 的 token。
   主題色一律走 var(--gs-accent)／var(--gs-accent-hi)（body[data-theme] 切換：info 藍／quest 紅／shop 綠／maps 青）。
   段落：§1 版面 → §2 分類匾額 → §3 快捷列 → §4 章節 → §5 功能牌補強 → §6 直式牌 art＋紋章 sigil
        → §7 職業徽章牌 crest → §8 BOSS 圖板 → §9 篩選狀態 → §10 頁底小匾額 → §11 動效
   ===================================================================== */

/* ---------- §1 版面 ---------- */
.gs-cat{padding-bottom:8px}
.gs-cat *,.gs-cat *::before,.gs-cat *::after{box-sizing:border-box}
.gs-cat h1,.gs-cat h2,.gs-cat h3,.gs-cat p{margin:0}
.gs-cat a{text-decoration:none}
.gs-cat-lead{color:var(--gs-muted);font-size:14px;margin:0 0 20px}

/* ---------- §2 分類匾額 .gs-cat-head（.gs-slab.gs-slab--double.gs-slab--ornate.gs-grain） ----------
   左：眉標「270C · 共 N 篇」→ H1 金字 → 副標板 → 篩選框；右 40%：主題色光暈＋魔法陣圓環＋粒子（圖到位後改 background-image）。 */
.gs-cat-head{display:grid;grid-template-columns:60fr 40fr;min-height:200px;margin:0;overflow:hidden;
  background:linear-gradient(90deg,#0c0e19 0%,rgba(12,14,25,.92) 55%,rgba(12,14,25,.3) 100%),var(--gs-plate-grad)}
.gs-cat-head__txt{position:relative;z-index:4;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:32px 36px 32px 60px;min-width:0}
.gs-cat-head__eb{display:flex;align-items:center;gap:10px;line-height:1}
.gs-cat-head__eb svg{display:block;width:26px;height:26px;flex:0 0 26px}
.gs-cat-head__eb b{font-family:Cinzel,"Noto Serif TC",serif;font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--gs-gold)}
.gs-cat-head__txt .gs-title{font-size:clamp(30px,4vw,46px)}
.gs-cat-head__banner{position:relative;overflow:hidden;pointer-events:none}
.gs-cat-head__glow{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 62% 50%,var(--gs-accent-hi) 0%,var(--gs-accent) 30%,transparent 68%);opacity:.45}
.gs-cat-head__ring{position:absolute;right:14%;top:50%;width:160px;aspect-ratio:1;margin-top:-80px;border:1px solid rgba(209,157,75,.6);border-radius:50%;box-shadow:0 0 24px var(--gs-accent),inset 0 0 24px var(--gs-accent);animation:gsCatSpin 90s linear infinite}
.gs-cat-head__ring::before{content:"";position:absolute;inset:14px;border:1px dashed rgba(209,157,75,.45);border-radius:50%}
.gs-cat-head__ring::after{content:"";position:absolute;inset:34%;border:1px solid rgba(209,157,75,.55);transform:rotate(45deg)}
/* 圓環中央放每頁單字（gs_cat_head 輸出 data-glyph）；圓環旋轉，字用反向動畫保持正立 */
.gs-cat-head__ring[data-glyph]::after{content:attr(data-glyph);inset:0;display:grid;place-items:center;border:0;transform:none;font-family:"Noto Serif TC",serif;font-weight:900;font-size:44px;line-height:1;color:transparent;background:var(--gs-gold-grad);-webkit-background-clip:text;background-clip:text;animation:gsCatSpin 90s linear infinite reverse}
.gs-cat-head__spark{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--gs-gold-glow);box-shadow:0 0 6px 1px rgba(253,243,106,.8);opacity:0;animation:gsCatTwinkle 6s ease-in-out infinite}
/* 匾額場景圖（Kit/img/cat/cat_banner_*.webp，有圖才出現）：左緣漸隱接標題區，圓環收起 */
.gs-cat-head__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.gs-cat-head__banner.has-img .gs-cat-head__ring{display:none}
.gs-cat-head__banner.has-img .gs-cat-head__glow{opacity:.18;mix-blend-mode:screen}
/* 右下「搜尋全站」小標籤（data-gs-palette 開命令面板） */
.gs-cat-head__palette{position:absolute;right:56px;bottom:16px;z-index:5;cursor:pointer;-webkit-appearance:none;appearance:none;transition:.3s ease}
.gs-cat-head__palette i{color:var(--gs-gold);font-size:11px}
.gs-cat-head__palette kbd{font-family:Cinzel,serif;font-size:10px;color:var(--gs-gold);background:none;padding:0;box-shadow:none;border-radius:0}
.gs-cat-head__palette:hover,.gs-cat-head__palette:focus-visible{border-color:var(--gs-gold-hi);color:var(--gs-gold-hi);outline:none}
/* 篩選框（匾額內；行為見 Kit/cat.js） */
.gs-cat-filter{position:relative;display:flex;align-items:center;width:min(100%,380px);margin-top:4px}
.gs-cat-filter>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--gs-gold);font-size:13px;pointer-events:none}
.gs-cat-filter input{width:100%;height:42px;margin:0;padding:0 64px 0 38px;border:1px solid var(--gs-frame-dim);border-radius:0;background:#11141f;color:var(--gs-cream);
  box-shadow:inset 0 1px 0 rgba(249,212,111,.1),inset 0 0 14px rgba(0,0,0,.6);font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC",sans-serif;font-size:14px;letter-spacing:.04em;outline:none;-webkit-appearance:none;appearance:none;transition:.3s ease}
.gs-cat-filter input::placeholder{color:var(--gs-muted);opacity:1}
.gs-cat-filter input:focus{border-color:var(--gs-gold);box-shadow:inset 0 1px 0 rgba(249,212,111,.2),0 0 12px rgba(249,212,111,.2)}
.gs-cat-filter input::-webkit-search-cancel-button{display:none}
.gs-cat-filter__n{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:Oswald, "Noto Sans TC","Microsoft JhengHei","PingFang TC",sans-serif;font-size:12px;letter-spacing:.06em;color:var(--gs-gold);pointer-events:none;white-space:nowrap}
@media(max-width:991px){.gs-cat-head__txt{padding:28px 28px 28px 44px}.gs-cat-head__palette kbd{display:none}}
@media(max-width:767px){
  .gs-cat-head{grid-template-columns:1fr;min-height:0;background:linear-gradient(180deg,rgba(12,14,25,.35),rgba(12,14,25,.92)),var(--gs-plate-grad)}
  .gs-cat-head__banner{position:absolute;inset:0;z-index:0}
  .gs-cat-head__glow{background:radial-gradient(ellipse 55% 60% at 88% 18%,var(--gs-accent-hi) 0%,var(--gs-accent) 30%,transparent 70%);opacity:.28}
  .gs-cat-head__ring{width:112px;margin-top:0;top:14px;right:14px}
  .gs-cat-head__img{opacity:.5;-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 92%);mask-image:linear-gradient(180deg,#000 0,transparent 92%)}
  .gs-cat-head__ring[data-glyph]::after{font-size:30px}
  .gs-cat-head__txt{padding:26px 20px 56px;gap:10px}
  .gs-cat-head__txt .gs-title{font-size:clamp(28px,8.6vw,36px)}
  .gs-cat-head .gs-plate{font-size:13px;letter-spacing:.06em;padding:6px 12px}
  .gs-cat-filter{width:100%}
  .gs-cat-filter input{font-size:16px;height:44px}  /* 16px 以上，iOS 聚焦不放大 */
  .gs-cat-head__palette{right:46px;bottom:14px}
}
@media(max-width:575px){.gs-cat-head__ring{opacity:.45;width:100px;top:12px;right:10px}.gs-cat-head__ring[data-glyph]::after{font-size:26px}}

/* ---------- §3 章節快捷列 .gs-cat-jump（sticky，導覽列縮小後 56px） ---------- */
.gs-cat-jump{position:sticky;top:56px;z-index:1030;margin:16px 0 32px;padding:10px 0;background:rgba(12,14,25,.94);border-bottom:1px solid var(--gs-frame);box-shadow:0 8px 18px rgba(0,0,0,.35)}
.gs-cat-jump__tags{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gs-cat-jump__tags::-webkit-scrollbar{display:none}
.gs-cat-jump .gs-tag{cursor:pointer;transition:.3s ease;flex:0 0 auto}
.gs-cat-jump .gs-tag b{font-family:Cinzel,serif;font-weight:700;font-size:11px;letter-spacing:.1em;color:var(--gs-gold)}
.gs-cat-jump .gs-tag:hover,.gs-cat-jump .gs-tag:focus-visible{border-color:var(--gs-gold-hi);color:var(--gs-gold-hi);outline:none;box-shadow:0 0 10px rgba(249,212,111,.2)}
.gs-cat-jump .gs-tag.is-off{opacity:.35}
@media(max-width:767px){
  .gs-cat-jump{margin:12px -16px 24px;padding:8px 16px}
  .gs-cat-jump__tags{padding-right:24px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}  /* 右緣漸隱：提示可左右滑 */
}

/* ---------- §4 章節 ---------- */
.gs-cat-chapter{margin-bottom:48px;scroll-margin-top:128px}
.gs-cat-chapter:last-of-type{margin-bottom:32px}
/* 章節標題下的快捷路徑（例：ALT+Q → 相關任務 → 限時副本；沿用首頁寫法） */
.gs-chapter__path{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:6px}
.gs-kbd__step{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}  /* 「→ 鍵」成組換行，避免行首孤立箭頭 */
/* 說明與導讀避免最後一行只剩 1～2 字（Chromium 117+；舊瀏覽器忽略） */
.gs-cat .gs-tile__d,.gs-cat .gs-chapter p{text-wrap:pretty}
/* 章節前的提示板（shop 頂部）：與「快捷列 → 第一章」同節奏 */
.gs-cat>.gs-notice{margin:0 0 40px}
@media(max-width:575px){
  .gs-cat-chapter{margin-bottom:36px;scroll-margin-top:116px}
  .gs-cat>.gs-notice{margin-bottom:28px}
  .gs-chapter__path>.gs-plate{display:none}  /* 手機收起「遊戲內快速進入」標籤，只留按鍵路徑 */
}

/* ---------- §5 功能牌 .gs-tile 補強（基本型在 theme.css §3.3） ---------- */
.gs-tile{-webkit-appearance:none;appearance:none;width:100%;margin:0;text-align:left;font:inherit}
.gs-tile>span{min-width:0}
/* 菱形框外暈用當頁主題色 */
.gs-tile__ic::before{box-shadow:inset 0 0 8px rgba(0,0,0,.6),0 0 8px var(--gs-accent);transition:.35s ease}
.gs-tile__ic i{transition:.35s ease}
.gs-tile__go{transition:.35s ease}
.gs-tile:hover .gs-tile__ic::before,.gs-tile:focus-visible .gs-tile__ic::before{border-color:var(--gs-gold-hi);box-shadow:inset 0 0 8px rgba(0,0,0,.6),0 0 12px var(--gs-accent-hi)}
.gs-tile:hover .gs-tile__t,.gs-tile:focus-visible .gs-tile__t{color:var(--gs-gold-hi)}
.gs-tile:hover .gs-tile__go,.gs-tile:focus-visible .gs-tile__go{color:var(--gs-gold-hi);transform:translateX(3px)}
.gs-tile:focus-visible{outline:1px solid var(--gs-gold-hi);outline-offset:2px}
.gs-tile__go--ext{font-size:15px}
/* .is-new：標題後自動加 Cinzel「NEW」金底黑字（不用另寫標記） */
.gs-tile.is-new .gs-tile__t::after{content:"NEW";flex:0 0 auto;font-family:Cinzel,serif;font-weight:700;font-size:10px;letter-spacing:.14em;line-height:1.5;padding:1px 6px;background:var(--gs-gold-solid);color:var(--gs-ink)}
/* .is-featured：跨 2 欄大卡（新手冒險指南、傲慢之塔…） */
.gs-tile.is-featured{grid-template-columns:60px 1fr 20px;gap:18px;padding:18px 22px;background:radial-gradient(ellipse 60% 110% at 100% 50%,var(--gs-accent) 0%,transparent 72%),var(--gs-plate-grad)}
.gs-tile.is-featured::before{top:10px;bottom:10px;width:3px;opacity:.9}
.gs-tile.is-featured .gs-tile__ic{width:60px;height:60px}
.gs-tile.is-featured .gs-tile__ic::before{inset:8px}
.gs-tile.is-featured .gs-tile__ic i,.gs-tile.is-featured .gs-tile__ic b{font-size:23px}
.gs-tile.is-featured .gs-tile__t{font-size:20px;letter-spacing:.04em}
.gs-tile.is-featured .gs-tile__d{-webkit-line-clamp:3;font-size:13.5px;color:var(--gs-cream-85)}
.gs-tile.is-featured .gs-tile__go{font-size:22px;color:var(--gs-gold)}
/* 大卡內的次要連結列（例：傲慢之塔樓層快速連結；此時外層用 as=div） */
.gs-tile__links{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.gs-tile__links a{display:inline-flex;align-items:center;border:1px solid var(--gs-frame-dim);background:rgba(10,10,13,.6);padding:2px 9px;font-family:Oswald, "Noto Sans TC","Microsoft JhengHei","PingFang TC",sans-serif;font-size:12px;letter-spacing:.04em;color:var(--gs-cream-85);transition:.3s ease}
.gs-tile__links a:hover{border-color:var(--gs-gold-hi);color:var(--gs-gold-hi)}
/* 網格欄數修飾：預設 3／2／1 欄（theme.css）；.is-4 = 桌機 4 欄 */
@media(min-width:1200px){.gs-tile--grid.is-4{grid-template-columns:repeat(4,1fr)}}
/* 手機卡片說明：字放大、單欄可容 3 行 */
@media(max-width:575px){.gs-cat .gs-tile__d{font-size:13.5px;line-height:1.55;-webkit-line-clamp:3}.gs-cat .gs-tile--crest .gs-tile__d{font-size:13px;-webkit-line-clamp:3}}
@media(max-width:575px){
  .gs-tile.is-featured{grid-template-columns:48px 1fr 14px;gap:12px;padding:16px 14px}
  .gs-tile.is-featured .gs-tile__ic{width:48px;height:48px}
  .gs-tile.is-featured .gs-tile__ic::before{inset:6px}
  .gs-tile.is-featured .gs-tile__ic i{font-size:19px}
  .gs-tile.is-featured .gs-tile__t{font-size:17px}
  .gs-tile.is-featured .gs-tile__d{font-size:12.5px}
}
@media(max-width:359px){.gs-tile.is-featured .gs-tile__d{display:-webkit-box}}

/* ---------- §6 直式牌 .gs-tile--art（shop.php）＋紋章 .gs-sigil ----------
   上 1:1 圖區 .gs-tile__art：放 .gs-sigil（無圖時）或 .img-container>img（加 .has-art 後才顯示）；下 標題＋說明。 */
.gs-tile--grid.is-art{grid-template-columns:repeat(4,1fr);gap:16px}
@media(min-width:1200px){.gs-tile--grid.is-art.is-3{grid-template-columns:repeat(3,1fr)}}  /* shop 6／3／3 張剛好排滿 */
.gs-tile.gs-tile--art{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;min-height:0}
.gs-tile--art::before{z-index:2}
.gs-tile--art::after{z-index:3}
.gs-tile__art{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-bottom:1px solid rgba(186,147,105,.35)}
.gs-tile--art:not(.has-art) .gs-tile__art{aspect-ratio:16/10}  /* 尚未換正式圖：紋章區壓扁，免得大片佔位 */
.gs-tile__art .img-container{display:none;position:absolute;inset:0;padding:0;margin:0;border:0}  /* 蓋掉 style.css .img-container 的 padding-top:100% */
.gs-tile__art .img-container img{display:block;width:100%;height:100%;object-fit:cover;transition:.35s ease}
.gs-tile--art.has-art .gs-tile__art .img-container{display:block}
.gs-tile--art.has-art .gs-sigil{display:none}
.gs-tile--art:hover .gs-tile__art img{filter:brightness(1.08)}
.gs-tile__body{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px;text-align:center}
.gs-tile--art .gs-tile__t{justify-content:center;font-size:15.5px}
.gs-tile--art .gs-tile__d{margin-top:2px}
.gs-sigil{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--gs-accent) 45%,transparent) 0%,transparent 42%),var(--gs-plate-grad)}  /* 主題色只留字後一圈暈光 */
.gs-sigil::before{content:"";position:absolute;left:50%;top:50%;width:auto;height:78%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(209,157,75,.75);border-radius:50%;box-shadow:0 0 18px rgba(249,212,111,.12),inset 0 0 18px rgba(0,0,0,.6)}
.gs-sigil::after{content:"";position:absolute;left:50%;top:50%;width:auto;height:62%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(0deg);border:1px dashed rgba(209,157,75,.55);border-radius:50%;transition:transform 1.2s ease}
.gs-tile--art:hover .gs-sigil::after{transform:translate(-50%,-50%) rotate(60deg)}
.gs-sigil b{position:relative;z-index:1;font-family:"Noto Serif TC",serif;font-weight:900;font-size:48px;line-height:1;color:transparent;background:var(--gs-gold-grad);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 0 #6b4414) drop-shadow(0 4px 8px rgba(0,0,0,.8))}
.gs-sigil i{position:absolute;left:10px;bottom:10px;width:6px;height:6px;transform:rotate(45deg);background:var(--gs-accent-hi);box-shadow:0 0 6px var(--gs-accent-hi)}
@media(max-width:1199px){.gs-tile--grid.is-art{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.gs-tile--grid.is-art{grid-template-columns:repeat(2,1fr);gap:10px}}
@media(max-width:575px){
  .gs-tile__body{padding:10px 10px 12px}
  .gs-tile--art .gs-tile__t{font-size:14px}
  .gs-sigil b{font-size:40px}
}
@media(max-width:400px){.gs-tile--grid.is-art{grid-template-columns:repeat(2,1fr)}.gs-tile--grid.is-art .gs-tile.is-featured{grid-column:span 2}}
@media(max-width:359px){.gs-tile--art .gs-tile__d{display:none}}

/* ---------- §7 職業徽章牌 .gs-tile--crest（Quest.php 職業任務） ----------
   72px 圓形金框 .gs-crest 內 FA 圖示（金漸層）＋外側 6px 職業寶石；職業色只出現在寶石與光暈（data-job 切換）。 */
.gs-tile--grid.is-crest{grid-template-columns:repeat(5,1fr);gap:14px}
.gs-tile.gs-tile--crest{--gs-job:var(--gs-accent-hi);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;aspect-ratio:1/1.15;min-height:0;padding:20px 12px 16px;text-align:center}
.gs-tile--crest[data-job=crown]{--gs-job:var(--gs-gold-hi)}
.gs-tile--crest[data-job=knight]{--gs-job:var(--gs-crimson-hi)}
.gs-tile--crest[data-job=elf]{--gs-job:var(--gs-emerald-hi)}
.gs-tile--crest[data-job=wizard]{--gs-job:var(--gs-royal-hi)}
.gs-tile--crest[data-job=darkelf]{--gs-job:var(--gs-violet-hi)}
.gs-crest{position:relative;display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;border:1px solid var(--gs-gold);border-radius:50%;
  background:radial-gradient(circle,rgba(20,25,37,.9) 55%,rgba(7,8,13,.95));box-shadow:inset 0 0 0 4px rgba(7,8,13,.9),inset 0 0 0 5px rgba(136,95,54,.6),0 0 16px var(--gs-job);transition:.35s ease}
.gs-crest>i{font-size:28px;color:transparent;background:var(--gs-gold-grad);-webkit-background-clip:text;background-clip:text}
.gs-crest.has-img{overflow:hidden}
.gs-crest.has-img>img{width:100%;height:100%;object-fit:cover;border-radius:50%;transform:scale(1.12)}   /* 職業紋章圖（Kit/img/quest/crest）：放大一點讓圖內金環貼齊外框 */
.gs-crest::after{content:"";position:absolute;right:2px;top:6px;width:6px;height:6px;transform:rotate(45deg);background:var(--gs-job);box-shadow:0 0 6px var(--gs-job)}
.gs-tile--crest:hover .gs-crest{border-color:var(--gs-gold-hi);box-shadow:inset 0 0 0 4px rgba(7,8,13,.9),inset 0 0 0 5px rgba(249,212,111,.6),0 0 24px var(--gs-job)}
.gs-tile--crest .gs-tile__t{justify-content:center;font-size:16px}
.gs-tile--crest .gs-tile__d{margin-top:0;font-size:12px}
@media(max-width:1199px){.gs-tile--grid.is-crest{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){
  .gs-tile--grid.is-crest{grid-template-columns:repeat(4,1fr);gap:10px}
  .gs-tile--grid.is-crest>*{grid-column:span 2}
  .gs-tile--grid.is-crest>*:last-child:nth-child(odd){grid-column:2/span 2}   /* 手機 2 欄、奇數張時最後一張置中 */
  .gs-tile.gs-tile--crest{aspect-ratio:auto;padding:18px 10px 14px;gap:8px}
  .gs-crest{width:60px;height:60px;flex-basis:60px}
  .gs-crest>i{font-size:23px}
  .gs-tile--crest .gs-tile__t{font-size:14.5px}
}

/* ---------- §8 BOSS 2:1 圖板 .gs-boss（Quest.php 限時副本；與 home.css §3 同寫法，首頁不載本檔） ---------- */
.gs-bossrow{display:grid;grid-template-columns:repeat(4,minmax(0,304px));justify-content:space-between;gap:16px;position:relative}
.gs-boss{position:relative;display:block;aspect-ratio:2/1;border:1px solid var(--gs-frame);overflow:hidden;background:#07080d;box-shadow:0 10px 30px rgba(0,0,0,.6);color:inherit;cursor:pointer;transition:.35s ease}
.gs-boss img{display:block;width:100%;height:100%;object-fit:cover;transition:.35s ease}
.gs-boss::before{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:var(--gs-fade-b);z-index:1;pointer-events:none}
.gs-boss::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gs-gold-grad);transform:scaleY(0);transform-origin:bottom;transition:.35s ease;z-index:2}
.gs-boss:hover,.gs-boss:focus-visible{border-color:var(--gs-gold-hi);box-shadow:var(--gs-sh-hover);outline:none}
.gs-boss:hover img{filter:brightness(1.08)}
.gs-boss:hover::after,.gs-boss:focus-visible::after{transform:scaleY(1)}
.gs-boss__cap{position:absolute;left:10px;bottom:10px;right:10px;z-index:2;display:flex;align-items:center;gap:8px}
.gs-boss__cap .gs-plate{padding:4px 10px;font-size:14px;letter-spacing:.1em}
@media(max-width:991px){.gs-bossrow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
  .gs-bossrow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 8px;scroll-padding:0 16px;scrollbar-width:none}
  .gs-bossrow::-webkit-scrollbar{display:none}
  .gs-bossrow .gs-boss{flex:0 0 min(78vw,304px);scroll-snap-align:start}
}

/* ---------- §9 篩選狀態（Kit/cat.js 加減 class） ---------- */
.gs-cat [data-gs-f].is-out,.gs-cat .gs-cat-chapter.is-out,.gs-cat [data-gs-f-aside].is-out{display:none}
.gs-cat-empty{display:none;margin:0 0 40px;padding:28px 24px;text-align:center}
.gs-cat-empty.is-on{display:block}
.gs-cat-empty p{margin:0 0 14px;font-family:"Noto Serif TC",serif;font-weight:700;font-size:16px;color:var(--gs-cream);letter-spacing:.06em}
.gs-cat-empty p b{color:var(--gs-gold-hi)}

/* ---------- §10 頁底小匾額 .gs-cat-foot（.gs-slab.gs-slab--double） ---------- */
.gs-cat-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 32px;margin-top:8px}
.gs-cat-foot p{margin:0;font-family:"Noto Serif TC",serif;font-weight:700;font-size:16px;color:var(--gs-cream);letter-spacing:.08em}
.gs-cat-foot kbd{font-family:Cinzel,serif;font-size:12px;color:var(--gs-gold);background:var(--gs-bg-plate);border:1px solid var(--gs-frame-dim);border-radius:0;box-shadow:none;padding:2px 8px;margin:0 4px}
.gs-cat-foot__m{display:none}
.gs-cat-foot .gs-btn i{font-size:1.1em}
@media(max-width:991px){.gs-cat-foot__d{display:none}.gs-cat-foot__m{display:inline}}
@media(max-width:575px){.gs-cat-foot{padding:22px 18px;text-align:center;justify-content:center}.gs-cat-foot p{font-size:15px}.gs-cat-foot .gs-btn{width:100%}}

/* ---------- §11 動效（reduced-motion 已由 theme.css 統一關閉） ---------- */
@keyframes gsCatSpin{to{transform:rotate(360deg)}}
@keyframes gsCatTwinkle{0%,100%{opacity:0;transform:translateY(0)}50%{opacity:.9;transform:translateY(-12px)}}
@media(max-width:767px){.gs-cat-head__spark:nth-of-type(n+4){display:none}}

/* ---------- 牌格補滿（避免最後一排留空格） ----------
   ① 第一章大卡（新手冒險指南）在 3 欄時佔滿整排：1 大卡＋6 張＝3 排剛好
   ② 2 欄時、沒有大卡的格子：奇數張的最後一張跨 2 欄（任務頁「其他任務」3 張）
   ③ 4 欄格（地圖）：餘 2 張各跨 2 欄、餘 3 張最後一張跨 2 欄 */
@media(min-width:1200px){#ch1 .gs-tile--grid:not(.is-4):not(.is-art)>.gs-tile.is-featured{grid-column:1/-1}}
@media(min-width:401px) and (max-width:1199px){.gs-tile--grid:not(.is-art):not(.is-crest):not(:has(.is-featured))>.gs-tile:last-child:nth-child(odd){grid-column:span 2}}
@media(min-width:1200px){.gs-tile--grid.is-4>.gs-tile:nth-last-child(2):nth-child(4n+1),.gs-tile--grid.is-4>.gs-tile:last-child:nth-child(4n+2),.gs-tile--grid.is-4>.gs-tile:last-child:nth-child(4n+3){grid-column:span 2}}
@media(min-width:768px) and (max-width:1199px){.gs-tile--grid.is-crest{grid-template-columns:repeat(6,1fr)}.gs-tile--grid.is-crest>*{grid-column:span 2}.gs-tile--grid.is-crest>*:nth-last-child(2):nth-child(3n+1){grid-column:2/span 2}}   /* 職業 5 張：3＋2 時第二排置中 */
