/* Deployed mirror of design/tokens.css. Keep declarations in sync; site.css only maps
   the approved cinnabar/dark themes into page roles. */
:root {
  --fs-wood:#2f7d5b; --fs-wood-soft:#e5f0ea; --fs-fire:#c0362c; --fs-fire-soft:#f7e3e0; --fs-earth:#b98a3e; --fs-earth-soft:#f3ead6; --fs-metal:#c8a04a; --fs-metal-soft:#f6efdc; --fs-water:#1f2a37;
  --fs-paper:#faf6ef; --fs-paper-raised:#ffffff; --fs-ink:#1f2a37; --fs-ink-muted:#5b6472; --fs-hairline:#e7ded0;
  --fs-bg:var(--fs-paper); --fs-surface:var(--fs-paper-raised); --fs-text:var(--fs-ink); --fs-text-muted:var(--fs-ink-muted); --fs-border:var(--fs-hairline); --fs-accent:var(--fs-wood); --fs-accent-strong:var(--fs-metal);
  --fs-score-favorable:var(--fs-wood); --fs-score-favorable-soft:var(--fs-wood-soft); --fs-score-mixed:var(--fs-earth); --fs-score-mixed-soft:var(--fs-earth-soft); --fs-score-watch:var(--fs-fire); --fs-score-watch-soft:var(--fs-fire-soft); --fs-score-needscheck:var(--fs-ink-muted); --fs-score-needscheck-soft:var(--fs-hairline);
  --fs-confidence-low:var(--fs-ink-muted); --fs-confidence-medium:var(--fs-earth); --fs-confidence-high:var(--fs-wood);
  --fs-font-display:"Noto Serif TC", "Songti TC", "PMingLiU", Georgia, "Times New Roman", serif; --fs-font-body:"Noto Sans TC", -apple-system, BlinkMacSystemFont, "PingFang TC", "Microsoft JhengHei", "Segoe UI", Roboto, sans-serif; --fs-font-num:ui-monospace, "SF Mono", "Roboto Mono", Menlo, monospace; --fs-font-cjk-display:"Kaiti TC", "STKaiti", "KaiTi", var(--fs-font-display); --fs-font-latin-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --fs-text-2xs:0.63rem; --fs-text-xs:0.694rem; --fs-text-sm:0.833rem; --fs-text-md:1rem; --fs-text-lg:1.2rem; --fs-text-xl:1.44rem; --fs-text-2xl:1.728rem; --fs-leading:1.55;
  --fs-space-1:4px; --fs-space-2:8px; --fs-space-3:12px; --fs-space-4:16px; --fs-space-5:24px; --fs-space-6:32px; --fs-space-8:48px; --fs-radius-sm:6px; --fs-radius-md:10px; --fs-radius-lg:16px;
  --fs-size-node:18px; --fs-size-utility:22px; --fs-map-overlay-height:min(70vh, 460px); --fs-map-overlay-scrim:color-mix(in srgb, var(--fs-paper) 88%, transparent); --fs-map-overlay-ground:color-mix(in srgb, var(--fs-text) 4%, transparent); --fs-map-control-hover:color-mix(in srgb, var(--fs-text) 5%, transparent); --fs-opacity-utility:0.6; --fs-opacity-disabled:0.5; --fs-map-stroke-strong:2.6px; --fs-map-stroke-mid:1.9px; --fs-map-stroke-fine:1px; --fs-map-gap-dash:2 3; --fs-map-sparse-dash:3 3; --fs-map-frontier-dash:2 5; --fs-map-sparse-opacity:0.82; --fs-map-frontier-opacity:0.42; --fs-map-gap-opacity:0.8;
  --fs-map-ground:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--fs-paper-raised) 38%, transparent), transparent 64%), linear-gradient(180deg, color-mix(in srgb, var(--fs-text) 5%, transparent), transparent 38%, color-mix(in srgb, var(--fs-text) 6%, transparent)); --fs-map-woodblock-opacity:0.46; --fs-map-woodblock-filter:grayscale(0.15) saturate(0.7) contrast(1.0) brightness(1.0); --fs-map-woodblock-dark-opacity:0.5; --fs-map-woodblock-dark-filter:invert(1) sepia(0.36) hue-rotate(328deg) saturate(0.72) brightness(0.78) contrast(1.1); --fs-map-wheel-backed-fill:color-mix(in srgb, var(--fs-accent) 24%, transparent); --fs-map-wheel-backed-stroke:color-mix(in srgb, var(--fs-accent) 68%, transparent); --fs-map-wheel-exposed-stroke:color-mix(in srgb, var(--fs-text-muted) 52%, transparent); --fs-map-wheel-exposed-opacity:0.48; --fs-map-seal-stroke:var(--fs-text-strong); --fs-map-seal-opacity:0.8; --fs-map-calm-jade:var(--fs-wood); --fs-map-calm-jade-opacity:0.95; --fs-map-calm-gold:var(--fs-metal); --fs-map-calm-gold-opacity:1; --fs-good-anchor-opacity:0.4; --fs-good-anchor-dark-opacity:0.5; --fs-good-anchor-width:62%; --fs-map-ground-inline-zoom:165%; --fs-map-proof-opacity:1; --fs-map-context-opacity:0.92; --fs-map-proof-filter:drop-shadow(0 0 1.3px var(--fs-paper)) drop-shadow(0 0 0.6px var(--fs-paper)); --fs-map-proof-halo-stroke:2.6px; --fs-frame-wash:color-mix(in srgb, var(--fs-text) 3%, transparent); --fs-node-compare-border:color-mix(in srgb, var(--fs-metal) 70%, transparent); --fs-shadow:0 6px 24px -8px rgba(31, 42, 55, 0.22); --fs-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='90' height='90' filter='url(%23g)' opacity='0.03'/%3E%3C/svg%3E"); --fs-ease:cubic-bezier(0.22, 0.61, 0.36, 1); --fs-dur:240ms; --fs-z:2147483000; --fs-z-overlay:8;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --fs-paper:#14181f; --fs-paper-raised:#1b212b; --fs-ink:#f2ede3; --fs-ink-muted:#a2abba; --fs-hairline:#2b333f; --fs-wood:#4faa80; --fs-metal:#d9b968; --fs-shadow:0 8px 28px -10px rgba(0, 0, 0, 0.6); } }
:root[data-theme="dark"] { --fs-paper:#14181f; --fs-paper-raised:#1b212b; --fs-ink:#f2ede3; --fs-ink-muted:#a2abba; --fs-hairline:#2b333f; --fs-wood:#4faa80; --fs-metal:#d9b968; --fs-shadow:0 8px 28px -10px rgba(0, 0, 0, 0.6); }
@media (prefers-reduced-motion: reduce) { :root { --fs-dur:1ms; } }

/* Extension cinnabar theme: current source tree lacks src/panel/mount.tsx, so the
   owner-supplied existing values are preserved here as the deployed theme tier. */
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) { --fs-paper:#f5efe4; --fs-paper-raised:#fbf7f0; --fs-ink:#2b2521; --fs-ink-muted:#766b5f; --fs-text-faint:#968c7d; --fs-hairline:#ece2d1; --fs-border:#e6dccb; --fs-accent:#b23a2e; --fs-metal:#a07a2e; } }
:root[data-theme="light"] { --fs-paper:#f5efe4; --fs-paper-raised:#fbf7f0; --fs-ink:#2b2521; --fs-ink-muted:#766b5f; --fs-text-faint:#968c7d; --fs-hairline:#ece2d1; --fs-border:#e6dccb; --fs-accent:#b23a2e; --fs-metal:#a07a2e; }
