:root{
  --bg:#F6F5F2; --panel:#FFFFFF; --panel-2:#FBFAF8;
  --ink:#232220; --ink-muted:#6B6862; --ink-faint:#9B968D;
  --rule:#E4E1D9; --rule-strong:#D3CFC3;
  --accent:#4B3F72; --accent-ink:#FFFFFF; --accent-soft:rgba(75,63,114,0.08);
  --accent-soft-strong:rgba(75,63,114,0.14); --accent-ink-soft:rgba(255,255,255,0.25);
  --radius-s:6px; --radius-m:10px; --radius-l:14px;
  --sidebar-w:296px;
  --reader-w:660px;
  color-scheme:light;
}

/* ============ dark mode ============ */
/* follows system preference automatically unless overridden by the toggle (data-theme, saved to localStorage) */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#171613; --panel:#221F1B; --panel-2:#1C1A17;
    --ink:#EDEAE2; --ink-muted:#A39D91; --ink-faint:#6E695F;
    --rule:#332F28; --rule-strong:#433E35;
    --accent:#A99BE8; --accent-ink:#171613; --accent-soft:rgba(169,155,232,0.14);
    --accent-soft-strong:rgba(169,155,232,0.22); --accent-ink-soft:rgba(0,0,0,0.18);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#171613; --panel:#221F1B; --panel-2:#1C1A17;
  --ink:#EDEAE2; --ink-muted:#A39D91; --ink-faint:#6E695F;
  --rule:#332F28; --rule-strong:#433E35;
  --accent:#A99BE8; --accent-ink:#171613; --accent-soft:rgba(169,155,232,0.14);
  --accent-soft-strong:rgba(169,155,232,0.22); --accent-ink-soft:rgba(0,0,0,0.18);
  color-scheme:dark;
}

body{transition:background-color .15s ease,color .15s ease;}
.archive-sidebar,.mobile-topbar,.rule-note,.faq-item,.vol-card,.char-card,.plane-card{transition:background-color .15s ease,border-color .15s ease,color .15s ease;}

.theme-toggle{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:32px;height:32px;border-radius:var(--radius-s);
  border:1px solid var(--rule);color:var(--ink-muted);background:var(--panel);
}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent);}
.sidebar-brand{position:relative;padding-right:56px;}
.sidebar-brand .theme-toggle{position:absolute;top:18px;right:18px;}
.mobile-topbar .theme-toggle{margin-left:auto;}

*{box-sizing:border-box;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Noto Sans Thai","Noto Serif Thai",system-ui,sans-serif;
  font-size:16px;line-height:1.7;
}
h1,h2,h3{font-family:"Noto Serif Thai","Fraunces",serif;margin:0;}
a{color:var(--accent);text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit;padding:0;}
img{max-width:100%;}

/* ============ shell / sidebar ============ */
.archive-shell{display:flex;min-height:100vh;min-height:100dvh;align-items:stretch;}

.mobile-topbar{
  display:none;position:sticky;top:0;z-index:20;align-items:center;gap:12px;
  padding:14px 18px;background:var(--panel);border-bottom:1px solid var(--rule);
}
.sidebar-toggle{
  display:flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:var(--radius-s);border:1px solid var(--rule);flex-shrink:0;
}
.sidebar-toggle:hover{border-color:var(--rule-strong);}
.mobile-topbar-title{font-family:"Fraunces",serif;font-weight:600;font-size:15px;}

.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(35,34,32,0.35);z-index:29;}

.archive-sidebar{
  width:var(--sidebar-w);flex-shrink:0;height:100vh;height:100dvh;position:sticky;top:0;
  background:var(--panel);border-right:1px solid var(--rule);
  display:flex;flex-direction:column;z-index:30;
}
.sidebar-brand{padding:22px 22px 16px;border-bottom:1px solid var(--rule);}
.sidebar-brand-link{font-family:"Fraunces",serif;font-weight:600;font-size:17px;color:var(--ink);}
.sidebar-brand-sub{margin:4px 0 0;font-size:11px;letter-spacing:0.07em;color:var(--ink-muted);text-transform:uppercase;}

.sidebar-search{padding:14px 18px 8px;}
.sidebar-search-box{
  display:flex;align-items:center;gap:8px;padding:9px 12px;
  background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius-s);
}
.sidebar-search-box svg{flex-shrink:0;color:var(--ink-faint);}
.sidebar-search-box input{
  border:none;background:none;outline:none;width:100%;font-size:12.5px;color:var(--ink);
  font-family:"Noto Sans Thai",sans-serif;
}
.sidebar-search-box input::placeholder{color:var(--ink-faint);}

.sidebar-shortcuts{padding:6px 10px 12px;margin:0 0 8px;display:flex;flex-direction:column;gap:1px;border-bottom:1px solid var(--rule);}
.shortcut-link{
  display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-s);
  font-size:12.5px;font-weight:600;color:var(--ink-muted);font-family:"Noto Sans Thai",sans-serif;
}
.shortcut-link svg{flex-shrink:0;color:var(--ink-faint);}
.shortcut-link:hover{background:var(--bg);color:var(--ink);}
.shortcut-link:hover svg{color:var(--ink-muted);}
.shortcut-link.is-active{background:var(--accent-soft);color:var(--accent);}
.shortcut-link.is-active svg{color:var(--accent);}

.rules-group{margin-top:10px;padding-top:12px;border-top:1px solid var(--rule);}
.rules-group .vol-head-label{display:flex;align-items:center;gap:7px;}
.rules-group .vol-head-label svg{flex-shrink:0;}
.rules-chapters{padding-left:20px;}
.rules-tier-label{
  margin:0;padding:10px 8px 3px;font-size:10px;font-weight:700;color:var(--ink-faint);
  text-transform:uppercase;letter-spacing:.05em;font-family:"Noto Sans Thai",sans-serif;
}
.rules-chapters > .rules-tier-label:first-child{padding-top:2px;}

.sidebar-nav{flex:1;overflow-y:auto;padding:8px 10px 20px;}
.sidebar-empty{padding:16px 12px;font-size:12.5px;color:var(--ink-muted);}

.vol-group{margin:0 0 2px;}
.vol-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
  padding:10px 10px;border-radius:var(--radius-s);text-align:left;
}
.vol-head:hover{background:var(--bg);}
.vol-group.is-active > .vol-head{background:var(--accent-soft);}
.vol-head-left{display:flex;align-items:center;gap:8px;min-width:0;}
.vol-head-chevron{flex-shrink:0;transition:transform .15s;color:var(--ink-faint);}
.vol-group.is-open .vol-head-chevron{transform:rotate(90deg);}
.vol-group.is-active .vol-head-chevron{color:var(--accent);}
.vol-head-label{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vol-group.is-active .vol-head-label{color:var(--accent);font-weight:700;}
.vol-head-count{font-size:11px;color:var(--ink-muted);flex-shrink:0;}
.vol-group.is-active .vol-head-count{color:var(--accent);}

.vol-chapters{padding-left:30px;display:flex;flex-direction:column;gap:1px;margin-top:2px;}
.vol-chapters[hidden]{display:none;}
.ch-row{
  display:block;padding:7px 8px;border-radius:5px;font-size:12.5px;color:var(--ink-muted);
  border-left:3px solid transparent;
}
.ch-row:hover{color:var(--ink);background:var(--bg);}
.ch-row.is-active{
  color:var(--accent);font-weight:700;background:var(--panel-2);
  border-left-color:var(--accent);
}
.ch-row-num{font-variant-numeric:tabular-nums;margin-right:4px;}

/* ============ main content ============ */
.archive-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.reader-col{max-width:var(--reader-w);width:100%;margin:0 auto;padding:52px 28px 0;flex:1;}
.library-col{max-width:920px;width:100%;margin:0 auto;padding:48px 32px 0;flex:1;}

.reader-footer,.archive-footer{padding:32px 24px 48px;text-align:center;color:var(--ink-muted);font-size:11.5px;}

/* breadcrumb / title / tags */
.breadcrumb{margin:0 0 12px;font-size:12.5px;color:var(--ink-muted);}
.breadcrumb a{color:var(--ink-muted);}
.breadcrumb a:hover{color:var(--accent);}
.breadcrumb-years{opacity:.85;}
.chapter-title{
  font-family:"Fraunces",serif;font-weight:600;
  font-size:clamp(26px,4.4vw,34px);line-height:1.22;margin:0 0 16px;color:var(--ink);
}
.tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;}
.tag-pill{
  font-size:11.5px;color:var(--accent);background:var(--accent-soft);
  border-radius:5px;padding:3px 9px;
}
.set-icon{width:20px;height:20px;opacity:.8;margin-right:-2px;}
.date-note{margin:-8px 0 20px;font-size:12.5px;color:var(--accent);font-weight:600;}

/* body copy */
.chapter-body{
  font-family:"Noto Serif Thai",serif;font-size:17.5px;line-height:1.95;color:var(--ink);letter-spacing:0.01em;
}
.chapter-body p{margin:0 0 22px;}
.chapter-body p:last-child{margin-bottom:0;}
.chapter-body p.drop-cap{position:relative;padding-top:22px;}
.chapter-body p.drop-cap::before{
  content:"";position:absolute;top:0;left:0;width:30px;height:3px;background:var(--accent);
}
.chapter-teaser{font-family:"Noto Serif Thai",serif;font-size:17.5px;line-height:1.95;color:var(--ink);letter-spacing:0.01em;margin:0 0 22px;}
.chapter-cta{
  display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;
  background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:14.5px;
  font-family:"Noto Sans Thai",sans-serif;
}
.chapter-cta:hover{opacity:.9;}

/* prev/next */
.chapter-nav{display:flex;gap:10px;margin-top:44px;padding-top:20px;border-top:1px solid var(--rule);}
.nav-btn{
  flex:1;padding:13px 15px;border:1px solid var(--rule);border-radius:var(--radius-m);
  color:var(--ink);font-family:"Noto Sans Thai",sans-serif;font-size:13.5px;font-weight:600;
  min-width:0;transition:border-color .15s,background .15s;
}
.nav-btn:hover{border-color:var(--accent);background:var(--accent-soft);}
.nav-next{text-align:right;}
.nav-text{display:flex;flex-direction:column;gap:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav-text small{font-weight:400;color:var(--ink-muted);font-size:11px;}

.back-to-toc{display:block;text-align:center;margin:26px 0 0;font-size:13px;color:var(--ink-muted);}
.back-to-toc:hover{color:var(--accent);}

.chapter-sources{
  margin:32px 0 0;padding:16px 18px;background:var(--panel-2);border:1px solid var(--rule);
  border-radius:var(--radius-m);font-family:"Noto Sans Thai",sans-serif;
}
.chapter-sources p.sources-label{margin:0 0 8px;font-weight:700;font-size:12.5px;color:var(--ink);text-transform:uppercase;letter-spacing:.03em;}
.chapter-sources ul{margin:0;padding-left:18px;font-size:13px;line-height:1.7;color:var(--ink-muted);}
.chapter-sources li{margin:0 0 4px;}
.chapter-sources a{color:var(--accent);}
.chapter-sources a:hover{text-decoration:underline;}

/* ============ library (index) ============ */
.kicker{margin:0 0 8px;font-size:12.5px;letter-spacing:.06em;color:var(--ink-muted);text-transform:uppercase;}
.library-title{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(28px,4.6vw,36px);margin:0 0 10px;color:var(--ink);}
.library-intro{margin:0 0 32px;font-size:14.5px;line-height:1.75;color:var(--ink-muted);max-width:62ch;}

.volume-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:12px;}
.vol-card{
  border:1px solid var(--rule);border-radius:var(--radius-l);padding:18px 20px;
  background:var(--panel);display:flex;flex-direction:column;gap:6px;color:var(--ink);
  transition:border-color .15s,transform .15s;
}
.vol-card:hover{border-color:var(--accent);transform:translateY(-1px);}
.vol-card-top{display:flex;justify-content:space-between;align-items:baseline;}
.vol-card-num{font-size:12px;font-weight:700;color:var(--accent);}
.vol-card-years{font-size:12px;color:var(--ink-muted);}
.vol-card h3{font-family:"Fraunces",serif;font-weight:600;font-size:18px;}
.vol-card-meta{margin:0;font-size:12.5px;color:var(--ink-muted);line-height:1.55;}
.vol-card.is-featured{border-color:var(--accent);background:var(--accent-soft);grid-column:span 2;}
.vol-card.is-featured h3{font-size:19px;}
.saga-tag{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--rule);font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.02em;}

.sources{padding:44px 0 8px;border-top:1px solid var(--rule);margin-top:28px;}
.section-head h2{font-size:20px;margin-bottom:6px;font-family:"Fraunces",serif;font-weight:600;}
.section-note{color:var(--ink-muted);font-size:13.5px;margin:0 0 18px;}
.source-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.source-list li{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid var(--rule);}
.source-list li:last-child{border-bottom:none;}
.source-list a{font-weight:600;}
.source-list a:hover{text-decoration:underline;}
.source-list span{color:var(--ink-muted);font-size:13px;margin-top:3px;}

/* ============ responsive ============ */
@media (max-width:880px){
  .mobile-topbar{display:flex;}
  .sidebar-backdrop{}
  .archive-sidebar{
    position:fixed;top:0;left:0;height:100vh;height:100dvh;transform:translateX(-100%);
    transition:transform .2s ease;box-shadow:0 0 0 1px var(--rule);
  }
  body.sidebar-open .archive-sidebar{transform:translateX(0);}
  body.sidebar-open .sidebar-backdrop{display:block;}
  .reader-col{padding-top:36px;}
  .library-col{padding-top:32px;}
}
.char-link{border-bottom:1px dotted var(--accent);}
.char-link:hover{border-bottom-style:solid;}
.set-source{font-size:13px;color:var(--ink-faint);font-style:italic;margin:10px 0 0;}
.set-source strong{color:var(--ink-muted);font-style:normal;font-weight:600;}
.set-more{font-size:12.5px;margin:6px 0 0;}
.set-more a{color:var(--accent);font-weight:600;}
.set-more a:hover{text-decoration:underline;}
.set-year{font-size:12.5px;color:var(--ink-faint);margin:6px 0 0;}
.set-year strong{color:var(--ink-muted);font-weight:600;}
.set-year a{color:var(--accent);font-weight:600;}
.set-year a:hover{text-decoration:underline;}
.char-group{margin:0 0 36px;}
.char-group-title{font-family:"Fraunces",serif;font-weight:600;font-size:19px;margin:0 0 14px;color:var(--ink);}
.char-grid{margin-bottom:0;}
.char-card .vol-card-num{font-family:"Fraunces",serif;font-size:15.5px;color:var(--ink);}
.char-card:hover .vol-card-num{color:var(--accent);}
.term-name{font-weight:600;color:var(--ink);cursor:default;}

/* ============ character portraits (chapter pages) ============ */
.char-portraits{
  display:flex;flex-wrap:wrap;gap:14px 12px;margin:18px 0 26px;
}
.char-portrait{width:62px;text-align:center;font-family:"Noto Sans Thai",sans-serif;flex-shrink:0;}
.char-portrait img{
  width:62px;height:62px;object-fit:cover;object-position:top center;
  border-radius:50%;border:2px solid var(--rule);display:block;margin:0 auto 6px;
  background:var(--panel-2);
}
.char-portrait span{font-size:10.5px;color:var(--ink-muted);line-height:1.3;display:block;}

/* ============ character card images (characters.html) ============ */
.char-card{overflow:hidden;}
.char-card-img{
  aspect-ratio:5/2;object-fit:cover;object-position:top center;
  border-radius:var(--radius-s) var(--radius-s) 0 0;margin:-18px -20px 12px;
  display:block;width:calc(100% + 40px);max-width:none;background:var(--panel-2);
}

/* ============ plane card images (planes.html) ============ */
.plane-card-img{
  aspect-ratio:5/2;object-fit:cover;object-position:center;
  border-radius:var(--radius-s) var(--radius-s) 0 0;margin:-18px -20px 12px;
  display:block;width:calc(100% + 40px);max-width:none;background:var(--panel-2);
}

/* ============ card images (rules page case study) ============ */
.rule-card-img{
  width:100%;max-width:146px;border-radius:var(--radius-s);border:1px solid var(--rule);
  display:block;margin:0 0 8px;
}

/* ============ card thumbnail gallery (rules page examples) ============ */
.rule-card-gallery{display:flex;flex-wrap:wrap;gap:12px 14px;margin:12px 0 16px;}
.rule-card-gallery figure{width:104px;margin:0;text-align:center;}
.rule-card-gallery img{
  width:104px;border-radius:var(--radius-s);border:1px solid var(--rule);display:block;
}
.rule-card-gallery figcaption{
  font-size:12px;color:var(--ink-muted);margin-top:4px;line-height:1.3;
}

/* ============ inline mana/tap symbols (rules page) ============ */
.mana-sym{
  width:1.05em;height:1.05em;display:inline-block;vertical-align:-0.18em;
  margin:0 1px;border-radius:50%;
}
td .mana-sym{width:20px;height:20px;vertical-align:middle;margin:0;}

/* ============ FAQ (rules page) ============ */
.faq-list{display:flex;flex-direction:column;gap:8px;margin:14px 0 0;}
.faq-item{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--panel);padding:0;overflow:hidden;}
.faq-item summary{
  cursor:pointer;padding:13px 16px;font-weight:600;font-size:14.5px;color:var(--ink);
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";font-size:16px;color:var(--accent);flex-shrink:0;font-weight:400;
}
.faq-item[open] summary::after{content:"–";}
.faq-item[open] summary{border-bottom:1px solid var(--rule);}
.faq-item p{margin:0;padding:13px 16px;font-size:13.5px;line-height:1.75;color:var(--ink-muted);}
.faq-item p strong{color:var(--ink);}

/* ============ rules page ============ */
.rules-col{max-width:840px;}

.rules-page-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;}
.rules-page-tabs a{
  display:flex;align-items:center;gap:7px;font-family:"Noto Sans Thai",sans-serif;
  font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:var(--radius-s);
  border:1px solid var(--rule);color:var(--ink-muted);background:var(--panel);
}
.rules-page-tabs a:hover{border-color:var(--accent);color:var(--accent);}
.rules-page-tabs a.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.rules-page-tabs .tab-num{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  width:18px;height:18px;border-radius:50%;background:var(--panel-2);
  font-size:10.5px;color:var(--ink-muted);
}
.rules-page-tabs a.is-active .tab-num{background:var(--accent-ink-soft);color:var(--accent-ink);}
.rules-page-nav{
  display:flex;justify-content:space-between;gap:12px;margin:40px 0 0;padding-top:20px;
  border-top:1px solid var(--rule);font-size:13px;
}
.rules-page-nav a{color:var(--accent);font-weight:600;}
.rules-page-nav a:hover{text-decoration:underline;}
.rules-page-nav .rp-prev::before{content:"← ";}
.rules-page-nav .rp-next::after{content:" →";}

.rules-quicknav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 36px;padding-bottom:28px;border-bottom:1px solid var(--rule);}
.rules-quicknav a{
  font-size:12px;padding:6px 12px;border:1px solid var(--rule);border-radius:20px;
  color:var(--ink-muted);font-family:"Noto Sans Thai",sans-serif;
}
.rules-quicknav a:hover{border-color:var(--accent);color:var(--accent);}

.rules-body{font-size:15px;line-height:1.85;color:var(--ink);}
.rule-section{padding-top:36px;margin-top:0;}
.rule-section:first-of-type{padding-top:0;}
.rule-section + .rule-section{border-top:1px solid var(--rule);}
.rule-section h2{
  font-size:21px;margin:0 0 16px;color:var(--ink);scroll-margin-top:20px;
}
.rule-section h3{
  font-family:"Noto Sans Thai",sans-serif;font-size:15.5px;font-weight:700;
  margin:22px 0 8px;color:var(--accent);scroll-margin-top:20px;
}
.rule-section h3:first-of-type{margin-top:0;}
.rules-body p{margin:0 0 16px;}
.rules-body ul,.rules-body ol{margin:0 0 18px;padding-left:22px;}
.rules-body li{margin:0 0 6px;}
.rules-body li:last-child{margin-bottom:0;}
.rules-body strong{color:var(--ink);font-weight:700;}

.rules-body table{
  width:100%;border-collapse:collapse;margin:0 0 20px;font-size:13.5px;
  font-family:"Noto Sans Thai",sans-serif;
}
.rules-body th,.rules-body td{
  padding:9px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;
}
.rules-body th{
  background:var(--panel-2);font-weight:700;color:var(--ink);
  font-size:12px;text-transform:uppercase;letter-spacing:.03em;
}
.rules-body tbody tr:hover{background:var(--panel-2);}

.rules-body pre{
  background:var(--panel-2);border:1px solid var(--rule);border-radius:var(--radius-m);
  padding:16px 18px;overflow-x:auto;margin:0 0 20px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12.5px;line-height:1.7;color:var(--ink-muted);white-space:pre;
}
.rule-note{
  background:var(--accent-soft);border-left:3px solid var(--accent);
  padding:12px 16px;border-radius:0 var(--radius-s) var(--radius-s) 0;
  font-size:13.5px;color:var(--ink);margin:0 0 18px;
}
.rules-source{font-size:12.5px;color:var(--ink-faint);margin:36px 0 0;line-height:1.7;}
.rules-source a{color:var(--accent);}

@media (max-width:640px){
  .volume-grid{grid-template-columns:1fr;}
  .vol-card.is-featured{grid-column:span 1;}
  .chapter-nav{flex-direction:column;}
  .nav-next{text-align:left;}
}

/* ============ deep-dive companion pages (per-chapter "full.html") ============ */
.deepdive-section{padding:40px 0 0;}
.deepdive-section + .deepdive-section{border-top:1px solid var(--rule);margin-top:40px;}

.char-card-role{margin:2px 0 8px;font-size:12px;color:var(--ink-muted);font-weight:600;}
.char-card-link{display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--rule);font-size:12px;color:var(--ink-faint);}
.char-card:hover .char-card-link{color:var(--accent);}

.deepdive-story .faq-item p{
  font-family:"Noto Serif Thai",serif;font-size:15.5px;line-height:1.95;
  color:var(--ink);margin:0 0 18px;padding:0 16px;letter-spacing:0.01em;
}
.deepdive-story .faq-item p:first-child{padding-top:16px;}
.deepdive-story .faq-item p:last-child{margin-bottom:0;padding-bottom:16px;}
.deepdive-story .faq-item p strong{color:var(--accent);font-weight:600;}

.deepdive-quote-box{border-radius:var(--radius-l);padding:32px 28px;background:var(--accent-soft);border:1px solid var(--rule);}
.deepdive-quote{font-family:"Fraunces",serif;font-style:italic;font-weight:600;font-size:26px;color:var(--accent);margin:0 0 14px;}
.deepdive-quote-body{margin:0;font-family:"Noto Serif Thai",serif;font-size:15.5px;line-height:1.95;color:var(--ink);letter-spacing:0.01em;}
.deepdive-quote-body strong{color:var(--ink);font-weight:700;}
