/* =========================================================================
   樹屋 Treehouse — official web (legal + support)
   Phase B visual layer · Direction "Reading Room" (安靜書房)
   Cherryon CO., LTD. — 2026-07

   • Design tokens live in :root — edit once, whole site updates.
   • Semantic naming (--color-*), with legacy skeleton aliases (--c-*) kept
     so any un-migrated markup keeps working.
   • Zero external resources: font is self-hosted (assets/fonts/), no CDN.
   • Mobile-first · webview-safe CSS · WCAG AA contrast · safe-area aware.
   ========================================================================= */

/* ---- Self-hosted brand font (wordmark only). OFL. No external request. ---- */
@font-face {
  font-family: "Caprasimo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:url(data:font/woff2;base64,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) format("woff2");
}

:root {
  /* ---------- Brand palette (finalized from app reference) ---------- */
  --color-bg:            #FAF1E9;  /* cream page background            */
  --color-surface:       #FFFFFF;  /* cards / raised surfaces          */
  --color-surface-2:     #FBF4EC;  /* faint tint (table head, notice)  */
  --color-text:          #3E2A1C;  /* primary text — warm near-black   */
  --color-text-soft:     #6E5747;  /* secondary text                   */
  --color-text-mute:     #8A7660;  /* meta / captions                  */
  --color-brand:         #7A3D18;  /* chestnut — wordmark / headings   */
  --color-brand-hover:   #632F11;
  --color-brand-weak:    #EFDDCC;  /* dividers / hairlines / tints     */
  --color-border:        #EAD9C7;  /* neutral warm border              */
  --color-link:          #9A4A1C;  /* links (AA on cream)              */
  --color-link-hover:    #7A3D18;

  /* ---------- Secondary accent — warm sage (used sparingly) ---------- */
  --color-accent:        #7C8A67;  /* sage green                       */
  --color-accent-strong: #5F6E4C;  /* sage text (AA on light)          */
  --color-accent-weak:   #E8ECDF;  /* sage tint                        */

  /* ---------- Status colors (warm-leaning) ---------- */
  --color-success:       #3F7A4E;  --color-success-weak: #E4EFE6;
  --color-warning:       #B5741E;  --color-warning-weak: #F6E9D6;
  --color-danger:        #B23A2C;  --color-danger-weak:  #F6E1DD;

  /* ---------- Focus (a11y) — warm, high-contrast ---------- */
  --color-focus:         #7A3D18;

  /* ---------- Legacy aliases (skeleton names → new tokens) ---------- */
  --c-bg:          var(--color-bg);
  --c-surface:     var(--color-surface);
  --c-ink:         var(--color-text);
  --c-ink-soft:    var(--color-text-soft);
  --c-brand:       var(--color-brand);
  --c-brand-hover: var(--color-brand-hover);
  --c-brand-weak:  var(--color-brand-weak);
  --c-link:        var(--color-link);
  --c-focus:       var(--color-focus);

  /* ---------- Typography ---------- */
  --font-body: system-ui, -apple-system, "Segoe UI", "PingFang TC",
               "Microsoft JhengHei", "Noto Sans TC", sans-serif;
  --font-brand: "Caprasimo", Georgia, "Songti TC", serif; /* wordmark only */

  /* ---------- Layout ---------- */
  --measure: 42rem;        /* readable column                        */
  --gutter: 1.25rem;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(74, 47, 30, .06);
  --shadow-md: 0 8px 24px rgba(74, 47, 30, .10);
}

/* ---- Reset-ish ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--color-text);
  background: var(--color-bg);
  /* iOS webview safe-area padding */
  padding: env(safe-area-inset-top) env(safe-area-inset-right)
           env(safe-area-inset-bottom) env(safe-area-inset-left);
}
img { max-width: 100%; height: auto; }

/* ---- Skip link (a11y) ---- */
.skip-link {
  position: absolute; left: -999px; top: 0;
  background: var(--color-brand); color: #fff; padding: .6rem 1rem;
  border-radius: 0 0 var(--radius-sm) 0; z-index: 100; text-decoration: none;
}
.skip-link:focus { left: 0; }

/* =========================================================================
   Header
   ========================================================================= */
.site-header {
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-brand-weak);
  position: sticky; top: 0; z-index: 50;
  -webkit-backdrop-filter: saturate(120%) blur(6px);
          backdrop-filter: saturate(120%) blur(6px);
}
.site-header__inner {
  max-width: var(--measure);
  margin: 0 auto;
  padding: .7rem var(--gutter);
  display: flex; align-items: center; gap: .6rem;
  flex-wrap: wrap;
}
.brand {
  display: inline-flex; align-items: center; gap: .5rem;
  text-decoration: none; color: var(--color-brand);
}
.brand__logo {
  width: 30px; height: 30px; flex: none;
  display: grid; place-items: center;
}
.brand__logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.brand__name {
  font-family: var(--font-brand); font-weight: 400;
  font-size: 1.4rem; line-height: 1;
  letter-spacing: -0.08em;          /* tightened wordmark tracking */
  color: var(--color-brand);
}
.site-nav {
  margin-left: auto;
  display: flex; gap: .15rem; flex-wrap: wrap;
}
.site-nav a {
  color: var(--color-text-soft); text-decoration: none;
  font-size: .95rem; padding: .35rem .6rem; border-radius: var(--radius-pill);
  white-space: nowrap;
}
.site-nav a:hover { color: var(--color-brand); background: var(--color-brand-weak); }
.site-nav a[aria-current="page"] {
  color: var(--color-brand); font-weight: 600;
  background: transparent; border-radius: 0;
  box-shadow: inset 0 -2px 0 var(--color-brand);
}

/* ---- Language switch (styled now; enabled when EN_READY) ---- */
.lang-switch {
  display: inline-flex; border: 1px solid var(--color-brand-weak);
  border-radius: var(--radius-pill); overflow: hidden; flex: none;
}
.lang-switch button {
  font: inherit; font-size: .82rem; cursor: pointer;
  border: 0; background: transparent; color: var(--color-text-soft);
  padding: .3rem .75rem; transition: background .12s ease, color .12s ease;
}
.lang-switch button:hover { color: var(--color-brand); }
.lang-switch button[aria-pressed="true"] { background: var(--color-brand); color: #fff; }

/* =========================================================================
   Main / content — editorial, restrained
   ========================================================================= */
.content {
  max-width: var(--measure);
  margin: 0 auto;
  padding: 2.2rem var(--gutter) 3.5rem;
}
.content h1 {
  font-size: 1.9rem; line-height: 1.3; margin: .1rem 0 .4rem;
  color: var(--color-brand); font-weight: 700; letter-spacing: .2px;
}
.content .doc-meta { color: var(--color-text-mute); font-size: .9rem; margin: 0 0 1.6rem; line-height: 1.7; }
.content h2 { font-size: 1.32rem; line-height: 1.4; margin: 2.4rem 0 .6rem; color: var(--color-text); font-weight: 700; }
.content h3 { font-size: 1.08rem; margin: 1.7rem 0 .4rem; color: var(--color-text); font-weight: 600; }
.content p { margin: .55rem 0; }
.content p, .content li { overflow-wrap: break-word; }
.content ul, .content ol { padding-left: 1.4rem; margin: .6rem 0; }
.content ul ul, .content ol ol, .content ul ol, .content ol ul { margin: .3rem 0; }
.content li { margin: .35rem 0; }
.content li::marker { color: var(--color-brand); }
.content a { color: var(--color-link); text-underline-offset: 2px; }
.content a:hover { color: var(--color-link-hover); }
.content strong { color: var(--color-text); font-weight: 600; }
.content hr { border: 0; border-top: 1px solid var(--color-brand-weak); margin: 2.2rem 0; }
.content em { color: var(--color-text-soft); }

.content blockquote {
  margin: 1.4rem 0; padding: .3rem 0 .3rem 1.1rem;
  border-left: 2px solid var(--color-brand-weak);
  color: var(--color-text-soft); font-style: italic;
}
.content blockquote strong { color: var(--color-text-soft); font-style: normal; }

.content code {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: .9em; background: var(--color-brand-weak);
  padding: .12em .4em; border-radius: 6px;
  overflow-wrap: anywhere;
}

/* =========================================================================
   Tables — hairline, horizontally scrollable on narrow screens
   ========================================================================= */
.table-wrap {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  margin: 1.2rem 0; border-radius: var(--radius-sm);
  border: 1px solid var(--color-brand-weak);
}
.content table {
  border-collapse: collapse; width: 100%; min-width: 32rem;
  background: var(--color-surface); font-size: .95rem; line-height: 1.6;
}
.content th, .content td {
  text-align: left; padding: .7rem .9rem;
  border-bottom: 1px solid var(--color-brand-weak); vertical-align: top;
}
.content th { background: var(--color-surface-2); color: var(--color-text-soft); font-weight: 600; }
.content tbody tr:last-child td { border-bottom: 0; }

/* =========================================================================
   Notice banner (e.g. "English coming soon") + status variants
   ========================================================================= */
.notice {
  background: var(--color-surface-2);
  border: 1px solid var(--color-brand-weak);
  border-radius: var(--radius-sm);
  padding: .7rem 1rem; margin: 0 0 1.6rem;
  font-size: .93rem; color: var(--color-text-soft);
}
.notice--info    { border-color: var(--color-accent);  background: var(--color-accent-weak);  color: var(--color-accent-strong); }
.notice--success { border-color: var(--color-success); background: var(--color-success-weak); color: var(--color-success); }
.notice--warning { border-color: var(--color-warning); background: var(--color-warning-weak); color: var(--color-warning); }
.notice--danger  { border-color: var(--color-danger);  background: var(--color-danger-weak);  color: var(--color-danger); }

/* =========================================================================
   Home hero + hub (index.html)
   ========================================================================= */
.hero { text-align: center; padding: 3.5rem var(--gutter) 1rem; max-width: var(--measure); margin: 0 auto; }
.hero__logo { width: 76px; height: 76px; margin: 0 auto .6rem; }
.hero__logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.hero__word {
  font-family: var(--font-brand); color: var(--color-brand);
  font-size: 2.6rem; line-height: 1; letter-spacing: -0.08em;
  font-weight: 400; margin: .2rem 0 .5rem;
}
.hero__tag { color: var(--color-text-soft); margin: 0; font-size: 1.02rem; }
.hub {
  max-width: var(--measure); margin: 1.8rem auto 0; padding: 0 var(--gutter);
  display: grid; gap: .8rem; grid-template-columns: 1fr 1fr;
}
.hub a {
  display: block; background: var(--color-surface);
  border: 1px solid var(--color-border); border-radius: var(--radius);
  padding: 1.05rem 1.15rem; text-decoration: none; color: var(--color-text);
  box-shadow: var(--shadow-sm); transition: border-color .12s ease, transform .12s ease;
}
.hub a:hover { border-color: var(--color-brand); transform: translateY(-1px); }
.hub strong { display: block; color: var(--color-brand); font-size: 1.06rem; margin-bottom: .1rem; }
.hub span { color: var(--color-text-soft); font-size: .9rem; }

/* =========================================================================
   Footer
   ========================================================================= */
.site-footer {
  border-top: 1px solid var(--color-brand-weak);
  background: var(--color-bg);
}
.site-footer__inner {
  max-width: var(--measure); margin: 0 auto;
  padding: 2.2rem var(--gutter) 2.6rem;
  color: var(--color-text-soft); font-size: .9rem;
}
.foot-word {
  font-family: var(--font-brand); color: var(--color-brand);
  font-size: 1.6rem; line-height: 1; letter-spacing: -0.08em;
  margin: 0 0 .9rem;
}
.site-footer__links { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; margin: 0 0 1rem; }
.site-footer__links a { color: var(--color-text-soft); text-decoration: none; }
.site-footer__links a:hover { color: var(--color-brand); text-decoration: underline; }
.site-footer p { margin: .3rem 0; }
.site-footer a[href^="mailto"] { color: var(--color-link); }

/* =========================================================================
   Focus visibility (a11y / keyboard)
   ========================================================================= */
:where(a, button):focus-visible {
  outline: 3px solid var(--color-focus); outline-offset: 2px; border-radius: 4px;
}

/* ---- Language visibility (JS toggles [hidden]) ---- */
[data-lang][hidden] { display: none !important; }

/* =========================================================================
   Small screens (mobile-first refinements; ≤360px must not break)
   ========================================================================= */
@media (max-width: 34rem) {
  body { font-size: 16px; }
  .site-header__inner { gap: .5rem; }
  .site-nav { width: 100%; margin-left: 0; order: 3; }
  .lang-switch { margin-left: auto; }
  .content { padding-top: 1.8rem; }
  .content h1 { font-size: 1.55rem; }
  .content h2 { font-size: 1.2rem; }
  .hub { grid-template-columns: 1fr; }
  .hero__word { font-size: 2.2rem; }
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hub a { transition: none; }
}
