/* Dealsmaster v5.1 — responsive article atmospheres.
 *
 * One Dealsmaster shell, seven visual languages, eighteen individual palettes.
 * The PHP layer supplies dm-atmosphere, one family class and one slug class.
 * This stylesheet is deliberately additive: v10/v11 retain layout ownership.
 */

/* --------------------------------------------------------------------------
   Safe shared mood tokens
   -------------------------------------------------------------------------- */

body.dm-article-edition.dm-atmosphere {
  --dm-atm-page: #f5f1e8;
  --dm-atm-paper: #fffaf2;
  --dm-atm-soft: #e6dccd;
  --dm-atm-ink: #222721;
  --dm-atm-muted: #565b53;
  --dm-atm-accent: #b45f3e;
  --dm-atm-accent-strong: #793824;
  --dm-atm-deep: #263f36;
  --dm-atm-secondary: #c4aa68;
  --dm-atm-nav-accent: #f0cf7c;
  --dm-atm-on-deep: #fffaf2;
  --dm-atm-on-deep-muted: #dce2da;
  --dm-atm-line: rgba(35, 45, 38, .19);
  --dm-atm-shadow: rgba(43, 36, 27, .13);
  --dm-atm-nav-1: #20372f;
  --dm-atm-nav-2: #314b3f;
  --dm-atm-opening-surface: var(--dm-atm-paper);
  --dm-atm-opening-ink: var(--dm-atm-deep);
  --dm-atm-opening-muted: var(--dm-atm-muted);
  --dm-atm-opening-kicker: var(--dm-atm-accent-strong);
  --dm-atm-opening-line: var(--dm-atm-line);
  --dm-atm-frame-radius: 3px;
  --dm-atm-canvas-texture: none;
  --dm-atm-header-texture: none;
  --dm-atm-hero-texture: linear-gradient(118deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .18));
  --dm-atm-opening-texture: linear-gradient(118deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .14)), url("../images/texture-eggshell-v1.webp");
  --dm-atm-copy-texture: none;
  --dm-atm-panel-texture: linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .12));
  --dm-atm-diagram-texture: linear-gradient(120deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .18)), url("../images/texture-eggshell-v1.webp");

  /* Bridge only purpose-built brand/edition tokens. Semantic legacy colours
   * stay untouched so warnings, checklists and global focus retain meaning. */
  --dm-brand-forest: var(--dm-atm-deep);
  --dm-brand-coral: var(--dm-atm-accent);
  --dm-brand-butter: var(--dm-atm-secondary);
  --dm-brand-paper: var(--dm-atm-paper);
  --dm-brand-apricot: var(--dm-atm-soft);
  --dm-edition-accent: var(--dm-atm-accent);
  --dm-edition-accent-text: var(--dm-atm-accent-strong);
  --dm-edition-deep: var(--dm-atm-deep);
  --dm-edition-soft: var(--dm-atm-soft);
  --dm-edition-paper: var(--dm-atm-paper);
  --dm-edition-line: var(--dm-atm-line);
  --dm-v11-hairline: var(--dm-atm-line);
  --dm-v11-wash: #f2ece2;
  --dm-v11-wash: color-mix(in srgb, var(--dm-atm-soft) 38%, white);
  --dm-v11-shadow: 0 18px 48px var(--dm-atm-shadow);

  color: var(--dm-atm-ink);
  background-color: var(--dm-atm-page);
  background-image: var(--dm-atm-canvas-texture);
}

/* --------------------------------------------------------------------------
   Eighteen individual palettes
   -------------------------------------------------------------------------- */

/* Functional systems palettes; family language is assigned independently. */
body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--decluttering-organising-mistakes {
  --dm-atm-page: #f3efe5; --dm-atm-paper: #fffaf3; --dm-atm-soft: #dce3d4;
  --dm-atm-ink: #222820; --dm-atm-muted: #555c52; --dm-atm-accent: #b75d3c;
  --dm-atm-accent-strong: #783823; --dm-atm-deep: #274236; --dm-atm-secondary: #c5aa6a;
  --dm-atm-nav-accent: #efd17e; --dm-atm-nav-1: #223b31; --dm-atm-nav-2: #355043;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--entryway-drop-zone-without-an-entryway {
  --dm-atm-page: #f5eee4; --dm-atm-paper: #fffaf2; --dm-atm-soft: #d8ddc8;
  --dm-atm-ink: #24271f; --dm-atm-muted: #585a50; --dm-atm-accent: #c15f3b;
  --dm-atm-accent-strong: #7b3521; --dm-atm-deep: #264037; --dm-atm-secondary: #c7a54a;
  --dm-atm-nav-accent: #edca70; --dm-atm-nav-1: #20382f; --dm-atm-nav-2: #3b4d35;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--small-kitchen-organisation-how-you-cook {
  --dm-atm-page: #f5efe2; --dm-atm-paper: #fffaf1; --dm-atm-soft: #e2d6bc;
  --dm-atm-ink: #25271f; --dm-atm-muted: #59584d; --dm-atm-accent: #be5636;
  --dm-atm-accent-strong: #782f1f; --dm-atm-deep: #2e4333; --dm-atm-secondary: #c6a148;
  --dm-atm-nav-accent: #f0c96e; --dm-atm-nav-1: #273b2e; --dm-atm-nav-2: #4a4930;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--small-laundry-room-one-load-workflow {
  --dm-atm-page: #eef2f2; --dm-atm-paper: #fbfdfb; --dm-atm-soft: #d3dde0;
  --dm-atm-ink: #22292b; --dm-atm-muted: #526066; --dm-atm-accent: #5e7f91;
  --dm-atm-accent-strong: #355564; --dm-atm-deep: #253a3e; --dm-atm-secondary: #c4a64f;
  --dm-atm-nav-accent: #ecd27c; --dm-atm-nav-1: #203438; --dm-atm-nav-2: #38515a;
}

/* Pale spatial palettes. */
body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--small-living-room-layout-mistakes {
  --dm-atm-page: #f1f4f0; --dm-atm-paper: #fffdf7; --dm-atm-soft: #dce6e4;
  --dm-atm-ink: #22292a; --dm-atm-muted: #536064; --dm-atm-accent: #c66f4e;
  --dm-atm-accent-strong: #80402c; --dm-atm-deep: #29454b; --dm-atm-secondary: #9fbcc0;
  --dm-atm-nav-accent: #f0c888; --dm-atm-nav-1: #243d42; --dm-atm-nav-2: #36545b;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--curtain-height-width-measuring-guide {
  --dm-atm-page: #f2f3ee; --dm-atm-paper: #fffdf8; --dm-atm-soft: #dce1df;
  --dm-atm-ink: #25292a; --dm-atm-muted: #575e60; --dm-atm-accent: #9e5a42;
  --dm-atm-accent-strong: #6c3727; --dm-atm-deep: #2c444a; --dm-atm-secondary: #9ab5b9;
  --dm-atm-nav-accent: #eac99c; --dm-atm-nav-1: #283e43; --dm-atm-nav-2: #43555b;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--small-bedroom-layout-storage-walking-space {
  --dm-atm-page: #f1f1ee; --dm-atm-paper: #fffaf5; --dm-atm-soft: #d5dfe0;
  --dm-atm-ink: #23282b; --dm-atm-muted: #555e63; --dm-atm-accent: #b76b57;
  --dm-atm-accent-strong: #743c31; --dm-atm-deep: #293e46; --dm-atm-secondary: #99aebe;
  --dm-atm-nav-accent: #efc7a2; --dm-atm-nav-1: #253840; --dm-atm-nav-2: #465a65;
}

/* Collecting and colour palettes. */
body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--interior-design-styles-explained {
  --dm-atm-page: #f4efe9; --dm-atm-paper: #fffaf2; --dm-atm-soft: #e1d9c8;
  --dm-atm-ink: #252521; --dm-atm-muted: #5b5951; --dm-atm-accent: #b56832;
  --dm-atm-accent-strong: #773b18; --dm-atm-deep: #263b36; --dm-atm-secondary: #8b637a;
  --dm-atm-nav-accent: #edc878; --dm-atm-nav-1: #22352f; --dm-atm-nav-2: #4a3d44;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--mix-interior-styles-without-looking-random {
  --dm-atm-page: #f4eef1; --dm-atm-paper: #fff9f5; --dm-atm-soft: #dfced7;
  --dm-atm-ink: #292429; --dm-atm-muted: #5f555d; --dm-atm-accent: #9c5c79;
  --dm-atm-accent-strong: #63344c; --dm-atm-deep: #303c35; --dm-atm-secondary: #caa85a;
  --dm-atm-nav-accent: #efcf83; --dm-atm-nav-1: #2c3731; --dm-atm-nav-2: #4c3845;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--whole-room-colour-palette-from-one-loved-item {
  --dm-atm-page: #f5eef0; --dm-atm-paper: #fff9f4; --dm-atm-soft: #decfd9;
  --dm-atm-ink: #29242a; --dm-atm-muted: #60545d; --dm-atm-accent: #9b496d;
  --dm-atm-accent-strong: #613047; --dm-atm-deep: #243e3a; --dm-atm-secondary: #c49754;
  --dm-atm-nav-accent: #efc879; --dm-atm-nav-1: #203834; --dm-atm-nav-2: #513846;
}

/* Light-led palettes. */
body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--layered-living-room-lighting {
  --dm-atm-page: #eeeae1; --dm-atm-paper: #fff9ed; --dm-atm-soft: #d9cfb8;
  --dm-atm-ink: #242621; --dm-atm-muted: #5d5c52; --dm-atm-accent: #e3b54f;
  --dm-atm-accent-strong: #68480b; --dm-atm-deep: #17342f; --dm-atm-secondary: #a8734f;
  --dm-atm-nav-accent: #f3ce72; --dm-atm-nav-1: #112b27; --dm-atm-nav-2: #28443a;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--fall-decor-use-what-you-own {
  --dm-atm-page: #f5ece3; --dm-atm-paper: #fff8ef; --dm-atm-soft: #ead4bf;
  --dm-atm-ink: #2a2422; --dm-atm-muted: #625650; --dm-atm-accent: #b45734;
  --dm-atm-accent-strong: #74311e; --dm-atm-deep: #45343c; --dm-atm-secondary: #c89546;
  --dm-atm-nav-accent: #efca72; --dm-atm-nav-1: #3c2c34; --dm-atm-nav-2: #57382f;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--window-reading-nook-without-built-ins {
  --dm-atm-page: #f2f1e8; --dm-atm-paper: #fffaf1; --dm-atm-soft: #d8e0d8;
  --dm-atm-ink: #232824; --dm-atm-muted: #565e57; --dm-atm-accent: #b77b32;
  --dm-atm-accent-strong: #6c4213; --dm-atm-deep: #293f38; --dm-atm-secondary: #90a9a4;
  --dm-atm-nav-accent: #f0cc78; --dm-atm-nav-1: #233831; --dm-atm-nav-2: #3c554d;
}

/* Measured-making palettes. */
body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--diy-measure-test-safety-checklist {
  --dm-atm-page: #f0f1ed; --dm-atm-paper: #fbfbf6; --dm-atm-soft: #d7ded7;
  --dm-atm-ink: #242927; --dm-atm-muted: #555e59; --dm-atm-accent: #d95b3f;
  --dm-atm-accent-strong: #833321; --dm-atm-deep: #293934; --dm-atm-secondary: #d4a948;
  --dm-atm-nav-accent: #f0ca6d; --dm-atm-nav-1: #24342f; --dm-atm-nav-2: #414d43;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--living-room-rug-sizing-guide {
  --dm-atm-page: #f5efe4; --dm-atm-paper: #fffaf1; --dm-atm-soft: #e4d2bb;
  --dm-atm-ink: #272521; --dm-atm-muted: #5d5850; --dm-atm-accent: #bd6d32;
  --dm-atm-accent-strong: #773b16; --dm-atm-deep: #253d3a; --dm-atm-secondary: #8a829e;
  --dm-atm-nav-accent: #efc679; --dm-atm-nav-1: #203633; --dm-atm-nav-2: #4a424c;
}

/* Quiet-reset palettes. */
body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--no-buy-home-reset {
  --dm-atm-page: #f2f0e7; --dm-atm-paper: #fffaf2; --dm-atm-soft: #dce1d0;
  --dm-atm-ink: #242820; --dm-atm-muted: #585d52; --dm-atm-accent: #a75c3e;
  --dm-atm-accent-strong: #6e3724; --dm-atm-deep: #304237; --dm-atm-secondary: #b7a66c;
  --dm-atm-nav-accent: #ebd18a; --dm-atm-nav-1: #2b3b32; --dm-atm-nav-2: #465342;
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--small-bathroom-storage-keeps-floor-clear {
  --dm-atm-page: #eff3ef; --dm-atm-paper: #fbfdf9; --dm-atm-soft: #d5e3df;
  --dm-atm-ink: #222a27; --dm-atm-muted: #52605b; --dm-atm-accent: #538b7b;
  --dm-atm-accent-strong: #2e5a50; --dm-atm-deep: #243e3b; --dm-atm-secondary: #adc6bd;
  --dm-atm-nav-accent: #d8db9a; --dm-atm-nav-1: #203835; --dm-atm-nav-2: #3b5751;
}

/* Outdoors — sun, foliage and compact open-air rooms. */
body.dm-article-edition.dm-atmosphere.dm-atmosphere-slug--small-patio-balcony-layouts {
  --dm-atm-page: #f1f0e3; --dm-atm-paper: #fffaf0; --dm-atm-soft: #dbe0c7;
  --dm-atm-ink: #24281e; --dm-atm-muted: #575d4e; --dm-atm-accent: #b96637;
  --dm-atm-accent-strong: #753818; --dm-atm-deep: #284238; --dm-atm-secondary: #d3ae4f;
  --dm-atm-nav-accent: #f1cf72; --dm-atm-nav-1: #223a31; --dm-atm-nav-2: #44553a;
}

/* --------------------------------------------------------------------------
   Seven coherent texture languages
   -------------------------------------------------------------------------- */

body.dm-article-edition.dm-atmosphere.dm-atmosphere--air {
  --dm-atm-frame-radius: 18px 3px 18px 3px;
  --dm-atm-canvas-texture: radial-gradient(ellipse at 86% 3%, color-mix(in srgb, var(--dm-atm-secondary) 24%, transparent), transparent 34rem), linear-gradient(90deg, transparent 0 86%, color-mix(in srgb, var(--dm-atm-accent) 6%, transparent) 86% 86.2%, transparent 86.2%);
  --dm-atm-header-texture: linear-gradient(112deg, color-mix(in srgb, var(--dm-atm-paper) 92%, white), color-mix(in srgb, var(--dm-atm-soft) 22%, white));
  --dm-atm-hero-texture: linear-gradient(118deg, rgba(255,255,255,.9), rgba(255,255,255,.2) 62%), radial-gradient(ellipse at 82% 15%, color-mix(in srgb, var(--dm-atm-secondary) 28%, transparent), transparent 48%);
  --dm-atm-opening-texture: linear-gradient(110deg, rgba(255,255,255,.86), rgba(255,255,255,.12)), repeating-linear-gradient(90deg, transparent 0 69px, color-mix(in srgb, var(--dm-atm-deep) 5%, transparent) 69px 70px), url("../images/texture-eggshell-v1.webp");
  --dm-atm-copy-texture: linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-secondary) 6%, transparent), transparent 24%);
  --dm-atm-diagram-texture: linear-gradient(130deg, rgba(255,255,255,.82), rgba(255,255,255,.22)), repeating-linear-gradient(90deg, transparent 0 49px, color-mix(in srgb, var(--dm-atm-deep) 5%, transparent) 49px 50px);
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere--gallery {
  --dm-atm-frame-radius: 2px;
  --dm-atm-canvas-texture: linear-gradient(color-mix(in srgb, var(--dm-atm-deep) 3%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-deep) 3%, transparent) 1px, transparent 1px);
  --dm-atm-header-texture: linear-gradient(100deg, var(--dm-atm-paper) 0 73%, color-mix(in srgb, var(--dm-atm-soft) 34%, white) 73%);
  --dm-atm-hero-texture: linear-gradient(115deg, rgba(255,255,255,.82), rgba(255,255,255,.16)), linear-gradient(90deg, transparent 0 77%, color-mix(in srgb, var(--dm-atm-accent) 18%, transparent) 77%);
  --dm-atm-opening-texture: linear-gradient(118deg, rgba(255,255,255,.8), rgba(255,255,255,.12)), linear-gradient(color-mix(in srgb, var(--dm-atm-deep) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-deep) 5%, transparent) 1px, transparent 1px), url("../images/texture-eggshell-v1.webp");
  --dm-atm-diagram-texture: linear-gradient(125deg, rgba(255,255,255,.8), rgba(255,255,255,.18)), linear-gradient(color-mix(in srgb, var(--dm-atm-deep) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-deep) 5%, transparent) 1px, transparent 1px);
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere--glow {
  --dm-atm-frame-radius: 16px 3px 16px 3px;
  --dm-atm-opening-surface: var(--dm-atm-deep);
  --dm-atm-opening-ink: var(--dm-atm-on-deep);
  --dm-atm-opening-muted: var(--dm-atm-on-deep-muted);
  --dm-atm-opening-kicker: var(--dm-atm-nav-accent);
  --dm-atm-opening-line: rgba(255,255,255,.22);
  --dm-atm-canvas-texture: radial-gradient(circle at 90% 4%, color-mix(in srgb, var(--dm-atm-secondary) 22%, transparent), transparent 31rem), radial-gradient(circle at 8% 42%, color-mix(in srgb, var(--dm-atm-accent) 7%, transparent), transparent 27rem);
  --dm-atm-header-texture: linear-gradient(112deg, var(--dm-atm-paper), color-mix(in srgb, var(--dm-atm-secondary) 15%, white));
  --dm-atm-hero-texture: radial-gradient(circle at 79% 18%, color-mix(in srgb, var(--dm-atm-secondary) 35%, transparent), transparent 31%), linear-gradient(120deg, rgba(255,255,255,.88), rgba(255,255,255,.1));
  --dm-atm-opening-texture: radial-gradient(circle at 80% 24%, color-mix(in srgb, var(--dm-atm-secondary) 42%, transparent), transparent 29%), linear-gradient(135deg, color-mix(in srgb, var(--dm-atm-deep) 92%, black), var(--dm-atm-deep) 62%, color-mix(in srgb, var(--dm-atm-deep) 76%, black));
  --dm-atm-copy-texture: linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-secondary) 7%, transparent), transparent 35%);
  --dm-atm-diagram-texture: radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--dm-atm-secondary) 15%, transparent), transparent 35%), linear-gradient(120deg, rgba(255,255,255,.78), rgba(255,255,255,.18));
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere--studio {
  --dm-atm-frame-radius: 1px;
  --dm-atm-canvas-texture: linear-gradient(color-mix(in srgb, var(--dm-atm-deep) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-deep) 4%, transparent) 1px, transparent 1px);
  --dm-atm-header-texture: linear-gradient(90deg, var(--dm-atm-paper) 0 64%, color-mix(in srgb, var(--dm-atm-soft) 35%, white) 64%);
  --dm-atm-hero-texture: linear-gradient(108deg, rgba(255,255,255,.88), rgba(255,255,255,.12)), repeating-linear-gradient(90deg, transparent 0 79px, color-mix(in srgb, var(--dm-atm-deep) 7%, transparent) 79px 80px);
  --dm-atm-opening-texture: linear-gradient(rgba(255,255,255,.76), rgba(255,255,255,.24)), linear-gradient(color-mix(in srgb, var(--dm-atm-deep) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-deep) 7%, transparent) 1px, transparent 1px);
  --dm-atm-diagram-texture: linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.32)), linear-gradient(color-mix(in srgb, var(--dm-atm-deep) 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-deep) 8%, transparent) 1px, transparent 1px);
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere--rhythm {
  --dm-atm-frame-radius: 3px 14px 3px 14px;
  --dm-atm-canvas-texture: repeating-linear-gradient(90deg, transparent 0 119px, color-mix(in srgb, var(--dm-atm-deep) 3.5%, transparent) 119px 120px), radial-gradient(circle at 94% 12%, color-mix(in srgb, var(--dm-atm-secondary) 18%, transparent), transparent 28rem);
  --dm-atm-header-texture: linear-gradient(106deg, var(--dm-atm-paper), color-mix(in srgb, var(--dm-atm-soft) 25%, white));
  --dm-atm-hero-texture: linear-gradient(112deg, rgba(255,255,255,.86), rgba(255,255,255,.12)), repeating-linear-gradient(135deg, transparent 0 15px, color-mix(in srgb, var(--dm-atm-accent) 5%, transparent) 15px 16px);
  --dm-atm-opening-texture: linear-gradient(112deg, rgba(255,255,255,.82), rgba(255,255,255,.14)), repeating-linear-gradient(135deg, transparent 0 22px, color-mix(in srgb, var(--dm-atm-accent) 6%, transparent) 22px 23px), url("../images/texture-eggshell-v1.webp");
  --dm-atm-diagram-texture: linear-gradient(120deg, rgba(255,255,255,.8), rgba(255,255,255,.18)), repeating-linear-gradient(90deg, transparent 0 59px, color-mix(in srgb, var(--dm-atm-accent) 6%, transparent) 59px 60px);
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere--retreat {
  --dm-atm-frame-radius: 20px 4px 20px 4px;
  --dm-atm-canvas-texture: radial-gradient(ellipse at 92% 0%, color-mix(in srgb, var(--dm-atm-secondary) 22%, transparent), transparent 34rem), radial-gradient(ellipse at 4% 58%, color-mix(in srgb, var(--dm-atm-soft) 28%, transparent), transparent 30rem);
  --dm-atm-header-texture: linear-gradient(115deg, var(--dm-atm-paper), color-mix(in srgb, var(--dm-atm-soft) 28%, white));
  --dm-atm-hero-texture: radial-gradient(ellipse at 85% 9%, color-mix(in srgb, var(--dm-atm-secondary) 22%, transparent), transparent 42%), linear-gradient(115deg, rgba(255,255,255,.86), rgba(255,255,255,.18));
  --dm-atm-opening-texture: radial-gradient(ellipse at 82% 8%, color-mix(in srgb, var(--dm-atm-secondary) 22%, transparent), transparent 40%), linear-gradient(115deg, rgba(255,255,255,.84), rgba(255,255,255,.15)), url("../images/texture-eggshell-v1.webp");
  --dm-atm-copy-texture: linear-gradient(90deg, color-mix(in srgb, var(--dm-atm-soft) 13%, transparent), transparent 31%);
  --dm-atm-diagram-texture: radial-gradient(ellipse at 90% 2%, color-mix(in srgb, var(--dm-atm-secondary) 14%, transparent), transparent 42%), linear-gradient(125deg, rgba(255,255,255,.82), rgba(255,255,255,.2));
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere--outdoors {
  --dm-atm-frame-radius: 4px 22px 4px 22px;
  --dm-atm-canvas-texture: radial-gradient(circle at 89% 4%, color-mix(in srgb, var(--dm-atm-secondary) 30%, transparent), transparent 22rem), radial-gradient(circle at 8% 44%, color-mix(in srgb, var(--dm-atm-soft) 40%, transparent), transparent 26rem);
  --dm-atm-header-texture: linear-gradient(106deg, var(--dm-atm-paper), color-mix(in srgb, var(--dm-atm-soft) 34%, white));
  --dm-atm-hero-texture: radial-gradient(circle at 85% 12%, color-mix(in srgb, var(--dm-atm-secondary) 34%, transparent), transparent 32%), linear-gradient(120deg, rgba(255,255,255,.88), rgba(255,255,255,.12));
  --dm-atm-opening-texture: radial-gradient(circle at 84% 10%, color-mix(in srgb, var(--dm-atm-secondary) 32%, transparent), transparent 30%), repeating-radial-gradient(circle at 7% 78%, color-mix(in srgb, var(--dm-atm-deep) 5%, transparent) 0 2px, transparent 2px 24px), linear-gradient(118deg, rgba(255,255,255,.82), rgba(255,255,255,.16));
  --dm-atm-diagram-texture: linear-gradient(128deg, rgba(255,255,255,.82), rgba(255,255,255,.18)), repeating-radial-gradient(circle at 95% 10%, color-mix(in srgb, var(--dm-atm-deep) 5%, transparent) 0 2px, transparent 2px 22px);
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere--gallery,
body.dm-article-edition.dm-atmosphere.dm-atmosphere--studio {
  background-size: 42px 42px;
}

/* --------------------------------------------------------------------------
   The consistent shell adopts each article's accents
   -------------------------------------------------------------------------- */

body.dm-article-edition.dm-atmosphere .dm-content-shell {
  background-color: transparent;
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--dm-atm-paper) 48%, transparent), transparent 28rem);
}

/* v3/v4 give .dm-single an opaque paper tile. Keep this surface translucent so
 * the family canvas can remain visible without reducing copy contrast. */
body.dm-article-edition.dm-atmosphere .dm-single.dm-content-shell {
  background-color: transparent;
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--dm-atm-paper) 55%, transparent), transparent 30rem);
  background-size: auto;
  background-blend-mode: normal;
}

body.dm-article-edition.dm-atmosphere .dm-site-header {
  color: var(--dm-atm-ink);
  background-color: var(--dm-atm-paper);
  background-image: var(--dm-atm-header-texture);
  box-shadow: 0 9px 30px color-mix(in srgb, var(--dm-atm-shadow) 66%, transparent);
}

body.dm-article-edition.dm-atmosphere .dm-topline {
  border-bottom-color: var(--dm-atm-line);
  background: color-mix(in srgb, var(--dm-atm-soft) 48%, var(--dm-atm-paper));
}

body.dm-article-edition.dm-atmosphere .dm-topline-story > a::before {
  background: var(--dm-atm-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--dm-atm-accent) 16%, transparent);
}

body.dm-article-edition.dm-atmosphere .dm-logo-door { fill: var(--dm-atm-deep); }
body.dm-article-edition.dm-atmosphere .dm-logo-light { fill: var(--dm-atm-accent); }
body.dm-article-edition.dm-atmosphere .dm-brand-tagline,
body.dm-article-edition.dm-atmosphere .dm-edition { color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-header-promise { border-left-color: color-mix(in srgb, var(--dm-atm-accent) 40%, transparent); color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-header-promise span { color: var(--dm-atm-accent-strong); }

/* The per-guide edition label is deliberately compact. Its full accessible
 * text remains in the DOM even when the narrow desktop slot ellipsizes it. */
body.dm-article-edition.dm-atmosphere .dm-atmosphere-edition {
  width: max-content;
  max-width: min(10.5rem, 12vw);
  min-width: 0;
  margin: 0;
  overflow: hidden;
  padding: .38rem .62rem;
  border: 1px solid color-mix(in srgb, var(--dm-atm-accent) 42%, transparent);
  border-radius: 999px;
  color: var(--dm-atm-accent-strong);
  background: color-mix(in srgb, var(--dm-atm-soft) 42%, var(--dm-atm-paper));
  font-size: .61rem;
  font-weight: 790;
  letter-spacing: .075em;
  line-height: 1.15;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.dm-article-edition.dm-atmosphere .dm-header-search .wp-block-search__inside-wrapper {
  border-color: var(--dm-atm-line);
  background: color-mix(in srgb, var(--dm-atm-paper) 84%, white);
  box-shadow: inset 0 1px rgba(255,255,255,.9), 0 8px 24px color-mix(in srgb, var(--dm-atm-shadow) 38%, transparent);
}

body.dm-article-edition.dm-atmosphere .dm-header-search:focus-within .wp-block-search__inside-wrapper {
  border-color: var(--dm-atm-accent-strong);
  background: #fff;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--dm-atm-accent) 16%, transparent), 0 12px 30px var(--dm-atm-shadow);
}

body.dm-article-edition.dm-atmosphere .dm-header-search .wp-block-search__button {
  color: var(--dm-atm-deep);
  background: color-mix(in srgb, var(--dm-atm-secondary) 72%, white);
}

body.dm-article-edition.dm-atmosphere .dm-header-search .wp-block-search__button:hover,
body.dm-article-edition.dm-atmosphere .dm-header-search .wp-block-search__button:focus-visible {
  color: var(--dm-atm-on-deep);
  background: var(--dm-atm-deep);
}

body.dm-article-edition.dm-atmosphere .dm-nav-bar {
  border-bottom-color: color-mix(in srgb, var(--dm-atm-nav-1) 76%, black);
  background: radial-gradient(circle at 82% 125%, color-mix(in srgb, var(--dm-atm-nav-accent) 14%, transparent), transparent 31%), linear-gradient(110deg, var(--dm-atm-nav-1), var(--dm-atm-nav-2) 58%, var(--dm-atm-nav-1));
  box-shadow: inset 0 1px rgba(255,255,255,.09), 0 6px 20px var(--dm-atm-shadow);
}

body.dm-article-edition.dm-atmosphere .dm-nav-bar .wp-block-navigation-item__content,
body.dm-article-edition.dm-atmosphere .dm-nav-about a { color: var(--dm-atm-on-deep); }
body.dm-article-edition.dm-atmosphere .dm-nav-bar .wp-block-navigation-item__content::after { background: var(--dm-atm-nav-accent); }
body.dm-article-edition.dm-atmosphere .dm-nav-about a { color: var(--dm-atm-nav-accent); }

body.dm-article-edition.dm-atmosphere.dm-nav-docked .dm-nav-bar {
  background: color-mix(in srgb, var(--dm-atm-nav-1) 93%, transparent);
  box-shadow: 0 12px 34px color-mix(in srgb, var(--dm-atm-nav-1) 30%, transparent), inset 0 -1px color-mix(in srgb, var(--dm-atm-nav-accent) 34%, transparent);
}

/* Article title and hero remain one cover, now tuned to the subject. */
body.dm-article-edition.dm-atmosphere .dm-article-opening {
  position: relative;
  isolation: isolate;
  padding-block: clamp(1rem, 2.4vw, 1.9rem);
  background-color: color-mix(in srgb, var(--dm-atm-paper) 68%, transparent);
  background-image: var(--dm-atm-hero-texture);
  box-shadow: inset 0 1px var(--dm-atm-line), inset 0 -1px var(--dm-atm-line);
}

body.dm-article-edition.dm-atmosphere .dm-article-header h1 { color: var(--dm-atm-deep); }
body.dm-article-edition.dm-atmosphere .dm-article-header .wp-block-post-terms a,
body.dm-article-edition.dm-atmosphere .dm-article-header .dm-kicker { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-article-deck,
body.dm-article-edition.dm-atmosphere .dm-article-meta { color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-article-meta strong { color: var(--dm-atm-deep); }

body.dm-article-edition.dm-atmosphere .dm-article-opening > .dm-article-hero {
  border-radius: var(--dm-atm-frame-radius);
  background: var(--dm-atm-soft);
  box-shadow: 0 24px 68px var(--dm-atm-shadow);
}

body.dm-article-edition.dm-atmosphere .dm-article-opening > .dm-article-hero img { border-color: var(--dm-atm-line); }
body.dm-article-edition.dm-atmosphere .dm-article-hero figcaption { color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-image-study { border-color: rgba(255,255,255,.68); background: color-mix(in srgb, var(--dm-atm-deep) 88%, transparent); }

/* Edition cover uses tokenised text colours, including the dark Glow cover. */
body.dm-article-edition.dm-atmosphere .dm-edition-opening {
  border-color: var(--dm-atm-opening-line);
  border-radius: var(--dm-atm-frame-radius);
  color: var(--dm-atm-opening-ink);
  background-color: var(--dm-atm-opening-surface);
  background-image: var(--dm-atm-opening-texture);
  box-shadow: 0 22px 64px color-mix(in srgb, var(--dm-atm-shadow) 72%, transparent);
}

body.dm-article-edition.dm-atmosphere .dm-edition-opening::before { background: var(--dm-atm-accent); }
body.dm-article-edition.dm-atmosphere .dm-edition-opening::after { border-color: color-mix(in srgb, var(--dm-atm-opening-kicker) 48%, transparent); }
body.dm-article-edition.dm-atmosphere .dm-edition-opening h2,
body.dm-article-edition.dm-atmosphere .dm-edition-opening__phases li { color: var(--dm-atm-opening-ink); }
body.dm-article-edition.dm-atmosphere .dm-edition-opening__copy > p:last-child { color: var(--dm-atm-opening-muted); }
body.dm-article-edition.dm-atmosphere .dm-edition-opening .dm-kicker,
body.dm-article-edition.dm-atmosphere .dm-edition-opening__number,
body.dm-article-edition.dm-atmosphere .dm-edition-opening__phases span { color: var(--dm-atm-opening-kicker); }
body.dm-article-edition.dm-atmosphere .dm-edition-opening__phases,
body.dm-article-edition.dm-atmosphere .dm-edition-opening__phases li { border-color: var(--dm-atm-opening-line); }

body.dm-article-edition.dm-atmosphere.dm-atmosphere--air .dm-edition-opening::after { border-radius: 50% 50% 44% 56%; transform: rotate(-7deg) scaleX(1.25); }
body.dm-article-edition.dm-atmosphere.dm-atmosphere--gallery .dm-edition-opening::after { border-radius: 1px; transform: rotate(8deg); box-shadow: 18px 14px 0 color-mix(in srgb, var(--dm-atm-secondary) 13%, transparent); }
body.dm-article-edition.dm-atmosphere.dm-atmosphere--studio .dm-edition-opening::after { border-radius: 0; transform: rotate(0); box-shadow: inset 0 0 0 9px color-mix(in srgb, var(--dm-atm-accent) 6%, transparent); }
body.dm-article-edition.dm-atmosphere.dm-atmosphere--rhythm .dm-edition-opening::after { border-radius: 50%; box-shadow: 0 0 0 15px color-mix(in srgb, var(--dm-atm-accent) 7%, transparent), 0 0 0 31px color-mix(in srgb, var(--dm-atm-secondary) 6%, transparent); }
body.dm-article-edition.dm-atmosphere.dm-atmosphere--retreat .dm-edition-opening::after { border-radius: 61% 39% 55% 45%; transform: rotate(12deg); }
body.dm-article-edition.dm-atmosphere.dm-atmosphere--outdoors .dm-edition-opening::after { border-radius: 68% 32% 66% 34%; transform: rotate(-16deg); box-shadow: 16px 18px 0 color-mix(in srgb, var(--dm-atm-secondary) 13%, transparent); }

/* --------------------------------------------------------------------------
   Reading canvas, navigation and chapter signals
   -------------------------------------------------------------------------- */

body.dm-article-edition.dm-atmosphere .dm-article-content {
  color: var(--dm-atm-ink);
  background-color: transparent;
  background-image: var(--dm-atm-copy-texture);
}

body.dm-article-edition.dm-atmosphere .dm-article-content h2,
body.dm-article-edition.dm-atmosphere .dm-article-content h3,
body.dm-article-edition.dm-atmosphere .dm-article-content h4 { color: var(--dm-atm-deep); }

body.dm-article-edition.dm-atmosphere .dm-article-content a,
body.dm-article-edition.dm-atmosphere .dm-after-article a,
body.dm-article-edition.dm-atmosphere .dm-next-reads a:not(.dm-next-image) {
  text-decoration-color: color-mix(in srgb, var(--dm-atm-accent) 52%, transparent);
  text-decoration-thickness: .08em;
  text-underline-offset: .2em;
}

body.dm-article-edition.dm-atmosphere .dm-article-content a { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-article-content a:hover { color: var(--dm-atm-deep); }

body.dm-article-edition.dm-atmosphere .dm-article-content blockquote,
body.dm-article-edition.dm-atmosphere .dm-callout {
  border-left-color: var(--dm-atm-accent);
  color: var(--dm-atm-ink);
  background: color-mix(in srgb, var(--dm-atm-soft) 58%, var(--dm-atm-paper));
}

body.dm-article-edition.dm-atmosphere .dm-sources,
body.dm-article-edition.dm-atmosphere .dm-summary-table tbody tr:nth-child(even) {
  color: var(--dm-atm-muted);
  background: color-mix(in srgb, var(--dm-atm-soft) 46%, var(--dm-atm-paper));
}

body.dm-article-edition.dm-atmosphere .dm-summary-table th { color: var(--dm-atm-on-deep); background: var(--dm-atm-deep); }
body.dm-article-edition.dm-atmosphere .dm-summary-table th,
body.dm-article-edition.dm-atmosphere .dm-summary-table td { border-color: var(--dm-atm-line); }

body.dm-article-edition.dm-atmosphere .dm-guide-experience {
  border-color: var(--dm-atm-line);
  border-top: 5px solid var(--dm-atm-accent);
  border-radius: var(--dm-atm-frame-radius);
  background-color: var(--dm-atm-paper);
  background-image: var(--dm-atm-panel-texture), url("../images/texture-eggshell-v1.webp");
  box-shadow: inset 0 1px rgba(255,255,255,.62), 0 16px 42px var(--dm-atm-shadow);
}

body.dm-article-edition.dm-atmosphere .dm-guide-experience .dm-kicker,
body.dm-article-edition.dm-atmosphere .dm-guide-nav a[aria-current="location"],
body.dm-article-edition.dm-atmosphere .dm-reader-reset { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-guide-progress { background: color-mix(in srgb, var(--dm-atm-deep) 14%, transparent); }
body.dm-article-edition.dm-atmosphere .dm-guide-progress span { background: linear-gradient(90deg, var(--dm-atm-accent), var(--dm-atm-accent-strong)); }
body.dm-article-edition.dm-atmosphere .dm-reader-button,
body.dm-article-edition.dm-atmosphere .dm-unit-control button { border-color: color-mix(in srgb, var(--dm-atm-deep) 35%, transparent); color: var(--dm-atm-ink); background: color-mix(in srgb, var(--dm-atm-paper) 82%, white); }
body.dm-article-edition.dm-atmosphere .dm-reader-button[aria-pressed="true"],
body.dm-article-edition.dm-atmosphere .dm-unit-control button[aria-pressed="true"] { border-color: var(--dm-atm-deep); color: var(--dm-atm-on-deep); background: var(--dm-atm-deep); }
body.dm-article-edition.dm-atmosphere .dm-reader-button:hover,
body.dm-article-edition.dm-atmosphere .dm-unit-control button:hover { border-color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-guide-resume { border-left-color: var(--dm-atm-accent); background: color-mix(in srgb, var(--dm-atm-soft) 38%, var(--dm-atm-paper)); }

body.dm-article-edition.dm-atmosphere.single-post::before {
  background: linear-gradient(90deg, var(--dm-atm-accent) 0 var(--dm-reading-progress), color-mix(in srgb, var(--dm-atm-deep) 10%, transparent) var(--dm-reading-progress));
}

body.dm-article-edition.dm-atmosphere .dm-reading-dock {
  border-color: color-mix(in srgb, var(--dm-atm-nav-accent) 36%, transparent);
  color: var(--dm-atm-on-deep);
  background: color-mix(in srgb, var(--dm-atm-deep) 94%, transparent);
  box-shadow: 0 12px 36px color-mix(in srgb, var(--dm-atm-deep) 30%, transparent);
  backdrop-filter: blur(12px) saturate(1.06);
}

body.dm-article-edition.dm-atmosphere .dm-reading-dock strong { color: var(--dm-atm-nav-accent); }

body.dm-article-edition.dm-atmosphere .dm-edition-key { border-color: var(--dm-atm-line); }
body.dm-article-edition.dm-atmosphere .dm-edition-key p { color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-edition-key li { color: var(--dm-atm-deep); }
body.dm-article-edition.dm-atmosphere .dm-edition-key li::before { background: var(--dm-atm-accent); }

body.dm-article-edition.dm-atmosphere .dm-edition-chapter { border-color: var(--dm-atm-line); }
body.dm-article-edition.dm-atmosphere .dm-edition-chapter__tab { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-edition-chapter__tab::after {
  background-color: currentColor;
  opacity: .48;
  transform: scaleX(.42);
  transform-origin: left;
  transition: transform 620ms cubic-bezier(.2,.72,.2,1), opacity 320ms ease;
}

body.dm-article-edition.dm-atmosphere .dm-edition-chapter.is-in-view .dm-edition-chapter__tab::after,
body.dm-article-edition.dm-atmosphere .dm-edition-chapter:focus-within .dm-edition-chapter__tab::after {
  opacity: .76;
  transform: scaleX(1);
}

body.dm-article-edition.dm-atmosphere .dm-edition-chapter--phase-start:not(:first-child)::after {
  background: linear-gradient(90deg, var(--dm-atm-accent), color-mix(in srgb, var(--dm-atm-secondary) 48%, transparent), transparent 82%);
}

body.dm-article-edition.dm-atmosphere .dm-single .dm-article-content h2[data-dm-reading-heading]::before,
body.dm-article-edition.dm-atmosphere .dm-article-content h2[data-dm-reading-heading]::before { background: var(--dm-atm-accent); }

body.dm-article-edition.dm-atmosphere .dm-article-content h2[data-dm-reading-heading].is-current { color: var(--dm-atm-accent-strong); }

/* --------------------------------------------------------------------------
   Useful visuals: boards, close-ups and diagrams
   -------------------------------------------------------------------------- */

body.dm-article-edition.dm-atmosphere .dm-edition-board__image {
  border-radius: var(--dm-atm-frame-radius);
  background: color-mix(in srgb, var(--dm-atm-soft) 72%, #e8dfd1);
  box-shadow: 0 26px 70px var(--dm-atm-shadow);
}

body.dm-article-edition.dm-atmosphere .dm-edition-board__image::after { border-color: color-mix(in srgb, var(--dm-atm-deep) 20%, transparent); }
body.dm-article-edition.dm-atmosphere .dm-edition-board__key { border-color: var(--dm-atm-line); }
body.dm-article-edition.dm-atmosphere .dm-edition-board__key li { border-color: var(--dm-atm-line); color: var(--dm-atm-deep); background: color-mix(in srgb, var(--dm-atm-paper) 86%, transparent); }
body.dm-article-edition.dm-atmosphere .dm-edition-board__key span { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-edition-board figcaption { border-left-color: var(--dm-atm-accent); color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-edition-board figcaption strong { color: var(--dm-atm-deep); }

body.dm-article-edition.dm-atmosphere .dm-edition-detail {
  border-color: var(--dm-atm-line);
  border-top-color: var(--dm-detail-mark, var(--dm-atm-accent));
  border-radius: var(--dm-atm-frame-radius);
  background: color-mix(in srgb, var(--dm-atm-soft) 56%, var(--dm-atm-paper));
  box-shadow: 0 18px 48px var(--dm-atm-shadow);
}

body.dm-article-edition.dm-atmosphere .dm-edition-detail__media { background: color-mix(in srgb, var(--dm-atm-soft) 68%, #e7dfd2); }
body.dm-article-edition.dm-atmosphere .dm-edition-detail__caption,
body.dm-article-edition.dm-atmosphere .dm-edition-detail__takeaway { color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-edition-detail__label,
body.dm-article-edition.dm-atmosphere .dm-edition-detail__eyebrow { color: var(--dm-atm-deep); }
body.dm-article-edition.dm-atmosphere .dm-edition-detail__takeaway { border-color: var(--dm-atm-line); }
body.dm-article-edition.dm-atmosphere .dm-edition-detail__takeaway b { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-edition-detail__provenance { color: var(--dm-atm-muted); }

body.dm-article-edition.dm-atmosphere .dm-edition-diagram {
  border-color: var(--dm-atm-line);
  border-radius: var(--dm-atm-frame-radius);
  background-color: var(--dm-atm-paper);
  background-image: var(--dm-atm-diagram-texture);
  box-shadow: 0 22px 58px color-mix(in srgb, var(--dm-atm-shadow) 70%, transparent);
}

body.dm-article-edition.dm-atmosphere.dm-atmosphere--gallery .dm-edition-diagram,
body.dm-article-edition.dm-atmosphere.dm-atmosphere--studio .dm-edition-diagram { background-size: auto, 28px 28px, 28px 28px; }
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__head .dm-kicker { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__head h3 { color: var(--dm-atm-deep) !important; }
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__head > p:last-child,
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__copy small { color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__plot { background: var(--dm-atm-line); }
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__plot > li { background: color-mix(in srgb, var(--dm-atm-paper) 92%, white); }
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__mark,
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__copy em { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-edition-diagram__copy strong { color: var(--dm-atm-deep); }

/* --------------------------------------------------------------------------
   Recirculation carries the mood forward without becoming a costume change
   -------------------------------------------------------------------------- */

body.dm-article-edition.dm-atmosphere .dm-after-article {
  color: var(--dm-atm-on-deep);
  background: radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--dm-atm-nav-accent) 15%, transparent), transparent 32%), linear-gradient(120deg, var(--dm-atm-deep), var(--dm-atm-nav-1));
}

body.dm-article-edition.dm-atmosphere .dm-after-article .dm-kicker { color: var(--dm-atm-nav-accent); }
body.dm-article-edition.dm-atmosphere .dm-after-article h2,
body.dm-article-edition.dm-atmosphere .dm-after-article a { color: var(--dm-atm-on-deep); }
body.dm-article-edition.dm-atmosphere .dm-after-article p { color: var(--dm-atm-on-deep-muted); }

body.dm-article-edition.dm-atmosphere .dm-next-reads { border-top-color: var(--dm-atm-deep); }
body.dm-article-edition.dm-atmosphere .dm-next-reads > header .dm-kicker,
body.dm-article-edition.dm-atmosphere .dm-next-grid h3 a:hover,
body.dm-article-edition.dm-atmosphere .dm-next-grid h3 a:focus-visible { color: var(--dm-atm-accent-strong); }
body.dm-article-edition.dm-atmosphere .dm-next-reads > header > p:last-child,
body.dm-article-edition.dm-atmosphere .dm-next-grid article > div > p:not(.dm-story-meta) { color: var(--dm-atm-muted); }
body.dm-article-edition.dm-atmosphere .dm-next-image { border-radius: var(--dm-atm-frame-radius); background: var(--dm-atm-soft); box-shadow: 0 16px 40px color-mix(in srgb, var(--dm-atm-shadow) 68%, transparent); }

body.dm-article-edition.dm-atmosphere .dm-next-moves {
  background-color: var(--dm-atm-page);
  background-image: radial-gradient(circle at 8% 92%, color-mix(in srgb, var(--dm-atm-accent) 12%, transparent), transparent 27rem), linear-gradient(180deg, color-mix(in srgb, var(--dm-atm-paper) 74%, transparent), color-mix(in srgb, var(--dm-atm-soft) 42%, var(--dm-atm-page)));
}

body.dm-article-edition.dm-atmosphere .dm-next-move {
  border-radius: var(--dm-atm-frame-radius);
  color: var(--dm-atm-ink);
  box-shadow: inset 0 0 0 1px var(--dm-atm-line), 0 16px 38px color-mix(in srgb, var(--dm-atm-shadow) 55%, transparent);
}

body.dm-article-edition.dm-atmosphere .dm-next-move--butter { background: #eee2be; background: color-mix(in srgb, var(--dm-atm-secondary) 45%, white); }
body.dm-article-edition.dm-atmosphere .dm-next-move--sage { background: #d9e2d6; background: color-mix(in srgb, var(--dm-atm-deep) 18%, white); }
body.dm-article-edition.dm-atmosphere .dm-next-move--blush { background: #ead6cf; background: color-mix(in srgb, var(--dm-atm-accent) 27%, white); }
body.dm-article-edition.dm-atmosphere .dm-next-move--blue { background: #d8e0e3; background: color-mix(in srgb, var(--dm-atm-soft) 62%, white); }
body.dm-article-edition.dm-atmosphere .dm-next-move::before { border-color: color-mix(in srgb, var(--dm-atm-deep) 18%, transparent); }

body.dm-article-edition.dm-atmosphere .dm-story-routes,
body.dm-article-edition.dm-atmosphere .dm-voice-desk,
body.dm-article-edition.dm-atmosphere .dm-project-tool { --dm-desk-accent: var(--dm-atm-accent); }

/* Interaction is finite and user-triggered. Nothing loops or hides content. */
body.dm-article-edition.dm-atmosphere .dm-edition-detail,
body.dm-article-edition.dm-atmosphere .dm-edition-board__image,
body.dm-article-edition.dm-atmosphere .dm-edition-diagram,
body.dm-article-edition.dm-atmosphere .dm-next-image,
body.dm-article-edition.dm-atmosphere .dm-next-move {
  transition: border-color 240ms ease, box-shadow 360ms ease, filter 360ms ease, transform 420ms cubic-bezier(.2,.72,.2,1);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.dm-article-edition.dm-atmosphere .dm-edition-detail:hover,
  body.dm-article-edition.dm-atmosphere .dm-edition-board__image:hover,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram:hover {
    border-color: color-mix(in srgb, var(--dm-atm-accent) 42%, var(--dm-atm-line));
    box-shadow: 0 25px 64px color-mix(in srgb, var(--dm-atm-shadow) 88%, transparent);
  }

  body.dm-article-edition.dm-atmosphere.dm-atmosphere--air .dm-edition-detail:hover,
  body.dm-article-edition.dm-atmosphere.dm-atmosphere--retreat .dm-edition-detail:hover,
  body.dm-article-edition.dm-atmosphere.dm-atmosphere--outdoors .dm-edition-detail:hover { transform: translateY(-2px); }

  body.dm-article-edition.dm-atmosphere.dm-atmosphere--gallery .dm-edition-detail:hover,
  body.dm-article-edition.dm-atmosphere.dm-atmosphere--studio .dm-edition-detail:hover { transform: translate(1px, -1px); }

  body.dm-article-edition.dm-atmosphere.dm-atmosphere--glow .dm-edition-detail:hover,
  body.dm-article-edition.dm-atmosphere.dm-atmosphere--glow .dm-edition-diagram:hover { box-shadow: 0 25px 68px color-mix(in srgb, var(--dm-atm-secondary) 21%, transparent); }

  body.dm-article-edition.dm-atmosphere.dm-atmosphere--rhythm .dm-edition-chapter:hover .dm-edition-chapter__tab::after { opacity: .82; transform: scaleX(1); }
}

body.dm-article-edition.dm-atmosphere :focus-visible {
  outline: 3px solid var(--dm-atm-accent-strong);
  outline-offset: 4px;
}

/*
 * Dark surfaces need a two-tone indicator: the deep inner edge remains clear
 * on light controls, while the warm outer ring stays visible on the nav,
 * active buttons and evening covers. This also preserves a real outline for
 * forced-colour modes, where box shadows are commonly suppressed.
 */
body.dm-article-edition.dm-atmosphere .dm-nav-bar :focus-visible,
body.dm-article-edition.dm-atmosphere .dm-header-search .wp-block-search__button:focus-visible,
body.dm-article-edition.dm-atmosphere .dm-reading-dock :focus-visible,
body.dm-article-edition.dm-atmosphere .dm-after-article :focus-visible,
body.dm-article-edition.dm-atmosphere .dm-reader-button[aria-pressed="true"]:focus-visible,
body.dm-article-edition.dm-atmosphere .dm-unit-control button[aria-pressed="true"]:focus-visible,
body.dm-article-edition.dm-atmosphere.dm-atmosphere--glow .dm-edition-opening :focus-visible {
  outline: 2px solid var(--dm-atm-deep);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--dm-atm-nav-accent);
}

body.dm-article-edition.dm-atmosphere ::selection {
  color: var(--dm-atm-deep);
  background: color-mix(in srgb, var(--dm-atm-secondary) 52%, white);
}

/* --------------------------------------------------------------------------
   Responsive, accessibility and non-colour fallbacks
   -------------------------------------------------------------------------- */

@media (min-width: 1181px) and (max-width: 1280px) {
  body.dm-article-edition.dm-atmosphere .dm-atmosphere-edition {
    max-width: 7.25rem;
    padding-inline: .5rem;
    letter-spacing: .045em;
  }
}

@media (max-width: 960px) {
  body.dm-article-edition.dm-atmosphere {
    background-size: auto;
  }

  body.dm-article-edition.dm-atmosphere .dm-article-opening {
    background-position: center top;
  }

  body.dm-article-edition.dm-atmosphere .dm-guide-experience {
    box-shadow: 0 12px 32px color-mix(in srgb, var(--dm-atm-shadow) 62%, transparent);
  }

  body.dm-article-edition.dm-atmosphere .dm-reading-dock {
    max-width: calc(100vw - 1rem);
  }
}

@media (max-width: 680px) {
  body.dm-article-edition.dm-atmosphere .dm-site-header,
  body.dm-article-edition.dm-atmosphere .dm-content-shell { background-image: none; }

  body.dm-article-edition.dm-atmosphere .dm-article-opening {
    width: calc(100% - 24px);
    padding-block: .8rem 1rem;
    background-image: linear-gradient(125deg, color-mix(in srgb, var(--dm-atm-paper) 86%, transparent), color-mix(in srgb, var(--dm-atm-soft) 18%, transparent));
    box-shadow: inset 0 1px var(--dm-atm-line), inset 0 -1px var(--dm-atm-line);
  }

  body.dm-article-edition.dm-atmosphere .dm-edition-opening,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram,
  body.dm-article-edition.dm-atmosphere .dm-edition-detail,
  body.dm-article-edition.dm-atmosphere .dm-edition-board__image { border-radius: 8px; }

  body.dm-article-edition.dm-atmosphere .dm-edition-opening::after { opacity: .42; }
  body.dm-article-edition.dm-atmosphere .dm-edition-board__image,
  body.dm-article-edition.dm-atmosphere .dm-edition-detail,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram { box-shadow: 0 14px 35px color-mix(in srgb, var(--dm-atm-shadow) 62%, transparent); }

  body.dm-article-edition.dm-atmosphere .dm-next-move,
  body.dm-article-edition.dm-atmosphere .dm-next-image { border-radius: 8px; }

  body.dm-article-edition.dm-atmosphere .dm-reading-dock { right: .5rem; bottom: .5rem; }
}

@media (prefers-contrast: more) {
  body.dm-article-edition.dm-atmosphere {
    --dm-atm-muted: #3f453f;
    --dm-atm-line: rgba(25, 31, 27, .42);
    --dm-v11-hairline: rgba(25, 31, 27, .42);
  }

  body.dm-article-edition.dm-atmosphere .dm-article-content a,
  body.dm-article-edition.dm-atmosphere .dm-after-article a,
  body.dm-article-edition.dm-atmosphere .dm-next-reads a:not(.dm-next-image) {
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
  }

  body.dm-article-edition.dm-atmosphere .dm-atmosphere-edition,
  body.dm-article-edition.dm-atmosphere .dm-guide-experience,
  body.dm-article-edition.dm-atmosphere .dm-edition-opening,
  body.dm-article-edition.dm-atmosphere .dm-edition-detail,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram {
    border-color: var(--dm-atm-deep);
  }

  body.dm-article-edition.dm-atmosphere .dm-guide-progress { border: 1px solid var(--dm-atm-deep); }
  body.dm-article-edition.dm-atmosphere .dm-edition-chapter__tab::after { opacity: .82; transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  body.dm-article-edition.dm-atmosphere .dm-edition-chapter__tab::after,
  body.dm-article-edition.dm-atmosphere .dm-edition-detail,
  body.dm-article-edition.dm-atmosphere .dm-edition-board__image,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram,
  body.dm-article-edition.dm-atmosphere .dm-next-image,
  body.dm-article-edition.dm-atmosphere .dm-next-move,
  body.dm-article-edition.dm-atmosphere .dm-reading-dock {
    animation: none !important;
    transition: none !important;
  }

  body.dm-article-edition.dm-atmosphere .dm-edition-chapter__tab::after { opacity: .68; transform: scaleX(1); }
}

@media (forced-colors: active) {
  body.dm-article-edition.dm-atmosphere,
  body.dm-article-edition.dm-atmosphere .dm-site-header,
  body.dm-article-edition.dm-atmosphere .dm-content-shell,
  body.dm-article-edition.dm-atmosphere .dm-article-opening,
  body.dm-article-edition.dm-atmosphere .dm-edition-opening,
  body.dm-article-edition.dm-atmosphere .dm-guide-experience,
  body.dm-article-edition.dm-atmosphere .dm-edition-detail,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram,
  body.dm-article-edition.dm-atmosphere .dm-next-moves,
  body.dm-article-edition.dm-atmosphere .dm-next-move {
    color: CanvasText;
    background: Canvas;
    box-shadow: none;
    forced-color-adjust: auto;
  }

  body.dm-article-edition.dm-atmosphere .dm-nav-bar,
  body.dm-article-edition.dm-atmosphere .dm-after-article,
  body.dm-article-edition.dm-atmosphere .dm-reading-dock {
    color: CanvasText;
    background: Canvas;
    border: 1px solid CanvasText;
    box-shadow: none;
  }

  body.dm-article-edition.dm-atmosphere a,
  body.dm-article-edition.dm-atmosphere .dm-nav-bar a,
  body.dm-article-edition.dm-atmosphere .dm-after-article a { color: LinkText; }
  body.dm-article-edition.dm-atmosphere :focus-visible {
    outline-color: Highlight !important;
    box-shadow: none !important;
  }
  body.dm-article-edition.dm-atmosphere .dm-guide-progress span,
  body.dm-article-edition.dm-atmosphere.single-post::before { background: Highlight; }
}

/* Older engines retain the palette and hierarchy even without color-mix(). */
@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
  body.dm-article-edition.dm-atmosphere {
    --dm-v11-hairline: rgba(35,45,38,.19);
    --dm-v11-wash: #f2ece2;
    background-image: none;
  }

  body.dm-article-edition.dm-atmosphere .dm-site-header,
  body.dm-article-edition.dm-atmosphere .dm-content-shell { background-image: none; }
  body.dm-article-edition.dm-atmosphere .dm-topline { background: var(--dm-atm-soft); }
  body.dm-article-edition.dm-atmosphere .dm-header-search .wp-block-search__inside-wrapper,
  body.dm-article-edition.dm-atmosphere .dm-guide-experience { border-color: var(--dm-atm-line); background: var(--dm-atm-paper); }
  body.dm-article-edition.dm-atmosphere .dm-header-search .wp-block-search__button { color: var(--dm-atm-deep); background: #ead9ad; }
  body.dm-article-edition.dm-atmosphere .dm-nav-bar { background: var(--dm-atm-nav-1); }
  body.dm-article-edition.dm-atmosphere .dm-article-opening,
  body.dm-article-edition.dm-atmosphere .dm-edition-opening,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram { background-image: none; }
  body.dm-article-edition.dm-atmosphere .dm-article-opening { background-color: var(--dm-atm-paper); }
  body.dm-article-edition.dm-atmosphere .dm-edition-detail,
  body.dm-article-edition.dm-atmosphere .dm-edition-board__image { background: var(--dm-atm-soft); }
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram__plot > li { background: var(--dm-atm-paper); }
  body.dm-article-edition.dm-atmosphere .dm-after-article,
  body.dm-article-edition.dm-atmosphere .dm-reading-dock { background: var(--dm-atm-deep); }
  body.dm-article-edition.dm-atmosphere .dm-next-moves { background: var(--dm-atm-page); }
  body.dm-article-edition.dm-atmosphere ::selection { color: var(--dm-atm-deep); background: #ead9ad; }
}

@media print {
  body.dm-article-edition.dm-atmosphere,
  body.dm-article-edition.dm-atmosphere .dm-site-header,
  body.dm-article-edition.dm-atmosphere .dm-content-shell,
  body.dm-article-edition.dm-atmosphere .dm-article-opening,
  body.dm-article-edition.dm-atmosphere .dm-edition-opening,
  body.dm-article-edition.dm-atmosphere .dm-guide-experience,
  body.dm-article-edition.dm-atmosphere .dm-edition-chapter,
  body.dm-article-edition.dm-atmosphere .dm-edition-detail,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram,
  body.dm-article-edition.dm-atmosphere .dm-after-article,
  body.dm-article-edition.dm-atmosphere .dm-next-moves,
  body.dm-article-edition.dm-atmosphere .dm-next-move {
    color: #000 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.dm-article-edition.dm-atmosphere .dm-article-opening,
  body.dm-article-edition.dm-atmosphere .dm-edition-opening,
  body.dm-article-edition.dm-atmosphere .dm-guide-experience,
  body.dm-article-edition.dm-atmosphere .dm-edition-detail,
  body.dm-article-edition.dm-atmosphere .dm-edition-diagram { border: 1px solid #777 !important; }

  body.dm-article-edition.dm-atmosphere .dm-edition-opening *,
  body.dm-article-edition.dm-atmosphere .dm-after-article * { color: #000 !important; }
  body.dm-article-edition.dm-atmosphere .dm-edition-opening::before,
  body.dm-article-edition.dm-atmosphere .dm-edition-opening::after { display: none !important; }
  body.dm-article-edition.dm-atmosphere .dm-reading-dock,
  body.dm-article-edition.dm-atmosphere.single-post::before { display: none !important; }
}
