/**
 * 石墨（graphite）主題 — 輕度黑
 * ------------------------------------------------------------------
 * 設計語彙
 *   底色：石墨灰（#0f1114 → #1a1e23），不是純黑；以「表面明度差」建立層次。
 *   文字：暖象牙（#eae7e1）配冷灰底，形成低飽和互補，久看不刺眼。
 *   強調：收斂黃銅（#c2b097），只出現在可互動與關鍵數字，不鋪大面積。
 *   線條：1px 髮絲線；不用重陰影、不用彩色光暈、不用大圓角。
 *   字體：無襯線；小字用字距（tracking）與大寫建立秩序感。
 *
 * 覆寫對象：templates/default/partials/head.php 的內嵌樣式與 static/store-card.css。
 * 載入順序在兩者之後，但 store-card.css 亦在其後，因此本檔一律用
 * `html.fate-theme-graphite` 提高特異度，避免被單一 class 規則蓋回。
 */

html.fate-theme-graphite {
    color-scheme: dark;

    /* ── 色票 ─────────────────────────────────────────────── */
    --gx-ink: #0f1114;
    --gx-ink-2: #121417;
    --gx-surface: #16191d;
    --gx-surface-2: #1b1f24;
    --gx-surface-3: #23282e;
    --gx-ivory: #eae7e1;
    --gx-ivory-dim: #cbc7bf;
    --gx-mute: #8d8b85;
    --gx-faint: #6a6863;
    --gx-brass: #c2b097;
    --gx-brass-bright: #d9cab3;
    --gx-line: rgba(234, 231, 225, 0.075);
    --gx-line-2: rgba(234, 231, 225, 0.14);
    --gx-serif: "Didot", "Bodoni MT", "Noto Serif TC", "Songti TC", "PMingLiU", "Times New Roman", serif;
    --gx-r: 12px;
    --gx-r-lg: 18px;
    --gx-ease: cubic-bezier(0.22, 1, 0.36, 1);

    /* ── 站台既有變數 ─────────────────────────────────────── */
    --bg: var(--gx-ink);
    --bg2: var(--gx-surface-2);
    --fg: var(--gx-ivory);
    --muted: var(--gx-mute);
    --accent: var(--gx-brass);
    --accent2: #9aa6a0;
    --accent-rgb: 194, 176, 151;
    --accent2-rgb: 154, 166, 160;
    --ok: #93b79d;
    --line: var(--gx-line);
    --card: var(--gx-surface);
    --radius: var(--gx-r);
    --radius-lg: var(--gx-r-lg);
    --shadow-sm: none;
    --shadow-panel: none;
    --fate-topbar-sticky-offset: 3.25rem;

    /* 論壇編輯器（Summernote）跟著主題走 */
    --forum-editor-border: var(--gx-line-2);
    --forum-editor-bg: var(--gx-ink-2);
    --forum-editor-toolbar-bg: var(--gx-surface-2);
    --forum-editor-toolbar-border: var(--gx-line);
    --forum-editor-btn-color: var(--gx-ivory-dim);
    --forum-editor-editable-bg: var(--gx-ink-2);
    --forum-editor-editable-fg: var(--gx-ivory);
    --forum-editor-link: var(--gx-brass);
    --forum-editor-placeholder: var(--gx-faint);
    --forum-editor-statusbar-bg: var(--gx-surface);
    --forum-editor-statusbar-border: var(--gx-line);
    --forum-editor-modal-bg: var(--gx-surface);
    --forum-editor-modal-fg: var(--gx-ivory);
    --forum-editor-modal-border: var(--gx-line-2);
    --forum-editor-input-bg: var(--gx-ink);
    --forum-editor-input-fg: var(--gx-ivory);
    --forum-editor-input-border: var(--gx-line-2);
    --forum-editor-dropdown-bg: var(--gx-surface);
    --forum-editor-dropdown-fg: var(--gx-ivory);
    --forum-editor-dropdown-border: var(--gx-line-2);
}

/* ── 基底 ─────────────────────────────────────────────────── */
html.fate-theme-graphite ::selection {
    background: rgba(194, 176, 151, 0.28);
    color: var(--gx-ivory);
}

html.fate-theme-graphite {
    scrollbar-color: rgba(234, 231, 225, 0.18) transparent;
    scrollbar-width: thin;
    accent-color: var(--gx-brass);
}

html.fate-theme-graphite a:focus-visible,
html.fate-theme-graphite button:focus-visible,
html.fate-theme-graphite input:focus-visible,
html.fate-theme-graphite select:focus-visible,
html.fate-theme-graphite textarea:focus-visible {
    outline: 2px solid rgba(194, 176, 151, 0.6);
    outline-offset: 2px;
}

html.fate-theme-graphite ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

html.fate-theme-graphite ::-webkit-scrollbar-track {
    background: transparent;
}

html.fate-theme-graphite ::-webkit-scrollbar-thumb {
    background: rgba(234, 231, 225, 0.14);
    border: 3px solid transparent;
    border-radius: 999px;
    background-clip: content-box;
}

html.fate-theme-graphite ::-webkit-scrollbar-thumb:hover {
    background: rgba(194, 176, 151, 0.4);
    background-clip: content-box;
}

html.fate-theme-graphite body,
html.fate-theme-graphite body.forum-body {
    font-family: "Inter", "Helvetica Neue", "Segoe UI", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;
    background-color: var(--gx-ink);
    background-image:
        radial-gradient(1100px 520px at 50% -22%, rgba(194, 176, 151, 0.055), transparent 62%),
        linear-gradient(180deg, #101216 0%, var(--gx-ink) 34%, #0c0e11 100%);
    background-attachment: fixed;
    color: var(--gx-ivory);
    letter-spacing: 0.012em;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

html.fate-theme-graphite ::selection {
    background: rgba(194, 176, 151, 0.3);
    color: #fff;
}

html.fate-theme-graphite a {
    transition: color 0.2s var(--gx-ease), border-color 0.2s var(--gx-ease), background-color 0.2s var(--gx-ease);
}

html.fate-theme-graphite :focus-visible {
    outline: 1px solid var(--gx-brass);
    outline-offset: 3px;
}

html.fate-theme-graphite select {
    color-scheme: dark;
}

html.fate-theme-graphite select option {
    background: var(--gx-surface-2);
    color: var(--gx-ivory);
}

/* ── 頂欄 ─────────────────────────────────────────────────── */
html.fate-theme-graphite .topbar {
    background: rgba(15, 17, 20, 0.78);
    border-bottom: 1px solid var(--gx-line);
    -webkit-backdrop-filter: saturate(140%) blur(18px);
    backdrop-filter: saturate(140%) blur(18px);
}

html.fate-theme-graphite .topbar-inner {
    max-width: 78rem;
    padding: 0.95rem 2rem;
    gap: 0.7rem 1.6rem;
}

html.fate-theme-graphite .brand {
    font-family: "Didot", "Bodoni MT", "Noto Serif TC", "Songti TC", "PMingLiU", "Times New Roman", serif;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--gx-ivory);
    display: inline-flex;
    align-items: baseline;
    gap: 0;
}

html.fate-theme-graphite .brand::before {
    content: "";
    display: inline-block;
    width: 0.4rem;
    height: 0.4rem;
    margin-right: 0.7rem;
    background: var(--gx-brass);
    transform: rotate(45deg);
    flex-shrink: 0;
}

html.fate-theme-graphite .brand > span {
    margin-left: 0.6rem;
    color: var(--gx-faint);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

html.fate-theme-graphite .topbar nav {
    gap: 0.35rem 1.4rem;
    font-size: 0.76rem;
}

html.fate-theme-graphite .topbar nav a {
    color: var(--gx-mute);
    letter-spacing: 0.12em;
    padding: 0.32rem 0;
    border-bottom: 1px solid transparent;
    text-decoration: none;
}

html.fate-theme-graphite .topbar nav a:hover,
html.fate-theme-graphite .topbar nav a.is-active {
    color: var(--gx-ivory);
    border-bottom-color: rgba(194, 176, 151, 0.55);
    text-decoration: none;
}

/* ── 版面 ─────────────────────────────────────────────────── */
html.fate-theme-graphite .layout-shell {
    max-width: 78rem;
    padding: 0 2rem 0.5rem;
}

html.fate-theme-graphite .layout {
    grid-template-columns: minmax(0, 1fr) 17rem;
    gap: 2.2rem;
    padding-top: 1.15rem;
}

html.fate-theme-graphite .layout-shell--detail .layout {
    padding-top: 0.85rem;
}

/* ── 首頁主視覺（hero：麵包屑下方那一塊） ─────────────────── */
html.fate-theme-graphite .hero {
    padding: 2.1rem 0 1.35rem;
    border-bottom: 1px solid var(--gx-line);
    margin-bottom: 1.55rem;
}

html.fate-theme-graphite .hero::before {
    content: "";
    display: block;
    width: 2.25rem;
    height: 1px;
    margin-bottom: 1.15rem;
    background: var(--gx-brass);
}

html.fate-theme-graphite .hero p.lead {
    font-size: 0.9rem;
    line-height: 1.7;
    color: var(--gx-mute);
    letter-spacing: 0.015em;
}

/* 搜尋結果摘要：改成左側黃銅細線的安靜區塊 */
html.fate-theme-graphite .fate-search-summary {
    border: 0;
    border-left: 1px solid var(--gx-brass);
    border-radius: 0;
    background: transparent;
    padding: 0.15rem 0 0.15rem 1.1rem;
    margin-bottom: 1.45rem;
}

html.fate-theme-graphite .fate-search-summary__title {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--gx-ivory);
}

html.fate-theme-graphite .fate-search-summary__meta,
html.fate-theme-graphite .fate-search-summary__note {
    font-size: 0.8rem;
    color: var(--gx-mute);
}

html.fate-theme-graphite .fate-search-summary--fuzzy {
    border-left-color: #c9a227;
    background: transparent;
    box-shadow: none;
}

html.fate-theme-graphite .fate-search-summary__badge {
    border-radius: 999px;
    border-color: rgba(201, 162, 39, 0.45);
    background: rgba(201, 162, 39, 0.1);
    color: #e0c879;
    letter-spacing: 0.16em;
    font-weight: 500;
}

/* ── 列表切換（開放性／非開放性） ─────────────────────────── */
html.fate-theme-graphite .home-listing-nav {
    gap: 1.5rem;
    margin-bottom: 1.35rem;
    border-bottom: 1px solid var(--gx-line);
}

html.fate-theme-graphite .home-listing-nav__btn {
    padding: 0 0 0.7rem;
    border: 0;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--gx-faint);
    font-size: 0.74rem;
    font-weight: 500;
    letter-spacing: 0.16em;
}

html.fate-theme-graphite .home-listing-nav__btn:hover {
    color: var(--gx-ivory-dim);
    border-bottom-color: var(--gx-line-2);
    background: transparent;
}

html.fate-theme-graphite .home-listing-nav__btn.is-active {
    color: var(--gx-ivory);
    border-bottom-color: var(--gx-brass);
    background: transparent;
}

/* ── 工具列／表單控制 ─────────────────────────────────────── */
html.fate-theme-graphite .toolbar {
    gap: 0.55rem 0.9rem;
    margin-bottom: 0;
}

html.fate-theme-graphite .toolbar label {
    font-size: 0.66rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gx-faint);
    margin-right: 0.1rem;
}

html.fate-theme-graphite .stats {
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gx-faint);
}

html.fate-theme-graphite .stats strong {
    color: var(--gx-ivory);
    font-weight: 500;
    letter-spacing: 0.04em;
}

html.fate-theme-graphite select,
html.fate-theme-graphite .btn-link {
    border-radius: 999px;
    border: 1px solid var(--gx-line-2);
    background: transparent;
    color: var(--gx-ivory-dim);
    padding: 0.5rem 0.95rem;
    font-size: 0.78rem;
    letter-spacing: 0.03em;
    transition: border-color 0.2s var(--gx-ease), color 0.2s var(--gx-ease), background-color 0.2s var(--gx-ease);
}

html.fate-theme-graphite select:hover,
html.fate-theme-graphite .btn-link:hover {
    border-color: rgba(194, 176, 151, 0.5);
    color: var(--gx-brass-bright);
    background: rgba(194, 176, 151, 0.05);
}

html.fate-theme-graphite select {
    padding-right: 1.9rem;
    appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--gx-mute) 50%),
        linear-gradient(135deg, var(--gx-mute) 50%, transparent 50%);
    background-position: calc(100% - 1rem) 52%, calc(100% - 0.68rem) 52%;
    background-size: 0.32rem 0.32rem, 0.32rem 0.32rem;
    background-repeat: no-repeat;
}

html.fate-theme-graphite input[type="text"],
html.fate-theme-graphite input[type="search"],
html.fate-theme-graphite input[type="email"],
html.fate-theme-graphite input[type="password"],
html.fate-theme-graphite input[type="number"],
html.fate-theme-graphite input[type="url"],
html.fate-theme-graphite input[type="tel"],
html.fate-theme-graphite textarea {
    border-radius: 8px;
    border: 1px solid var(--gx-line-2);
    background: var(--gx-ink-2);
    color: var(--gx-ivory);
    padding: 0.58rem 0.8rem;
    transition: border-color 0.2s var(--gx-ease), box-shadow 0.2s var(--gx-ease);
}

html.fate-theme-graphite input[type="text"]:focus,
html.fate-theme-graphite input[type="search"]:focus,
html.fate-theme-graphite input[type="email"]:focus,
html.fate-theme-graphite input[type="password"]:focus,
html.fate-theme-graphite input[type="number"]:focus,
html.fate-theme-graphite input[type="url"]:focus,
html.fate-theme-graphite input[type="tel"]:focus,
html.fate-theme-graphite textarea:focus {
    outline: none;
    border-color: rgba(194, 176, 151, 0.55);
    box-shadow: 0 0 0 3px rgba(194, 176, 151, 0.09);
}

/* ── 店家卡（首頁列表） ───────────────────────────────────── */
html.fate-theme-graphite .grid {
    grid-template-columns: repeat(auto-fill, minmax(262px, 1fr));
    gap: 1.35rem;
    padding-bottom: 2.6rem;
}

html.fate-theme-graphite .card {
    background: var(--gx-surface);
    border: 1px solid var(--gx-line);
    border-radius: var(--gx-r);
    box-shadow: none;
    transition: transform 0.3s var(--gx-ease), border-color 0.3s var(--gx-ease), box-shadow 0.3s var(--gx-ease);
}

html.fate-theme-graphite .card:hover {
    transform: translateY(-2px);
    border-color: rgba(194, 176, 151, 0.3);
    box-shadow: 0 24px 48px -34px rgba(0, 0, 0, 0.95);
}

html.fate-theme-graphite .card-visual {
    aspect-ratio: 3 / 2;
    background: var(--gx-surface-2);
}

html.fate-theme-graphite .card-visual__link {
    overflow: hidden;
}

html.fate-theme-graphite .card-visual__link img {
    transition: transform 0.7s var(--gx-ease), opacity 0.3s var(--gx-ease);
}

html.fate-theme-graphite .card-visual__link:hover img {
    transform: scale(1.04);
    opacity: 1;
}

html.fate-theme-graphite .card-visual .ph {
    font-size: 0.66rem;
    letter-spacing: 0.24em;
    color: var(--gx-faint);
}

/* 評分徽章：玻璃質感、深底淺字，不用白底（白底在輕度黑上太吵） */
html.fate-theme-graphite .badge-rating {
    top: 0.6rem;
    right: 0.6rem;
    border-radius: 999px;
    border: 1px solid rgba(234, 231, 225, 0.16);
    background: rgba(15, 17, 20, 0.72);
    color: var(--gx-ivory);
    padding: 0.24rem 0.58rem;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    box-shadow: none;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

html.fate-theme-graphite .badge-rating__star {
    color: var(--gx-brass);
    font-size: 0.74rem;
}

html.fate-theme-graphite .badge-rating__cnt {
    color: var(--gx-ivory-dim);
    opacity: 0.66;
    font-weight: 400;
}

html.fate-theme-graphite .card-body {
    padding: 1rem 1.1rem 1.15rem;
    gap: 0.46rem;
}

html.fate-theme-graphite .card-body h2 {
    font-size: 0.99rem;
    font-weight: 550;
    line-height: 1.4;
    letter-spacing: 0.012em;
}

html.fate-theme-graphite .card-body h2 a:hover {
    color: var(--gx-brass-bright);
}

html.fate-theme-graphite .card-rating-row {
    font-size: 0.76rem;
    gap: 0.3rem 0.4rem;
}

html.fate-theme-graphite .card-rating-row__star {
    color: var(--gx-brass);
}

html.fate-theme-graphite .card-rating-row__score {
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--gx-ivory);
}

html.fate-theme-graphite .card-rating-row__brand {
    color: var(--gx-faint);
    border: 1px solid var(--gx-line);
    background: transparent;
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    border-radius: 999px;
    padding: 0.04rem 0.42rem;
}

html.fate-theme-graphite .card-rating-row__cnt {
    font-size: 0.7rem;
    color: var(--gx-faint);
}

html.fate-theme-graphite .meta-line {
    font-size: 0.75rem;
    line-height: 1.6;
    color: var(--gx-mute);
}

html.fate-theme-graphite .card-foot {
    margin-top: auto;
    padding-top: 0.7rem;
    border-top: 1px solid var(--gx-line);
    font-size: 0.66rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gx-faint);
}

html.fate-theme-graphite .card-foot a {
    color: var(--gx-brass);
    font-weight: 500;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
}

html.fate-theme-graphite .card-foot a:hover {
    color: var(--gx-brass-bright);
    text-decoration: none;
}

/* ── 本週熱門輪播：拉高、標題放大，當作首頁門面 ───────────── */
html.fate-theme-graphite .fate-weekly-slider {
    margin-bottom: 2.1rem;
}

html.fate-theme-graphite .fate-weekly-slider__head {
    align-items: flex-end;
    margin-bottom: 0.85rem;
}

html.fate-theme-graphite .fate-weekly-slider__label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gx-brass);
    line-height: 1.5;
}

html.fate-theme-graphite .fate-weekly-slider__sub {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    color: var(--gx-faint);
}

html.fate-theme-graphite .fate-weekly-slider__counter {
    padding: 0 0 0.2rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    color: var(--gx-faint);
}

html.fate-theme-graphite .fate-weekly-slider__viewport {
    height: clamp(210px, 32vw, 330px);
    border: 1px solid var(--gx-line);
    border-radius: var(--gx-r-lg);
    background: var(--gx-surface-2);
    box-shadow: none;
}

html.fate-theme-graphite .fate-weekly-slider__cover {
    background: var(--gx-surface-2);
}

html.fate-theme-graphite .fate-weekly-slider__overlay {
    background: linear-gradient(180deg, rgba(15, 17, 20, 0.04) 0%, rgba(15, 17, 20, 0.34) 48%, rgba(15, 17, 20, 0.93) 100%);
}

html.fate-theme-graphite .fate-weekly-slider__content {
    padding: 1.3rem 1.6rem 1.45rem;
}

html.fate-theme-graphite .fate-weekly-slider__kicker {
    gap: 0.4rem 0.5rem;
    margin-bottom: 0.45rem;
}

html.fate-theme-graphite .fate-weekly-slider__rank {
    min-width: 0;
    height: auto;
    padding: 0.16rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(194, 176, 151, 0.58);
    background: transparent;
    color: var(--gx-brass);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    box-shadow: none;
}

html.fate-theme-graphite .fate-weekly-slider__badge {
    border-radius: 999px;
    border: 1px solid rgba(234, 231, 225, 0.18);
    background: rgba(15, 17, 20, 0.42);
    color: var(--gx-ivory-dim);
    font-size: 0.58rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    padding: 0.14rem 0.5rem;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html.fate-theme-graphite .fate-weekly-slider__title {
    font-size: clamp(1.25rem, 2.6vw, 1.9rem);
    font-weight: 500;
    letter-spacing: 0.015em;
    line-height: 1.28;
    text-shadow: none;
}

html.fate-theme-graphite .fate-weekly-slider__meta {
    gap: 0.3rem 1rem;
    margin-top: 0.45rem;
    font-size: 0.72rem;
    letter-spacing: 0.03em;
    color: rgba(234, 231, 225, 0.72);
    text-shadow: none;
}

html.fate-theme-graphite .fate-weekly-slider__meta-k {
    opacity: 0.52;
    margin-right: 0.3rem;
    letter-spacing: 0.08em;
}

html.fate-theme-graphite .fate-weekly-slider__cta {
    display: inline-block;
    margin-top: 0.8rem;
    font-size: 0.66rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gx-brass);
}

html.fate-theme-graphite .fate-weekly-slider__nav {
    width: 2.3rem;
    height: 2.3rem;
    border: 1px solid rgba(234, 231, 225, 0.22);
    background: rgba(15, 17, 20, 0.5);
    color: var(--gx-ivory);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

html.fate-theme-graphite .fate-weekly-slider__nav:hover {
    border-color: var(--gx-brass);
    background: rgba(194, 176, 151, 0.14);
    color: var(--gx-brass-bright);
}

html.fate-theme-graphite .fate-weekly-slider__dot {
    background: rgba(234, 231, 225, 0.26);
}

html.fate-theme-graphite .fate-weekly-slider__dot.is-active {
    background: var(--gx-brass);
}

/* ── 側欄：去卡片化，改成髮絲線分隔的專欄 ─────────────────── */
html.fate-theme-graphite .sidebar-card {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--gx-line);
    border-radius: 0;
    box-shadow: none;
    padding: 1.15rem 0 0;
}

html.fate-theme-graphite .sidebar-card--member {
    background: var(--gx-surface);
    border: 1px solid var(--gx-line);
    border-radius: 14px;
    padding: 1rem 1.05rem;
}

html.fate-theme-graphite .sidebar-title {
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gx-faint);
    border-bottom: 1px solid var(--gx-line);
    padding-bottom: 0.65rem;
    margin-bottom: 0.8rem;
}

html.fate-theme-graphite .sidebar-btn,
html.fate-theme-graphite .sidebar-submit {
    border-radius: 999px;
    border: 1px solid var(--gx-line-2);
    background: transparent;
    color: var(--gx-ivory-dim);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0.52rem 0.9rem;
    transition: border-color 0.2s var(--gx-ease), color 0.2s var(--gx-ease), background-color 0.2s var(--gx-ease);
}

html.fate-theme-graphite .sidebar-btn:hover,
html.fate-theme-graphite .sidebar-submit:hover {
    border-color: rgba(194, 176, 151, 0.5);
    background: rgba(194, 176, 151, 0.07);
    color: var(--gx-brass-bright);
}

html.fate-theme-graphite .sidebar-btn--ghost {
    border-color: var(--gx-line);
    color: var(--gx-mute);
    background: transparent;
}

html.fate-theme-graphite .sidebar-search,
html.fate-theme-graphite .sidebar-search input {
    border-radius: 999px;
    background: var(--gx-ink-2);
    border: 1px solid var(--gx-line-2);
}

html.fate-theme-graphite .sidebar-user-name {
    font-size: 0.94rem;
    font-weight: 500;
    letter-spacing: 0.02em;
}

html.fate-theme-graphite .sidebar-user-ncoin__amount {
    color: var(--gx-brass);
}

html.fate-theme-graphite .sidebar-avatar {
    border: 1px solid var(--gx-line-2);
}

html.fate-theme-graphite .sidebar-avatar--empty {
    background: var(--gx-surface-2);
    color: var(--gx-faint);
}

/* ── 頁尾 ─────────────────────────────────────────────────── */
html.fate-theme-graphite .fate-site-footer {
    border-top: 1px solid var(--gx-line);
    color: var(--gx-faint);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    padding: 2.1rem 2rem 2.5rem;
}

html.fate-theme-graphite .fate-site-footer__stats {
    color: var(--gx-faint);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}

html.fate-theme-graphite .fate-site-footer__stats-num {
    color: var(--gx-ivory-dim);
    font-weight: 500;
}

/* ── 分頁 ─────────────────────────────────────────────────── */
html.fate-theme-graphite .pager {
    gap: 0.5rem;
    padding-top: 0.4rem;
}

html.fate-theme-graphite .pager a,
html.fate-theme-graphite .pager span {
    border-radius: 999px;
    border: 1px solid var(--gx-line-2);
    background: transparent;
    color: var(--gx-mute);
    padding: 0.38rem 0.85rem;
    font-size: 0.74rem;
    letter-spacing: 0.06em;
}

html.fate-theme-graphite .pager a:hover {
    border-color: rgba(194, 176, 151, 0.5);
    color: var(--gx-brass-bright);
}

html.fate-theme-graphite .pager span.cur {
    border-color: var(--gx-brass);
    background: rgba(194, 176, 151, 0.08);
    color: var(--gx-ivory);
}

/* ── 空狀態 ───────────────────────────────────────────────── */
html.fate-theme-graphite .empty {
    border: 1px dashed var(--gx-line-2);
    border-radius: var(--gx-r);
    background: transparent;
    color: var(--gx-mute);
    font-size: 0.84rem;
    line-height: 1.7;
    padding: 2.2rem 1.5rem;
}

html.fate-theme-graphite .empty code {
    color: var(--gx-brass);
}

/* ══════════════════════════════════════════════════════════
   店家詳情頁
   ══════════════════════════════════════════════════════════ */
html.fate-theme-graphite .store-bc {
    font-size: 0.68rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gx-faint);
    margin-bottom: 1.3rem;
}

html.fate-theme-graphite .store-bc a {
    color: var(--gx-mute);
    text-decoration: none;
}

html.fate-theme-graphite .store-bc a:hover {
    color: var(--gx-brass);
}

html.fate-theme-graphite .store-bc__sep {
    opacity: 0.4;
    margin: 0 0.5rem;
}

html.fate-theme-graphite .store-card-fate {
    background: var(--gx-surface);
    border: 1px solid var(--gx-line);
    border-radius: var(--gx-r-lg);
    box-shadow: none;
}

html.fate-theme-graphite .store-card-fate__cover {
    aspect-ratio: 16 / 7.4;
    background: var(--gx-surface-2);
    border-bottom: 1px solid var(--gx-line);
}

html.fate-theme-graphite .store-card-fate__cover--empty {
    font-size: 0.66rem;
    letter-spacing: 0.24em;
    color: var(--gx-faint);
}

html.fate-theme-graphite .store-card-fate__body,
html.fate-theme-graphite .store-card-fate--photos,
html.fate-theme-graphite .store-card-fate--block {
    padding: 1.45rem 1.55rem 1.55rem;
}

html.fate-theme-graphite .store-header-row-fate {
    border-bottom: 1px solid var(--gx-line);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

html.fate-theme-graphite .store-title-fate {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 500;
    letter-spacing: 0.012em;
    line-height: 1.3;
}

html.fate-theme-graphite .store-sub-fate {
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    color: var(--gx-mute);
}

html.fate-theme-graphite .store-rating-fate {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--gx-ivory-dim);
}

html.fate-theme-graphite .store-rating-fate__star {
    color: var(--gx-brass);
}

html.fate-theme-graphite .store-listing-badge {
    border-radius: 999px;
    border: 1px solid rgba(194, 176, 151, 0.3);
    background: rgba(194, 176, 151, 0.08);
    color: var(--gx-brass);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

html.fate-theme-graphite .store-info-item-fate__glyph {
    color: var(--gx-brass);
}

html.fate-theme-graphite .store-info-item-fate {
    border-color: var(--gx-line);
}

html.fate-theme-graphite .store-hours-list,
html.fate-theme-graphite .store-detail p,
html.fate-theme-graphite .store-detail li {
    color: var(--gx-mute);
}

html.fate-theme-graphite .store-meta-foot {
    border-top: 1px solid var(--gx-line);
    color: var(--gx-faint);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
}

html.fate-theme-graphite .store-panel {
    background: var(--gx-surface);
    border: 1px solid var(--gx-line);
    border-radius: var(--gx-r);
    box-shadow: none;
    color: var(--gx-mute);
}

html.fate-theme-graphite .store-panel--warn {
    border-color: rgba(196, 115, 107, 0.4);
    color: #d8a49e;
}

/* 分頁：底線式，不用膠囊／方塊 */
html.fate-theme-graphite .store-extra-tabs {
    margin-top: 1.5rem;
}

html.fate-theme-graphite .store-extra-tabs > .store-tabs {
    gap: 1.7rem;
    padding: 0;
    border-bottom: 1px solid var(--gx-line);
    background: transparent;
}

html.fate-theme-graphite .store-tabs__btn {
    padding: 0.85rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--gx-faint);
    font-size: 0.76rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    margin-bottom: 0;
    position: relative;
}

html.fate-theme-graphite .store-tabs__btn:hover {
    color: var(--gx-ivory-dim);
    background: transparent;
}

html.fate-theme-graphite .store-tabs__btn.is-active {
    color: var(--gx-ivory);
    background: transparent;
    border: 0;
}

html.fate-theme-graphite .store-tabs__btn.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: var(--gx-brass);
}

html.fate-theme-graphite .store-tabs__badge {
    margin-left: 0.4rem;
    padding: 0.04rem 0.42rem;
    border: 1px solid var(--gx-line-2);
    border-radius: 999px;
    background: transparent;
    color: var(--gx-brass);
    font-size: 0.64rem;
    font-weight: 500;
    letter-spacing: 0.06em;
}

html.fate-theme-graphite .store-tab-panel__inner {
    padding: 1.4rem 0 1.7rem;
}

html.fate-theme-graphite .store-section-fate-h {
    font-size: 1.02rem;
    font-weight: 500;
    letter-spacing: 0.06em;
}

html.fate-theme-graphite .store-section-fate-h__count {
    color: var(--gx-brass);
}

/* 技師卡與標籤 */
html.fate-theme-graphite .store-masseur-cards {
    gap: 0.9rem;
}

html.fate-theme-graphite .store-masseur-card {
    background: var(--gx-ink-2);
    border: 1px solid var(--gx-line);
    border-radius: 14px;
}

html.fate-theme-graphite .store-masseur-card__avatar {
    border-radius: 10px;
    border: 1px solid var(--gx-line);
    overflow: hidden;
}

html.fate-theme-graphite .store-masseur-card__name {
    font-weight: 500;
    letter-spacing: 0.03em;
}

html.fate-theme-graphite .store-masseur-card__tenure,
html.fate-theme-graphite .store-masseur-card__gender {
    color: var(--gx-faint);
    border-color: var(--gx-line);
    background: transparent;
}

html.fate-theme-graphite .masseur-tag {
    border-radius: 999px;
    border: 1px solid var(--gx-line-2);
    background: transparent;
    color: var(--gx-ivory-dim);
    font-size: 0.74rem;
    font-weight: 400;
    letter-spacing: 0.02em;
}

html.fate-theme-graphite .masseur-tag.has-count,
html.fate-theme-graphite .masseur-tag.is-picked {
    border-color: rgba(194, 176, 151, 0.42);
    background: rgba(194, 176, 151, 0.07);
    color: var(--gx-brass-bright);
}

html.fate-theme-graphite .masseur-tag__n {
    color: var(--gx-brass);
    font-weight: 500;
}

html.fate-theme-graphite .masseur-tags__more-summary,
html.fate-theme-graphite .masseur-reviews-summary,
html.fate-theme-graphite .store-masseur-offline__summary {
    border: 1px solid var(--gx-line-2);
    border-radius: 999px;
    background: transparent;
    color: var(--gx-brass);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    padding: 0.38rem 0.8rem;
}

html.fate-theme-graphite .masseur-tags__more-summary:hover,
html.fate-theme-graphite .masseur-reviews-summary:hover,
html.fate-theme-graphite .store-masseur-offline__summary:hover {
    border-color: rgba(194, 176, 151, 0.5);
    background: rgba(194, 176, 151, 0.06);
}

html.fate-theme-graphite .store-masseur-act__btn {
    border-radius: 999px;
    border: 1px solid var(--gx-line-2);
    background: transparent;
    color: var(--gx-mute);
}

html.fate-theme-graphite .store-masseur-act__btn:hover,
html.fate-theme-graphite .store-masseur-act__btn.is-active {
    border-color: rgba(194, 176, 151, 0.5);
    background: rgba(194, 176, 151, 0.08);
    color: var(--gx-brass-bright);
}

html.fate-theme-graphite .store-masseur-tab__hint,
html.fate-theme-graphite .masseur-formal-locked {
    color: var(--gx-faint);
    font-size: 0.74rem;
}

/* 照片牆 */
html.fate-theme-graphite .store-photos-tab img,
html.fate-theme-graphite .store-photo-grid img {
    border-radius: 8px;
    border: 1px solid var(--gx-line);
}

/* 評論 */
html.fate-theme-graphite .store-google-reviews,
html.fate-theme-graphite .store-reviews {
    color: var(--gx-mute);
}

html.fate-theme-graphite .store-review-item,
html.fate-theme-graphite .store-google-review {
    border-top: 1px solid var(--gx-line);
}

/* ── 通用按鈕 ─────────────────────────────────────────────── */
html.fate-theme-graphite .store-btn,
html.fate-theme-graphite .member-profile-btn,
html.fate-theme-graphite .masseur-btn,
html.fate-theme-graphite .forum-btn {
    border-radius: 999px;
    border: 1px solid var(--gx-line-2);
    background: transparent;
    color: var(--gx-ivory-dim);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0.52rem 1.05rem;
    transition: border-color 0.2s var(--gx-ease), color 0.2s var(--gx-ease), background-color 0.2s var(--gx-ease);
}

html.fate-theme-graphite .store-btn:hover,
html.fate-theme-graphite .member-profile-btn:hover,
html.fate-theme-graphite .masseur-btn:hover,
html.fate-theme-graphite .forum-btn:hover {
    border-color: rgba(194, 176, 151, 0.5);
    background: rgba(194, 176, 151, 0.07);
    color: var(--gx-brass-bright);
}

html.fate-theme-graphite .store-btn--primary,
html.fate-theme-graphite .member-profile-btn--primary,
html.fate-theme-graphite .masseur-btn--primary,
html.fate-theme-graphite .forum-btn--primary {
    border-color: var(--gx-brass);
    background: var(--gx-brass);
    color: #14120f;
}

html.fate-theme-graphite .store-btn--primary:hover,
html.fate-theme-graphite .member-profile-btn--primary:hover,
html.fate-theme-graphite .masseur-btn--primary:hover,
html.fate-theme-graphite .forum-btn--primary:hover {
    border-color: var(--gx-brass-bright);
    background: var(--gx-brass-bright);
    color: #14120f;
}

html.fate-theme-graphite .masseur-btn--danger {
    border-color: rgba(196, 115, 107, 0.45);
    color: #d8a49e;
    background: transparent;
}

/* ── 會員中心／認證頁 ─────────────────────────────────────── */
html.fate-theme-graphite .member-profile-panel,
html.fate-theme-graphite .member-profile-card,
html.fate-theme-graphite .fate-auth-card,
html.fate-theme-graphite .member-fav-card {
    background: var(--gx-surface);
    border: 1px solid var(--gx-line);
    border-radius: 14px;
    box-shadow: none;
}

html.fate-theme-graphite .fate-auth-page__title {
    font-weight: 500;
    letter-spacing: 0.04em;
}

html.fate-theme-graphite .member-profile-tabs__btn.is-active,
html.fate-theme-graphite .masseur-tabs__btn.is-active {
    color: var(--gx-brass);
}

/* ── 論壇（站台主題載入後，覆寫 forum.css 的單一 class 規則） ── */
html.fate-theme-graphite .forum-panel {
    background: var(--gx-surface);
    border: 1px solid var(--gx-line);
    border-radius: var(--gx-r-lg);
    box-shadow: none;
}

html.fate-theme-graphite .forum-panel__head {
    border-bottom: 1px solid var(--gx-line);
}

html.fate-theme-graphite .forum-section-tabs {
    gap: 0.5rem;
}

html.fate-theme-graphite .forum-section-tabs__btn {
    border-radius: 999px;
    border: 1px solid var(--gx-line-2);
    background: transparent;
    color: var(--gx-mute);
    font-weight: 500;
    letter-spacing: 0.04em;
}

html.fate-theme-graphite .forum-section-tabs__btn.is-active {
    border-color: var(--gx-brass);
    background: var(--gx-brass);
    color: #14120f;
}

html.fate-theme-graphite .forum-tag {
    border-radius: 999px;
    letter-spacing: 0.03em;
}

html.fate-theme-graphite .forum-thread-item {
    border-color: var(--gx-line);
}

html.fate-theme-graphite .forum-thread-head {
    border-bottom: 1px solid var(--gx-line);
}

html.fate-theme-graphite .forum-notice-modal__dialog {
    border-radius: var(--gx-r-lg);
    box-shadow: 0 40px 90px -40px rgba(0, 0, 0, 0.95);
}

/* ── 社群首頁：石墨刊頭 ───────────────────────────────────── */
html.fate-theme-graphite .fate-home-masthead {
    padding: 2.1rem 0 1.5rem;
}

html.fate-theme-graphite .fate-home-masthead__top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

html.fate-theme-graphite .fate-home-masthead__eyebrow,
html.fate-theme-graphite .fate-home-masthead__place {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--gx-mute);
    white-space: nowrap;
}

html.fate-theme-graphite .fate-home-masthead__title {
    margin: 0.55rem 0 0.15rem;
    font-family: var(--gx-serif);
    font-size: clamp(2.1rem, 5vw, 3.35rem);
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: 0.26em;
    color: var(--gx-ivory);
    text-shadow: 0 0 40px rgba(194, 176, 151, 0.08);
}

html.fate-theme-graphite .fate-home-masthead__sub {
    margin: 0 0 1.15rem;
    font-size: 0.78rem;
    font-weight: 400;
    letter-spacing: 0.34em;
    color: var(--gx-mute);
}

html.fate-theme-graphite .fate-home-masthead__rule {
    display: block;
    height: 1px;
    background: linear-gradient(90deg, rgba(194, 176, 151, 0.6) 0%, rgba(194, 176, 151, 0.16) 34%, transparent 72%);
}

/* 刊頭只在主欄，側欄下移對齊精選卡（大螢幕才需要；單欄時側欄在下方） */
@media (min-width: 961px) {
    html.fate-theme-graphite .layout--community > .layout-sidebar {
        padding-top: 12.45rem;
    }
}

/* ── 社群首頁：精選輪播／最新技師／最新店家 ───────────────── */
html.fate-theme-graphite .fate-home-tabs {
    background: var(--gx-surface);
    border: 1px solid var(--gx-line);
    border-radius: var(--gx-r-lg);
    box-shadow: none;
}

html.fate-theme-graphite .fate-home-tabs__head {
    padding: 0.9rem 1.25rem 0.75rem;
    border-bottom: 1px solid var(--gx-line);
}

html.fate-theme-graphite .fate-home-tabs__label,
html.fate-theme-graphite .fate-index-spotlight__label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gx-mute);
}

html.fate-theme-graphite .fate-home-tabs__label::before,
html.fate-theme-graphite .fate-index-spotlight__label::before {
    content: "";
    display: inline-block;
    width: 1.1rem;
    height: 1px;
    margin-right: 0.6rem;
    background: var(--gx-brass);
    vertical-align: middle;
}

html.fate-theme-graphite .fate-home-tabs__more,
html.fate-theme-graphite .fate-index-spotlight__more {
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gx-brass);
    text-decoration: none;
}

html.fate-theme-graphite .fate-home-tabs__more:hover,
html.fate-theme-graphite .fate-index-spotlight__more:hover {
    color: var(--gx-brass-bright);
    text-decoration: none;
}

/* 桌機：輪播面板、文案、底部頁籤（手機另有一套，見檔尾） */
@media (min-width: 768px) {
    html.fate-theme-graphite .fate-home-tabs__panels {
        min-height: clamp(17rem, 30vw, 21rem);
    }

    html.fate-theme-graphite .fate-home-tabs__panel {
        background: var(--gx-surface-2);
    }

    html.fate-theme-graphite .fate-home-tabs__image {
        filter: brightness(0.98) contrast(1.04) saturate(0.92);
    }

    html.fate-theme-graphite .fate-home-tabs__shade {
        background:
            linear-gradient(90deg, rgba(15, 17, 20, 0.86) 0%, rgba(15, 17, 20, 0.48) 48%, rgba(15, 17, 20, 0.08) 100%),
            linear-gradient(0deg, rgba(15, 17, 20, 0.62), transparent 68%);
    }

    html.fate-theme-graphite .fate-home-tabs__content {
        width: min(38rem, 92%);
        padding: clamp(1.15rem, 2.4vw, 1.9rem);
    }

    html.fate-theme-graphite .fate-home-tabs__eyebrow {
        color: var(--gx-brass);
        font-size: 0.64rem;
        font-weight: 500;
        letter-spacing: 0.22em;
        text-transform: uppercase;
    }

    html.fate-theme-graphite .fate-home-tabs__title {
        font-family: var(--gx-serif);
        font-size: clamp(1.35rem, 2.6vw, 2rem);
        font-weight: 400;
        line-height: 1.3;
        letter-spacing: 0.018em;
    }

    html.fate-theme-graphite .fate-home-tabs__excerpt {
        margin-top: 0.6rem;
        color: rgba(234, 231, 225, 0.72);
        font-size: 0.82rem;
        line-height: 1.65;
        letter-spacing: 0.015em;
    }

    html.fate-theme-graphite .fate-home-tabs__meta {
        color: var(--gx-faint);
        font-size: 0.7rem;
        letter-spacing: 0.06em;
    }

    html.fate-theme-graphite .fate-home-tabs__paid {
        border: 1px solid rgba(194, 176, 151, 0.4);
        border-radius: 999px;
        color: var(--gx-brass);
        padding: 0.04rem 0.42rem;
        font-size: 0.64rem;
        letter-spacing: 0.08em;
    }

    html.fate-theme-graphite .fate-home-tabs__read {
        margin-top: 0.85rem;
        padding-bottom: 0.2rem;
        border-bottom: 1px solid var(--gx-brass);
        color: var(--gx-ivory);
        font-size: 0.7rem;
        font-weight: 500;
        letter-spacing: 0.18em;
        text-transform: uppercase;
    }

    html.fate-theme-graphite .fate-home-tabs__read:hover {
        color: var(--gx-brass-bright);
    }

    html.fate-theme-graphite .fate-home-tabs__bar {
        border-top: 1px solid var(--gx-line);
    }

    html.fate-theme-graphite .fate-home-tabs__tab {
        border-right: 1px solid var(--gx-line);
        color: var(--gx-mute);
    }

    html.fate-theme-graphite .fate-home-tabs__tab.is-active {
        background: rgba(194, 176, 151, 0.055);
        color: var(--gx-ivory);
    }

    html.fate-theme-graphite .fate-home-tabs__tab-n {
        color: var(--gx-brass);
        font-size: 0.62rem;
        letter-spacing: 0.12em;
    }

    html.fate-theme-graphite .fate-home-tabs__tab-title {
        font-size: 0.74rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }

    html.fate-theme-graphite .fate-home-tabs__toggle {
        border-left: 1px solid var(--gx-line);
        color: var(--gx-mute);
        font-size: 0.68rem;
        letter-spacing: 0.1em;
    }

    html.fate-theme-graphite .fate-home-tabs__toggle:hover {
        color: var(--gx-brass);
    }
}

/* 最新技師／精選文：小卡改成平面髮絲線 */
html.fate-theme-graphite .fate-index-stream__item {
    border-bottom: 1px solid var(--gx-line);
    padding: 0.9rem 0;
}

html.fate-theme-graphite .fate-index-stream__n {
    color: var(--gx-brass);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
}

html.fate-theme-graphite .fate-index-stream__title {
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.015em;
}

html.fate-theme-graphite .fate-index-stream__meta {
    font-size: 0.72rem;
    color: var(--gx-faint);
    letter-spacing: 0.03em;
}

html.fate-theme-graphite .fate-index-stream__item--masseur,
html.fate-theme-graphite .fate-index-stream__item--featured {
    background: var(--gx-ink-2);
    border: 1px solid var(--gx-line);
    border-radius: 12px;
    padding: 0;
}

html.fate-theme-graphite .fate-index-stream__item--masseur:hover,
html.fate-theme-graphite .fate-index-stream__item--featured:hover {
    border-color: rgba(194, 176, 151, 0.32);
    background: var(--gx-surface);
}

html.fate-theme-graphite .fate-index-stream__avatar,
html.fate-theme-graphite .fate-index-stream__thumb {
    border-radius: 8px;
    border: 1px solid var(--gx-line);
    background: var(--gx-surface-2);
    filter: saturate(0.94);
}

html.fate-theme-graphite .fate-index-stream__avatar--fallback {
    color: var(--gx-faint);
}

html.fate-theme-graphite .fate-index-stream__excerpt {
    color: var(--gx-mute);
    font-size: 0.7rem;
    letter-spacing: 0.02em;
}

/* 最新登錄店家 */
html.fate-theme-graphite .fate-latest-store {
    background: var(--gx-ink-2);
    border: 1px solid var(--gx-line);
    border-radius: 12px;
    box-shadow: none;
}

html.fate-theme-graphite .fate-latest-store:hover {
    border-color: rgba(194, 176, 151, 0.32);
    transform: translateY(-2px);
}

html.fate-theme-graphite .fate-latest-store__visual {
    aspect-ratio: 16 / 10;
    background: var(--gx-surface-2);
}

html.fate-theme-graphite .fate-latest-store__cover {
    filter: saturate(0.94) contrast(1.03);
    transition: transform 0.7s var(--gx-ease);
}

html.fate-theme-graphite .fate-latest-store:hover .fate-latest-store__cover {
    transform: scale(1.04);
}

html.fate-theme-graphite .fate-latest-store__kind {
    border-radius: 999px;
    background: rgba(15, 17, 20, 0.72);
    border: 1px solid rgba(234, 231, 225, 0.16);
    color: var(--gx-ivory);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    padding: 0.14rem 0.48rem;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

html.fate-theme-graphite .fate-latest-store--mobile .fate-latest-store__kind {
    background: rgba(15, 17, 20, 0.72);
    color: var(--gx-brass);
    border-color: rgba(194, 176, 151, 0.32);
}

html.fate-theme-graphite .fate-latest-store__body {
    padding: 0.7rem 0.8rem 0.8rem;
    gap: 0.3rem;
}

html.fate-theme-graphite .fate-latest-store__name {
    font-size: 0.86rem;
    font-weight: 500;
    letter-spacing: 0.015em;
}

html.fate-theme-graphite .fate-latest-store__loc {
    font-size: 0.7rem;
    color: var(--gx-faint);
    letter-spacing: 0.03em;
}

/* ── 手機 ─────────────────────────────────────────────────── */
@media (max-width: 960px) {
    html.fate-theme-graphite .layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    html.fate-theme-graphite .layout-sidebar {
        position: static;
    }
}

@media (max-width: 767px) {
    html.fate-theme-graphite .layout-shell {
        padding: 0 1rem 0.35rem;
    }

    html.fate-theme-graphite .hero {
        padding: 1.25rem 0 0.9rem;
        margin-bottom: 1.1rem;
    }

    html.fate-theme-graphite .hero::before {
        margin-bottom: 0.9rem;
    }

    html.fate-theme-graphite .grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.7rem;
        padding-bottom: 1.8rem;
    }

    html.fate-theme-graphite .card {
        border-radius: 10px;
    }

    html.fate-theme-graphite .card-visual {
        aspect-ratio: 1 / 1;
    }

    html.fate-theme-graphite .badge-rating {
        top: 0.4rem;
        right: 0.4rem;
        padding: 0.2rem 0.45rem;
        font-size: 0.64rem;
    }

    html.fate-theme-graphite .card-body {
        padding: 0.72rem 0.78rem 0.82rem;
        gap: 0.32rem;
    }

    html.fate-theme-graphite .card-body h2 {
        font-size: 0.88rem;
    }

    html.fate-theme-graphite .meta-line {
        font-size: 0.7rem;
        line-height: 1.5;
    }

    html.fate-theme-graphite .card-foot {
        padding-top: 0.5rem;
        font-size: 0.6rem;
    }

    html.fate-theme-graphite .card-foot a {
        font-size: 0.62rem;
    }

    html.fate-theme-graphite .fate-weekly-slider {
        margin-bottom: 1.4rem;
    }

    html.fate-theme-graphite .fate-weekly-slider__viewport {
        height: 205px;
        border-radius: 12px;
    }

    html.fate-theme-graphite .fate-weekly-slider__content {
        padding: 0.95rem 1rem 1.05rem;
    }

    html.fate-theme-graphite .fate-weekly-slider__title {
        font-size: 1.18rem;
    }

    html.fate-theme-graphite .fate-weekly-slider__cta {
        display: none;
    }

    html.fate-theme-graphite .store-card-fate {
        border-radius: 14px;
    }

    html.fate-theme-graphite .store-card-fate__cover {
        aspect-ratio: 16 / 9;
    }

    html.fate-theme-graphite .store-card-fate__body,
    html.fate-theme-graphite .store-card-fate--photos,
    html.fate-theme-graphite .store-card-fate--block {
        padding: 1.05rem 1rem 1.15rem;
    }

    html.fate-theme-graphite .store-extra-tabs > .store-tabs {
        gap: 1.15rem;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    html.fate-theme-graphite .store-extra-tabs > .store-tabs::-webkit-scrollbar {
        display: none;
    }

    html.fate-theme-graphite .store-tabs__btn {
        flex-shrink: 0;
        white-space: nowrap;
        font-size: 0.72rem;
        letter-spacing: 0.06em;
        padding: 0.72rem 0;
    }

    html.fate-theme-graphite .store-tab-panel__inner {
        padding: 1.05rem 0 1.25rem;
    }

    /* 社群首頁：手機維持圓點頁籤與底部浮層，只換成石墨配色 */
    html.fate-theme-graphite .fate-home-masthead {
        padding: 1.35rem 0 1.05rem;
    }

    html.fate-theme-graphite .fate-home-masthead__place {
        display: none;
    }

    html.fate-theme-graphite .fate-home-masthead__eyebrow {
        font-size: 0.72rem;
        letter-spacing: 0.22em;
    }

    html.fate-theme-graphite .fate-home-masthead__title {
        margin-top: 0.45rem;
        font-size: clamp(1.85rem, 9vw, 2.35rem);
        letter-spacing: 0.2em;
    }

    html.fate-theme-graphite .fate-home-masthead__sub {
        margin-bottom: 0.85rem;
        font-size: 0.7rem;
        letter-spacing: 0.28em;
    }

    html.fate-theme-graphite .fate-home-tabs {
        border-radius: 14px;
    }

    html.fate-theme-graphite .fate-home-tabs__head {
        padding: 0.75rem 0.95rem 0.65rem;
    }

    html.fate-theme-graphite .fate-home-tabs__panels {
        min-height: clamp(17.2rem, 64vw, 22.5rem);
    }

    html.fate-theme-graphite .fate-home-tabs__shade {
        background:
            linear-gradient(180deg, rgba(15, 17, 20, 0.5) 0%, rgba(15, 17, 20, 0.16) 30%, rgba(15, 17, 20, 0.62) 64%, rgba(15, 17, 20, 0.92) 100%);
    }

    html.fate-theme-graphite .fate-home-tabs__content {
        width: 100%;
        padding: 3.1rem 0.95rem 2.35rem;
    }

    html.fate-theme-graphite .fate-home-tabs__title {
        font-family: var(--gx-serif);
        color: var(--gx-ivory);
        font-size: clamp(1.28rem, 6vw, 1.68rem);
        font-weight: 400;
        line-height: 1.26;
        letter-spacing: 0.018em;
        text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
    }

    html.fate-theme-graphite .fate-home-tabs__excerpt {
        margin: 0.42rem 0 0;
        color: rgba(234, 231, 225, 0.8);
        font-size: 0.8rem;
        line-height: 1.5;
        letter-spacing: 0.015em;
        text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
    }

    html.fate-theme-graphite .fate-home-tabs__read {
        margin-top: 0.55rem;
        padding: 0 0 0.28rem;
        border: 0;
        border-bottom: 1px solid var(--gx-brass);
        border-radius: 0;
        background: none;
        color: var(--gx-ivory);
        font-size: 0.68rem;
        font-weight: 500;
        letter-spacing: 0.18em;
        text-transform: uppercase;
    }

    html.fate-theme-graphite .fate-home-tabs__tab {
        flex: 0 0 auto;
        width: 0.42rem;
        height: 0.42rem;
        min-width: 0;
        min-height: 0;
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 999px;
        background: rgba(234, 231, 225, 0.34);
        font-size: 0;
        line-height: 0;
    }

    html.fate-theme-graphite .fate-home-tabs__tab::after {
        display: none;
    }

    html.fate-theme-graphite .fate-home-tabs__tab.is-active {
        width: 1.2rem;
        background: var(--gx-brass);
        box-shadow: 0 0 0 3px rgba(194, 176, 151, 0.18);
    }

    html.fate-theme-graphite .fate-home-tabs__toggle {
        min-width: 0;
        padding: 0.22rem 0.62rem;
        border: 1px solid var(--gx-line-2);
        border-radius: 999px;
        background: rgba(15, 17, 20, 0.55);
        color: var(--gx-ivory);
        font-size: 0.66rem;
        letter-spacing: 0.08em;
    }

    html.fate-theme-graphite .fate-site-footer {
        padding: 1.5rem 1rem 2rem;
        font-size: 0.68rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.fate-theme-graphite *,
    html.fate-theme-graphite *::before,
    html.fate-theme-graphite *::after {
        transition-duration: 0.001ms !important;
        animation-duration: 0.001ms !important;
    }
}
