/* YiPhase's shared warm viewing language. Structural layouts and reading logic stay in their own stylesheets. */
:root {
  --blue: #487fa8;
  --blue-dark: #294b65;
  --ink: #294b65;
  --peach: #f4a38b;
  --accent: #f4a38b;
  --soft: #f7ede2;
  --paper: #faf3e8;
  --white: #fffdf8;
  --line: #d9cabb;
  --muted: #665f59;
  --yiphase-surface: #fffdf8;
  --yiphase-shadow: 0 5px 0 #e8d8c6, 0 18px 36px #634c3520;
}
body { background-color: #faf3e8; color: #294b65; }
body:has(.portal-hero), body:has(.lesson-catalog), body:has(.library-main), body:has(.learning-hub), body:has(.collection-intro) {
  background-image: radial-gradient(circle at 88% 5%, #f8e4d3 0, transparent 28rem), linear-gradient(180deg, #fff8ee, #faf3e8 48%, #f6ebde);
}
.site-header, .site-head, body > header, .design-nav {
  background-color: #fffdf8;
  border-color: #d9cabb;
}
:is(.module-nav, .lesson-module-nav, .hex-module-nav, .design-nav) {
  background: #f6ebdf;
  border-color: #d9cabb;
}
:is(.module-nav, .lesson-module-nav, .hex-module-nav, .design-nav) a {
  transition: background-color .2s ease, box-shadow .2s ease, color .2s ease;
}
:is(.module-nav, .lesson-module-nav, .hex-module-nav, .design-nav) a:hover,
:is(.module-nav, .lesson-module-nav, .hex-module-nav, .design-nav) a[aria-current="page"] {
  background: #fff9f1;
  box-shadow: inset 0 3px #f4a38b;
}
:is(.portal-paths, .learn, .module-next, .mei-hua, .product-views, .reading, .library-original) {
  background-color: #f4e9dc;
}
:is(.portal-card, .lesson-catalog-card, .library-path, .library-video-card, .collection-card, .related a, .guide-card) {
  background: #fffdf8;
  border-color: #d7c4b1;
  box-shadow: 0 4px 0 #e8d8c6, 0 13px 30px #634c3516;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
:is(.portal-card, .lesson-catalog-card, .library-path, .library-video-card, .collection-card, .related a, .guide-card):hover,
:is(.portal-card, .lesson-catalog-card, .library-path, .library-video-card, .collection-card, .related a, .guide-card):focus-visible {
  transform: translateY(-4px);
  border-color: #9d8c7a;
  box-shadow: 0 7px 0 #e8d8c6, 0 20px 34px #634c3524;
}
.collection-card .card-text, .collection-card.forest .card-text, .collection-card.garden .card-text {
  background: #fff9f1;
}
.collection-card.forest .card-text { background: #f3efe7; }
.collection-card.garden .card-text { background: #f5f0e5; }
.home-cast-panel { background: #fffdf8; border-color: #d7c4b1; box-shadow: 0 5px 0 #e8d8c6, 0 24px 46px #634c3521; }
.home-cast-methods { background: #f3e7d9; border-color: #d9cabb; }
.home-cast-methods button[aria-pressed="true"] { background: #fffaf3; box-shadow: inset 0 0 0 2px #487fa8, 0 3px 10px #634c3519; }
.cast-entry-intent, .context-purpose { background: #f7efe5; }
.home-cast-panel textarea, .home-cast-panel input { background: #fffaf4; border-color: #cdbba7; }
.library-video-card img { background: #efe2d3; }
:is(.button, .header-cta, .library-action, .submit-interest, .stage-actions button, .lang-button) {
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
:is(.button, .header-cta, .library-action, .submit-interest, .stage-actions button, .lang-button):not(:disabled):hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 13px #634c3522;
}
:is(.guide-breadcrumb, .library-breadcrumb, .site-path) { color: #625e58; }
:is(.guide-breadcrumb, .library-breadcrumb, .site-path) a { text-underline-offset: 4px; }
:is(.guide-breadcrumb, .library-breadcrumb, .site-path) a:hover { color: #294b65; text-decoration: underline; }
.site-path { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; max-width: 1380px; margin: 0 auto; padding: 14px 5% 2px; font: 13px/1.6 system-ui, sans-serif; }
.site-path [aria-current="page"] { color: #294b65; font-weight: 600; }
.viewing-bridge { margin: 24px 5% 0; padding: 20px 24px; border: 1px solid #d7c4b1; border-left: 3px solid #f4a38b; background: #fffaf3; box-shadow: 0 5px 0 #e8d8c6; }
.viewing-bridge a { display: inline-block; font-weight: 700; color: #294b65; text-decoration: underline; text-underline-offset: 4px; }
.viewing-bridge p { margin: 7px 0 0; color: #655f59; font-size: 13px; }
.collection-viewing-entry { max-width: 1000px; margin: -10px 7% 35px; }
.collection-viewing-entry .viewing-bridge { margin: 0; }
@media (max-width: 650px) {
  .site-path { padding: 12px 5% 2px; font-size: 12px; }
  .viewing-bridge { margin: 20px 5% 0; padding: 18px; }
  .collection-viewing-entry { margin: 0 5% 28px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.portal-card, .lesson-catalog-card, .library-path, .library-video-card, .collection-card, .related a, .guide-card, .button, .header-cta, .library-action, .submit-interest, .stage-actions button, .lang-button):hover,
  :is(.portal-card, .lesson-catalog-card, .library-path, .library-video-card, .collection-card, .related a, .guide-card):focus-visible { transform: none; }
}
