/* Shared finishing layer. Preserve page structure, brand geometry and artwork. */
:root {
  --visual-paper:#fffdf7;
  --visual-ground:#f3f2eb;
  --visual-ink:#26352d;
  --visual-muted:#56635b;
  --visual-line:#d9ded4;
  --visual-accent:#934527;
  --visual-shadow:0 4px 18px #25392c08;
  --visual-shadow-raised:0 10px 28px #25392c12;
  --visual-dark-line:#a7c7bc38;
}

/* Keep the fixed-path brand untouched; soften the controls around it. */
:root body .amao-site-header {
  border-bottom-color:var(--visual-line);
}
:root body .amao-site-header .site-language select {
  border:1px solid #859184;
  border-radius:10px;
  background:var(--visual-paper);
}
:root body .amao-site-header .site-header-links {
  font-weight:600;
}
:root body .amao-site-header .site-header-links button {
  border-color:var(--visual-line);
  font-weight:600;
}

/* Home: a quiet photographic journal, using the existing section rhythm. */
:root body .amao-home {
  --home-accent:var(--visual-accent);
  --home-muted:var(--visual-muted);
  --home-border:var(--visual-line);
  background:var(--visual-ground);
}
:root body .amao-home :is(h1,h2) { letter-spacing:-.025em; }
:root body .amao-home :is(.play-copy h4,.collection-copy h3) {
  font-weight:700; letter-spacing:-.015em; line-height:1.45;
}
:root body .amao-home :is(.play-card,.collection-card) {
  border-color:var(--visual-line);
  box-shadow:var(--visual-shadow);
}
:root body .amao-home :is(.family-card,.id-card,.milestone-card) {
  border-color:var(--visual-line);
  background:var(--visual-paper);
  box-shadow:var(--visual-shadow);
}
:root body .amao-home .play-copy { padding:20px; }
:root body .amao-home .card-kicker { font-weight:600; }
:root body .amao-home .card-action { font-weight:600; }
:root body .amao-home :is(.primary-button,.share-button) {
  font-weight:600;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
:root body .amao-home .primary-button { background:#283e32; border-color:#283e32; }
:root body .amao-home .share-button { background:var(--visual-paper); }
:root body .amao-home .case-file {
  border:1px solid #e2e3d8;
  box-shadow:0 5px 20px #07170d12;
}
:root body .amao-home .case-file h3 { line-height:1.4; font-weight:700; }
:root body .amao-home .family-card h3 { font-weight:700; }
:root body .amao-home .guest-entry { border-color:var(--visual-line); }
:root body .amao-home .big-clap {
  border-color:#d9bca4;
  background:#f5e8d9;
  box-shadow:inset 0 0 0 6px #fffdf736;
}

/* Galleries: images retain their composition, with lighter surrounding chrome. */
:root body .photos-page { background:var(--visual-ground); }
:root body .photos-page .gallery-heading h1 {
  letter-spacing:-.025em; line-height:1.16;
}
:root body .photos-page .photo-frame {
  border-radius:16px;
  background:#e9e5da;
  box-shadow:var(--visual-shadow);
}
:root body .photos-page .photo-grid figcaption { padding-top:18px; gap:8px; }
:root body .photos-page .photo-grid figcaption strong { font-weight:600; }
:root body .photos-page .photo-filters button {
  border-color:#bdc8ba;
  border-radius:999px;
  background:var(--visual-paper);
  font-weight:600;
}
:root body .photos-page .photo-filters button[aria-pressed=true] {
  background:#283e32; border-color:#283e32; color:var(--visual-paper);
}
:root body .fantasy-page {
  --fantasy-paper:#fffdf7;
  --fantasy-stage:#f0ece2;
  --fantasy-orange:var(--visual-accent);
}
:root body .fantasy-page .fantasy-hero h1 {
  line-height:1.16; letter-spacing:-.025em;
}
:root body .fantasy-page .fantasy-hero>p { letter-spacing:.12em; font-weight:650; }
:root body .fantasy-page .fantasy-card {
  border-color:var(--visual-line);
  box-shadow:var(--visual-shadow);
}
:root body .fantasy-page .fantasy-card-copy {
  padding:14px 12px; border-top-width:1px;
}
:root body .fantasy-page .fantasy-card-copy strong { font-weight:650; }
:root body :is(.photos-lightbox-panel,.fantasy-lightbox-panel) {
  background:var(--visual-paper);
  border-color:#d9ded480;
  box-shadow:0 18px 64px #06110c66;
}
:root body :is(.photos-lightbox-nav,.fantasy-lightbox-nav) button {
  border-radius:999px; font-weight:600;
}

/* Creator controls: warm paper surfaces and a restrained, legible selection. */
:root body:has(.studio) { background:#edf1ed; }
:root body .studio { color:#213c3c; }
:root body .studio :is(.editor,.paper-stage) {
  border-color:#cdd8cf; box-shadow:var(--visual-shadow);
}
:root body .studio .editor { background:var(--visual-paper); }
:root body .studio .paper-stage { background:#dde5dc; }
:root body .studio .tabs { background:#f3f5f0; border-color:#d9e1d8; }
:root body .studio .tabs button[aria-selected=true] { background:#284d46; }
:root body .studio :is(.hint,.drag-note,.preview-caption) { color:#4f6861; }
:root body .studio :is(.photo-choice,.artwork-choice) { background:#f1f3ee; }
:root body .studio :is(.photo-choice,.artwork-choice)[aria-pressed=true] {
  border-color:#376b61; background:#e3eee5;
}
:root body .studio :is(.category button,.greeting-categories button)[aria-pressed=true] {
  border-color:#376b61; background:#e3eee5; color:#213c3c;
}
:root body .studio .category button span { color:#456457; }
:root body .studio :is(input[type=text],textarea,input[type=date]) {
  background:#fffefb; border-color:#879a89; border-radius:10px;
}
:root body .studio .status:not([data-error=true]) {
  color:#3f5c51; background:#eef3ed; border-color:#d9e1d8;
}
:root body:has(.studio) .export-bar { background:#213d39; border-color:#557466; }
:root body:has(.studio) .export-bar button {
  background:#34544b; border-color:#779185; color:#fffdf7;
}
:root body:has(.studio) .export-bar button.primary {
  background:#efd08d; border-color:#efd08d; color:#21362e;
}
:root body .wallpaper-shell {
  --accent:#426657; --accent-light:#e7eee7;
  --paper:var(--visual-ground); --card:var(--visual-paper);
  --line:var(--visual-line); --ink:var(--visual-ink); --muted:var(--visual-muted);
}
:root body .wallpaper-shell .preview-panel {
  background:#e6ece3; border-color:#cdd8c9; box-shadow:var(--visual-shadow);
}
:root body .wallpaper-shell .pick[aria-pressed=true] { background:#e3eee5; }
:root body .wallpaper-shell .decoration-pick { background:#f3f3eb; }
:root body .wallpaper-shell #sticker-editor { border-color:#a8bcaa; }
:root body .wallpaper-shell .primary {
  background:#284d3e; border-color:#284d3e; color:#fffdf7;
}
:root body:has(.studio) dialog { background:var(--visual-paper); }

/* Dark experiences: retain the scene and feedback colors; refine its frame. */
:root body .tarot-page .tarot-eyebrow { letter-spacing:.15em; }
:root body .tarot-page :is(.tarot-topics button,.tarot-followups button) {
  border-radius:12px; border-color:#b4bd9755;
}
:root body .tarot-page .tarot-topics button[aria-pressed=true],
:root body .tarot-page .tarot-followups button[aria-pressed=true] {
  border-color:#ddc18b; background:#c3b17b1c;
}
:root body .tarot-page .tarot-card-choice { box-shadow:0 6px 18px #0003; }
:root body .tarot-page .tarot-lede { line-height:1.9; }
:root body .escape-shell .stage,
:root body .escape-shell .run-status:not([data-area=chase]) { border-color:#8ba99b66; }
:root body .escape-shell .stage { box-shadow:0 12px 32px #0003; }
:root body .escape-shell .heading h1 { letter-spacing:-.02em; font-weight:650; }
:root body .escape-shell .primary {
  background:#efd08d; border-color:#efdca9; color:#24372e;
}
:root body #amao-mischief .game {
  border-color:#8198a166; box-shadow:0 14px 44px #0004;
}
:root body #amao-mischief .game>header { background:#162b36; }
:root body #amao-mischief :is(.toolbar,.bottom) button { border-color:#82979e66; }
:root body #amao-mischief :is(.primary,#am-hold) {
  background:#efd08d; border-color:#efdca9; color:#24372e;
  box-shadow:0 3px 0 #a98d54,0 5px 15px #0002;
}
:root body #amao-mischief #am-hold[aria-pressed=true] {
  background:#ffe2a3; box-shadow:0 1px 0 #a98d54;
}

/* Support: bring the sticker cards into the same paper-and-photo language. */
:root body .support-page { background:var(--visual-ground); }
:root body .support-page .support-hero h1 {
  letter-spacing:-.025em; line-height:1.16;
}
:root body .support-page .support-kicker { letter-spacing:.12em; font-weight:650; }
:root body .support-page .sticker-card {
  border-color:var(--visual-line); border-radius:18px;
  background:var(--visual-paper); box-shadow:var(--visual-shadow);
}
:root body .support-page .sticker-card strong { font-weight:650; line-height:1.5; }
:root body .support-page .sticker-card small {
  min-width:0; font-size:.875rem; line-height:1.6; overflow-wrap:anywhere;
}
:root body .support-page .support-note {
  border-left-width:2px; background:var(--visual-paper); border-radius:0 14px 14px 0;
}
:root body .support-page .support-note p { font-size:.875rem; }

@media(hover:hover) and (pointer:fine) {
  :root body :is(.amao-home .play-card,.amao-home .collection-card,.fantasy-page .fantasy-card,.support-page .sticker-card):hover {
    transform:translateY(-2px); box-shadow:var(--visual-shadow-raised);
  }
  :root body .amao-home .share-button:hover { background:#f0f1e8; border-color:#a8b5a3; }
  :root body .amao-home .primary-button:hover { background:#395142; }
}
@media(max-width:760px) {
  :root body .studio .preview-pane { background:#edf1ed; }
  :root body .studio .preview-pane.studio-preview-floating { padding:8px; background:#f1f4ee; }
}
@media(max-width:720px) {
  :root body .amao-home .play-copy { padding:16px; }
  :root body .amao-home .card-action { min-height:36px; }
}
@media(max-width:560px) {
  :root body .fantasy-page .fantasy-card-copy { padding:12px 10px; }
}
@media(prefers-reduced-motion:reduce) {
  :root body :is(.amao-home .primary-button,.amao-home .share-button) { transition:none; }
  :root body :is(.amao-home .play-card,.amao-home .collection-card,.fantasy-page .fantasy-card,.support-page .sticker-card):hover { transform:none; }
}
