/* Shared structure; edition values and images come from the generator's theme tokens. */
:root[data-edition] body {
  color: var(--ink);
  background: linear-gradient(var(--paper-wash), var(--paper-wash)), var(--image-paper) center / 1600px 1000px repeat;
  font-family: var(--sans);
}
:root[data-edition] :is(h1, h2, h3) {
  font-family: var(--serif);
  font-weight: var(--display-weight);
  letter-spacing: var(--display-tracking);
}
:root[data-edition] h1 { font-size: var(--title-size); line-height: 1.1; }
:root[data-edition] .hero { background: linear-gradient(var(--paper-wash), var(--paper-wash)), var(--image-hero) center / cover; }
:root[data-edition] .hero::before { background: linear-gradient(var(--paper) 0%, transparent 48%, var(--paper) 100%); }
:root[data-edition] .landscape { top: 0; bottom: auto; height: 100%; object-position: 75% center; }
:root[data-edition] .hero-copy { padding-bottom: 26px; background: var(--paper-wash); }
:root[data-edition] .site-header { background: #eeebe6; }
:root[data-edition] .content-header { border-bottom: 1px solid var(--line); }
:root[data-edition] .hero-copy h1 { color: var(--accent); }
:root[data-edition] .aida-hero h1 { max-width: 620px; font-weight: var(--display-weight); letter-spacing: var(--display-tracking); text-wrap: wrap; }
/* Keep text boxes stable while the browser selects the local fallback face. */
:root[data-edition] .aida-hero .hero-definition { max-width: 600px; }
:root[data-edition] .aida-hero .hero-note { max-width: 420px; }
:root[data-edition] .site-header nav { flex: 1; justify-content: flex-end; }
:root[data-edition] .site-header .nav-link { flex: 1; text-align: center; }
:root[data-edition] .site-header .nav-cta { width: 110px; }
:root[data-edition] .aida-hero .button { width: 190px; }
:root[data-edition] :is(.aida-steps, .story-essentials) {
  background: linear-gradient(var(--paper-wash), var(--paper-wash)), var(--image-light) center / cover;
  border-radius: var(--card-radius);
  padding: 28px;
}
:root[data-edition] .week-beat { border-color: var(--line); }
:root[data-edition] .week-beat:nth-of-type(even) {
  background: linear-gradient(var(--paper-wash), var(--paper-wash)), var(--image-paper) center / cover;
}
:root[data-edition] .week-beat:nth-of-type(odd) { background: var(--tint); }
:root[data-edition] .week-copy { padding: 24px; }
:root[data-edition] .week-copy h2 { font-weight: var(--display-weight); letter-spacing: var(--display-tracking); }
:root[data-edition] .week-beat img { border-radius: var(--card-radius); }
:root[data-edition] :is(.example-caption, .demo-caption) { background: var(--paper); border-radius: var(--radius); padding: 6px 10px; }
:root[data-edition] .example-caption::before { background: var(--paper); }
:root[data-edition] :is(.button, .btn) { border-radius: var(--radius); font-family: var(--sans); font-weight: 600; box-shadow: none; }
:root[data-edition] :is(.dark, .btn) { background: var(--accent); color: #fff; border-color: var(--accent); }
:root[data-edition] :is(.dark:hover, .btn:hover) { background: var(--accent-hover); border-color: var(--accent-hover); }
:root[data-edition] .light { background: var(--panel); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
:root[data-edition] .light:hover { background: var(--tint); }
:root[data-edition] :is(.gk-picker, .cb-picker) { background: var(--panel); border-radius: var(--card-radius); box-shadow: 0 12px 30px #2528241f; }
:root[data-edition] :is(.gk-picker-list, .cb-picker-list, .cb-tabs) button { border-radius: var(--radius); font-family: var(--sans); background: var(--panel); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
:root[data-edition] :is(.gk-picker-list, .cb-picker-list) button[aria-pressed='true'],
:root[data-edition] .cb-tabs button[aria-selected='true'] { background: var(--accent); color: #fff; box-shadow: none; }
:root[data-edition] .cb-picker-list button[aria-pressed='true'] small { color: #fff; }
:root[data-edition] .receipt-status::before { background: var(--accent); }
:root[data-edition] :is(.cb-plan, .cb-plan.cb-featured, .pp-plan) { background: var(--panel); border-radius: var(--card-radius); box-shadow: inset 0 0 0 1px var(--line); }
:root[data-edition] .cb-plan.cb-featured { border-top: 4px solid var(--accent); }
:root[data-edition] :is(.cb-price, .pp-price) { font-weight: var(--display-weight); }
:root[data-edition] .eyebrow { color: var(--muted); font-family: var(--sans); text-transform: none; letter-spacing: .02em; }
:root[data-edition] :is(.explainer-section p, .explainer-section li, .step-grid p) { font-size: 16px; line-height: 1.65; }
:root[data-edition] :is(.topic-guidance, .prose) p { max-width: 72ch; }
:root[data-edition] :is(.gk-context, .cb-week) {
  background: linear-gradient(var(--paper-wash), var(--paper-wash)), var(--image-light) center / cover;
  border-radius: var(--card-radius);
}
:root[data-edition] :is(.business-examples, .cb-small) {
  background: linear-gradient(var(--paper-wash), var(--paper-wash)), var(--image-work) center / cover;
  border-color: var(--line);
}
:root[data-edition] .page-intro {
  padding: 30px;
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--card-radius) var(--card-radius) 0;
  background: linear-gradient(var(--paper-wash), var(--paper-wash)), var(--image-light) center / cover;
}
:root[data-edition] :is(.setup-section, main > .page) {
  background: linear-gradient(var(--paper-wash), var(--paper-wash)), var(--image-utility) center / cover;
  border-color: var(--line);
}
:root[data-edition] .form { background: var(--panel); padding: 28px; border: 1px solid var(--line); border-radius: var(--card-radius); }
:root[data-edition] :is(.form, .gk-check) :is(input, textarea, select) {
  border-color: #7d887a; border-radius: var(--radius); background: #fffdf7; color: var(--ink); font-family: var(--sans);
}
:root[data-edition] :is(.duo img, .recipe-card > img) { border-radius: var(--card-radius); }
:root[data-edition] .duo img { aspect-ratio: 1; }
/* Recipe/video templates contain inline radii; keep their layout and pixels intact. */
:root[data-edition] :is(.video-section, .recipe-page) > :is(video, img) { border-radius: var(--card-radius) !important; }
:root[data-edition] .closing {
  background: linear-gradient(var(--closing-wash), var(--closing-wash)), var(--image-closing) center / cover;
  color: #fffdf7;
}
:root[data-edition] .closing :is(h2, p) { color: #fffdf7; }
:root[data-edition] .closing .button { background: #fffdf7; color: var(--accent); }
:root[data-edition] .closing .button:hover { background: #fff; }
:root[data-edition] :focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
:root[data-edition] .closing :focus-visible { outline-color: #fffdf7; }
/* The darker accessible Messages blue retains native device colors, tails and system typography. */
:root[data-edition] .phone :is(.user, .text-bubble.sent),
:root[data-edition] .phone :is(.user, .text-bubble.sent)::before { background: #006be6; }
:root[data-edition] .phone .text-bubble.cb-photo { background: linear-gradient(#0008, #0008), linear-gradient(135deg, #d9cdb7, #a49278 62%, #7c6c58); }
/* Match the collapsed menu before menu.js runs; keep navigation available without scripting. */
@media (max-width: 760px) and (scripting: enabled) {
  :root[data-edition] .site-header:not(.menu-open) nav { display: none; }
}
@media (max-width: 600px) {
  :root[data-edition] .aida-hero .button { width: calc((100% - 8px) / 2); }
  :root[data-edition] .page-intro { padding: 22px 18px; }
  :root[data-edition] .form { padding: 22px 18px; }
  :root[data-edition] .hero-copy { padding-bottom: 22px; }
}
