/* GENERATED by scripts/gallery/build.py — DO NOT EDIT BY HAND.
 * Source of truth: themes/contract/contract.json + themes/suite/<id>/.
 * Regenerate: python3 scripts/gallery/build.py
 * Drift guard: python3 scripts/gallery/build.py --check
 *
 * THE TOKEN SHEET — loaded by every page.
 *
 * Custom properties only. `--pk-<id>-*` are the pack's own values;
 * `--pw-*` are the contract's roles, pointing at them. Nothing here
 * paints anything, which is what makes it safe site-wide.
 */

/* --- Architect Steve (architect-steve, gen3, dark) --- */
[data-pw-theme="architect-steve"], .pw-theme-architect-steve{
  --pk-architect-steve-accent: #f2b134;
  --pk-architect-steve-accent-deep: #c8891c;
  --pk-architect-steve-accent-soft: #4a3813;
  --pk-architect-steve-amber: #d9d152;
  --pk-architect-steve-amber-soft: #4a4718;
  --pk-architect-steve-bg: #0e2440;
  --pk-architect-steve-bg2: #091a30;
  --pk-architect-steve-border: 1px solid #3c6493;
  --pk-architect-steve-card: #143050;
  --pk-architect-steve-contract: "gallery/1.0";
  --pk-architect-steve-control: url("/theme/architect-steve/controls/revision-tag.svg");
  --pk-architect-steve-crit: #ff6f61;
  --pk-architect-steve-crit-soft: #4d1c18;
  --pk-architect-steve-divider: url("/theme/architect-steve/patterns/dimension-rule.svg");
  --pk-architect-steve-faint: #7e9cbe;
  --pk-architect-steve-font-body: Tahoma, Verdana, "DejaVu Sans", Arial, sans-serif;
  --pk-architect-steve-font-disp: "Arial Narrow", "Helvetica Neue Condensed", Tahoma, Arial, sans-serif;
  --pk-architect-steve-font-mono: Consolas, "Lucida Console", "DejaVu Sans Mono", "Courier New", monospace;
  --pk-architect-steve-frame: url("/theme/architect-steve/frames/title-block.svg");
  --pk-architect-steve-good: #56c98d;
  --pk-architect-steve-good-soft: #123d2c;
  --pk-architect-steve-hero: url("/theme/architect-steve/illustrations/axonometric.svg");
  --pk-architect-steve-ink: #eaf2fb;
  --pk-architect-steve-line: #3c6493;
  --pk-architect-steve-line2: #24446c;
  --pk-architect-steve-logo: url("/theme/architect-steve/logos/wordmark.svg");
  --pk-architect-steve-muted: #a9c4e2;
  --pk-architect-steve-panel: #1b3c62;
  --pk-architect-steve-pattern: url("/theme/architect-steve/patterns/blueprint-grid.svg");
  --pk-architect-steve-radius: 0px;
  --pk-architect-steve-shadow: 0 1px 0 #06101d;
  --pk-architect-steve-shadow-lg: 0 3px 0 #06101d;
  --pk-architect-steve-stamp: #f0554a;
  --pk-architect-steve-surface: #143050;
  --pk-architect-steve-warn: #e8873c;
  --pw-accent: var(--pk-architect-steve-accent);
  --pw-accent-deep: var(--pk-architect-steve-accent-deep);
  --pw-accent-soft: var(--pk-architect-steve-accent-soft);
  --pw-amber: var(--pk-architect-steve-amber);
  --pw-amber-soft: var(--pk-architect-steve-amber-soft);
  --pw-bg: var(--pk-architect-steve-bg);
  --pw-bg2: var(--pk-architect-steve-bg2);
  --pw-border: var(--pk-architect-steve-border);
  --pw-card: var(--pk-architect-steve-card);
  --pw-crit: var(--pk-architect-steve-crit);
  --pw-crit-soft: var(--pk-architect-steve-crit-soft);
  --pw-faint: var(--pk-architect-steve-faint);
  --pw-font-body: var(--pk-architect-steve-font-body);
  --pw-font-disp: var(--pk-architect-steve-font-disp);
  --pw-font-mono: var(--pk-architect-steve-font-mono);
  --pw-good: var(--pk-architect-steve-good);
  --pw-good-soft: var(--pk-architect-steve-good-soft);
  --pw-ink: var(--pk-architect-steve-ink);
  --pw-line: var(--pk-architect-steve-line);
  --pw-line2: var(--pk-architect-steve-line2);
  --pw-muted: var(--pk-architect-steve-muted);
  --pw-panel: var(--pk-architect-steve-panel);
  --pw-radius: var(--pk-architect-steve-radius);
  --pw-shadow: var(--pk-architect-steve-shadow);
  --pw-shadow-lg: var(--pk-architect-steve-shadow-lg);
  --pw-stamp: var(--pk-architect-steve-stamp);
  --pw-surface: var(--pk-architect-steve-surface);
  --pw-warn: var(--pk-architect-steve-warn);
  --pw-scheme: dark;
  --pw-control: url("/theme/architect-steve/controls/revision-tag.svg");
  --pw-divider: url("/theme/architect-steve/patterns/dimension-rule.svg");
  --pw-frame: url("/theme/architect-steve/frames/title-block.svg");
  --pw-hero: url("/theme/architect-steve/illustrations/axonometric.svg");
  --pw-logo: url("/theme/architect-steve/logos/wordmark.svg");
  --pw-pattern: url("/theme/architect-steve/patterns/blueprint-grid.svg");
  --pw-icon-counter: url("/theme/architect-steve/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/architect-steve/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/architect-steve/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/architect-steve/icons/localnode.svg");
  --pw-icon-news: url("/theme/architect-steve/icons/news.svg");
  --pw-icon-records: url("/theme/architect-steve/icons/records.svg");
  --pw-icon-studio: url("/theme/architect-steve/icons/studio.svg");
  --pw-icon-town-square: url("/theme/architect-steve/icons/town-square.svg");
}

/* --- The B-Team (b-team, gen1, dark) --- */
[data-pw-theme="b-team"], .pw-theme-b-team{
  --pk-b-team-accent: #D99A2B;
  --pk-b-team-border: 2px solid;
  --pk-b-team-dark: #0B0B0B;
  --pk-b-team-extra: #7B807E;
  --pk-b-team-font-body: Inter, "Helvetica Neue", Arial, sans-serif;
  --pk-b-team-font-display: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --pk-b-team-font-mono: "IBM Plex Mono", "Courier New", monospace;
  --pk-b-team-hero: url("/theme/b-team/illustrations/hero.svg");
  --pk-b-team-icon-counter: url("/theme/b-team/icons/counter.svg");
  --pk-b-team-icon-field-kit: url("/theme/b-team/icons/field-kit.svg");
  --pk-b-team-icon-hoodbuster: url("/theme/b-team/icons/hoodbuster.svg");
  --pk-b-team-icon-localnode: url("/theme/b-team/icons/localnode.svg");
  --pk-b-team-icon-news: url("/theme/b-team/icons/news.svg");
  --pk-b-team-icon-records: url("/theme/b-team/icons/records.svg");
  --pk-b-team-icon-studio: url("/theme/b-team/icons/studio.svg");
  --pk-b-team-icon-town-square: url("/theme/b-team/icons/town-square.svg");
  --pk-b-team-ink: #F2E6C9;
  --pk-b-team-paper: #171717;
  --pk-b-team-pattern: url("/theme/b-team/patterns/pattern.svg");
  --pk-b-team-primary: #C9292E;
  --pk-b-team-radius: 0;
  --pk-b-team-reference: url("/theme/b-team/reference.png");
  --pk-b-team-secondary: #667044;
  --pk-b-team-shadow: 6px 7px 0 rgb(0 0 0 / 74%);
  --pw-accent: var(--pk-b-team-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-b-team-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-b-team-paper);
  --pw-bg2: var(--pk-b-team-dark);
  --pw-border: var(--pk-b-team-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-b-team-font-body);
  --pw-font-disp: var(--pk-b-team-font-display);
  --pw-font-mono: var(--pk-b-team-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-b-team-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-b-team-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-b-team-radius);
  --pw-shadow: var(--pk-b-team-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-b-team-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: dark;
  --pw-control: url("/theme/b-team/controls/control.svg");
  --pw-frame: url("/theme/b-team/frames/frame.svg");
  --pw-hero: url("/theme/b-team/illustrations/hero.svg");
  --pw-logo: url("/theme/b-team/logos/wordmark.svg");
  --pw-pattern: url("/theme/b-team/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/b-team/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/b-team/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/b-team/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/b-team/icons/localnode.svg");
  --pw-icon-news: url("/theme/b-team/icons/news.svg");
  --pw-icon-records: url("/theme/b-team/icons/records.svg");
  --pw-icon-studio: url("/theme/b-team/icons/studio.svg");
  --pw-icon-town-square: url("/theme/b-team/icons/town-square.svg");
}

/* --- Crafty (crafty, gen1, light) --- */
[data-pw-theme="crafty"], .pw-theme-crafty{
  --pk-crafty-accent: #D8A23A;
  --pk-crafty-border: 2px solid;
  --pk-crafty-dark: #D7D7C1;
  --pk-crafty-extra: #5F8E81;
  --pk-crafty-font-body: Arial, Helvetica, sans-serif;
  --pk-crafty-font-display: Georgia, "Times New Roman", serif;
  --pk-crafty-font-mono: "Courier New", Courier, monospace;
  --pk-crafty-hero: url("/theme/crafty/illustrations/hero.svg");
  --pk-crafty-icon-counter: url("/theme/crafty/icons/counter.svg");
  --pk-crafty-icon-field-kit: url("/theme/crafty/icons/field-kit.svg");
  --pk-crafty-icon-hoodbuster: url("/theme/crafty/icons/hoodbuster.svg");
  --pk-crafty-icon-localnode: url("/theme/crafty/icons/localnode.svg");
  --pk-crafty-icon-news: url("/theme/crafty/icons/news.svg");
  --pk-crafty-icon-records: url("/theme/crafty/icons/records.svg");
  --pk-crafty-icon-studio: url("/theme/crafty/icons/studio.svg");
  --pk-crafty-icon-town-square: url("/theme/crafty/icons/town-square.svg");
  --pk-crafty-ink: #51453E;
  --pk-crafty-paper: #F3EADF;
  --pk-crafty-pattern: url("/theme/crafty/patterns/pattern.svg");
  --pk-crafty-primary: #DC7F79;
  --pk-crafty-radius: 15px;
  --pk-crafty-reference: url("/theme/crafty/reference.png");
  --pk-crafty-secondary: #5A4740;
  --pk-crafty-shadow: 4px 5px 0 #5F8E81;
  --pw-accent: var(--pk-crafty-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-crafty-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-crafty-paper);
  --pw-bg2: var(--pk-crafty-dark);
  --pw-border: var(--pk-crafty-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-crafty-font-body);
  --pw-font-disp: var(--pk-crafty-font-display);
  --pw-font-mono: var(--pk-crafty-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-crafty-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-crafty-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-crafty-radius);
  --pw-shadow: var(--pk-crafty-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-crafty-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: light;
  --pw-hero: url("/theme/crafty/illustrations/hero.svg");
  --pw-pattern: url("/theme/crafty/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/crafty/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/crafty/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/crafty/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/crafty/icons/localnode.svg");
  --pw-icon-news: url("/theme/crafty/icons/news.svg");
  --pw-icon-records: url("/theme/crafty/icons/records.svg");
  --pw-icon-studio: url("/theme/crafty/icons/studio.svg");
  --pw-icon-town-square: url("/theme/crafty/icons/town-square.svg");
}

/* --- Datacenter Derrick's Day Off (datacenter-derricks-day-off, gen3, light) --- */
[data-pw-theme="datacenter-derricks-day-off"], .pw-theme-datacenter-derricks-day-off{
  --pk-datacenter-derricks-day-off-accent: #D92323;
  --pk-datacenter-derricks-day-off-accent-deep: #A6151A;
  --pk-datacenter-derricks-day-off-accent-soft: #EFC7B0;
  --pk-datacenter-derricks-day-off-amber: #D9A62E;
  --pk-datacenter-derricks-day-off-amber-soft: #EFDFB2;
  --pk-datacenter-derricks-day-off-bg: #F4EBCF;
  --pk-datacenter-derricks-day-off-bg2: #DECDA9;
  --pk-datacenter-derricks-day-off-border: 3px solid #171717;
  --pk-datacenter-derricks-day-off-card: #FFFDF7;
  --pk-datacenter-derricks-day-off-contract: "gallery/1.0";
  --pk-datacenter-derricks-day-off-crit: #B91F25;
  --pk-datacenter-derricks-day-off-crit-soft: #E9C6B0;
  --pk-datacenter-derricks-day-off-dark: #617765;
  --pk-datacenter-derricks-day-off-extra: #5AA7C9;
  --pk-datacenter-derricks-day-off-faint: #66615B;
  --pk-datacenter-derricks-day-off-font-body: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --pk-datacenter-derricks-day-off-font-disp: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --pk-datacenter-derricks-day-off-font-mono: "Courier New", Courier, monospace;
  --pk-datacenter-derricks-day-off-good: #2F7D4B;
  --pk-datacenter-derricks-day-off-good-soft: #D1D7B7;
  --pk-datacenter-derricks-day-off-hero: url("/theme/datacenter-derricks-day-off/illustrations/hero.svg");
  --pk-datacenter-derricks-day-off-icon-counter: url("/theme/datacenter-derricks-day-off/icons/counter.svg");
  --pk-datacenter-derricks-day-off-icon-field-kit: url("/theme/datacenter-derricks-day-off/icons/field-kit.svg");
  --pk-datacenter-derricks-day-off-icon-hoodbuster: url("/theme/datacenter-derricks-day-off/icons/hoodbuster.svg");
  --pk-datacenter-derricks-day-off-icon-localnode: url("/theme/datacenter-derricks-day-off/icons/localnode.svg");
  --pk-datacenter-derricks-day-off-icon-news: url("/theme/datacenter-derricks-day-off/icons/news.svg");
  --pk-datacenter-derricks-day-off-icon-records: url("/theme/datacenter-derricks-day-off/icons/records.svg");
  --pk-datacenter-derricks-day-off-icon-studio: url("/theme/datacenter-derricks-day-off/icons/studio.svg");
  --pk-datacenter-derricks-day-off-icon-town-square: url("/theme/datacenter-derricks-day-off/icons/town-square.svg");
  --pk-datacenter-derricks-day-off-ink: #171717;
  --pk-datacenter-derricks-day-off-line: #171717;
  --pk-datacenter-derricks-day-off-line2: #9B927F;
  --pk-datacenter-derricks-day-off-muted: #34322F;
  --pk-datacenter-derricks-day-off-panel: #FFFAF0;
  --pk-datacenter-derricks-day-off-pattern: url("/theme/datacenter-derricks-day-off/patterns/pattern.svg");
  --pk-datacenter-derricks-day-off-radius: 0px;
  --pk-datacenter-derricks-day-off-reference: url("/theme/datacenter-derricks-day-off/reference.png");
  --pk-datacenter-derricks-day-off-shadow: 4px 4px 0 #171717;
  --pk-datacenter-derricks-day-off-shadow-lg: 6px 6px 0 #171717;
  --pk-datacenter-derricks-day-off-stamp: #D9A62E;
  --pk-datacenter-derricks-day-off-surface: #FFFDF7;
  --pk-datacenter-derricks-day-off-warn: #D9A62E;
  --pw-accent: var(--pk-datacenter-derricks-day-off-accent);
  --pw-accent-deep: var(--pk-datacenter-derricks-day-off-accent-deep);
  --pw-accent-soft: var(--pk-datacenter-derricks-day-off-accent-soft);
  --pw-amber: var(--pk-datacenter-derricks-day-off-amber);
  --pw-amber-soft: var(--pk-datacenter-derricks-day-off-amber-soft);
  --pw-bg: var(--pk-datacenter-derricks-day-off-bg);
  --pw-bg2: var(--pk-datacenter-derricks-day-off-bg2);
  --pw-border: var(--pk-datacenter-derricks-day-off-border);
  --pw-card: var(--pk-datacenter-derricks-day-off-card);
  --pw-crit: var(--pk-datacenter-derricks-day-off-crit);
  --pw-crit-soft: var(--pk-datacenter-derricks-day-off-crit-soft);
  --pw-faint: var(--pk-datacenter-derricks-day-off-faint);
  --pw-font-body: var(--pk-datacenter-derricks-day-off-font-body);
  --pw-font-disp: var(--pk-datacenter-derricks-day-off-font-disp);
  --pw-font-mono: var(--pk-datacenter-derricks-day-off-font-mono);
  --pw-good: var(--pk-datacenter-derricks-day-off-good);
  --pw-good-soft: var(--pk-datacenter-derricks-day-off-good-soft);
  --pw-ink: var(--pk-datacenter-derricks-day-off-ink);
  --pw-line: var(--pk-datacenter-derricks-day-off-line);
  --pw-line2: var(--pk-datacenter-derricks-day-off-line2);
  --pw-muted: var(--pk-datacenter-derricks-day-off-muted);
  --pw-panel: var(--pk-datacenter-derricks-day-off-panel);
  --pw-radius: var(--pk-datacenter-derricks-day-off-radius);
  --pw-shadow: var(--pk-datacenter-derricks-day-off-shadow);
  --pw-shadow-lg: var(--pk-datacenter-derricks-day-off-shadow-lg);
  --pw-stamp: var(--pk-datacenter-derricks-day-off-stamp);
  --pw-surface: var(--pk-datacenter-derricks-day-off-surface);
  --pw-warn: var(--pk-datacenter-derricks-day-off-warn);
  --pw-scheme: light;
  --pw-hero: url("/theme/datacenter-derricks-day-off/illustrations/hero.svg");
  --pw-pattern: url("/theme/datacenter-derricks-day-off/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/datacenter-derricks-day-off/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/datacenter-derricks-day-off/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/datacenter-derricks-day-off/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/datacenter-derricks-day-off/icons/localnode.svg");
  --pw-icon-news: url("/theme/datacenter-derricks-day-off/icons/news.svg");
  --pw-icon-records: url("/theme/datacenter-derricks-day-off/icons/records.svg");
  --pw-icon-studio: url("/theme/datacenter-derricks-day-off/icons/studio.svg");
  --pw-icon-town-square: url("/theme/datacenter-derricks-day-off/icons/town-square.svg");
}

/* --- Derrick's Millions (derricks-millions, gen1, light) --- */
[data-pw-theme="derricks-millions"], .pw-theme-derricks-millions{
  --pk-derricks-millions-accent: #C9A54A;
  --pk-derricks-millions-border: 3px solid;
  --pk-derricks-millions-dark: #D8E6C6;
  --pk-derricks-millions-extra: #168F55;
  --pk-derricks-millions-font-body: Arial, Helvetica, sans-serif;
  --pk-derricks-millions-font-display: Impact, "Arial Black", sans-serif;
  --pk-derricks-millions-font-mono: "Courier New", Courier, monospace;
  --pk-derricks-millions-hero: url("/theme/derricks-millions/illustrations/hero.svg");
  --pk-derricks-millions-icon-counter: url("/theme/derricks-millions/icons/counter.svg");
  --pk-derricks-millions-icon-field-kit: url("/theme/derricks-millions/icons/field-kit.svg");
  --pk-derricks-millions-icon-hoodbuster: url("/theme/derricks-millions/icons/hoodbuster.svg");
  --pk-derricks-millions-icon-localnode: url("/theme/derricks-millions/icons/localnode.svg");
  --pk-derricks-millions-icon-news: url("/theme/derricks-millions/icons/news.svg");
  --pk-derricks-millions-icon-records: url("/theme/derricks-millions/icons/records.svg");
  --pk-derricks-millions-icon-studio: url("/theme/derricks-millions/icons/studio.svg");
  --pk-derricks-millions-icon-town-square: url("/theme/derricks-millions/icons/town-square.svg");
  --pk-derricks-millions-ink: #153628;
  --pk-derricks-millions-paper: #EFE7CE;
  --pk-derricks-millions-pattern: url("/theme/derricks-millions/patterns/pattern.svg");
  --pk-derricks-millions-primary: #D33A2A;
  --pk-derricks-millions-radius: 0px;
  --pk-derricks-millions-reference: url("/theme/derricks-millions/reference.png");
  --pk-derricks-millions-secondary: #2A4B38;
  --pk-derricks-millions-shadow: 5px 6px 0 #153628;
  --pw-accent: var(--pk-derricks-millions-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-derricks-millions-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-derricks-millions-paper);
  --pw-bg2: var(--pk-derricks-millions-dark);
  --pw-border: var(--pk-derricks-millions-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-derricks-millions-font-body);
  --pw-font-disp: var(--pk-derricks-millions-font-display);
  --pw-font-mono: var(--pk-derricks-millions-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-derricks-millions-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-derricks-millions-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-derricks-millions-radius);
  --pw-shadow: var(--pk-derricks-millions-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-derricks-millions-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: light;
  --pw-control: url("/theme/derricks-millions/controls/control.svg");
  --pw-frame: url("/theme/derricks-millions/frames/frame.svg");
  --pw-hero: url("/theme/derricks-millions/illustrations/hero.svg");
  --pw-logo: url("/theme/derricks-millions/logos/wordmark.svg");
  --pw-pattern: url("/theme/derricks-millions/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/derricks-millions/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/derricks-millions/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/derricks-millions/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/derricks-millions/icons/localnode.svg");
  --pw-icon-news: url("/theme/derricks-millions/icons/news.svg");
  --pw-icon-records: url("/theme/derricks-millions/icons/records.svg");
  --pw-icon-studio: url("/theme/derricks-millions/icons/studio.svg");
  --pw-icon-town-square: url("/theme/derricks-millions/icons/town-square.svg");
}

/* --- Garden (garden, gen1, light) --- */
[data-pw-theme="garden"], .pw-theme-garden{
  --pk-garden-accent: #D9A34D;
  --pk-garden-border: 2px solid;
  --pk-garden-dark: #D7E5E4;
  --pk-garden-extra: #6F8457;
  --pk-garden-font-body: Arial, Helvetica, sans-serif;
  --pk-garden-font-display: Georgia, "Times New Roman", serif;
  --pk-garden-font-mono: "Courier New", Courier, monospace;
  --pk-garden-hero: url("/theme/garden/illustrations/hero.svg");
  --pk-garden-icon-counter: url("/theme/garden/icons/counter.svg");
  --pk-garden-icon-field-kit: url("/theme/garden/icons/field-kit.svg");
  --pk-garden-icon-hoodbuster: url("/theme/garden/icons/hoodbuster.svg");
  --pk-garden-icon-localnode: url("/theme/garden/icons/localnode.svg");
  --pk-garden-icon-news: url("/theme/garden/icons/news.svg");
  --pk-garden-icon-records: url("/theme/garden/icons/records.svg");
  --pk-garden-icon-studio: url("/theme/garden/icons/studio.svg");
  --pk-garden-icon-town-square: url("/theme/garden/icons/town-square.svg");
  --pk-garden-ink: #315535;
  --pk-garden-paper: #F5EEDB;
  --pk-garden-pattern: url("/theme/garden/patterns/pattern.svg");
  --pk-garden-primary: #B65236;
  --pk-garden-radius: 8px;
  --pk-garden-reference: url("/theme/garden/reference.png");
  --pk-garden-secondary: #514632;
  --pk-garden-shadow: 4px 5px 0 #6F8457;
  --pw-accent: var(--pk-garden-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-garden-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-garden-paper);
  --pw-bg2: var(--pk-garden-dark);
  --pw-border: var(--pk-garden-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-garden-font-body);
  --pw-font-disp: var(--pk-garden-font-display);
  --pw-font-mono: var(--pk-garden-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-garden-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-garden-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-garden-radius);
  --pw-shadow: var(--pk-garden-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-garden-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: light;
  --pw-hero: url("/theme/garden/illustrations/hero.svg");
  --pw-pattern: url("/theme/garden/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/garden/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/garden/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/garden/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/garden/icons/localnode.svg");
  --pw-icon-news: url("/theme/garden/icons/news.svg");
  --pw-icon-records: url("/theme/garden/icons/records.svg");
  --pw-icon-studio: url("/theme/garden/icons/studio.svg");
  --pw-icon-town-square: url("/theme/garden/icons/town-square.svg");
}

/* --- Ranch (ranch, gen1, light) --- */
[data-pw-theme="ranch"], .pw-theme-ranch{
  --pk-ranch-accent: #C28B2C;
  --pk-ranch-border: 3px solid;
  --pk-ranch-dark: #EAD6AD;
  --pk-ranch-extra: #3D684A;
  --pk-ranch-font-body: Arial, Helvetica, sans-serif;
  --pk-ranch-font-display: Georgia, "Times New Roman", serif;
  --pk-ranch-font-mono: "Courier New", Courier, monospace;
  --pk-ranch-hero: url("/theme/ranch/illustrations/hero.svg");
  --pk-ranch-icon-counter: url("/theme/ranch/icons/counter.svg");
  --pk-ranch-icon-field-kit: url("/theme/ranch/icons/field-kit.svg");
  --pk-ranch-icon-hoodbuster: url("/theme/ranch/icons/hoodbuster.svg");
  --pk-ranch-icon-localnode: url("/theme/ranch/icons/localnode.svg");
  --pk-ranch-icon-news: url("/theme/ranch/icons/news.svg");
  --pk-ranch-icon-records: url("/theme/ranch/icons/records.svg");
  --pk-ranch-icon-studio: url("/theme/ranch/icons/studio.svg");
  --pk-ranch-icon-town-square: url("/theme/ranch/icons/town-square.svg");
  --pk-ranch-ink: #39251A;
  --pk-ranch-paper: #DFC795;
  --pk-ranch-pattern: url("/theme/ranch/patterns/pattern.svg");
  --pk-ranch-primary: #8E2F25;
  --pk-ranch-radius: 3px;
  --pk-ranch-reference: url("/theme/ranch/reference.png");
  --pk-ranch-secondary: #4A3022;
  --pk-ranch-shadow: 6px 7px 0 #4A3022;
  --pw-accent: var(--pk-ranch-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-ranch-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-ranch-paper);
  --pw-bg2: var(--pk-ranch-dark);
  --pw-border: var(--pk-ranch-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-ranch-font-body);
  --pw-font-disp: var(--pk-ranch-font-display);
  --pw-font-mono: var(--pk-ranch-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-ranch-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-ranch-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-ranch-radius);
  --pw-shadow: var(--pk-ranch-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-ranch-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: light;
  --pw-hero: url("/theme/ranch/illustrations/hero.svg");
  --pw-pattern: url("/theme/ranch/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/ranch/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/ranch/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/ranch/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/ranch/icons/localnode.svg");
  --pw-icon-news: url("/theme/ranch/icons/news.svg");
  --pw-icon-records: url("/theme/ranch/icons/records.svg");
  --pw-icon-studio: url("/theme/ranch/icons/studio.svg");
  --pw-icon-town-square: url("/theme/ranch/icons/town-square.svg");
}

/* --- Roswell (roswell, gen1, light) --- */
[data-pw-theme="roswell"], .pw-theme-roswell{
  --pk-roswell-accent: #F2B84B;
  --pk-roswell-border: 2px solid;
  --pk-roswell-dark: #26373B;
  --pk-roswell-extra: #2E7D82;
  --pk-roswell-font-body: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --pk-roswell-font-display: "Arial Narrow","Avenir Next Condensed","Roboto Condensed",Arial,sans-serif;
  --pk-roswell-font-mono: ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --pk-roswell-hero: url("/theme/roswell/illustrations/hero.svg");
  --pk-roswell-icon-counter: url("/theme/roswell/icons/counter.svg");
  --pk-roswell-icon-field-kit: url("/theme/roswell/icons/field-kit.svg");
  --pk-roswell-icon-hoodbuster: url("/theme/roswell/icons/hoodbuster.svg");
  --pk-roswell-icon-localnode: url("/theme/roswell/icons/localnode.svg");
  --pk-roswell-icon-news: url("/theme/roswell/icons/news.svg");
  --pk-roswell-icon-records: url("/theme/roswell/icons/records.svg");
  --pk-roswell-icon-studio: url("/theme/roswell/icons/studio.svg");
  --pk-roswell-icon-town-square: url("/theme/roswell/icons/town-square.svg");
  --pk-roswell-ink: #172C36;
  --pk-roswell-paper: #F3EBD7;
  --pk-roswell-pattern: url("/theme/roswell/patterns/pattern.svg");
  --pk-roswell-primary: #B64A32;
  --pk-roswell-radius: 4px;
  --pk-roswell-reference: url("/theme/roswell/reference.png");
  --pk-roswell-secondary: #536167;
  --pk-roswell-shadow: 0 3px 0 #172C36, 0 8px 18px rgba(23,44,54,.22);
  --pw-accent: var(--pk-roswell-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-roswell-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-roswell-paper);
  --pw-bg2: var(--pk-roswell-dark);
  --pw-border: var(--pk-roswell-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-roswell-font-body);
  --pw-font-disp: var(--pk-roswell-font-display);
  --pw-font-mono: var(--pk-roswell-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-roswell-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-roswell-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-roswell-radius);
  --pw-shadow: var(--pk-roswell-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-roswell-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: light;
  --pw-control: url("/theme/roswell/controls/control.svg");
  --pw-frame: url("/theme/roswell/frames/frame.svg");
  --pw-hero: url("/theme/roswell/illustrations/hero.svg");
  --pw-logo: url("/theme/roswell/logos/wordmark.svg");
  --pw-pattern: url("/theme/roswell/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/roswell/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/roswell/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/roswell/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/roswell/icons/localnode.svg");
  --pw-icon-news: url("/theme/roswell/icons/news.svg");
  --pw-icon-records: url("/theme/roswell/icons/records.svg");
  --pw-icon-studio: url("/theme/roswell/icons/studio.svg");
  --pw-icon-town-square: url("/theme/roswell/icons/town-square.svg");
}

/* --- Southwest (southwest, gen1, light) --- */
[data-pw-theme="southwest"], .pw-theme-southwest{
  --pk-southwest-accent: #D99042;
  --pk-southwest-border: 3px solid;
  --pk-southwest-dark: #DFC596;
  --pk-southwest-extra: #2E7770;
  --pk-southwest-font-body: Arial, Helvetica, sans-serif;
  --pk-southwest-font-display: Georgia, "Times New Roman", serif;
  --pk-southwest-font-mono: "Courier New", Courier, monospace;
  --pk-southwest-hero: url("/theme/southwest/illustrations/hero.svg");
  --pk-southwest-icon-counter: url("/theme/southwest/icons/counter.svg");
  --pk-southwest-icon-field-kit: url("/theme/southwest/icons/field-kit.svg");
  --pk-southwest-icon-hoodbuster: url("/theme/southwest/icons/hoodbuster.svg");
  --pk-southwest-icon-localnode: url("/theme/southwest/icons/localnode.svg");
  --pk-southwest-icon-news: url("/theme/southwest/icons/news.svg");
  --pk-southwest-icon-records: url("/theme/southwest/icons/records.svg");
  --pk-southwest-icon-studio: url("/theme/southwest/icons/studio.svg");
  --pk-southwest-icon-town-square: url("/theme/southwest/icons/town-square.svg");
  --pk-southwest-ink: #3E2B1E;
  --pk-southwest-paper: #EFE1C1;
  --pk-southwest-pattern: url("/theme/southwest/patterns/pattern.svg");
  --pk-southwest-primary: #BB4C2F;
  --pk-southwest-radius: 0px;
  --pk-southwest-reference: url("/theme/southwest/reference.png");
  --pk-southwest-secondary: #5B4030;
  --pk-southwest-shadow: 5px 5px 0 #BB4C2F;
  --pw-accent: var(--pk-southwest-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-southwest-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-southwest-paper);
  --pw-bg2: var(--pk-southwest-dark);
  --pw-border: var(--pk-southwest-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-southwest-font-body);
  --pw-font-disp: var(--pk-southwest-font-display);
  --pw-font-mono: var(--pk-southwest-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-southwest-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-southwest-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-southwest-radius);
  --pw-shadow: var(--pk-southwest-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-southwest-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: light;
  --pw-control: url("/theme/southwest/controls/control.svg");
  --pw-frame: url("/theme/southwest/frames/frame.svg");
  --pw-hero: url("/theme/southwest/illustrations/hero.svg");
  --pw-logo: url("/theme/southwest/logos/wordmark.svg");
  --pw-pattern: url("/theme/southwest/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/southwest/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/southwest/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/southwest/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/southwest/icons/localnode.svg");
  --pw-icon-news: url("/theme/southwest/icons/news.svg");
  --pw-icon-records: url("/theme/southwest/icons/records.svg");
  --pw-icon-studio: url("/theme/southwest/icons/studio.svg");
  --pw-icon-town-square: url("/theme/southwest/icons/town-square.svg");
}

/* --- T-1000 (t-1000, gen1, dark) --- */
[data-pw-theme="t-1000"], .pw-theme-t-1000{
  --pk-t-1000-accent: #FF3546;
  --pk-t-1000-border: 3px solid;
  --pk-t-1000-dark: #252C34;
  --pk-t-1000-extra: #69747E;
  --pk-t-1000-font-body: Arial, Helvetica, sans-serif;
  --pk-t-1000-font-display: "Arial Black", Impact, sans-serif;
  --pk-t-1000-font-mono: "Courier New", Courier, monospace;
  --pk-t-1000-hero: url("/theme/t-1000/illustrations/hero.svg");
  --pk-t-1000-icon-counter: url("/theme/t-1000/icons/counter.svg");
  --pk-t-1000-icon-field-kit: url("/theme/t-1000/icons/field-kit.svg");
  --pk-t-1000-icon-hoodbuster: url("/theme/t-1000/icons/hoodbuster.svg");
  --pk-t-1000-icon-localnode: url("/theme/t-1000/icons/localnode.svg");
  --pk-t-1000-icon-news: url("/theme/t-1000/icons/news.svg");
  --pk-t-1000-icon-records: url("/theme/t-1000/icons/records.svg");
  --pk-t-1000-icon-studio: url("/theme/t-1000/icons/studio.svg");
  --pk-t-1000-icon-town-square: url("/theme/t-1000/icons/town-square.svg");
  --pk-t-1000-ink: #EEF3F6;
  --pk-t-1000-paper: #05070A;
  --pk-t-1000-pattern: url("/theme/t-1000/patterns/pattern.svg");
  --pk-t-1000-primary: #E31C2D;
  --pk-t-1000-radius: 1px;
  --pk-t-1000-reference: url("/theme/t-1000/reference.png");
  --pk-t-1000-secondary: #BFC8D0;
  --pk-t-1000-shadow: 0 0 18px #E31C2D;
  --pw-accent: var(--pk-t-1000-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-t-1000-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-t-1000-paper);
  --pw-bg2: var(--pk-t-1000-dark);
  --pw-border: var(--pk-t-1000-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-t-1000-font-body);
  --pw-font-disp: var(--pk-t-1000-font-display);
  --pw-font-mono: var(--pk-t-1000-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-t-1000-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-t-1000-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-t-1000-radius);
  --pw-shadow: var(--pk-t-1000-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-t-1000-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: dark;
  --pw-control: url("/theme/t-1000/controls/control.svg");
  --pw-frame: url("/theme/t-1000/frames/frame.svg");
  --pw-hero: url("/theme/t-1000/illustrations/hero.svg");
  --pw-logo: url("/theme/t-1000/logos/wordmark.svg");
  --pw-pattern: url("/theme/t-1000/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/t-1000/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/t-1000/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/t-1000/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/t-1000/icons/localnode.svg");
  --pw-icon-news: url("/theme/t-1000/icons/news.svg");
  --pw-icon-records: url("/theme/t-1000/icons/records.svg");
  --pw-icon-studio: url("/theme/t-1000/icons/studio.svg");
  --pw-icon-town-square: url("/theme/t-1000/icons/town-square.svg");
}

/* --- Uncle Flocker (uncle-flocker, gen1, light) --- */
[data-pw-theme="uncle-flocker"], .pw-theme-uncle-flocker{
  --pk-uncle-flocker-accent: #176EB2;
  --pk-uncle-flocker-border: 3px solid;
  --pk-uncle-flocker-dark: #FFFFFF;
  --pk-uncle-flocker-extra: #65B8E6;
  --pk-uncle-flocker-font-body: Arial, Helvetica, sans-serif;
  --pk-uncle-flocker-font-display: "Trebuchet MS", Arial, sans-serif;
  --pk-uncle-flocker-font-mono: "Courier New", Courier, monospace;
  --pk-uncle-flocker-hero: url("/theme/uncle-flocker/illustrations/hero.svg");
  --pk-uncle-flocker-icon-counter: url("/theme/uncle-flocker/icons/counter.svg");
  --pk-uncle-flocker-icon-field-kit: url("/theme/uncle-flocker/icons/field-kit.svg");
  --pk-uncle-flocker-icon-hoodbuster: url("/theme/uncle-flocker/icons/hoodbuster.svg");
  --pk-uncle-flocker-icon-localnode: url("/theme/uncle-flocker/icons/localnode.svg");
  --pk-uncle-flocker-icon-news: url("/theme/uncle-flocker/icons/news.svg");
  --pk-uncle-flocker-icon-records: url("/theme/uncle-flocker/icons/records.svg");
  --pk-uncle-flocker-icon-studio: url("/theme/uncle-flocker/icons/studio.svg");
  --pk-uncle-flocker-icon-town-square: url("/theme/uncle-flocker/icons/town-square.svg");
  --pk-uncle-flocker-ink: #0C2437;
  --pk-uncle-flocker-paper: #DFF3FF;
  --pk-uncle-flocker-pattern: url("/theme/uncle-flocker/patterns/pattern.svg");
  --pk-uncle-flocker-primary: #E51F2C;
  --pk-uncle-flocker-radius: 9px;
  --pk-uncle-flocker-reference: url("/theme/uncle-flocker/reference.png");
  --pk-uncle-flocker-secondary: #24445B;
  --pk-uncle-flocker-shadow: 4px 5px 0 #0C2437;
  --pw-accent: var(--pk-uncle-flocker-primary);
  --pw-accent-deep: color-mix(in srgb, var(--pw-accent) 74%, #000);
  --pw-accent-soft: color-mix(in srgb, var(--pw-accent) 18%, var(--pw-bg));
  --pw-amber: var(--pk-uncle-flocker-accent);
  --pw-amber-soft: color-mix(in srgb, var(--pw-amber) 18%, var(--pw-bg));
  --pw-bg: var(--pk-uncle-flocker-paper);
  --pw-bg2: var(--pk-uncle-flocker-dark);
  --pw-border: var(--pk-uncle-flocker-border) var(--pw-line);
  --pw-card: var(--pw-surface);
  --pw-crit: #bb3f2c;
  --pw-crit-soft: color-mix(in srgb, var(--pw-crit) 18%, var(--pw-bg));
  --pw-faint: color-mix(in srgb, var(--pw-ink) 55%, var(--pw-bg));
  --pw-font-body: var(--pk-uncle-flocker-font-body);
  --pw-font-disp: var(--pk-uncle-flocker-font-display);
  --pw-font-mono: var(--pk-uncle-flocker-font-mono);
  --pw-good: #2f8f5b;
  --pw-good-soft: color-mix(in srgb, var(--pw-good) 18%, var(--pw-bg));
  --pw-ink: var(--pk-uncle-flocker-ink);
  --pw-line: color-mix(in srgb, var(--pw-ink) 22%, var(--pw-bg));
  --pw-line2: color-mix(in srgb, var(--pw-ink) 12%, var(--pw-bg));
  --pw-muted: var(--pk-uncle-flocker-secondary);
  --pw-panel: var(--pw-surface);
  --pw-radius: var(--pk-uncle-flocker-radius);
  --pw-shadow: var(--pk-uncle-flocker-shadow);
  --pw-shadow-lg: 0 14px 44px rgba(0,0,0,.42);
  --pw-stamp: var(--pk-uncle-flocker-accent);
  --pw-surface: color-mix(in srgb, var(--pw-bg) 88%, var(--pw-ink));
  --pw-warn: #c98016;
  --pw-scheme: light;
  --pw-control: url("/theme/uncle-flocker/controls/control.svg");
  --pw-frame: url("/theme/uncle-flocker/frames/frame.svg");
  --pw-hero: url("/theme/uncle-flocker/illustrations/hero.svg");
  --pw-logo: url("/theme/uncle-flocker/logos/wordmark.svg");
  --pw-pattern: url("/theme/uncle-flocker/patterns/pattern.svg");
  --pw-icon-counter: url("/theme/uncle-flocker/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/uncle-flocker/icons/field-kit.svg");
  --pw-icon-hoodbuster: url("/theme/uncle-flocker/icons/hoodbuster.svg");
  --pw-icon-localnode: url("/theme/uncle-flocker/icons/localnode.svg");
  --pw-icon-news: url("/theme/uncle-flocker/icons/news.svg");
  --pw-icon-records: url("/theme/uncle-flocker/icons/records.svg");
  --pw-icon-studio: url("/theme/uncle-flocker/icons/studio.svg");
  --pw-icon-town-square: url("/theme/uncle-flocker/icons/town-square.svg");
}

/* GENERATED by scripts/gallery/build.py — DO NOT EDIT BY HAND.
 * Source of truth: themes/contract/contract.json + themes/suite/<id>/.
 * Regenerate: python3 scripts/gallery/build.py
 * Drift guard: python3 scripts/gallery/build.py --check
 *
 * THE LAUNCHER CONTRACT — loaded by every page, beside the token sheet.
 *
 * hubnav.js lives in a shadow root and reads these seven names; custom
 * properties cross that boundary, which is the whole mechanism. The global
 * navigation wears the pack on all 43 pages while module interiors are left
 * strictly alone.
 */
:root[data-pw-theme]{
  --pw-nav-bg:     var(--pw-surface);
  --pw-nav-panel:  var(--pw-panel);
  --pw-nav-ink:    var(--pw-ink);
  --pw-nav-muted:  var(--pw-muted);
  --pw-nav-faint:  var(--pw-faint);
  --pw-nav-line:   var(--pw-line);
  --pw-nav-accent: var(--pw-accent);
  --pw-nav-font:   var(--pw-font-body);
  --pw-nav-scrim:  color-mix(in srgb, var(--pw-bg) 78%, transparent);
}

/* ---------------------------------------------------------------------------
   THE PICKER CHROME.

   These rules PAINT, which is why this is the shell sheet and not the token
   sheet — but every selector is a .pw-wd-* class, and those elements exist
   only because /theme.js created them. Nothing a module authored can be hit.
   assert_scoped() enforces that at build time.

   Colors read the nav contract first so the picker wears the pack, then fall
   back to the page's own palette, then to a literal. The undressed case
   therefore looks exactly as it did before any of this existed.
   --------------------------------------------------------------------------- */
.pw-wardrobe{ position:relative; margin-left:10px }
.pw-wd-btn{
  display:flex; align-items:center; gap:7px; cursor:pointer;
  background:var(--pw-nav-panel, var(--panel, #141d21));
  border:1px solid var(--pw-nav-line, var(--line, #26333a));
  color:var(--pw-nav-ink, var(--ink, #e9efec));
  font-family:var(--pw-font-mono, var(--mono, ui-monospace, monospace));
  font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  border-radius:20px; padding:7px 13px;
}
.pw-wd-word{ color:var(--pw-nav-muted, var(--muted, #93a4a3)); font-weight:700 }
.pw-wd-btndots{ display:flex; gap:2px }
.pw-wd-btndots i{ width:8px; height:8px; border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.28) }
.pw-wd-caret{ opacity:.65; margin-left:1px }
.pw-wd-btn:hover{ color:var(--pw-nav-ink, var(--ink, #e9efec));
  border-color:var(--pw-nav-accent, var(--accent-deep, #2bb3ac)) }
.pw-wd-btn:focus-visible{
  outline:2px solid var(--pw-nav-accent, var(--accent-deep, #2bb3ac)); outline-offset:2px }
.pw-wd-panel{
  position:absolute; right:0; top:calc(100% + 8px); z-index:60; min-width:272px;
  max-height:min(70vh,520px); overflow:auto; overscroll-behavior:contain;
  background:var(--pw-nav-panel, var(--panel, #141d21));
  border:1px solid var(--pw-nav-line, var(--line, #26333a));
  border-radius:10px; padding:6px; box-shadow:0 16px 40px rgb(0 0 0 / .35);
}
.pw-wd-head{
  padding:8px 10px 6px; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  font-family:var(--pw-font-mono, var(--mono, ui-monospace, monospace));
  color:var(--pw-nav-accent, var(--accent-deep, #2bb3ac));
  border-bottom:1px solid var(--pw-nav-line, var(--line, #26333a)); margin-bottom:4px;
}
.pw-wd-head span{ color:var(--pw-nav-faint, var(--faint, #7d9092)) }
.pw-wd-opt{
  display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto;
  column-gap:10px; align-items:center; width:100%; text-align:left; cursor:pointer;
  background:none; border:0; border-radius:7px; padding:9px 10px;
  color:var(--pw-nav-ink, var(--ink, #e9efec));
  font-family:var(--pw-nav-font, var(--font, inherit)); font-size:13px;
}
.pw-wd-opt:hover{ background:var(--pw-nav-bg, var(--panel-2, #18242a)) }
.pw-wd-opt[aria-pressed="true"]{
  box-shadow:inset 0 0 0 1.5px var(--pw-nav-accent, var(--accent-deep, #2bb3ac)) }
.pw-wd-dots{ display:flex; gap:3px; grid-row:1 / span 2 }
.pw-wd-dots i{ width:11px; height:11px; border-radius:50%;
  border:1px solid rgb(128 128 128 / .45) }
.pw-wd-name{ font-weight:700; letter-spacing:-.01em }
.pw-wd-tag{ grid-column:2; font-size:11px; font-style:italic;
  color:var(--pw-nav-muted, var(--muted, #93a4a3)) }

/* GENERATED by scripts/gallery/build.py — DO NOT EDIT BY HAND.
 * Source of truth: themes/contract/contract.json + themes/suite/<id>/.
 * Regenerate: python3 scripts/gallery/build.py
 * Drift guard: python3 scripts/gallery/build.py --check
 *
 * THE WARDROBE — components. OPT-IN, not site-wide.
 *
 * Each pack's components.css paints the root element. That is right
 * on a page built from the pw-* vocabulary and wrong on a module with
 * its own surfaces, so only pages that ask for it load this.
 */

/* ===== Architect Steve (architect-steve) ===== */
[data-pw-theme="architect-steve"], .pw-theme-architect-steve{ color-scheme: dark; }
/* Architect Steve — components. Floor: Chrome 109 / Gecko 48.
   No @layer, no :where(), no :focus-visible, no grid, no flex gap, no clamp().
   Why each one, and what it costs when you get it wrong: see this pack's
   README.md and docs/legacy-device-budget.md. Gate: legacy_check.py.

   Comments here stay short on purpose — this file ships to the browser. */

/* --- the sheet ----------------------------------------------------------- */

[data-pw-theme="architect-steve"],
.pw-theme-architect-steve {
  margin: 0;
  background-color: var(--pk-architect-steve-bg);
  background-image: var(--pk-architect-steve-pattern);
  background-repeat: repeat;
  color: var(--pk-architect-steve-ink);
  font-family: var(--pk-architect-steve-font-body);
  font-size: 15px;
  line-height: 1.5;
}

[data-pw-theme="architect-steve"] *,
[data-pw-theme="architect-steve"] *::before,
[data-pw-theme="architect-steve"] *::after,
.pw-theme-architect-steve *,
.pw-theme-architect-steve *::before,
.pw-theme-architect-steve *::after {
  box-sizing: border-box;
}

/* --- type: architect's lettering — narrow, spaced, always caps ----------- */

[data-pw-theme="architect-steve"] h1,
[data-pw-theme="architect-steve"] h2,
[data-pw-theme="architect-steve"] h3,
[data-pw-theme="architect-steve"] .pw-title,
.pw-theme-architect-steve h1,
.pw-theme-architect-steve h2,
.pw-theme-architect-steve h3,
.pw-theme-architect-steve .pw-title {
  margin: 0 0 .5rem;
  color: var(--pk-architect-steve-ink);
  font-family: var(--pk-architect-steve-font-disp);
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.15;
  text-transform: uppercase;
}

[data-pw-theme="architect-steve"] h1,
.pw-theme-architect-steve h1 { font-size: 2rem; }
[data-pw-theme="architect-steve"] h2,
.pw-theme-architect-steve h2 { font-size: 1.45rem; }
[data-pw-theme="architect-steve"] h3,
.pw-theme-architect-steve h3 { font-size: 1.1rem; }

[data-pw-theme="architect-steve"] a,
.pw-theme-architect-steve a {
  color: var(--pk-architect-steve-accent);
  text-decoration: none;
  border-bottom: 1px solid var(--pk-architect-steve-accent-deep);
}

[data-pw-theme="architect-steve"] a:hover,
.pw-theme-architect-steve a:hover {
  color: var(--pk-architect-steve-ink);
  border-bottom-color: var(--pk-architect-steve-ink);
}

/* The kicker is a sheet number: A-101, mono, spaced, in pencil yellow. */
[data-pw-theme="architect-steve"] .pw-kicker,
[data-pw-theme="architect-steve"] .pw-card__label,
.pw-theme-architect-steve .pw-kicker,
.pw-theme-architect-steve .pw-card__label {
  display: block;
  margin: 0 0 .4rem;
  color: var(--pk-architect-steve-accent);
  font-family: var(--pk-architect-steve-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

[data-pw-theme="architect-steve"] code,
[data-pw-theme="architect-steve"] pre,
[data-pw-theme="architect-steve"] .pw-mono,
.pw-theme-architect-steve code,
.pw-theme-architect-steve pre,
.pw-theme-architect-steve .pw-mono {
  font-family: var(--pk-architect-steve-font-mono);
  font-size: 13px;
}

/* --- focus: this is the cursor on a D-pad. Plain :focus, alone in its list. */

[data-pw-theme="architect-steve"] a:focus,
[data-pw-theme="architect-steve"] button:focus,
[data-pw-theme="architect-steve"] input:focus,
[data-pw-theme="architect-steve"] select:focus,
[data-pw-theme="architect-steve"] textarea:focus,
[data-pw-theme="architect-steve"] [tabindex]:focus,
.pw-theme-architect-steve a:focus,
.pw-theme-architect-steve button:focus,
.pw-theme-architect-steve input:focus,
.pw-theme-architect-steve select:focus,
.pw-theme-architect-steve textarea:focus,
.pw-theme-architect-steve [tabindex]:focus {
  outline: 2px solid var(--pk-architect-steve-accent);
  outline-offset: 2px;
}

/* --- shell and header: the title block ----------------------------------- */

[data-pw-theme="architect-steve"] .pw-shell,
.pw-theme-architect-steve .pw-shell {
  min-height: 100vh;
  overflow-x: hidden;
  background-color: var(--pk-architect-steve-bg);
}

/* A drawing sheet's title block: heavy bottom rule, mono caps, flat fill. */
[data-pw-theme="architect-steve"] .pw-header,
.pw-theme-architect-steve .pw-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 64px;
  padding: .55rem 1rem;
  border-bottom: 3px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-panel);
}

[data-pw-theme="architect-steve"] .pw-header > *,
.pw-theme-architect-steve .pw-header > * {
  margin-right: 1rem;
}

[data-pw-theme="architect-steve"] .pw-logo,
.pw-theme-architect-steve .pw-logo {
  color: var(--pk-architect-steve-ink);
  font-family: var(--pk-architect-steve-font-disp);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  border-bottom: 0;
}

[data-pw-theme="architect-steve"] .pw-header-search,
.pw-theme-architect-steve .pw-header-search {
  position: relative;
  flex: 1 1 220px;
}

/* --- layout: sidebar + sheet. grid would be one line; Gecko 48 predates it. */

[data-pw-theme="architect-steve"] .pw-layout,
.pw-theme-architect-steve .pw-layout {
  display: flex;
  align-items: stretch;
  min-height: calc(100vh - 64px);
}

[data-pw-theme="architect-steve"] .pw-nav,
.pw-theme-architect-steve .pw-nav {
  flex: 0 0 250px;
  width: 250px;
  padding: .8rem;
  border-right: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-bg2);
}

[data-pw-theme="architect-steve"] .pw-main,
.pw-theme-architect-steve .pw-main {
  flex: 1 1 auto;
  min-width: 0;
  padding: 1.1rem;
  padding-bottom: 7rem;
}

/* Nav items are drawing-index rows: number, then title, on a ruled line. */
[data-pw-theme="architect-steve"] .pw-nav-item,
.pw-theme-architect-steve .pw-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 46px;
  margin: 0 0 .35rem;
  padding: .4rem .55rem;
  border-radius: var(--pk-architect-steve-radius);
  border: 1px solid var(--pk-architect-steve-line2);
  background-color: var(--pk-architect-steve-surface);
  color: var(--pk-architect-steve-ink);
  font-size: 13px;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 100ms linear, border-color 100ms linear;
}

[data-pw-theme="architect-steve"] .pw-nav-item img,
.pw-theme-architect-steve .pw-nav-item img {
  width: 32px;
  height: 32px;
  margin-right: .55rem;
  object-fit: contain;
}

[data-pw-theme="architect-steve"] .pw-nav-item:hover,
.pw-theme-architect-steve .pw-nav-item:hover {
  border-color: var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-panel);
}

/* The current sheet is the one clipped to the board — a heavy left edge. */
[data-pw-theme="architect-steve"] .pw-nav-item[aria-current="page"],
.pw-theme-architect-steve .pw-nav-item[aria-current="page"] {
  border-color: var(--pk-architect-steve-accent);
  border-left-width: 4px;
  background-color: var(--pk-architect-steve-accent-soft);
  color: var(--pk-architect-steve-ink);
}

/* --- hero: the presentation drawing -------------------------------------- */

[data-pw-theme="architect-steve"] .pw-hero,
.pw-theme-architect-steve .pw-hero {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  margin-bottom: 1rem;
  padding: 0;
  border-radius: var(--pk-architect-steve-radius);
  border: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-surface);
  box-shadow: var(--pk-architect-steve-shadow-lg);
}

/* The inner rule every sheet has, 6px in from the trim. No blur, so free. */
[data-pw-theme="architect-steve"] .pw-hero::before,
.pw-theme-architect-steve .pw-hero::before {
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  bottom: 6px;
  left: 6px;
  z-index: 2;
  border: 1px solid var(--pk-architect-steve-line2);
  pointer-events: none;
}

[data-pw-theme="architect-steve"] .pw-hero__copy,
.pw-theme-architect-steve .pw-hero__copy {
  position: relative;
  z-index: 3;
  flex: 1 1 auto;
  min-width: 0;
  padding: 2.2rem 2rem;
}

[data-pw-theme="architect-steve"] .pw-hero h1,
.pw-theme-architect-steve .pw-hero h1 {
  margin: .3rem 0 .8rem;
  font-size: 2.6rem;
}

[data-pw-theme="architect-steve"] .pw-hero p,
.pw-theme-architect-steve .pw-hero p {
  max-width: 56ch;
  margin: 0 0 1.1rem;
  color: var(--pk-architect-steve-muted);
}

[data-pw-theme="architect-steve"] .pw-hero__art,
.pw-theme-architect-steve .pw-hero__art {
  flex: 0 0 320px;
  align-self: stretch;
  min-height: 260px;
  background-image: var(--pk-architect-steve-hero);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* --- cards: sheets on the board ------------------------------------------ */

[data-pw-theme="architect-steve"] .pw-card,
[data-pw-theme="architect-steve"] .pw-panel,
.pw-theme-architect-steve .pw-card,
.pw-theme-architect-steve .pw-panel {
  position: relative;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--pk-architect-steve-line);
  border-radius: var(--pk-architect-steve-radius);
  background-color: var(--pk-architect-steve-card);
  box-shadow: var(--pk-architect-steve-shadow);
}

[data-pw-theme="architect-steve"] .pw-card::after,
[data-pw-theme="architect-steve"] .pw-panel::after,
.pw-theme-architect-steve .pw-card::after,
.pw-theme-architect-steve .pw-panel::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 4px;
  bottom: 4px;
  left: 4px;
  border: 1px solid var(--pk-architect-steve-line2);
  pointer-events: none;
}

[data-pw-theme="architect-steve"] .pw-card > *,
[data-pw-theme="architect-steve"] .pw-panel > *,
.pw-theme-architect-steve .pw-card > *,
.pw-theme-architect-steve .pw-panel > * {
  position: relative;
  z-index: 1;
}

[data-pw-theme="architect-steve"] a.pw-card:hover,
.pw-theme-architect-steve a.pw-card:hover {
  border-color: var(--pk-architect-steve-accent);
}

/* The room icon a dressed pack drops into a directory card. */
[data-pw-theme="architect-steve"] .pw-ricon img,
.pw-theme-architect-steve .pw-ricon img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

/* auto-fit grid, done with flex-wrap. The negative margin is the gap. */
[data-pw-theme="architect-steve"] .pw-grid,
.pw-theme-architect-steve .pw-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 1rem -.5rem 0;
}

[data-pw-theme="architect-steve"] .pw-grid > *,
.pw-theme-architect-steve .pw-grid > * {
  flex: 1 1 240px;
  margin: 0 .5rem 1rem;
}

/* --- controls: drafting tape and stamps ---------------------------------- */

[data-pw-theme="architect-steve"] .pw-button,
.pw-theme-architect-steve .pw-button {
  display: inline-block;
  padding: .5rem 1.1rem;
  border-radius: var(--pk-architect-steve-radius);
  border: 1px solid var(--pk-architect-steve-accent-deep);
  background-color: var(--pk-architect-steve-accent);
  color: var(--pk-architect-steve-bg);
  cursor: pointer;
  font-family: var(--pk-architect-steve-font-disp);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 100ms linear;
}

[data-pw-theme="architect-steve"] .pw-button:hover,
.pw-theme-architect-steve .pw-button:hover {
  background-color: var(--pk-architect-steve-accent-deep);
}

[data-pw-theme="architect-steve"] .pw-button--secondary,
[data-pw-theme="architect-steve"] .pw-button--paper,
.pw-theme-architect-steve .pw-button--secondary,
.pw-theme-architect-steve .pw-button--paper {
  border-color: var(--pk-architect-steve-line);
  background-color: transparent;
  color: var(--pk-architect-steve-ink);
}

[data-pw-theme="architect-steve"] .pw-button--secondary:hover,
[data-pw-theme="architect-steve"] .pw-button--paper:hover,
.pw-theme-architect-steve .pw-button--secondary:hover,
.pw-theme-architect-steve .pw-button--paper:hover {
  border-color: var(--pk-architect-steve-accent);
  background-color: var(--pk-architect-steve-accent-soft);
}

[data-pw-theme="architect-steve"] .pw-input,
[data-pw-theme="architect-steve"] .pw-select,
[data-pw-theme="architect-steve"] .pw-textarea,
.pw-theme-architect-steve .pw-input,
.pw-theme-architect-steve .pw-select,
.pw-theme-architect-steve .pw-textarea {
  width: 100%;
  padding: .5rem .65rem;
  border-radius: var(--pk-architect-steve-radius);
  border: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-bg2);
  color: var(--pk-architect-steve-ink);
  font-family: var(--pk-architect-steve-font-body);
  font-size: 14px;
}

[data-pw-theme="architect-steve"] .pw-field label,
.pw-theme-architect-steve .pw-field label {
  display: block;
  margin-bottom: .3rem;
  color: var(--pk-architect-steve-muted);
  font-family: var(--pk-architect-steve-font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* --- badges: the stamps in the corner of the sheet ----------------------- */

[data-pw-theme="architect-steve"] .pw-badge,
[data-pw-theme="architect-steve"] .pw-status,
.pw-theme-architect-steve .pw-badge,
.pw-theme-architect-steve .pw-status {
  display: inline-block;
  padding: .18rem .5rem;
  border-radius: var(--pk-architect-steve-radius);
  border: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-bg2);
  color: var(--pk-architect-steve-muted);
  font-family: var(--pk-architect-steve-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

[data-pw-theme="architect-steve"] .pw-badge--blue,
.pw-theme-architect-steve .pw-badge--blue {
  border-color: var(--pk-architect-steve-good);
  background-color: var(--pk-architect-steve-good-soft);
  color: var(--pk-architect-steve-good);
}

[data-pw-theme="architect-steve"] .pw-badge--warning,
.pw-theme-architect-steve .pw-badge--warning {
  border-color: var(--pk-architect-steve-amber);
  background-color: var(--pk-architect-steve-amber-soft);
  color: var(--pk-architect-steve-amber);
}

[data-pw-theme="architect-steve"] .pw-badge--error,
.pw-theme-architect-steve .pw-badge--error {
  border-color: var(--pk-architect-steve-crit);
  background-color: var(--pk-architect-steve-crit-soft);
  color: var(--pk-architect-steve-crit);
}

/* --- rules: dimension lines ---------------------------------------------- */

[data-pw-theme="architect-steve"] hr,
[data-pw-theme="architect-steve"] .pw-divider,
.pw-theme-architect-steve hr,
.pw-theme-architect-steve .pw-divider {
  height: 12px;
  margin: 1.2rem 0;
  border: 0;
  background-image: var(--pk-architect-steve-divider);
  background-position: left center;
  background-repeat: repeat-x;
}

/* --- tables: the schedule ------------------------------------------------ */

[data-pw-theme="architect-steve"] .pw-table,
.pw-theme-architect-steve .pw-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

[data-pw-theme="architect-steve"] .pw-table th,
.pw-theme-architect-steve .pw-table th {
  padding: .45rem .6rem;
  border: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-panel);
  color: var(--pk-architect-steve-accent);
  font-family: var(--pk-architect-steve-font-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-align: left;
  text-transform: uppercase;
}

[data-pw-theme="architect-steve"] .pw-table td,
.pw-theme-architect-steve .pw-table td {
  padding: .45rem .6rem;
  border: 1px solid var(--pk-architect-steve-line2);
}

[data-pw-theme="architect-steve"] .pw-table-wrap,
.pw-theme-architect-steve .pw-table-wrap {
  overflow-x: auto;
}

/* --- tabs, states, stats, dialog, tooltip -------------------------------- */

[data-pw-theme="architect-steve"] .pw-tabs,
.pw-theme-architect-steve .pw-tabs {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--pk-architect-steve-line);
}

[data-pw-theme="architect-steve"] .pw-tab,
.pw-theme-architect-steve .pw-tab {
  margin-right: .25rem;
  padding: .45rem .9rem;
  border: 1px solid transparent;
  border-bottom: 0;
  background-color: transparent;
  color: var(--pk-architect-steve-muted);
  cursor: pointer;
  font-family: var(--pk-architect-steve-font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

[data-pw-theme="architect-steve"] .pw-tab[aria-selected="true"],
.pw-theme-architect-steve .pw-tab[aria-selected="true"] {
  border-color: var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-surface);
  color: var(--pk-architect-steve-accent);
}

[data-pw-theme="architect-steve"] .pw-state,
.pw-theme-architect-steve .pw-state {
  padding: 1.4rem 1rem;
  border: 1px dashed var(--pk-architect-steve-line);
  color: var(--pk-architect-steve-faint);
  text-align: center;
}

[data-pw-theme="architect-steve"] .pw-state--error,
.pw-theme-architect-steve .pw-state--error {
  border-color: var(--pk-architect-steve-crit);
  color: var(--pk-architect-steve-crit);
}

[data-pw-theme="architect-steve"] .pw-stat,
.pw-theme-architect-steve .pw-stat {
  font-family: var(--pk-architect-steve-font-mono);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--pk-architect-steve-accent);
}

[data-pw-theme="architect-steve"] .pw-dialog,
.pw-theme-architect-steve .pw-dialog {
  border-radius: var(--pk-architect-steve-radius);
  border: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-surface);
  box-shadow: var(--pk-architect-steve-shadow-lg);
}

[data-pw-theme="architect-steve"] .pw-tooltip,
.pw-theme-architect-steve .pw-tooltip {
  padding: .3rem .5rem;
  border: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-panel);
  color: var(--pk-architect-steve-ink);
  font-size: 12px;
}

[data-pw-theme="architect-steve"] .pw-document,
[data-pw-theme="architect-steve"] .pw-module-frame,
.pw-theme-architect-steve .pw-document,
.pw-theme-architect-steve .pw-module-frame {
  border: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-surface);
}

[data-pw-theme="architect-steve"] .pw-record-list,
.pw-theme-architect-steve .pw-record-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

[data-pw-theme="architect-steve"] .pw-record-list > li,
.pw-theme-architect-steve .pw-record-list > li {
  padding: .55rem .2rem;
  border-bottom: 1px solid var(--pk-architect-steve-line2);
}

/* No shimmer: an animated gradient repaints every frame. */
[data-pw-theme="architect-steve"] .pw-skeleton,
.pw-theme-architect-steve .pw-skeleton {
  background-color: var(--pk-architect-steve-line2);
}

/* --- dock ---------------------------------------------------------------- */

[data-pw-theme="architect-steve"] .pw-dock,
.pw-theme-architect-steve .pw-dock {
  position: fixed;
  right: .8rem;
  bottom: .8rem;
  left: calc(250px + .8rem);
  z-index: 50;
  display: flex;
  overflow-x: auto;
  padding: .45rem;
  border: 1px solid var(--pk-architect-steve-line);
  background-color: var(--pk-architect-steve-panel);
}

[data-pw-theme="architect-steve"] .pw-dock-item,
.pw-theme-architect-steve .pw-dock-item {
  display: flex;
  flex: 1 0 130px;
  align-items: center;
  min-width: 88px;
  min-height: 44px;
  margin-right: .4rem;
  padding: .3rem .45rem;
  border-radius: var(--pk-architect-steve-radius);
  border: 1px solid var(--pk-architect-steve-line2);
  background-color: var(--pk-architect-steve-surface);
  color: var(--pk-architect-steve-ink);
  font-family: var(--pk-architect-steve-font-mono);
  font-size: 10px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

[data-pw-theme="architect-steve"] .pw-dock-item img,
.pw-theme-architect-steve .pw-dock-item img {
  width: 28px;
  height: 28px;
  margin-right: .35rem;
  object-fit: contain;
}

[data-pw-theme="architect-steve"] .pw-dock-item[aria-current="page"],
.pw-theme-architect-steve .pw-dock-item[aria-current="page"] {
  border-color: var(--pk-architect-steve-accent);
  background-color: var(--pk-architect-steve-accent-soft);
}

/* --- breakpoint: laptop 1366x768. The sidebar gives ground to the sheet. -- */

@media (max-width: 1400px) {
  [data-pw-theme="architect-steve"] .pw-nav,
  .pw-theme-architect-steve .pw-nav { flex: 0 0 210px; width: 210px; }

  [data-pw-theme="architect-steve"] .pw-dock,
  .pw-theme-architect-steve .pw-dock { left: calc(210px + .8rem); }

  [data-pw-theme="architect-steve"] .pw-hero h1,
  .pw-theme-architect-steve .pw-hero h1 { font-size: 2.1rem; }

  [data-pw-theme="architect-steve"] .pw-hero__art,
  .pw-theme-architect-steve .pw-hero__art { flex: 0 0 240px; }
}

/* --- breakpoint: one column ---------------------------------------------- */

@media (max-width: 760px) {
  [data-pw-theme="architect-steve"] .pw-layout,
  .pw-theme-architect-steve .pw-layout { display: block; }

  [data-pw-theme="architect-steve"] .pw-nav,
  .pw-theme-architect-steve .pw-nav {
    width: auto;
    border-right: 0;
    border-bottom: 1px solid var(--pk-architect-steve-line);
  }

  [data-pw-theme="architect-steve"] .pw-header,
  .pw-theme-architect-steve .pw-header { position: relative; }

  [data-pw-theme="architect-steve"] .pw-hero,
  .pw-theme-architect-steve .pw-hero { display: block; }

  [data-pw-theme="architect-steve"] .pw-hero__copy,
  .pw-theme-architect-steve .pw-hero__copy { padding: 1.4rem 1.1rem; }

  [data-pw-theme="architect-steve"] .pw-hero__art,
  .pw-theme-architect-steve .pw-hero__art { min-height: 180px; }

  [data-pw-theme="architect-steve"] .pw-dock,
  .pw-theme-architect-steve .pw-dock { right: .4rem; bottom: .4rem; left: .4rem; }

  [data-pw-theme="architect-steve"] .pw-main,
  .pw-theme-architect-steve .pw-main { padding: .75rem; padding-bottom: 6rem; }
}

/* --- breakpoint: 240x320, the flip phone. ~30 characters a line. Every
   decoration that costs width comes off. ----------------------------------- */

@media (max-width: 320px) {
  [data-pw-theme="architect-steve"],
  .pw-theme-architect-steve {
    font-size: 13px;
    /* 48px tile = five columns of decoration against 30 characters of text. */
    background-image: none;
  }

  [data-pw-theme="architect-steve"] h1,
  .pw-theme-architect-steve h1 { font-size: 1.3rem; }
  [data-pw-theme="architect-steve"] h2,
  .pw-theme-architect-steve h2 { font-size: 1.1rem; }
  [data-pw-theme="architect-steve"] .pw-hero h1,
  .pw-theme-architect-steve .pw-hero h1 { font-size: 1.3rem; }

  [data-pw-theme="architect-steve"] .pw-main,
  .pw-theme-architect-steve .pw-main { padding: .5rem; padding-bottom: .5rem; }

  [data-pw-theme="architect-steve"] .pw-card,
  [data-pw-theme="architect-steve"] .pw-panel,
  .pw-theme-architect-steve .pw-card,
  .pw-theme-architect-steve .pw-panel { padding: .6rem; box-shadow: none; }

  [data-pw-theme="architect-steve"] .pw-card::after,
  [data-pw-theme="architect-steve"] .pw-panel::after,
  [data-pw-theme="architect-steve"] .pw-hero::before,
  .pw-theme-architect-steve .pw-card::after,
  .pw-theme-architect-steve .pw-panel::after,
  .pw-theme-architect-steve .pw-hero::before { display: none; }

  [data-pw-theme="architect-steve"] .pw-hero__art,
  .pw-theme-architect-steve .pw-hero__art { display: none; }

  /* The page sets the hero lede at 16px, which is 18 characters a line on a
     240px screen. Onto the body scale, which gets it to about 22. */
  [data-pw-theme="architect-steve"] .pw-hero p,
  .pw-theme-architect-steve .pw-hero p { font-size: 13px; }

  [data-pw-theme="architect-steve"] .pw-grid,
  .pw-theme-architect-steve .pw-grid { display: block; margin: .6rem 0 0; }

  /* The page's own nav is a wrapping flex row, which at 240px puts two 111px
     items side by side and truncates both labels ("LOCALNO…"). One per row. */
  [data-pw-theme="architect-steve"] .pw-nav,
  .pw-theme-architect-steve .pw-nav { display: block; padding: .4rem; }

  [data-pw-theme="architect-steve"] .pw-grid > *,
  .pw-theme-architect-steve .pw-grid > * { margin: 0 0 .6rem; }

  /* A fixed dock eats a fifth of a 320px screen and cannot be scrolled away
     from. It becomes a plain list where the D-pad expects to reach it. */
  [data-pw-theme="architect-steve"] .pw-dock,
  .pw-theme-architect-steve .pw-dock {
    position: static;
    display: block;
    padding: .3rem;
  }

  [data-pw-theme="architect-steve"] .pw-dock-item,
  .pw-theme-architect-steve .pw-dock-item { margin: 0 0 .3rem; }

  [data-pw-theme="architect-steve"] .pw-nav-item img,
  [data-pw-theme="architect-steve"] .pw-dock-item img,
  .pw-theme-architect-steve .pw-nav-item img,
  .pw-theme-architect-steve .pw-dock-item img { display: none; }

  [data-pw-theme="architect-steve"] .pw-header,
  .pw-theme-architect-steve .pw-header { min-height: 0; padding: .4rem .5rem; }

  [data-pw-theme="architect-steve"] .pw-logo,
  .pw-theme-architect-steve .pw-logo { font-size: .95rem; letter-spacing: .1em; }

  /* Header children stack instead of sitting in a row. The margin-right that
     spaces them at desktop width is what pushes the last one off a 240px
     screen, so it becomes margin-bottom here. */
  [data-pw-theme="architect-steve"] .pw-header > *,
  .pw-theme-architect-steve .pw-header > * {
    margin-right: 0;
    margin-bottom: .3rem;
  }

  /* A flex item will not shrink below its content's intrinsic width unless
     told to, so the input sat 240px wide in a 208px box and was CLIPPED, not
     scrolled — .pw-shell hides the overflow, which is why it looked fine. */
  [data-pw-theme="architect-steve"] .pw-header-search,
  .pw-theme-architect-steve .pw-header-search {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
  }

  [data-pw-theme="architect-steve"] .pw-header-search .pw-input,
  .pw-theme-architect-steve .pw-header-search .pw-input { min-width: 0; }

  /* A keyboard-shortcut hint on a phone with no keyboard is 20px of width
     spent telling Steve to press a key he does not have. */
  [data-pw-theme="architect-steve"] .pw-header-search kbd,
  .pw-theme-architect-steve .pw-header-search kbd { display: none; }

  /* The header measured 226px of a 320px screen — logo, search, tagline and
     picker stacked — so the first thing Steve saw was 70% chrome and no
     content at all. The tagline goes: <title> already carries it, and it is
     the only one of the four that does nothing. */
  [data-pw-theme="architect-steve"] .pw-header .pw-status,
  .pw-theme-architect-steve .pw-header .pw-status { display: none; }

  [data-pw-theme="architect-steve"] .pw-header,
  .pw-theme-architect-steve .pw-header { padding: .3rem .4rem; }

  [data-pw-theme="architect-steve"] .pw-header > *,
  .pw-theme-architect-steve .pw-header > * { margin-bottom: .25rem; }

  [data-pw-theme="architect-steve"] .pw-logo,
  .pw-theme-architect-steve .pw-logo { font-size: .85rem; letter-spacing: .06em; }

  [data-pw-theme="architect-steve"] .pw-header-search .pw-input,
  .pw-theme-architect-steve .pw-header-search .pw-input {
    padding: .3rem .45rem;
    font-size: 13px;
  }
}

/* --- Windows high-contrast: the query Chrome 109 on Windows still honors,
   and a real setting on a machine this old. Alone, since an unknown media
   feature fails the whole query. -------------------------------------------- */

@media screen and (-ms-high-contrast: active) {
  [data-pw-theme="architect-steve"] .pw-card,
  [data-pw-theme="architect-steve"] .pw-panel,
  [data-pw-theme="architect-steve"] .pw-button,
  [data-pw-theme="architect-steve"] .pw-nav-item,
  .pw-theme-architect-steve .pw-card,
  .pw-theme-architect-steve .pw-panel,
  .pw-theme-architect-steve .pw-button,
  .pw-theme-architect-steve .pw-nav-item {
    border: 2px solid;
    box-shadow: none;
  }
}


/* ===== The B-Team (b-team) ===== */
[data-pw-theme="b-team"], .pw-theme-b-team{ color-scheme: dark; }
/*
 * The B-Team — design tokens
 * Scope with data-pw-theme="b-team" or class="theme-b-team".
 */
:root[data-pw-theme="b-team"],
[data-pw-theme="b-team"],
.theme-b-team {
  color-scheme: dark;

  /* Core palette */
  --bt-charcoal: #171717;
  --bt-van-black: #0b0b0b;
  --bt-command-red: #c9292e;
  --bt-command-red-bright: #e03b40;
  --bt-surplus-olive: #667044;
  --bt-surplus-olive-dark: #39402a;
  --bt-warm-cream: #f2e6c9;
  --bt-warm-cream-muted: #cfc3a8;
  --bt-steel: #7b807e;
  --bt-steel-dark: #4c514f;
  --bt-caution: #d99a2b;
  --bt-success: #718a48;
  --bt-danger: #d13a3f;
  --bt-info: #8b9d9c;

  /* Surfaces */
  --bt-canvas: #111211;
  --bt-surface-1: #1b1c1b;
  --bt-surface-2: #242624;
  --bt-surface-3: #303230;
  --bt-paper: #e8dcc0;
  --bt-paper-ink: #1c1c1a;
  --bt-border: #6f7069;
  --bt-border-strong: #aaa68f;
  --bt-overlay: rgb(4 5 4 / 78%);

  /* Typography */
  --bt-font-display: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Condensed", sans-serif;
  --bt-font-ui: "Arial Narrow", "Roboto Condensed", "Helvetica Neue Condensed", Arial, sans-serif;
  --bt-font-body: Inter, "Helvetica Neue", Arial, sans-serif;
  --bt-font-mono: "IBM Plex Mono", "Courier New", ui-monospace, monospace;
  --bt-leading-tight: 0.94;
  --bt-leading-ui: 1.15;
  --bt-leading-body: 1.55;
  --bt-tracking-display: 0.025em;
  --bt-tracking-ui: 0.075em;
  --bt-tracking-stencil: 0.12em;

  /* Type scale */
  --bt-text-xs: clamp(0.69rem, 0.66rem + 0.12vw, 0.76rem);
  --bt-text-sm: clamp(0.78rem, 0.74rem + 0.18vw, 0.9rem);
  --bt-text-md: clamp(0.94rem, 0.9rem + 0.16vw, 1.04rem);
  --bt-text-lg: clamp(1.08rem, 1rem + 0.4vw, 1.35rem);
  --bt-text-xl: clamp(1.45rem, 1.16rem + 1.35vw, 2.25rem);
  --bt-text-2xl: clamp(2rem, 1.3rem + 3.3vw, 4.35rem);
  --bt-text-hero: clamp(3.1rem, 1.85rem + 6vw, 8rem);

  /* Space and shape */
  --bt-space-1: 0.25rem;
  --bt-space-2: 0.5rem;
  --bt-space-3: 0.75rem;
  --bt-space-4: 1rem;
  --bt-space-5: 1.5rem;
  --bt-space-6: 2rem;
  --bt-space-7: 3rem;
  --bt-space-8: 4.5rem;
  --bt-cut-xs: 4px;
  --bt-cut-sm: 7px;
  --bt-cut-md: 12px;
  --bt-cut-lg: 20px;
  --bt-border-width: 2px;
  --bt-rail-height: 4.2rem;
  --bt-content-max: 1180px;

  /* Effects */
  --bt-shadow-hard: 6px 7px 0 rgb(0 0 0 / 74%);
  --bt-shadow-small: 3px 4px 0 rgb(0 0 0 / 64%);
  --bt-shadow-inset: inset 0 0 0 1px rgb(255 255 255 / 7%), inset 0 -9px 18px rgb(0 0 0 / 22%);
  --bt-glow-red: 0 0 0 1px rgb(201 41 46 / 40%), 0 0 18px rgb(201 41 46 / 18%);
  --bt-focus: 0 0 0 3px var(--bt-van-black), 0 0 0 6px var(--bt-caution);
  --bt-grit: url("/theme/b-team/assets/textures/grit.svg");
  --bt-scanlines: repeating-linear-gradient(
    0deg,
    transparent 0 3px,
    rgb(255 255 255 / 0.018) 3px 4px
  );

  /* Timing */
  --bt-ease-snap: cubic-bezier(0.2, 0.85, 0.25, 1);
  --bt-fast: 130ms;
  --bt-normal: 220ms;
  --bt-slow: 440ms;

  /* Platform aliases */
  --color-bg: var(--bt-canvas);
  --color-surface: var(--bt-surface-1);
  --color-surface-raised: var(--bt-surface-2);
  --color-text: var(--bt-warm-cream);
  --color-text-muted: var(--bt-warm-cream-muted);
  --color-primary: var(--bt-command-red);
  --color-secondary: var(--bt-surplus-olive);
  --color-accent: var(--bt-caution);
  --color-border: var(--bt-border);
  --font-heading: var(--bt-font-display);
  --font-body: var(--bt-font-body);
  --font-mono: var(--bt-font-mono);
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --shadow-card: var(--bt-shadow-hard);

  /* Exact room icon mappings */
  --pw-icon-town-square: url("/theme/b-team/assets/icons/town-square.svg");
  --pw-icon-records: url("/theme/b-team/assets/icons/records.svg");
  --pw-icon-localnode: url("/theme/b-team/assets/icons/localnode.svg");
  --pw-icon-news: url("/theme/b-team/assets/icons/news.svg");
  --pw-icon-hoodbuster: url("/theme/b-team/assets/icons/hoodbuster.svg");
  --pw-icon-studio: url("/theme/b-team/assets/icons/studio.svg");
  --pw-icon-counter: url("/theme/b-team/assets/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/b-team/assets/icons/field-kit.svg");
}

@layer bteam.reset, bteam.base, bteam.components, bteam.utilities;

@layer bteam.reset {
  [data-pw-theme="b-team"],
  .theme-b-team {
    box-sizing: border-box;
  }

  [data-pw-theme="b-team"] *,
  [data-pw-theme="b-team"] *::before,
  [data-pw-theme="b-team"] *::after,
  .theme-b-team *,
  .theme-b-team *::before,
  .theme-b-team *::after {
    box-sizing: inherit;
  }

  [data-pw-theme="b-team"] :where(img, svg, video),
  .theme-b-team :where(img, svg, video) {
    display: block;
    max-width: 100%;
  }

  [data-pw-theme="b-team"] :where(button, input, select, textarea),
  .theme-b-team :where(button, input, select, textarea) {
    font: inherit;
  }
}

@layer bteam.base {
  :root[data-pw-theme="b-team"],
  body[data-pw-theme="b-team"],
  [data-pw-theme="b-team"],
  .theme-b-team {
    margin: 0;
    min-height: 100%;
    background:
      linear-gradient(rgb(0 0 0 / 50%), rgb(0 0 0 / 50%)),
      var(--bt-grit),
      var(--bt-canvas);
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-body);
    font-size: var(--bt-text-md);
    line-height: var(--bt-leading-body);
    accent-color: var(--bt-command-red);
    scrollbar-color: var(--bt-command-red) var(--bt-surface-1);
    text-rendering: optimizeLegibility;
  }

  [data-pw-theme="b-team"] ::selection,
  .theme-b-team ::selection {
    background: var(--bt-command-red);
    color: var(--bt-warm-cream);
  }

  [data-pw-theme="b-team"] :where(h1, h2, h3, h4),
  .theme-b-team :where(h1, h2, h3, h4) {
    margin: 0 0 0.55em;
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-display);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-display);
    line-height: var(--bt-leading-tight);
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] h1,
  .theme-b-team h1 {
    font-size: var(--bt-text-2xl);
  }

  [data-pw-theme="b-team"] h2,
  .theme-b-team h2 {
    font-size: var(--bt-text-xl);
  }

  [data-pw-theme="b-team"] h3,
  .theme-b-team h3 {
    font-size: var(--bt-text-lg);
  }

  [data-pw-theme="b-team"] :where(p, ul, ol),
  .theme-b-team :where(p, ul, ol) {
    margin-block: 0 1em;
  }

  [data-pw-theme="b-team"] a,
  .theme-b-team a {
    color: var(--bt-warm-cream);
    text-decoration-color: var(--bt-command-red);
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
  }

  [data-pw-theme="b-team"] a:hover,
  .theme-b-team a:hover {
    color: #fff7e4;
    text-decoration-color: var(--bt-caution);
  }

  [data-pw-theme="b-team"] :focus-visible,
  .theme-b-team :focus-visible {
    outline: 0;
    box-shadow: var(--bt-focus);
  }

  [data-pw-theme="b-team"] hr,
  .theme-b-team hr {
    height: 8px;
    border: 0;
    background:
      repeating-linear-gradient(
        -45deg,
        var(--bt-command-red) 0 12px,
        var(--bt-van-black) 12px 24px
      );
  }

  [data-pw-theme="b-team"] code,
  [data-pw-theme="b-team"] kbd,
  .theme-b-team code,
  .theme-b-team kbd {
    border: 1px solid var(--bt-steel-dark);
    background: var(--bt-van-black);
    color: var(--bt-caution);
    font-family: var(--bt-font-mono);
  }

  [data-pw-theme="b-team"] code,
  .theme-b-team code {
    padding: 0.08em 0.32em;
  }

  [data-pw-theme="b-team"] .bt-shell,
  .theme-b-team .bt-shell {
    width: min(100% - 2rem, var(--bt-content-max));
    margin-inline: auto;
  }
}

@layer bteam.utilities {
  [data-pw-theme="b-team"] .bt-display,
  .theme-b-team .bt-display {
    font-family: var(--bt-font-display);
    letter-spacing: var(--bt-tracking-display);
    line-height: var(--bt-leading-tight);
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] .bt-label,
  .theme-b-team .bt-label {
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-xs);
    font-weight: 800;
    letter-spacing: var(--bt-tracking-stencil);
    line-height: var(--bt-leading-ui);
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] .bt-mono,
  .theme-b-team .bt-mono {
    font-family: var(--bt-font-mono);
  }

  [data-pw-theme="b-team"] .bt-muted,
  .theme-b-team .bt-muted {
    color: var(--bt-warm-cream-muted);
  }

  [data-pw-theme="b-team"] .bt-red,
  .theme-b-team .bt-red {
    color: var(--bt-command-red-bright);
  }

  [data-pw-theme="b-team"] .bt-sr-only,
  .theme-b-team .bt-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-pw-theme="b-team"] *,
  [data-pw-theme="b-team"] *::before,
  [data-pw-theme="b-team"] *::after,
  .theme-b-team *,
  .theme-b-team *::before,
  .theme-b-team *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  [data-pw-theme="b-team"] :focus-visible,
  .theme-b-team :focus-visible {
    outline: 3px solid Highlight;
    outline-offset: 3px;
    box-shadow: none;
  }
}

@layer bteam.components {
  /* Structural plates */
  [data-pw-theme="b-team"] .bt-plate,
  .theme-b-team .bt-plate {
    position: relative;
    border: var(--bt-border-width) solid var(--bt-border);
    background:
      var(--bt-scanlines),
      linear-gradient(145deg, rgb(255 255 255 / 5%), transparent 28%),
      var(--bt-surface-1);
    box-shadow: var(--bt-shadow-hard), var(--bt-shadow-inset);
    clip-path: polygon(
      var(--bt-cut-md) 0,
      calc(100% - var(--bt-cut-xs)) 0,
      100% var(--bt-cut-xs),
      100% calc(100% - var(--bt-cut-md)),
      calc(100% - var(--bt-cut-md)) 100%,
      var(--bt-cut-xs) 100%,
      0 calc(100% - var(--bt-cut-xs)),
      0 var(--bt-cut-md)
    );
  }

  [data-pw-theme="b-team"] .bt-plate::before,
  [data-pw-theme="b-team"] .bt-card::before,
  .theme-b-team .bt-plate::before,
  .theme-b-team .bt-card::before {
    position: absolute;
    inset: 6px;
    z-index: 0;
    border: 1px dashed rgb(242 230 201 / 16%);
    content: "";
    pointer-events: none;
  }

  [data-pw-theme="b-team"] .bt-plate > *,
  [data-pw-theme="b-team"] .bt-card > *,
  .theme-b-team .bt-plate > *,
  .theme-b-team .bt-card > * {
    position: relative;
    z-index: 1;
  }

  [data-pw-theme="b-team"] .bt-plate--paper,
  .theme-b-team .bt-plate--paper {
    border-color: #9f957e;
    background:
      linear-gradient(rgb(255 255 255 / 12%), transparent),
      var(--bt-grit),
      var(--bt-paper);
    color: var(--bt-paper-ink);
    box-shadow: 5px 7px 0 rgb(0 0 0 / 38%);
  }

  [data-pw-theme="b-team"] .bt-plate--paper :where(h1, h2, h3, h4, a),
  .theme-b-team .bt-plate--paper :where(h1, h2, h3, h4, a) {
    color: var(--bt-paper-ink);
  }

  [data-pw-theme="b-team"] .bt-section,
  .theme-b-team .bt-section {
    padding-block: var(--bt-space-7);
  }

  [data-pw-theme="b-team"] .bt-section-heading,
  .theme-b-team .bt-section-heading {
    display: flex;
    gap: var(--bt-space-3);
    align-items: center;
    margin-bottom: var(--bt-space-5);
  }

  [data-pw-theme="b-team"] .bt-section-heading::after,
  .theme-b-team .bt-section-heading::after {
    height: 8px;
    flex: 1;
    background: repeating-linear-gradient(
      -45deg,
      var(--bt-command-red) 0 10px,
      transparent 10px 20px
    );
    content: "";
    opacity: 0.75;
  }

  /* Hero */
  [data-pw-theme="b-team"] .bt-hero,
  .theme-b-team .bt-hero {
    position: relative;
    isolation: isolate;
    min-height: min(680px, 82vh);
    overflow: hidden;
    border-bottom: 6px solid var(--bt-command-red);
    background:
      radial-gradient(circle at 75% 30%, rgb(201 41 46 / 15%), transparent 28rem),
      linear-gradient(105deg, rgb(0 0 0 / 93%) 0 44%, rgb(0 0 0 / 28%) 72%),
      var(--bt-scanlines),
      var(--bt-van-black);
  }

  [data-pw-theme="b-team"] .bt-hero::before,
  .theme-b-team .bt-hero::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: var(--bt-grit);
    content: "";
    opacity: 0.6;
  }

  [data-pw-theme="b-team"] .bt-hero::after,
  .theme-b-team .bt-hero::after {
    position: absolute;
    right: -8vw;
    bottom: 4%;
    z-index: -1;
    width: min(64vw, 880px);
    height: 72%;
    background: var(--bt-hero-image, url("/theme/b-team/assets/illustrations/utility-van.svg")) center bottom / contain no-repeat;
    content: "";
    filter: drop-shadow(0 22px 12px rgb(0 0 0 / 50%));
  }

  [data-pw-theme="b-team"] .bt-hero__inner,
  .theme-b-team .bt-hero__inner {
    display: grid;
    min-height: inherit;
    align-content: center;
    padding-block: clamp(4.5rem, 8vw, 8rem);
  }

  [data-pw-theme="b-team"] .bt-hero__copy,
  .theme-b-team .bt-hero__copy {
    width: min(100%, 41rem);
  }

  [data-pw-theme="b-team"] .bt-kicker,
  .theme-b-team .bt-kicker {
    display: inline-flex;
    gap: var(--bt-space-2);
    align-items: center;
    margin-bottom: var(--bt-space-4);
    padding: 0.42rem 0.7rem;
    border-left: 5px solid var(--bt-command-red);
    background: rgb(242 230 201 / 10%);
    font-family: var(--bt-font-mono);
    font-size: var(--bt-text-xs);
    font-weight: 700;
    letter-spacing: var(--bt-tracking-stencil);
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] .bt-hero__title,
  .theme-b-team .bt-hero__title {
    margin: 0;
    font-size: var(--bt-text-hero);
    line-height: 0.78;
    text-shadow:
      3px 3px 0 var(--bt-command-red),
      7px 7px 0 #000,
      11px 11px 0 rgb(242 230 201 / 14%);
    transform: skewX(-5deg);
  }

  [data-pw-theme="b-team"] .bt-hero__tagline,
  .theme-b-team .bt-hero__tagline {
    margin: var(--bt-space-5) 0;
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-xl);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    line-height: 1;
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] .bt-hero__actions,
  .theme-b-team .bt-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--bt-space-3);
  }

  /* Buttons */
  [data-pw-theme="b-team"] .bt-button,
  .theme-b-team .bt-button {
    --bt-button-bg: var(--bt-surface-2);
    --bt-button-fg: var(--bt-warm-cream);
    --bt-button-border: var(--bt-border-strong);

    position: relative;
    display: inline-flex;
    min-height: 2.85rem;
    gap: var(--bt-space-2);
    align-items: center;
    justify-content: center;
    padding: 0.72rem 1.15rem;
    border: 2px solid var(--bt-button-border);
    border-radius: 0;
    background:
      linear-gradient(rgb(255 255 255 / 7%), transparent 45%),
      var(--bt-button-bg);
    box-shadow: var(--bt-shadow-small), var(--bt-shadow-inset);
    color: var(--bt-button-fg);
    cursor: pointer;
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-sm);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    clip-path: polygon(
      var(--bt-cut-sm) 0,
      100% 0,
      100% calc(100% - var(--bt-cut-sm)),
      calc(100% - var(--bt-cut-sm)) 100%,
      0 100%,
      0 var(--bt-cut-sm)
    );
    transition:
      transform var(--bt-fast) var(--bt-ease-snap),
      background-color var(--bt-fast) linear,
      filter var(--bt-fast) linear;
  }

  [data-pw-theme="b-team"] .bt-button::after,
  .theme-b-team .bt-button::after {
    width: 0.62rem;
    height: 0.62rem;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    content: "";
    transform: rotate(45deg);
  }

  [data-pw-theme="b-team"] .bt-button:hover,
  .theme-b-team .bt-button:hover {
    color: var(--bt-button-fg);
    filter: brightness(1.15);
    transform: translate(-1px, -2px);
  }

  [data-pw-theme="b-team"] .bt-button:active,
  .theme-b-team .bt-button:active {
    box-shadow: 2px 2px 0 rgb(0 0 0 / 60%);
    transform: translate(2px, 2px);
  }

  [data-pw-theme="b-team"] .bt-button--primary,
  .theme-b-team .bt-button--primary {
    --bt-button-bg: var(--bt-command-red);
    --bt-button-border: #f06c70;
  }

  [data-pw-theme="b-team"] .bt-button--safe,
  .theme-b-team .bt-button--safe {
    --bt-button-bg: var(--bt-surplus-olive-dark);
    --bt-button-border: var(--bt-success);
  }

  [data-pw-theme="b-team"] .bt-button--caution,
  .theme-b-team .bt-button--caution {
    --bt-button-bg: var(--bt-caution);
    --bt-button-fg: var(--bt-van-black);
    --bt-button-border: #f2be54;
  }

  [data-pw-theme="b-team"] .bt-button--quiet::after,
  .theme-b-team .bt-button--quiet::after {
    display: none;
  }

  [data-pw-theme="b-team"] .bt-button:disabled,
  .theme-b-team .bt-button:disabled {
    cursor: not-allowed;
    filter: grayscale(1);
    opacity: 0.45;
    transform: none;
  }

  /* Badge and status */
  [data-pw-theme="b-team"] .bt-badge,
  .theme-b-team .bt-badge {
    --bt-badge-color: var(--bt-steel);

    display: inline-flex;
    min-height: 1.75rem;
    gap: 0.42rem;
    align-items: center;
    padding: 0.28rem 0.55rem;
    border: 1px solid color-mix(in srgb, var(--bt-badge-color), white 22%);
    background: var(--bt-steel-dark);
    background: color-mix(in srgb, var(--bt-badge-color), black 42%);
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 8%);
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-xs);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    line-height: 1;
    text-transform: uppercase;
    clip-path: polygon(4px 0, 100% 0, 100% calc(100% - 4px), calc(100% - 4px) 100%, 0 100%, 0 4px);
  }

  [data-pw-theme="b-team"] .bt-badge::before,
  .theme-b-team .bt-badge::before {
    width: 0.52rem;
    height: 0.52rem;
    border: 1px solid rgb(255 255 255 / 55%);
    border-radius: 50%;
    background: var(--bt-badge-color);
    box-shadow: 0 0 6px var(--bt-badge-color);
    content: "";
  }

  [data-pw-theme="b-team"] .bt-badge--danger,
  .theme-b-team .bt-badge--danger {
    --bt-badge-color: var(--bt-danger);
  }

  [data-pw-theme="b-team"] .bt-badge--standby,
  .theme-b-team .bt-badge--standby {
    --bt-badge-color: var(--bt-caution);
  }

  [data-pw-theme="b-team"] .bt-badge--clear,
  .theme-b-team .bt-badge--clear {
    --bt-badge-color: var(--bt-success);
  }

  [data-pw-theme="b-team"] .bt-status,
  .theme-b-team .bt-status {
    display: grid;
    gap: 0.15rem;
    min-width: 11rem;
    padding: var(--bt-space-3) var(--bt-space-4);
    border: 1px solid var(--bt-border);
    border-left: 5px solid var(--bt-command-red);
    background: var(--bt-van-black);
    box-shadow: var(--bt-shadow-small), var(--bt-shadow-inset);
  }

  [data-pw-theme="b-team"] .bt-status strong,
  .theme-b-team .bt-status strong {
    color: var(--bt-command-red-bright);
    font-family: var(--bt-font-display);
    font-size: var(--bt-text-lg);
    letter-spacing: var(--bt-tracking-ui);
    line-height: 1;
    text-transform: uppercase;
  }

  /* Navigation */
  [data-pw-theme="b-team"] .bt-nav,
  .theme-b-team .bt-nav {
    position: relative;
    z-index: 20;
    display: flex;
    min-height: 3.25rem;
    overflow-x: auto;
    border-block: 1px solid var(--bt-border);
    background: rgb(11 11 11 / 94%);
    box-shadow: 0 5px 0 rgb(0 0 0 / 55%);
    scrollbar-width: thin;
  }

  [data-pw-theme="b-team"] .bt-nav a,
  .theme-b-team .bt-nav a {
    position: relative;
    display: inline-flex;
    min-width: max-content;
    flex: 1;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1rem;
    border-right: 1px solid var(--bt-steel-dark);
    color: var(--bt-warm-cream-muted);
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-xs);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] .bt-nav a::after,
  .theme-b-team .bt-nav a::after {
    position: absolute;
    right: 15%;
    bottom: 0;
    left: 15%;
    height: 4px;
    background: var(--bt-command-red);
    content: "";
    opacity: 0;
    transform: scaleX(0.2);
    transition: opacity var(--bt-fast), transform var(--bt-normal) var(--bt-ease-snap);
  }

  [data-pw-theme="b-team"] .bt-nav a:hover,
  [data-pw-theme="b-team"] .bt-nav a[aria-current="page"],
  .theme-b-team .bt-nav a:hover,
  .theme-b-team .bt-nav a[aria-current="page"] {
    background: var(--bt-command-red);
    color: #fff;
  }

  [data-pw-theme="b-team"] .bt-nav a[aria-current="page"]::after,
  .theme-b-team .bt-nav a[aria-current="page"]::after {
    background: var(--bt-caution);
    opacity: 1;
    transform: scaleX(1);
  }

  /* Cards */
  [data-pw-theme="b-team"] .bt-grid,
  .theme-b-team .bt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
    gap: var(--bt-space-5);
  }

  [data-pw-theme="b-team"] .bt-card,
  .theme-b-team .bt-card {
    position: relative;
    display: flex;
    min-height: 16rem;
    flex-direction: column;
    padding: var(--bt-space-5);
    overflow: hidden;
    border: 2px solid var(--bt-border);
    background:
      linear-gradient(140deg, rgb(255 255 255 / 5%), transparent 34%),
      var(--bt-scanlines),
      var(--bt-surface-1);
    box-shadow: var(--bt-shadow-hard), var(--bt-shadow-inset);
    clip-path: polygon(
      var(--bt-cut-md) 0,
      100% 0,
      100% calc(100% - var(--bt-cut-md)),
      calc(100% - var(--bt-cut-md)) 100%,
      0 100%,
      0 var(--bt-cut-md)
    );
    transition: border-color var(--bt-normal), transform var(--bt-normal) var(--bt-ease-snap);
  }

  [data-pw-theme="b-team"] .bt-card:hover,
  .theme-b-team .bt-card:hover {
    border-color: var(--bt-command-red);
    transform: translateY(-4px);
  }

  [data-pw-theme="b-team"] .bt-card__eyebrow,
  .theme-b-team .bt-card__eyebrow {
    display: flex;
    justify-content: space-between;
    margin-bottom: auto;
    color: var(--bt-command-red-bright);
    font-family: var(--bt-font-mono);
    font-size: var(--bt-text-xs);
    font-weight: 700;
    letter-spacing: var(--bt-tracking-stencil);
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] .bt-card h3,
  .theme-b-team .bt-card h3 {
    margin-top: var(--bt-space-6);
  }

  [data-pw-theme="b-team"] .bt-card__meta,
  .theme-b-team .bt-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--bt-space-2);
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: var(--bt-space-4);
    border-top: 1px solid var(--bt-steel-dark);
    color: var(--bt-warm-cream-muted);
    font-family: var(--bt-font-mono);
    font-size: var(--bt-text-xs);
  }

  [data-pw-theme="b-team"] .bt-card--file,
  .theme-b-team .bt-card--file {
    border-color: #9b917b;
    background:
      linear-gradient(rgb(255 255 255 / 10%), transparent),
      var(--bt-grit),
      var(--bt-paper);
    color: var(--bt-paper-ink);
    transform: rotate(-0.4deg);
  }

  [data-pw-theme="b-team"] .bt-card--file h3,
  [data-pw-theme="b-team"] .bt-card--file .bt-card__meta,
  .theme-b-team .bt-card--file h3,
  .theme-b-team .bt-card--file .bt-card__meta {
    color: var(--bt-paper-ink);
  }

  [data-pw-theme="b-team"] .bt-card--olive,
  .theme-b-team .bt-card--olive {
    border-color: var(--bt-surplus-olive);
    background:
      linear-gradient(135deg, rgb(255 255 255 / 5%), transparent),
      var(--bt-grit),
      var(--bt-surplus-olive-dark);
  }

  /* Room grid: array-length driven, never hard-coded */
  [data-pw-theme="b-team"] .bt-room-grid,
  .theme-b-team .bt-room-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
    gap: var(--bt-space-4);
  }

  [data-pw-theme="b-team"] .bt-room,
  .theme-b-team .bt-room {
    position: relative;
    display: grid;
    min-height: 10rem;
    place-items: center;
    align-content: center;
    gap: var(--bt-space-3);
    padding: var(--bt-space-4);
    border: 2px solid var(--bt-border);
    background:
      radial-gradient(circle at 50% 30%, rgb(201 41 46 / 12%), transparent 50%),
      var(--bt-surface-1);
    box-shadow: var(--bt-shadow-small), var(--bt-shadow-inset);
    color: var(--bt-warm-cream);
    text-align: center;
    text-decoration: none;
    clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
    transition: transform var(--bt-normal) var(--bt-ease-snap), border-color var(--bt-normal);
  }

  [data-pw-theme="b-team"] .bt-room:hover,
  .theme-b-team .bt-room:hover {
    border-color: var(--bt-command-red);
    color: #fff;
    transform: translateY(-4px);
  }

  [data-pw-theme="b-team"] .bt-room__icon,
  .theme-b-team .bt-room__icon {
    width: 4.4rem;
    aspect-ratio: 1;
    object-fit: contain;
    filter: drop-shadow(3px 3px 0 rgb(0 0 0 / 60%));
  }

  [data-pw-theme="b-team"] .bt-room__name,
  .theme-b-team .bt-room__name {
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-sm);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    line-height: 1.05;
    text-transform: uppercase;
  }

  /* Forms */
  [data-pw-theme="b-team"] .bt-field,
  .theme-b-team .bt-field {
    display: grid;
    gap: var(--bt-space-2);
  }

  [data-pw-theme="b-team"] .bt-field label,
  .theme-b-team .bt-field label {
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-xs);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-stencil);
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] :where(.bt-input, .bt-select, .bt-textarea),
  .theme-b-team :where(.bt-input, .bt-select, .bt-textarea) {
    width: 100%;
    min-height: 2.75rem;
    border: 2px solid var(--bt-steel-dark);
    border-radius: 0;
    background: var(--bt-van-black);
    box-shadow: inset 3px 3px 0 rgb(0 0 0 / 45%), inset 0 0 0 1px rgb(255 255 255 / 5%);
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-mono);
    font-size: var(--bt-text-sm);
  }

  [data-pw-theme="b-team"] :where(.bt-input, .bt-select),
  .theme-b-team :where(.bt-input, .bt-select) {
    padding: 0.65rem 0.75rem;
  }

  [data-pw-theme="b-team"] .bt-textarea,
  .theme-b-team .bt-textarea {
    min-height: 8rem;
    padding: 0.75rem;
    resize: vertical;
  }

  [data-pw-theme="b-team"] :where(.bt-input, .bt-select, .bt-textarea):focus,
  .theme-b-team :where(.bt-input, .bt-select, .bt-textarea):focus {
    border-color: var(--bt-caution);
    outline: 0;
  }

  [data-pw-theme="b-team"] .bt-check,
  .theme-b-team .bt-check {
    display: flex;
    gap: var(--bt-space-2);
    align-items: center;
    cursor: pointer;
    font-family: var(--bt-font-mono);
    font-size: var(--bt-text-sm);
  }

  [data-pw-theme="b-team"] .bt-check input,
  .theme-b-team .bt-check input {
    width: 1.3rem;
    height: 1.3rem;
    border-radius: 0;
  }

  /* Mission strip */
  [data-pw-theme="b-team"] .bt-ticker,
  .theme-b-team .bt-ticker {
    display: flex;
    min-height: 2.25rem;
    overflow: hidden;
    border-block: 1px solid var(--bt-command-red);
    background: var(--bt-van-black);
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-mono);
    font-size: var(--bt-text-xs);
    letter-spacing: var(--bt-tracking-ui);
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] .bt-ticker__label,
  .theme-b-team .bt-ticker__label {
    z-index: 1;
    display: grid;
    min-width: max-content;
    place-items: center;
    padding-inline: 0.9rem;
    background: var(--bt-command-red);
    font-weight: 900;
  }

  [data-pw-theme="b-team"] .bt-ticker__track,
  .theme-b-team .bt-ticker__track {
    display: flex;
    width: max-content;
    min-width: 100%;
    align-items: center;
    gap: 2.5rem;
    padding-inline: 2rem;
    animation: bt-ticker 28s linear infinite;
  }

  [data-pw-theme="b-team"] .bt-ticker__track span::before,
  .theme-b-team .bt-ticker__track span::before {
    margin-right: 0.65rem;
    color: var(--bt-command-red-bright);
    content: "◆";
  }

  [data-pw-theme="b-team"] .bt-ticker:hover .bt-ticker__track,
  [data-pw-theme="b-team"] .bt-ticker:focus-within .bt-ticker__track,
  .theme-b-team .bt-ticker:hover .bt-ticker__track,
  .theme-b-team .bt-ticker:focus-within .bt-ticker__track {
    animation-play-state: paused;
  }

  @keyframes bt-ticker {
    to {
      transform: translateX(-50%);
    }
  }

  /* Bottom navigation */
  [data-pw-theme="b-team"] .bt-bottom-nav,
  .theme-b-team .bt-bottom-nav {
    position: fixed;
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    left: max(0.75rem, env(safe-area-inset-left));
    z-index: 50;
    display: grid;
    width: min(42rem, calc(100% - 1.5rem));
    min-height: var(--bt-rail-height);
    grid-template-columns: repeat(var(--bt-nav-count, 5), minmax(0, 1fr));
    margin-inline: auto;
    overflow: hidden;
    border: 2px solid var(--bt-border);
    background: rgb(11 11 11 / 96%);
    box-shadow: 0 10px 32px rgb(0 0 0 / 55%), var(--bt-shadow-inset);
    clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%, 0 10px);
    backdrop-filter: blur(10px);
  }

  [data-pw-theme="b-team"] .bt-bottom-nav a,
  .theme-b-team .bt-bottom-nav a {
    position: relative;
    display: grid;
    min-width: 0;
    place-items: center;
    align-content: center;
    gap: 0.25rem;
    padding: 0.55rem 0.3rem;
    border-right: 1px solid var(--bt-steel-dark);
    color: var(--bt-warm-cream-muted);
    font-family: var(--bt-font-ui);
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] .bt-bottom-nav a:last-child,
  .theme-b-team .bt-bottom-nav a:last-child {
    border-right: 0;
  }

  [data-pw-theme="b-team"] .bt-bottom-nav a[aria-current="page"],
  .theme-b-team .bt-bottom-nav a[aria-current="page"] {
    background: linear-gradient(rgb(201 41 46 / 28%), transparent);
    color: var(--bt-command-red-bright);
  }

  [data-pw-theme="b-team"] .bt-bottom-nav svg,
  .theme-b-team .bt-bottom-nav svg {
    width: 1.35rem;
    height: 1.35rem;
  }

  /* Dialog */
  [data-pw-theme="b-team"] .bt-dialog,
  .theme-b-team .bt-dialog {
    width: min(34rem, calc(100% - 2rem));
    padding: 0;
    border: 2px solid var(--bt-border-strong);
    background: var(--bt-surface-1);
    box-shadow: 12px 14px 0 rgb(0 0 0 / 70%);
    color: var(--bt-warm-cream);
    clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  }

  [data-pw-theme="b-team"] .bt-dialog::backdrop,
  .theme-b-team .bt-dialog::backdrop {
    background: var(--bt-overlay);
    backdrop-filter: blur(4px);
  }

  [data-pw-theme="b-team"] .bt-dialog__head,
  .theme-b-team .bt-dialog__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--bt-space-3) var(--bt-space-4);
    border-bottom: 2px solid var(--bt-command-red);
    background: var(--bt-van-black);
  }

  [data-pw-theme="b-team"] .bt-dialog__body,
  .theme-b-team .bt-dialog__body {
    padding: var(--bt-space-5);
  }
}

@media (max-width: 760px) {
  [data-pw-theme="b-team"] .bt-hero,
  .theme-b-team .bt-hero {
    min-height: 700px;
  }

  [data-pw-theme="b-team"] .bt-hero::after,
  .theme-b-team .bt-hero::after {
    right: -12%;
    bottom: -1%;
    width: 120%;
    height: 48%;
  }

  [data-pw-theme="b-team"] .bt-hero__inner,
  .theme-b-team .bt-hero__inner {
    align-content: start;
    padding-top: 5.5rem;
  }

  [data-pw-theme="b-team"] .bt-hero__copy,
  .theme-b-team .bt-hero__copy {
    width: 100%;
  }

  [data-pw-theme="b-team"] .bt-hero__title,
  .theme-b-team .bt-hero__title {
    font-size: clamp(3.4rem, 19vw, 6.5rem);
  }

  [data-pw-theme="b-team"] .bt-section,
  .theme-b-team .bt-section {
    padding-block: var(--bt-space-6);
  }
}

@media (max-width: 480px) {
  [data-pw-theme="b-team"] .bt-shell,
  .theme-b-team .bt-shell {
    width: min(100% - 1rem, var(--bt-content-max));
  }

  [data-pw-theme="b-team"] .bt-hero__actions > *,
  .theme-b-team .bt-hero__actions > * {
    width: 100%;
  }

  [data-pw-theme="b-team"] .bt-bottom-nav,
  .theme-b-team .bt-bottom-nav {
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    border-width: 1px 0 0;
    clip-path: none;
  }

  [data-pw-theme="b-team"] .bt-bottom-nav a span,
  .theme-b-team .bt-bottom-nav a span {
    display: none;
  }
}

/*
 * Compatibility layer for Perfect World Project modules.
 * The bt-* component classes are preferred; these selectors skin common
 * platform structures without requiring markup changes.
 */
@layer bteam.components {
  [data-pw-theme="b-team"] :where(.module-shell, .module-page, .app-shell),
  .theme-b-team :where(.module-shell, .module-page, .app-shell) {
    min-height: 100vh;
    background:
      linear-gradient(rgb(0 0 0 / 35%), rgb(0 0 0 / 35%)),
      var(--bt-grit),
      var(--bt-canvas);
    color: var(--bt-warm-cream);
  }

  [data-pw-theme="b-team"] :where(.module-header, .app-header, .page-header),
  .theme-b-team :where(.module-header, .app-header, .page-header) {
    position: relative;
    overflow: hidden;
    border-bottom: 5px solid var(--bt-command-red);
    background:
      linear-gradient(105deg, rgb(0 0 0 / 93%), rgb(0 0 0 / 45%)),
      var(--bt-scanlines),
      var(--bt-van-black);
    color: var(--bt-warm-cream);
  }

  [data-pw-theme="b-team"] :where(.card, .panel, .widget, .info-box),
  .theme-b-team :where(.card, .panel, .widget, .info-box) {
    border: 2px solid var(--bt-border);
    border-radius: 0;
    background:
      linear-gradient(145deg, rgb(255 255 255 / 5%), transparent 30%),
      var(--bt-surface-1);
    box-shadow: var(--bt-shadow-hard), var(--bt-shadow-inset);
    color: var(--bt-warm-cream);
    clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
  }

  /* :not(..bt-button) added 2026-08-18 — see below.
     This adapter exists to dress UNSTYLED HOST MARKUP (.btn, .button, a bare
     <button>) that a module ships without knowing about the theme. It was also
     matching the pack's OWN .bt-button elements and repainting them, which
     silently killed every button variant on real <button> tags:

       [data-pw-theme] .bt-button--primary                   = (0,2,0)
       :where(.btn,.button,button):not(.unstyled)         = (0,2,0)
         (:where contributes 0; :not() takes its ARGUMENT's weight)

     A specificity tie, broken by module-adapter.css loading AFTER components.css in the same
     bteam.components layer — so the adapter won and
     every <button> rendered the flat neutral surface. Anchors were unaffected,
     which is why the pack preview looked correct: its red <a> sits directly
     above the flat <button>s.

     Excluding the pack's own component class is the fix at the intent level:
     the adapter should stand down wherever the real component is present. */
  [data-pw-theme="b-team"] :where(.btn, .button, button):not(.unstyled):not(.bt-button),
  .theme-b-team :where(.btn, .button, button):not(.unstyled):not(.bt-button) {
    border: 2px solid var(--bt-border-strong);
    border-radius: 0;
    background: var(--bt-surface-2);
    box-shadow: var(--bt-shadow-small), var(--bt-shadow-inset);
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-ui);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    text-transform: uppercase;
  }

  [data-pw-theme="b-team"] :where(.btn-primary, .button-primary, button[type="submit"]),
  .theme-b-team :where(.btn-primary, .button-primary, button[type="submit"]) {
    border-color: #f06c70;
    background: var(--bt-command-red);
  }

  [data-pw-theme="b-team"] :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not(.unstyled),
  .theme-b-team :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not(.unstyled) {
    border: 2px solid var(--bt-steel-dark);
    border-radius: 0;
    background: var(--bt-van-black);
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-mono);
  }

  [data-pw-theme="b-team"] :where(.sidebar, .side-nav, .left-nav),
  .theme-b-team :where(.sidebar, .side-nav, .left-nav) {
    border-right: 2px solid var(--bt-steel-dark);
    background: var(--bt-van-black);
    color: var(--bt-warm-cream);
  }

  [data-pw-theme="b-team"] :where(.bottom-nav, .floating-nav, .mobile-nav),
  .theme-b-team :where(.bottom-nav, .floating-nav, .mobile-nav) {
    border: 2px solid var(--bt-border);
    border-radius: 0;
    background: rgb(11 11 11 / 96%);
    box-shadow: 0 10px 32px rgb(0 0 0 / 55%);
    backdrop-filter: blur(10px);
  }

  [data-pw-theme="b-team"] :where(.room-grid, .module-grid, .nav-grid),
  .theme-b-team :where(.room-grid, .module-grid, .nav-grid) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
    gap: var(--bt-space-4);
  }

  [data-pw-theme="b-team"] [data-room-id] .room-icon,
  .theme-b-team [data-room-id] .room-icon {
    width: 3.5rem;
    height: 3.5rem;
    background: var(--bt-room-icon) center / contain no-repeat;
  }

  [data-pw-theme="b-team"] [data-room-id="town-square"],
  .theme-b-team [data-room-id="town-square"] {
    --bt-room-icon: var(--pw-icon-town-square);
  }

  [data-pw-theme="b-team"] [data-room-id="records"],
  .theme-b-team [data-room-id="records"] {
    --bt-room-icon: var(--pw-icon-records);
  }

  [data-pw-theme="b-team"] [data-room-id="localnode"],
  .theme-b-team [data-room-id="localnode"] {
    --bt-room-icon: var(--pw-icon-localnode);
  }

  [data-pw-theme="b-team"] [data-room-id="news"],
  .theme-b-team [data-room-id="news"] {
    --bt-room-icon: var(--pw-icon-news);
  }

  [data-pw-theme="b-team"] [data-room-id="hoodbuster"],
  .theme-b-team [data-room-id="hoodbuster"] {
    --bt-room-icon: var(--pw-icon-hoodbuster);
  }

  [data-pw-theme="b-team"] [data-room-id="studio"],
  .theme-b-team [data-room-id="studio"] {
    --bt-room-icon: var(--pw-icon-studio);
  }

  [data-pw-theme="b-team"] [data-room-id="counter"],
  .theme-b-team [data-room-id="counter"] {
    --bt-room-icon: var(--pw-icon-counter);
  }

  [data-pw-theme="b-team"] [data-room-id="field-kit"],
  .theme-b-team [data-room-id="field-kit"] {
    --bt-room-icon: var(--pw-icon-field-kit);
  }
}

/* GENERATED by scripts/gallery/authored_alias.py — do not hand-edit.
 * b-team: the pack's OWN rules, repeated against the shell's .pw-* classes.
 * Every declaration below is copied verbatim from themes/b-team/ — only the
 * selector differs. Nothing here is reduced, reinterpreted or recolored;
 * regenerate rather than edit, and change the pack if you want a change.
 * 54 rules aliased. */
[data-pw-theme="b-team"] .pw-shell,
  .theme-b-team .pw-shell{width: min(100% - 2rem, var(--bt-content-max));
    margin-inline: auto;}
[data-pw-theme="b-team"] .pw-panel,
  .theme-b-team .pw-panel{position: relative;
    border: var(--bt-border-width) solid var(--bt-border);
    background:
      var(--bt-scanlines),
      linear-gradient(145deg, rgb(255 255 255 / 5%), transparent 28%),
      var(--bt-surface-1);
    box-shadow: var(--bt-shadow-hard), var(--bt-shadow-inset);
    clip-path: polygon(
      var(--bt-cut-md) 0,
      calc(100% - var(--bt-cut-xs)) 0,
      100% var(--bt-cut-xs),
      100% calc(100% - var(--bt-cut-md)),
      calc(100% - var(--bt-cut-md)) 100%,
      var(--bt-cut-xs) 100%,
      0 calc(100% - var(--bt-cut-xs)),
      0 var(--bt-cut-md)
    );}
[data-pw-theme="b-team"] .pw-panel::before,
  [data-pw-theme="b-team"] .pw-card::before,
  .theme-b-team .pw-panel::before,
  .theme-b-team .pw-card::before{position: absolute;
    inset: 6px;
    z-index: 0;
    border: 1px dashed rgb(242 230 201 / 16%);
    content: "";
    pointer-events: none;}
[data-pw-theme="b-team"] .pw-panel > *,
  [data-pw-theme="b-team"] .pw-card > *,
  .theme-b-team .pw-panel > *,
  .theme-b-team .pw-card > *{position: relative;
    z-index: 1;}
[data-pw-theme="b-team"] .pw-panel--paper,
  .theme-b-team .pw-panel--paper{border-color: #9f957e;
    background:
      linear-gradient(rgb(255 255 255 / 12%), transparent),
      var(--bt-grit),
      var(--bt-paper);
    color: var(--bt-paper-ink);
    box-shadow: 5px 7px 0 rgb(0 0 0 / 38%);}
[data-pw-theme="b-team"] .pw-main,
  .theme-b-team .pw-main{padding-block: var(--bt-space-7);}
[data-pw-theme="b-team"] .pw-main-heading,
  .theme-b-team .pw-main-heading{display: flex;
    gap: var(--bt-space-3);
    align-items: center;
    margin-bottom: var(--bt-space-5);}
[data-pw-theme="b-team"] .pw-main-heading::after,
  .theme-b-team .pw-main-heading::after{height: 8px;
    flex: 1;
    background: repeating-linear-gradient(
      -45deg,
      var(--bt-command-red) 0 10px,
      transparent 10px 20px
    );
    content: "";
    opacity: 0.75;}
[data-pw-theme="b-team"] .pw-hero,
  .theme-b-team .pw-hero{position: relative;
    isolation: isolate;
    min-height: min(680px, 82vh);
    overflow: hidden;
    border-bottom: 6px solid var(--bt-command-red);
    background:
      radial-gradient(circle at 75% 30%, rgb(201 41 46 / 15%), transparent 28rem),
      linear-gradient(105deg, rgb(0 0 0 / 93%) 0 44%, rgb(0 0 0 / 28%) 72%),
      var(--bt-scanlines),
      var(--bt-van-black);}
[data-pw-theme="b-team"] .pw-hero::before,
  .theme-b-team .pw-hero::before{position: absolute;
    inset: 0;
    z-index: -2;
    background: var(--bt-grit);
    content: "";
    opacity: 0.6;}
[data-pw-theme="b-team"] .pw-hero::after,
  .theme-b-team .pw-hero::after{position: absolute;
    right: -8vw;
    bottom: 4%;
    z-index: -1;
    width: min(64vw, 880px);
    height: 72%;
    background: var(--bt-hero-image, url("/theme/b-team/assets/illustrations/utility-van.svg")) center bottom / contain no-repeat;
    content: "";
    filter: drop-shadow(0 22px 12px rgb(0 0 0 / 50%));}
[data-pw-theme="b-team"] .pw-hero__copy,
  .theme-b-team .pw-hero__copy{width: min(100%, 41rem);}
[data-pw-theme="b-team"] .pw-kicker,
  .theme-b-team .pw-kicker{display: inline-flex;
    gap: var(--bt-space-2);
    align-items: center;
    margin-bottom: var(--bt-space-4);
    padding: 0.42rem 0.7rem;
    border-left: 5px solid var(--bt-command-red);
    background: rgb(242 230 201 / 10%);
    font-family: var(--bt-font-mono);
    font-size: var(--bt-text-xs);
    font-weight: 700;
    letter-spacing: var(--bt-tracking-stencil);
    text-transform: uppercase;}
[data-pw-theme="b-team"] .pw-hero-title,
  .theme-b-team .pw-hero-title{margin: 0;
    font-size: var(--bt-text-hero);
    line-height: 0.78;
    text-shadow:
      3px 3px 0 var(--bt-command-red),
      7px 7px 0 #000,
      11px 11px 0 rgb(242 230 201 / 14%);
    transform: skewX(-5deg);}
[data-pw-theme="b-team"] .pw-button,
  .theme-b-team .pw-button{--bt-button-bg: var(--bt-surface-2);
    --bt-button-fg: var(--bt-warm-cream);
    --bt-button-border: var(--bt-border-strong);

    position: relative;
    display: inline-flex;
    min-height: 2.85rem;
    gap: var(--bt-space-2);
    align-items: center;
    justify-content: center;
    padding: 0.72rem 1.15rem;
    border: 2px solid var(--bt-button-border);
    border-radius: 0;
    background:
      linear-gradient(rgb(255 255 255 / 7%), transparent 45%),
      var(--bt-button-bg);
    box-shadow: var(--bt-shadow-small), var(--bt-shadow-inset);
    color: var(--bt-button-fg);
    cursor: pointer;
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-sm);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    clip-path: polygon(
      var(--bt-cut-sm) 0,
      100% 0,
      100% calc(100% - var(--bt-cut-sm)),
      calc(100% - var(--bt-cut-sm)) 100%,
      0 100%,
      0 var(--bt-cut-sm)
    );
    transition:
      transform var(--bt-fast) var(--bt-ease-snap),
      background-color var(--bt-fast) linear,
      filter var(--bt-fast) linear;}
[data-pw-theme="b-team"] .pw-button::after,
  .theme-b-team .pw-button::after{width: 0.62rem;
    height: 0.62rem;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    content: "";
    transform: rotate(45deg);}
[data-pw-theme="b-team"] .pw-button:hover,
  .theme-b-team .pw-button:hover{color: var(--bt-button-fg);
    filter: brightness(1.15);
    transform: translate(-1px, -2px);}
[data-pw-theme="b-team"] .pw-button:active,
  .theme-b-team .pw-button:active{box-shadow: 2px 2px 0 rgb(0 0 0 / 60%);
    transform: translate(2px, 2px);}
[data-pw-theme="b-team"] .pw-button:not(.pw-button--secondary),
  .theme-b-team .pw-button:not(.pw-button--secondary){--bt-button-bg: var(--bt-command-red);
    --bt-button-border: #f06c70;}
[data-pw-theme="b-team"] .pw-button--secondary,
  .theme-b-team .pw-button--secondary{--bt-button-bg: var(--bt-surplus-olive-dark);
    --bt-button-border: var(--bt-success);}
[data-pw-theme="b-team"] .pw-button--caution,
  .theme-b-team .pw-button--caution{--bt-button-bg: var(--bt-caution);
    --bt-button-fg: var(--bt-van-black);
    --bt-button-border: #f2be54;}
[data-pw-theme="b-team"] .pw-button--quiet::after,
  .theme-b-team .pw-button--quiet::after{display: none;}
[data-pw-theme="b-team"] .pw-button:disabled,
  .theme-b-team .pw-button:disabled{cursor: not-allowed;
    filter: grayscale(1);
    opacity: 0.45;
    transform: none;}
[data-pw-theme="b-team"] .pw-badge,
  .theme-b-team .pw-badge{--bt-badge-color: var(--bt-steel);

    display: inline-flex;
    min-height: 1.75rem;
    gap: 0.42rem;
    align-items: center;
    padding: 0.28rem 0.55rem;
    border: 1px solid color-mix(in srgb, var(--bt-badge-color), white 22%);
    background: var(--bt-steel-dark);
    background: color-mix(in srgb, var(--bt-badge-color), black 42%);
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 8%);
    color: var(--bt-warm-cream);
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-xs);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    line-height: 1;
    text-transform: uppercase;
    clip-path: polygon(4px 0, 100% 0, 100% calc(100% - 4px), calc(100% - 4px) 100%, 0 100%, 0 4px);}
[data-pw-theme="b-team"] .pw-badge::before,
  .theme-b-team .pw-badge::before{width: 0.52rem;
    height: 0.52rem;
    border: 1px solid rgb(255 255 255 / 55%);
    border-radius: 50%;
    background: var(--bt-badge-color);
    box-shadow: 0 0 6px var(--bt-badge-color);
    content: "";}
[data-pw-theme="b-team"] .pw-badge--danger,
  .theme-b-team .pw-badge--danger{--bt-badge-color: var(--bt-danger);}
[data-pw-theme="b-team"] .pw-badge--standby,
  .theme-b-team .pw-badge--standby{--bt-badge-color: var(--bt-caution);}
[data-pw-theme="b-team"] .pw-badge--clear,
  .theme-b-team .pw-badge--clear{--bt-badge-color: var(--bt-success);}
[data-pw-theme="b-team"] .pw-status,
  .theme-b-team .pw-status{display: grid;
    gap: 0.15rem;
    min-width: 11rem;
    padding: var(--bt-space-3) var(--bt-space-4);
    border: 1px solid var(--bt-border);
    border-left: 5px solid var(--bt-command-red);
    background: var(--bt-van-black);
    box-shadow: var(--bt-shadow-small), var(--bt-shadow-inset);}
[data-pw-theme="b-team"] .pw-status strong,
  .theme-b-team .pw-status strong{color: var(--bt-command-red-bright);
    font-family: var(--bt-font-display);
    font-size: var(--bt-text-lg);
    letter-spacing: var(--bt-tracking-ui);
    line-height: 1;
    text-transform: uppercase;}
[data-pw-theme="b-team"] .pw-nav,
  .theme-b-team .pw-nav{position: relative;
    z-index: 20;
    display: flex;
    min-height: 3.25rem;
    overflow-x: auto;
    border-block: 1px solid var(--bt-border);
    background: rgb(11 11 11 / 94%);
    box-shadow: 0 5px 0 rgb(0 0 0 / 55%);
    scrollbar-width: thin;}
[data-pw-theme="b-team"] .pw-nav a,
  .theme-b-team .pw-nav a{position: relative;
    display: inline-flex;
    min-width: max-content;
    flex: 1;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1rem;
    border-right: 1px solid var(--bt-steel-dark);
    color: var(--bt-warm-cream-muted);
    font-family: var(--bt-font-ui);
    font-size: var(--bt-text-xs);
    font-weight: 900;
    letter-spacing: var(--bt-tracking-ui);
    text-decoration: none;
    text-transform: uppercase;}
[data-pw-theme="b-team"] .pw-nav a::after,
  .theme-b-team .pw-nav a::after{position: absolute;
    right: 15%;
    bottom: 0;
    left: 15%;
    height: 4px;
    background: var(--bt-command-red);
    content: "";
    opacity: 0;
    transform: scaleX(0.2);
    transition: opacity var(--bt-fast), transform var(--bt-normal) var(--bt-ease-snap);}
[data-pw-theme="b-team"] .pw-nav a:hover,
  [data-pw-theme="b-team"] .pw-nav a[aria-current="page"],
  .theme-b-team .pw-nav a:hover,
  .theme-b-team .pw-nav a[aria-current="page"]{background: var(--bt-command-red);
    color: #fff;}
[data-pw-theme="b-team"] .pw-nav a[aria-current="page"]::after,
  .theme-b-team .pw-nav a[aria-current="page"]::after{background: var(--bt-caution);
    opacity: 1;
    transform: scaleX(1);}
[data-pw-theme="b-team"] .pw-card,
  .theme-b-team .pw-card{position: relative;
    display: flex;
    min-height: 16rem;
    flex-direction: column;
    padding: var(--bt-space-5);
    overflow: hidden;
    border: 2px solid var(--bt-border);
    background:
      linear-gradient(140deg, rgb(255 255 255 / 5%), transparent 34%),
      var(--bt-scanlines),
      var(--bt-surface-1);
    box-shadow: var(--bt-shadow-hard), var(--bt-shadow-inset);
    clip-path: polygon(
      var(--bt-cut-md) 0,
      100% 0,
      100% calc(100% - var(--bt-cut-md)),
      calc(100% - var(--bt-cut-md)) 100%,
      0 100%,
      0 var(--bt-cut-md)
    );
    transition: border-color var(--bt-normal), transform var(--bt-normal) var(--bt-ease-snap);}
[data-pw-theme="b-team"] .pw-card:hover,
  .theme-b-team .pw-card:hover{border-color: var(--bt-command-red);
    transform: translateY(-4px);}
[data-pw-theme="b-team"] .pw-card__label,
  .theme-b-team .pw-card__label{display: flex;
    justify-content: space-between;
    margin-bottom: auto;
    color: var(--bt-command-red-bright);
    font-family: var(--bt-font-mono);
    font-size: var(--bt-text-xs);
    font-weight: 700;
    letter-spacing: var(--bt-tracking-stencil);
    text-transform: uppercase;}
[data-pw-theme="b-team"] .pw-card h3,
  .theme-b-team .pw-card h3{margin-top: var(--bt-space-6);}
[data-pw-theme="b-team"] .pw-card--file,
  .theme-b-team .pw-card--file{border-color: #9b917b;
    background:
      linear-gradient(rgb(255 255 255 / 10%), transparent),
      var(--bt-grit),
      var(--bt-paper);
    color: var(--bt-paper-ink);
    transform: rotate(-0.4deg);}
[data-pw-theme="b-team"] .pw-card--file h3,
  [data-pw-theme="b-team"] .pw-card--file .bt-card__meta,
  .theme-b-team .pw-card--file h3,
  .theme-b-team .pw-card--file .bt-card__meta{color: var(--bt-paper-ink);}
[data-pw-theme="b-team"] .pw-card--olive,
  .theme-b-team .pw-card--olive{border-color: var(--bt-surplus-olive);
    background:
      linear-gradient(135deg, rgb(255 255 255 / 5%), transparent),
      var(--bt-grit),
      var(--bt-surplus-olive-dark);}
[data-pw-theme="b-team"] .pw-room-grid,
  .theme-b-team .pw-room-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
    gap: var(--bt-space-4);}
[data-pw-theme="b-team"] .pw-icon,
  .theme-b-team .pw-icon{width: 4.4rem;
    aspect-ratio: 1;
    object-fit: contain;
    filter: drop-shadow(3px 3px 0 rgb(0 0 0 / 60%));}
[data-pw-theme="b-team"] .pw-textarea,
  .theme-b-team .pw-textarea{min-height: 8rem;
    padding: 0.75rem;
    resize: vertical;}
[data-pw-theme="b-team"] :where(.pw-input, .pw-select, .pw-textarea):focus,
  .theme-b-team :where(.pw-input, .pw-select, .pw-textarea):focus{border-color: var(--bt-caution);
    outline: 0;}
[data-pw-theme="b-team"] .pw-dialog,
  .theme-b-team .pw-dialog{width: min(34rem, calc(100% - 2rem));
    padding: 0;
    border: 2px solid var(--bt-border-strong);
    background: var(--bt-surface-1);
    box-shadow: 12px 14px 0 rgb(0 0 0 / 70%);
    color: var(--bt-warm-cream);
    clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);}
[data-pw-theme="b-team"] .pw-dialog::backdrop,
  .theme-b-team .pw-dialog::backdrop{background: var(--bt-overlay);
    backdrop-filter: blur(4px);}
[data-pw-theme="b-team"] .pw-hero,
  .theme-b-team .pw-hero{min-height: 700px;}
[data-pw-theme="b-team"] .pw-hero::after,
  .theme-b-team .pw-hero::after{right: -12%;
    bottom: -1%;
    width: 120%;
    height: 48%;}
[data-pw-theme="b-team"] .pw-hero__copy,
  .theme-b-team .pw-hero__copy{width: 100%;}
[data-pw-theme="b-team"] .pw-hero-title,
  .theme-b-team .pw-hero-title{font-size: clamp(3.4rem, 19vw, 6.5rem);}
[data-pw-theme="b-team"] .pw-main,
  .theme-b-team .pw-main{padding-block: var(--bt-space-6);}
[data-pw-theme="b-team"] .pw-shell,
  .theme-b-team .pw-shell{width: min(100% - 1rem, var(--bt-content-max));}



/* ===== Crafty (crafty) ===== */
[data-pw-theme="crafty"], .pw-theme-crafty{ color-scheme: light; }
@layer pw-theme {
  :where([data-pw-theme="crafty"], .pw-theme-crafty) {
    margin: 0;
    background: var(--pw-color-page) var(--pw-texture-paper) repeat;
    color: var(--pw-color-ink);
    font-family: var(--pk-crafty-font-body);
    font-size: var(--pw-text-body);
    line-height: 1.45;
  }

  :where([data-pw-theme="crafty"], .pw-theme-crafty) *,
  :where([data-pw-theme="crafty"], .pw-theme-crafty) *::before,
  :where([data-pw-theme="crafty"], .pw-theme-crafty) *::after {
    box-sizing: border-box;
  }

  :where([data-pw-theme="crafty"], .pw-theme-crafty) :where(h1, h2, h3, .pw-title) {
    color: var(--pw-color-ink);
    font-family: var(--pk-crafty-font-display);
    font-weight: 700;
    letter-spacing: -.018em;
  }

  :where([data-pw-theme="crafty"], .pw-theme-crafty) :where(button, input, select, textarea) {
    font: inherit;
  }

  :where([data-pw-theme="crafty"], .pw-theme-crafty) :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    border-radius: var(--pw-radius-xs);
    box-shadow: var(--pw-focus-ring);
    outline: 0;
  }

  [data-pw-theme="crafty"] .pw-shell,
  .pw-theme-crafty .pw-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background:
      linear-gradient(rgba(247, 240, 223, .72), rgba(238, 229, 207, .76)),
      var(--pw-texture-wood) repeat;
  }

  /* Global header */
  [data-pw-theme="crafty"] .pw-header,
  .pw-theme-crafty .pw-header {
    position: sticky;
    top: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.35fr) minmax(190px, .7fr);
    min-height: 86px;
    align-items: center;
    gap: clamp(.75rem, 2vw, 2rem);
    padding: .7rem clamp(.8rem, 2.2vw, 1.8rem);
    border-bottom: 3px solid var(--pw-color-line);
    background: var(--pw-color-paper) var(--pw-texture-wood) repeat;
    box-shadow: 0 3px 0 rgba(68, 56, 37, .12);
  }

  [data-pw-theme="crafty"] .pw-logo,
  .pw-theme-crafty .pw-logo {
    min-height: 56px;
    background: var(--pw-logo-art) left center / contain no-repeat;
    overflow: hidden;
    text-indent: -999rem;
  }

  [data-pw-theme="crafty"] .pw-header-search,
  .pw-theme-crafty .pw-header-search {
    position: relative;
  }

  [data-pw-theme="crafty"] .pw-header-search::before,
  .pw-theme-crafty .pw-header-search::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1rem;
    width: 16px;
    height: 16px;
    border: 2px solid var(--pw-color-ink-soft);
    border-radius: 50%;
    transform: translateY(-58%);
    pointer-events: none;
  }

  [data-pw-theme="crafty"] .pw-header-search::after,
  .pw-theme-crafty .pw-header-search::after {
    content: "";
    position: absolute;
    top: calc(50% + 6px);
    left: 1.88rem;
    width: 8px;
    border-top: 2px solid var(--pw-color-ink-soft);
    transform: rotate(45deg);
    pointer-events: none;
  }

  [data-pw-theme="crafty"] .pw-header-search .pw-input,
  .pw-theme-crafty .pw-header-search .pw-input {
    padding-left: 3rem;
  }

  [data-pw-theme="crafty"] .pw-status,
  .pw-theme-crafty .pw-status {
    justify-self: end;
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .13em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  [data-pw-theme="crafty"] .pw-status::before,
  .pw-theme-crafty .pw-status::before {
    content: "";
    display: inline-block;
    width: .8rem;
    height: .8rem;
    margin-right: .55rem;
    border: 1px solid var(--pw-color-green-dark);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #dce8a8 0 12%, var(--pw-color-green) 46%, var(--pw-color-green-dark) 100%);
    box-shadow: 0 0 0 3px rgba(102, 120, 74, .12);
    vertical-align: -.08rem;
  }

  /* Shell and navigation */
  [data-pw-theme="crafty"] .pw-layout,
  .pw-theme-crafty .pw-layout {
    display: grid;
    grid-template-columns: clamp(220px, 18vw, 290px) minmax(0, 1fr);
    min-height: calc(100vh - 86px);
  }

  [data-pw-theme="crafty"] .pw-nav,
  .pw-theme-crafty .pw-nav {
    position: sticky;
    top: 86px;
    align-self: start;
    height: calc(100vh - 86px);
    overflow-y: auto;
    padding: .85rem .75rem 7rem;
    border-right: 3px solid var(--pw-color-line);
    background:
      linear-gradient(rgba(126, 153, 164, .58), rgba(156, 172, 130, .46)),
      var(--pw-texture-wood) repeat;
  }

  [data-pw-theme="crafty"] .pw-nav-item,
  .pw-theme-crafty .pw-nav-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    min-height: 58px;
    align-items: center;
    gap: .7rem;
    margin: .45rem 0;
    padding: .5rem .75rem;
    border: var(--pw-line-strong);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
    color: var(--pw-color-ink);
    font-family: var(--pk-crafty-font-display);
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
  }

  [data-pw-theme="crafty"] .pw-nav-item::after,
  .pw-theme-crafty .pw-nav-item::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px dashed rgba(136, 120, 93, .58);
    border-radius: calc(var(--pw-radius-sm) - 2px);
    pointer-events: none;
  }

  [data-pw-theme="crafty"] .pw-nav-item,
  .pw-theme-crafty .pw-nav-item {
    position: relative;
  }

  [data-pw-theme="crafty"] .pw-nav-item img,
  .pw-theme-crafty .pw-nav-item img {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  [data-pw-theme="crafty"] .pw-nav-item:hover,
  .pw-theme-crafty .pw-nav-item:hover {
    background-color: var(--pw-color-paper-strong);
    transform: translateY(-1px);
  }

  [data-pw-theme="crafty"] .pw-nav-item[aria-current="page"],
  .pw-theme-crafty .pw-nav-item[aria-current="page"] {
    border-color: var(--pw-color-green-dark);
    background: #f5edda var(--pw-texture-paper) repeat;
    box-shadow: inset 6px 0 0 var(--pw-color-green), var(--pw-shadow-raised);
  }

  /* Main page, hero and record cards */
  [data-pw-theme="crafty"] .pw-main,
  .pw-theme-crafty .pw-main {
    min-width: 0;
    padding: clamp(.8rem, 2vw, 1.5rem);
    padding-bottom: 8.4rem;
  }

  [data-pw-theme="crafty"] .pw-hero,
  .pw-theme-crafty .pw-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .72fr);
    min-height: clamp(340px, 44vw, 520px);
    overflow: hidden;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-raised);
  }

  [data-pw-theme="crafty"] .pw-hero::before,
  .pw-theme-crafty .pw-hero::before {
    content: "";
    position: absolute;
    inset: 8px;
    z-index: 2;
    border: 1.5px dashed rgba(102, 120, 74, .68);
    border-radius: calc(var(--pw-radius-md) - 5px);
    pointer-events: none;
  }

  [data-pw-theme="crafty"] .pw-hero__copy,
  .pw-theme-crafty .pw-hero__copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(2rem, 5vw, 5.5rem);
  }

  [data-pw-theme="crafty"] .pw-kicker,
  .pw-theme-crafty .pw-kicker {
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-sm) var(--pw-font-label);
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  [data-pw-theme="crafty"] .pw-hero h1,
  .pw-theme-crafty .pw-hero h1 {
    max-width: 16ch;
    margin: .45rem 0 1rem;
    font-size: var(--pw-text-h1);
    line-height: .98;
  }

  [data-pw-theme="crafty"] .pw-hero p,
  .pw-theme-crafty .pw-hero p {
    max-width: 60ch;
    margin: 0 0 1.3rem;
    color: var(--pw-color-ink-soft);
  }

  [data-pw-theme="crafty"] .pw-hero__art,
  .pw-theme-crafty .pw-hero__art {
    min-height: 300px;
    background:
      linear-gradient(90deg, transparent, rgba(247, 240, 223, .16)),
      var(--pw-hero-art) right bottom / contain no-repeat;
  }

  [data-pw-theme="crafty"] .pw-grid,
  .pw-theme-crafty .pw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: clamp(.7rem, 1.4vw, 1.15rem);
    margin-top: 1rem;
  }

  [data-pw-theme="crafty"] :where(.pw-card, .pw-panel),
  .pw-theme-crafty :where(.pw-card, .pw-panel) {
    position: relative;
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.45rem);
    border: 2px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="crafty"] :where(.pw-card, .pw-panel)::after,
  .pw-theme-crafty :where(.pw-card, .pw-panel)::after {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px dashed rgba(136, 120, 93, .55);
    border-radius: calc(var(--pw-radius-md) - 4px);
    pointer-events: none;
  }

  [data-pw-theme="crafty"] :where(.pw-card, .pw-panel) > *,
  .pw-theme-crafty :where(.pw-card, .pw-panel) > * {
    position: relative;
    z-index: 1;
  }

  [data-pw-theme="crafty"] .pw-card__label,
  .pw-theme-crafty .pw-card__label {
    margin: 0 0 .55rem;
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  [data-pw-theme="crafty"] .pw-stat,
  .pw-theme-crafty .pw-stat {
    margin: .2rem 0;
    color: var(--pw-color-green-dark);
    font: 700 clamp(2.4rem, 4vw, 4.1rem) / .95 var(--pk-crafty-font-display);
  }

  /* Controls, forms and component states */
  [data-pw-theme="crafty"] :where(.pw-button, .pw-tab),
  .pw-theme-crafty :where(.pw-button, .pw-tab) {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .65rem 1rem;
    border: 2px solid var(--pw-color-green-dark);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-green);
    box-shadow: 0 3px 0 var(--pw-color-green-dark);
    color: var(--pw-color-paper-strong);
    cursor: pointer;
    font: 800 var(--pw-text-sm) var(--pw-font-label);
    letter-spacing: .065em;
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-pw-theme="crafty"] :where(.pw-button, .pw-tab):hover,
  .pw-theme-crafty :where(.pw-button, .pw-tab):hover {
    background: var(--pw-color-green-dark);
  }

  [data-pw-theme="crafty"] .pw-button:active,
  .pw-theme-crafty .pw-button:active {
    box-shadow: 0 1px 0 var(--pw-color-green-dark);
    transform: translateY(2px);
  }

  [data-pw-theme="crafty"] .pw-button--secondary,
  .pw-theme-crafty .pw-button--secondary {
    border-color: var(--pw-color-blue-dark);
    background: var(--pw-color-blue);
    box-shadow: 0 3px 0 var(--pw-color-blue-dark);
  }

  [data-pw-theme="crafty"] .pw-button--paper,
  .pw-theme-crafty .pw-button--paper {
    border-color: var(--pw-color-line);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: 0 3px 0 var(--pw-color-line);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="crafty"] :where(.pw-input, .pw-select, .pw-textarea),
  .pw-theme-crafty :where(.pw-input, .pw-select, .pw-textarea) {
    width: 100%;
    min-height: 46px;
    padding: .68rem .85rem;
    border: 2px solid var(--pw-color-line);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: inset 0 1px 4px rgba(68, 56, 37, .08);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="crafty"] .pw-textarea,
  .pw-theme-crafty .pw-textarea {
    min-height: 8rem;
    resize: vertical;
  }

  [data-pw-theme="crafty"] :where(.pw-input, .pw-select, .pw-textarea)::placeholder,
  .pw-theme-crafty :where(.pw-input, .pw-select, .pw-textarea)::placeholder {
    color: var(--pw-color-ink-soft);
    opacity: .78;
  }

  [data-pw-theme="crafty"] .pw-field,
  .pw-theme-crafty .pw-field {
    display: grid;
    gap: .35rem;
  }

  [data-pw-theme="crafty"] .pw-field > label,
  .pw-theme-crafty .pw-field > label {
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  [data-pw-theme="crafty"] .pw-tabs,
  .pw-theme-crafty .pw-tabs {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .25rem .1rem .45rem;
  }

  [data-pw-theme="crafty"] .pw-tab,
  .pw-theme-crafty .pw-tab {
    min-height: 38px;
    padding: .45rem .8rem;
    border-color: var(--pw-color-line);
    background: var(--pw-color-paper);
    box-shadow: none;
    color: var(--pw-color-ink);
    white-space: nowrap;
  }

  [data-pw-theme="crafty"] .pw-tab[aria-selected="true"],
  .pw-theme-crafty .pw-tab[aria-selected="true"] {
    border-color: var(--pw-color-green-dark);
    background: var(--pw-color-sage);
  }

  [data-pw-theme="crafty"] .pw-badge,
  .pw-theme-crafty .pw-badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: .25rem .55rem;
    border: 1.5px solid currentColor;
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong);
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  [data-pw-theme="crafty"] .pw-badge--blue,
  .pw-theme-crafty .pw-badge--blue { color: var(--pw-color-blue-dark); }
  [data-pw-theme="crafty"] .pw-badge--warning,
  .pw-theme-crafty .pw-badge--warning { color: var(--pw-color-warning); }
  [data-pw-theme="crafty"] .pw-badge--error,
  .pw-theme-crafty .pw-badge--error { color: var(--pw-color-error); }

  /* Tables, lists and documents */
  [data-pw-theme="crafty"] .pw-table-wrap,
  .pw-theme-crafty .pw-table-wrap {
    overflow-x: auto;
    border: var(--pw-line-strong);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong);
  }

  [data-pw-theme="crafty"] .pw-table,
  .pw-theme-crafty .pw-table {
    width: 100%;
    border-collapse: collapse;
  }

  [data-pw-theme="crafty"] .pw-table :where(th, td),
  .pw-theme-crafty .pw-table :where(th, td) {
    padding: .7rem .8rem;
    border-bottom: 1px dashed var(--pw-color-line);
    text-align: left;
  }

  [data-pw-theme="crafty"] .pw-table th,
  .pw-theme-crafty .pw-table th {
    background: rgba(156, 172, 130, .28);
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  [data-pw-theme="crafty"] .pw-record-list,
  .pw-theme-crafty .pw-record-list {
    display: grid;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  [data-pw-theme="crafty"] .pw-record-list > li,
  .pw-theme-crafty .pw-record-list > li {
    display: grid;
    grid-template-columns: minmax(70px, .25fr) 1fr auto;
    gap: .8rem;
    align-items: center;
    padding: .7rem 0;
    border-bottom: 1px dashed var(--pw-color-line);
  }

  [data-pw-theme="crafty"] .pw-document,
  .pw-theme-crafty .pw-document {
    max-width: 76ch;
    margin-inline: auto;
    padding: clamp(1.4rem, 4vw, 3.8rem);
    border: var(--pw-line-strong);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="crafty"] .pw-document h2::after,
  .pw-theme-crafty .pw-document h2::after {
    content: "";
    display: block;
    width: min(100%, 360px);
    height: 24px;
    margin-top: .35rem;
    background: var(--pw-pattern-divider) left center / contain no-repeat;
  }

  /* Dialog, tooltip and feedback states */
  [data-pw-theme="crafty"] .pw-dialog,
  .pw-theme-crafty .pw-dialog {
    width: min(92vw, 620px);
    padding: 1.5rem;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: 0 24px 80px rgba(68, 56, 37, .32);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="crafty"] .pw-tooltip,
  .pw-theme-crafty .pw-tooltip {
    position: absolute;
    z-index: 60;
    max-width: 260px;
    padding: .45rem .6rem;
    border: var(--pw-line-thin);
    border-radius: var(--pw-radius-xs);
    background: var(--pw-color-green-dark);
    color: var(--pw-color-paper-strong);
    font-size: var(--pw-text-xs);
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="crafty"] .pw-state,
  .pw-theme-crafty .pw-state {
    display: grid;
    min-height: 120px;
    place-items: center;
    padding: 1rem;
    border: 2px dashed currentColor;
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper);
    color: var(--pw-color-blue-dark);
    text-align: center;
  }

  [data-pw-theme="crafty"] .pw-state--empty,
  .pw-theme-crafty .pw-state--empty { color: var(--pw-color-ink-soft); }
  [data-pw-theme="crafty"] .pw-state--error,
  .pw-theme-crafty .pw-state--error { color: var(--pw-color-error); }

  [data-pw-theme="crafty"] .pw-skeleton,
  .pw-theme-crafty .pw-skeleton {
    overflow: hidden;
    min-height: 1rem;
    border-radius: var(--pw-radius-xs);
    background: linear-gradient(90deg, #d9cfba 20%, #eee5cf 40%, #d9cfba 60%);
    background-size: 240% 100%;
    animation: pw-crafty-loading 1.8s ease-in-out infinite;
  }

  @keyframes pw-crafty-loading {
    to { background-position: -160% 0; }
  }

  /* Persistent room dock: flex and overflow make room count data-driven. */
  [data-pw-theme="crafty"] .pw-dock,
  .pw-theme-crafty .pw-dock {
    position: fixed;
    right: clamp(.6rem, 1.5vw, 1.2rem);
    bottom: clamp(.5rem, 1.5vw, 1rem);
    left: calc(clamp(220px, 18vw, 290px) + clamp(.6rem, 1.5vw, 1.2rem));
    z-index: 50;
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .58rem;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background:
      linear-gradient(rgba(247, 240, 223, .9), rgba(238, 229, 207, .9)),
      var(--pw-texture-gingham) repeat;
    box-shadow: 0 12px 34px rgba(68, 56, 37, .22);
    scrollbar-color: var(--pw-color-green) transparent;
  }

  [data-pw-theme="crafty"] .pw-dock-item,
  .pw-theme-crafty .pw-dock-item {
    display: grid;
    flex: 1 0 min(150px, 22vw);
    grid-template-columns: 42px minmax(0, 1fr);
    min-width: 92px;
    min-height: 58px;
    align-items: center;
    gap: .45rem;
    padding: .35rem .5rem;
    border: var(--pw-line-thin);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    color: var(--pw-color-ink);
    font: 700 var(--pw-text-xs) var(--pk-crafty-font-display);
    text-decoration: none;
  }

  [data-pw-theme="crafty"] .pw-dock-item img,
  .pw-theme-crafty .pw-dock-item img {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  [data-pw-theme="crafty"] .pw-dock-item[aria-current="page"],
  .pw-theme-crafty .pw-dock-item[aria-current="page"] {
    border-color: var(--pw-color-green-dark);
    background-color: #f0ead8;
    box-shadow: inset 0 -4px 0 var(--pw-color-green);
  }

  /* Module boundary: modules inherit the paper frame but own their machinery. */
  [data-pw-theme="crafty"] .pw-module-frame,
  .pw-theme-crafty .pw-module-frame {
    padding: clamp(.65rem, 1.4vw, 1rem);
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  /* Responsive shell */
  @media (max-width: 980px) {
    [data-pw-theme="crafty"] .pw-header,
    .pw-theme-crafty .pw-header {
      grid-template-columns: minmax(180px, .8fr) minmax(230px, 1.3fr);
    }

    [data-pw-theme="crafty"] .pw-status,
    .pw-theme-crafty .pw-status {
      display: none;
    }

    [data-pw-theme="crafty"] .pw-layout,
    .pw-theme-crafty .pw-layout {
      grid-template-columns: 220px minmax(0, 1fr);
    }

    [data-pw-theme="crafty"] .pw-dock,
    .pw-theme-crafty .pw-dock {
      left: calc(220px + .6rem);
    }

    [data-pw-theme="crafty"] .pw-hero,
    .pw-theme-crafty .pw-hero {
      grid-template-columns: 1fr minmax(220px, .55fr);
    }
  }

  @media (max-width: 760px) {
    [data-pw-theme="crafty"] .pw-header,
    .pw-theme-crafty .pw-header {
      position: relative;
      grid-template-columns: 1fr;
      gap: .55rem;
      min-height: 0;
    }

    [data-pw-theme="crafty"] .pw-logo,
    .pw-theme-crafty .pw-logo {
      min-height: 48px;
      background-position: center;
    }

    [data-pw-theme="crafty"] .pw-layout,
    .pw-theme-crafty .pw-layout {
      display: block;
    }

    [data-pw-theme="crafty"] .pw-nav,
    .pw-theme-crafty .pw-nav {
      display: none;
    }

    [data-pw-theme="crafty"] .pw-main,
    .pw-theme-crafty .pw-main {
      padding: .75rem;
      padding-bottom: 7.4rem;
    }

    [data-pw-theme="crafty"] .pw-hero,
    .pw-theme-crafty .pw-hero {
      grid-template-columns: 1fr;
      min-height: 0;
    }

    [data-pw-theme="crafty"] .pw-hero__copy,
    .pw-theme-crafty .pw-hero__copy {
      padding: 2rem 1.4rem 1rem;
    }

    [data-pw-theme="crafty"] .pw-hero__art,
    .pw-theme-crafty .pw-hero__art {
      min-height: 240px;
      background-position: center bottom;
    }

    [data-pw-theme="crafty"] .pw-dock,
    .pw-theme-crafty .pw-dock {
      right: .45rem;
      bottom: .45rem;
      left: .45rem;
      gap: .35rem;
      padding: .4rem;
    }

    [data-pw-theme="crafty"] .pw-dock-item,
    .pw-theme-crafty .pw-dock-item {
      flex-basis: 68px;
      grid-template-columns: 1fr;
      justify-items: center;
      padding: .35rem;
      text-align: center;
    }

    [data-pw-theme="crafty"] .pw-dock-item img,
    .pw-theme-crafty .pw-dock-item img {
      width: 34px;
      height: 34px;
    }

    [data-pw-theme="crafty"] .pw-record-list > li,
    .pw-theme-crafty .pw-record-list > li {
      grid-template-columns: 1fr;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    [data-pw-theme="crafty"] *,
    [data-pw-theme="crafty"] *::before,
    [data-pw-theme="crafty"] *::after,
    .pw-theme-crafty *,
    .pw-theme-crafty *::before,
    .pw-theme-crafty *::after {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
    }
  }

  @media (forced-colors: active) {
    [data-pw-theme="crafty"] :where(.pw-nav-item, .pw-card, .pw-panel, .pw-button, .pw-input, .pw-select, .pw-dock),
    .pw-theme-crafty :where(.pw-nav-item, .pw-card, .pw-panel, .pw-button, .pw-input, .pw-select, .pw-dock) {
      border: 2px solid CanvasText;
      box-shadow: none;
    }
  }
}


/* ===== Datacenter Derrick's Day Off (datacenter-derricks-day-off) ===== */
[data-pw-theme="datacenter-derricks-day-off"], .pw-theme-datacenter-derricks-day-off{ color-scheme: light; }
/*
 * Datacenter Derrick's Day Off v1.0.0
 * Perfect World Project Static Theme Pack Contract v2
 * Generated from local source layers; do not add remote imports.
 */

/* source: css/00-tokens.css */
/* Datacenter Derrick's Day Off — production tokens */
@layer ddo.reset, ddo.base, ddo.components, ddo.adapters, ddo.utilities;

:root[data-pw-theme="datacenter-derricks-day-off"],
[data-pw-theme="datacenter-derricks-day-off"],
.theme-datacenter-derricks-day-off {
  color-scheme: light;

  /* Approved palette */
  --ddo-karmann-red: #d92323;
  --ddo-karmann-red-dark: #a6151a;
  --ddo-karmann-red-light: #ef4a43;
  --ddo-school-paper: #f4e8cf;
  --ddo-school-paper-light: #fffdf7;
  --ddo-school-paper-dark: #decda9;
  --ddo-ink: #171717;
  --ddo-ink-soft: #34322f;
  --ddo-chicago-sky: #5aa7c9;
  --ddo-chicago-sky-light: #b7deea;
  --ddo-locker-green: #617765;
  --ddo-locker-green-dark: #394d3e;
  --ddo-parade-gold: #d9a62e;
  --ddo-museum-coral: #d86752;
  --ddo-graphite: #66615b;
  --ddo-success: #2f7d4b;
  --ddo-danger: #b91f25;
  --ddo-info: #277ba0;
  --ddo-white: #fffdf7;

  /* Semantic surfaces */
  --ddo-canvas: var(--ddo-school-paper);
  --ddo-surface: var(--ddo-school-paper-light);
  --ddo-surface-raised: #fffaf0;
  --ddo-surface-muted: #eadcbf;
  --ddo-text: var(--ddo-ink);
  --ddo-text-muted: var(--ddo-graphite);
  --ddo-border: var(--ddo-ink);
  --ddo-border-soft: #9b927f;
  --ddo-overlay: rgb(23 23 23 / 72%);

  /* System-font-only stacks */
  --ddo-font-display: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Condensed", sans-serif;
  --ddo-font-ui: "Arial Narrow", "Franklin Gothic Medium", "Helvetica Neue Condensed", Arial, sans-serif;
  --ddo-font-body: Inter, "Helvetica Neue", Arial, sans-serif;
  --ddo-font-mono: "IBM Plex Mono", "Courier New", ui-monospace, monospace;
  --ddo-font-hand: "Comic Sans MS", "Marker Felt", "Segoe Print", cursive;
  --ddo-leading-display: 0.92;
  --ddo-leading-ui: 1.15;
  --ddo-leading-body: 1.55;
  --ddo-tracking-display: 0.018em;
  --ddo-tracking-ui: 0.075em;
  --ddo-tracking-stamp: 0.12em;

  /* Fluid scale */
  --ddo-text-xs: clamp(0.7rem, 0.67rem + 0.12vw, 0.77rem);
  --ddo-text-sm: clamp(0.8rem, 0.76rem + 0.18vw, 0.91rem);
  --ddo-text-md: clamp(0.96rem, 0.92rem + 0.17vw, 1.06rem);
  --ddo-text-lg: clamp(1.12rem, 1.02rem + 0.42vw, 1.4rem);
  --ddo-text-xl: clamp(1.48rem, 1.18rem + 1.3vw, 2.3rem);
  --ddo-text-2xl: clamp(2.15rem, 1.35rem + 3.2vw, 4.4rem);
  --ddo-text-hero: clamp(3.2rem, 1.8rem + 6vw, 8.2rem);

  /* Space and shape */
  --ddo-space-1: 0.25rem;
  --ddo-space-2: 0.5rem;
  --ddo-space-3: 0.75rem;
  --ddo-space-4: 1rem;
  --ddo-space-5: 1.5rem;
  --ddo-space-6: 2rem;
  --ddo-space-7: 3rem;
  --ddo-space-8: 4.5rem;
  --ddo-radius-sm: 3px;
  --ddo-radius-md: 6px;
  --ddo-radius-lg: 10px;
  --ddo-radius-pill: 999px;
  --ddo-border-width: 2px;
  --ddo-touch: 44px;
  --ddo-nav-height: 4.75rem;
  --ddo-content-max: 1180px;
  --ddo-room-min: 11.5rem;

  /* Physical-print effects */
  --ddo-shadow-sm: 3px 3px 0 var(--ddo-ink);
  --ddo-shadow-card: 6px 6px 0 var(--ddo-ink);
  --ddo-shadow-lifted: 9px 10px 0 rgb(23 23 23 / 24%);
  --ddo-shadow-inset: inset 0 0 0 1px rgb(255 255 255 / 48%), inset 0 -10px 18px rgb(102 97 91 / 9%);
  --ddo-focus: 0 0 0 3px var(--ddo-ink), 0 0 0 6px var(--ddo-parade-gold);
  --ddo-paper-grain: url("/theme/datacenter-derricks-day-off/assets/textures/paper-grain.svg");
  --ddo-notebook-grid: url("/theme/datacenter-derricks-day-off/assets/textures/notebook-grid.svg");
  --ddo-confetti: url("/theme/datacenter-derricks-day-off/assets/textures/confetti.svg");

  /* Timing */
  --ddo-ease: cubic-bezier(0.2, 0.8, 0.25, 1);
  --ddo-fast: 120ms;
  --ddo-normal: 220ms;
  --ddo-slow: 420ms;

  /* Perfect World aliases */
  --color-bg: var(--ddo-canvas);
  --color-surface: var(--ddo-surface);
  --color-surface-raised: var(--ddo-surface-raised);
  --color-text: var(--ddo-text);
  --color-text-muted: var(--ddo-text-muted);
  --color-primary: var(--ddo-karmann-red);
  --color-secondary: var(--ddo-locker-green);
  --color-accent: var(--ddo-parade-gold);
  --color-border: var(--ddo-border);
  --font-heading: var(--ddo-font-display);
  --font-body: var(--ddo-font-body);
  --font-mono: var(--ddo-font-mono);
  --radius-sm: var(--ddo-radius-sm);
  --radius-md: var(--ddo-radius-md);
  --radius-lg: var(--ddo-radius-lg);
  --shadow-card: var(--ddo-shadow-card);

  /* Exact room-icon mappings */
  --pw-icon-town-square: url("/theme/datacenter-derricks-day-off/assets/icons/town-square.svg");
  --pw-icon-records: url("/theme/datacenter-derricks-day-off/assets/icons/records.svg");
  --pw-icon-localnode: url("/theme/datacenter-derricks-day-off/assets/icons/localnode.svg");
  --pw-icon-news: url("/theme/datacenter-derricks-day-off/assets/icons/news.svg");
  --pw-icon-hoodbuster: url("/theme/datacenter-derricks-day-off/assets/icons/hoodbuster.svg");
  --pw-icon-studio: url("/theme/datacenter-derricks-day-off/assets/icons/studio.svg");
  --pw-icon-counter: url("/theme/datacenter-derricks-day-off/assets/icons/counter.svg");
  --pw-icon-field-kit: url("/theme/datacenter-derricks-day-off/assets/icons/field-kit.svg");
}

/* source: css/10-base.css */
@layer ddo.reset {
  [data-pw-theme="datacenter-derricks-day-off"],
  .theme-datacenter-derricks-day-off {
    box-sizing: border-box;
  }

  [data-pw-theme="datacenter-derricks-day-off"] *,
  [data-pw-theme="datacenter-derricks-day-off"] *::before,
  [data-pw-theme="datacenter-derricks-day-off"] *::after,
  .theme-datacenter-derricks-day-off *,
  .theme-datacenter-derricks-day-off *::before,
  .theme-datacenter-derricks-day-off *::after {
    box-sizing: inherit;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(img, svg, video, canvas),
  .theme-datacenter-derricks-day-off :where(img, svg, video, canvas) {
    display: block;
    max-width: 100%;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(button, input, select, textarea),
  .theme-datacenter-derricks-day-off :where(button, input, select, textarea) {
    font: inherit;
  }
}

@layer ddo.base {
  :root[data-pw-theme="datacenter-derricks-day-off"],
  body[data-pw-theme="datacenter-derricks-day-off"],
  [data-pw-theme="datacenter-derricks-day-off"],
  .theme-datacenter-derricks-day-off {
    min-height: 100%;
    background:
      linear-gradient(rgb(244 232 207 / 92%), rgb(244 232 207 / 92%)),
      var(--ddo-paper-grain),
      var(--ddo-canvas);
    color: var(--ddo-text);
    font-family: var(--ddo-font-body);
    font-size: var(--ddo-text-md);
    line-height: var(--ddo-leading-body);
    accent-color: var(--ddo-karmann-red);
    scrollbar-color: var(--ddo-karmann-red) var(--ddo-school-paper-dark);
    text-rendering: optimizeLegibility;
  }

  body[data-pw-theme="datacenter-derricks-day-off"] {
    margin: 0;
  }

  [data-pw-theme="datacenter-derricks-day-off"] ::selection,
  .theme-datacenter-derricks-day-off ::selection {
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(h1, h2, h3, h4, h5, h6),
  .theme-datacenter-derricks-day-off :where(h1, h2, h3, h4, h5, h6) {
    margin: 0 0 0.55em;
    color: var(--ddo-ink);
    font-family: var(--ddo-font-display);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-display);
    line-height: var(--ddo-leading-display);
    text-wrap: balance;
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] h1,
  .theme-datacenter-derricks-day-off h1 {
    font-size: var(--ddo-text-2xl);
  }

  [data-pw-theme="datacenter-derricks-day-off"] h2,
  .theme-datacenter-derricks-day-off h2 {
    font-size: var(--ddo-text-xl);
  }

  [data-pw-theme="datacenter-derricks-day-off"] h3,
  .theme-datacenter-derricks-day-off h3 {
    font-size: var(--ddo-text-lg);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(p, ul, ol, dl),
  .theme-datacenter-derricks-day-off :where(p, ul, ol, dl) {
    margin-block: 0 1em;
  }

  [data-pw-theme="datacenter-derricks-day-off"] a,
  .theme-datacenter-derricks-day-off a {
    color: var(--ddo-ink);
    text-decoration-color: var(--ddo-karmann-red);
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
    transition: color var(--ddo-fast) var(--ddo-ease), text-decoration-color var(--ddo-fast) var(--ddo-ease);
  }

  [data-pw-theme="datacenter-derricks-day-off"] a:hover,
  .theme-datacenter-derricks-day-off a:hover {
    color: var(--ddo-karmann-red-dark);
    text-decoration-color: var(--ddo-parade-gold);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :focus-visible,
  .theme-datacenter-derricks-day-off :focus-visible {
    outline: 0;
    box-shadow: var(--ddo-focus);
  }

  [data-pw-theme="datacenter-derricks-day-off"] hr,
  .theme-datacenter-derricks-day-off hr {
    height: 8px;
    border: 0;
    background: repeating-linear-gradient(-45deg, var(--ddo-karmann-red) 0 12px, var(--ddo-school-paper-light) 12px 24px);
    box-shadow: 0 2px 0 var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(code, kbd, samp),
  .theme-datacenter-derricks-day-off :where(code, kbd, samp) {
    border: 1px solid var(--ddo-border);
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    color: var(--ddo-karmann-red-dark);
    font-family: var(--ddo-font-mono);
  }

  [data-pw-theme="datacenter-derricks-day-off"] code,
  .theme-datacenter-derricks-day-off code {
    padding: 0.08em 0.32em;
  }

  [data-pw-theme="datacenter-derricks-day-off"] blockquote,
  .theme-datacenter-derricks-day-off blockquote {
    margin: var(--ddo-space-5) 0;
    padding: var(--ddo-space-4) var(--ddo-space-5);
    border: 2px solid var(--ddo-ink);
    border-left: 10px solid var(--ddo-karmann-red);
    background: var(--ddo-surface);
    box-shadow: var(--ddo-shadow-sm);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-shell,
  .theme-datacenter-derricks-day-off .ddo-shell {
    width: min(100% - 2rem, var(--ddo-content-max));
    margin-inline: auto;
  }
}

@layer ddo.utilities {
  [data-pw-theme="datacenter-derricks-day-off"] .ddo-display,
  .theme-datacenter-derricks-day-off .ddo-display {
    font-family: var(--ddo-font-display);
    letter-spacing: var(--ddo-tracking-display);
    line-height: var(--ddo-leading-display);
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-label,
  .theme-datacenter-derricks-day-off .ddo-label {
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-xs);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-stamp);
    line-height: var(--ddo-leading-ui);
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hand,
  .theme-datacenter-derricks-day-off .ddo-hand {
    font-family: var(--ddo-font-hand);
    font-weight: 800;
    transform: rotate(-1deg);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-mono,
  .theme-datacenter-derricks-day-off .ddo-mono {
    font-family: var(--ddo-font-mono);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-muted,
  .theme-datacenter-derricks-day-off .ddo-muted {
    color: var(--ddo-text-muted);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-red,
  .theme-datacenter-derricks-day-off .ddo-red {
    color: var(--ddo-karmann-red);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-sr-only,
  .theme-datacenter-derricks-day-off .ddo-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

/* source: css/20-components.css */
@layer ddo.components {
  [data-pw-theme="datacenter-derricks-day-off"] .ddo-topbar,
  .theme-datacenter-derricks-day-off .ddo-topbar {
    position: relative;
    z-index: 4;
    border-bottom: 4px solid var(--ddo-ink);
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-topbar__inner,
  .theme-datacenter-derricks-day-off .ddo-topbar__inner {
    display: flex;
    width: min(100% - 2rem, var(--ddo-content-max));
    min-height: 4.4rem;
    margin-inline: auto;
    align-items: center;
    justify-content: space-between;
    gap: var(--ddo-space-4);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-wordmark,
  .theme-datacenter-derricks-day-off .ddo-wordmark {
    display: inline-flex;
    align-items: center;
    gap: var(--ddo-space-3);
    color: inherit;
    font-family: var(--ddo-font-display);
    font-size: clamp(1.35rem, 1rem + 1.8vw, 2.5rem);
    letter-spacing: var(--ddo-tracking-display);
    line-height: 0.9;
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-wordmark img,
  .theme-datacenter-derricks-day-off .ddo-wordmark img {
    width: min(36rem, 72vw);
    max-height: 3rem;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-kicker,
  .theme-datacenter-derricks-day-off .ddo-kicker {
    display: inline-flex;
    min-height: 1.85rem;
    padding: 0.22rem 0.62rem;
    align-items: center;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: 2px 2px 0 var(--ddo-ink);
    color: var(--ddo-ink);
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-xs);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-stamp);
    line-height: 1;
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero,
  .theme-datacenter-derricks-day-off .ddo-hero {
    position: relative;
    display: grid;
    min-height: 30rem;
    overflow: hidden;
    grid-template-columns: minmax(0, 0.82fr) minmax(20rem, 1.18fr);
    border-bottom: 4px solid var(--ddo-ink);
    background:
      linear-gradient(90deg, rgb(244 232 207 / 98%) 0 42%, rgb(244 232 207 / 22%) 72%),
      var(--ddo-confetti),
      var(--ddo-chicago-sky-light);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__copy,
  .theme-datacenter-derricks-day-off .ddo-hero__copy {
    position: relative;
    z-index: 2;
    display: grid;
    padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 5vw, 5rem);
    align-content: center;
    justify-items: start;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__title,
  .theme-datacenter-derricks-day-off .ddo-hero__title {
    max-width: 10ch;
    margin: var(--ddo-space-3) 0 var(--ddo-space-4);
    color: var(--ddo-ink);
    font-size: var(--ddo-text-hero);
    text-shadow: 3px 3px 0 var(--ddo-karmann-red-light);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__lede,
  .theme-datacenter-derricks-day-off .ddo-hero__lede {
    max-width: 39rem;
    font-size: var(--ddo-text-lg);
    font-weight: 650;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__art,
  .theme-datacenter-derricks-day-off .ddo-hero__art {
    position: relative;
    min-height: 26rem;
    isolation: isolate;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__tower,
  .theme-datacenter-derricks-day-off .ddo-hero__tower {
    position: absolute;
    top: 7%;
    right: 4%;
    width: min(31%, 14rem);
    opacity: 0.72;
    z-index: -1;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__car,
  .theme-datacenter-derricks-day-off .ddo-hero__car {
    position: absolute;
    right: 3%;
    bottom: 6%;
    width: min(96%, 54rem);
    filter: drop-shadow(10px 12px 0 rgb(23 23 23 / 22%));
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__derrick,
  .theme-datacenter-derricks-day-off .ddo-hero__derrick {
    position: absolute;
    right: 37%;
    bottom: 34%;
    width: min(31%, 15rem);
    filter: drop-shadow(4px 5px 0 rgb(23 23 23 / 28%));
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-actions,
  .theme-datacenter-derricks-day-off .ddo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ddo-space-3);
    align-items: center;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.ddo-button, .ddo-icon-button),
  .theme-datacenter-derricks-day-off :where(.ddo-button, .ddo-icon-button) {
    display: inline-flex;
    min-height: var(--ddo-touch);
    padding: 0.68rem 1rem;
    align-items: center;
    justify-content: center;
    gap: var(--ddo-space-2);
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: var(--ddo-shadow-sm);
    color: var(--ddo-ink);
    cursor: pointer;
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-sm);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    transform: translate(0, 0);
    transition: background var(--ddo-fast) var(--ddo-ease), color var(--ddo-fast) var(--ddo-ease), transform var(--ddo-fast) var(--ddo-ease), box-shadow var(--ddo-fast) var(--ddo-ease);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-button:hover,
  .theme-datacenter-derricks-day-off .ddo-button:hover {
    background: var(--ddo-parade-gold);
    color: var(--ddo-ink);
    transform: translate(-1px, -1px);
    box-shadow: 4px 4px 0 var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-button:active,
  .theme-datacenter-derricks-day-off .ddo-button:active {
    transform: translate(2px, 2px);
    box-shadow: 1px 1px 0 var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-button--primary,
  .theme-datacenter-derricks-day-off .ddo-button--primary {
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-button--secondary,
  .theme-datacenter-derricks-day-off .ddo-button--secondary {
    background: var(--ddo-locker-green);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-button[disabled],
  .theme-datacenter-derricks-day-off .ddo-button[disabled] {
    opacity: 0.48;
    cursor: not-allowed;
    filter: grayscale(0.7);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-icon-button,
  .theme-datacenter-derricks-day-off .ddo-icon-button {
    width: var(--ddo-touch);
    padding: 0;
    border-radius: 50%;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-section,
  .theme-datacenter-derricks-day-off .ddo-section {
    padding-block: clamp(2.5rem, 6vw, 5rem);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-section__heading,
  .theme-datacenter-derricks-day-off .ddo-section__heading {
    display: flex;
    margin-bottom: var(--ddo-space-5);
    align-items: end;
    justify-content: space-between;
    gap: var(--ddo-space-4);
    border-bottom: 4px solid var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-grid,
  .theme-datacenter-derricks-day-off .ddo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
    gap: var(--ddo-space-5);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-card,
  .theme-datacenter-derricks-day-off .ddo-card {
    position: relative;
    padding: var(--ddo-space-5);
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background:
      linear-gradient(rgb(255 253 247 / 94%), rgb(255 253 247 / 94%)),
      var(--ddo-paper-grain),
      var(--ddo-surface);
    box-shadow: var(--ddo-shadow-card), var(--ddo-shadow-inset);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-card::before,
  .theme-datacenter-derricks-day-off .ddo-card::before {
    position: absolute;
    top: -0.55rem;
    left: 50%;
    width: 3.8rem;
    height: 1rem;
    background: rgb(217 166 46 / 68%);
    content: "";
    transform: translateX(-50%) rotate(-1deg);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-card--locker,
  .theme-datacenter-derricks-day-off .ddo-card--locker {
    background:
      linear-gradient(90deg, transparent 0 90%, rgb(23 23 23 / 8%) 90%),
      var(--ddo-locker-green);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-card--locker :where(h2, h3, h4),
  .theme-datacenter-derricks-day-off .ddo-card--locker :where(h2, h3, h4) {
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room-grid,
  .theme-datacenter-derricks-day-off .ddo-room-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ddo-room-min)), 1fr));
    gap: var(--ddo-space-5);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room,
  .theme-datacenter-derricks-day-off .ddo-room {
    position: relative;
    display: grid;
    min-height: 14rem;
    padding: var(--ddo-space-4);
    overflow: hidden;
    align-content: space-between;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: var(--ddo-shadow-card);
    color: var(--ddo-ink);
    text-decoration: none;
    transform: rotate(var(--ddo-card-tilt, 0deg));
    transition: transform var(--ddo-normal) var(--ddo-ease), box-shadow var(--ddo-normal) var(--ddo-ease), background var(--ddo-normal) var(--ddo-ease);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room:nth-child(3n + 1),
  .theme-datacenter-derricks-day-off .ddo-room:nth-child(3n + 1) {
    --ddo-card-tilt: -0.35deg;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room:nth-child(3n + 2),
  .theme-datacenter-derricks-day-off .ddo-room:nth-child(3n + 2) {
    --ddo-card-tilt: 0.3deg;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room:hover,
  .theme-datacenter-derricks-day-off .ddo-room:hover {
    z-index: 1;
    background: #fff9e9;
    box-shadow: 9px 10px 0 var(--ddo-karmann-red);
    transform: translateY(-4px) rotate(0deg);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room__icon,
  .theme-datacenter-derricks-day-off .ddo-room__icon {
    width: clamp(4.4rem, 10vw, 6.75rem);
    aspect-ratio: 1;
    object-fit: contain;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room__name,
  .theme-datacenter-derricks-day-off .ddo-room__name {
    margin: var(--ddo-space-4) 0 0;
    font-family: var(--ddo-font-display);
    font-size: var(--ddo-text-xl);
    line-height: 0.95;
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room__meta,
  .theme-datacenter-derricks-day-off .ddo-room__meta {
    margin: var(--ddo-space-2) 0 0;
    color: var(--ddo-graphite);
    font-family: var(--ddo-font-mono);
    font-size: var(--ddo-text-xs);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-badge,
  .theme-datacenter-derricks-day-off .ddo-badge {
    display: inline-flex;
    min-height: 1.7rem;
    padding: 0.22rem 0.65rem;
    align-items: center;
    gap: 0.35rem;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-pill);
    background: var(--ddo-chicago-sky-light);
    color: var(--ddo-ink);
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-xs);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    line-height: 1;
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-badge--new,
  .theme-datacenter-derricks-day-off .ddo-badge--new {
    border-radius: 36% 50% 42% 46%;
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
    transform: rotate(-3deg);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-badge--featured,
  .theme-datacenter-derricks-day-off .ddo-badge--featured {
    background: var(--ddo-parade-gold);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-alert,
  .theme-datacenter-derricks-day-off .ddo-alert {
    display: grid;
    padding: 0.8rem 1rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--ddo-space-3);
    align-items: start;
    border: 2px solid var(--ddo-ink);
    border-left-width: 9px;
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: 3px 3px 0 rgb(23 23 23 / 17%);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-alert--info,
  .theme-datacenter-derricks-day-off .ddo-alert--info {
    border-left-color: var(--ddo-info);
    background: #d9edf4;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-alert--success,
  .theme-datacenter-derricks-day-off .ddo-alert--success {
    border-left-color: var(--ddo-success);
    background: #dcebdd;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-alert--warning,
  .theme-datacenter-derricks-day-off .ddo-alert--warning {
    border-left-color: var(--ddo-parade-gold);
    background: #f7e8b9;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-alert--danger,
  .theme-datacenter-derricks-day-off .ddo-alert--danger {
    border-left-color: var(--ddo-danger);
    background: #f7d6d2;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-field,
  .theme-datacenter-derricks-day-off .ddo-field {
    display: grid;
    gap: var(--ddo-space-2);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-field > label,
  .theme-datacenter-derricks-day-off .ddo-field > label {
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-xs);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-stamp);
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.ddo-input, .ddo-select, .ddo-textarea),
  .theme-datacenter-derricks-day-off :where(.ddo-input, .ddo-select, .ddo-textarea) {
    width: 100%;
    min-height: var(--ddo-touch);
    padding: 0.65rem 0.75rem;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: inset 3px 3px 0 rgb(102 97 91 / 12%);
    color: var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-textarea,
  .theme-datacenter-derricks-day-off .ddo-textarea {
    min-height: 7rem;
    resize: vertical;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-tabs,
  .theme-datacenter-derricks-day-off .ddo-tabs {
    display: flex;
    overflow-x: auto;
    gap: var(--ddo-space-2);
    border-bottom: 3px solid var(--ddo-ink);
    scrollbar-width: thin;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-tab,
  .theme-datacenter-derricks-day-off .ddo-tab {
    min-height: var(--ddo-touch);
    padding: 0.62rem 0.9rem;
    flex: 0 0 auto;
    border: 2px solid var(--ddo-ink);
    border-bottom: 0;
    border-radius: var(--ddo-radius-sm) var(--ddo-radius-sm) 0 0;
    background: var(--ddo-school-paper-dark);
    color: var(--ddo-ink);
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-sm);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-tab[aria-selected="true"],
  .theme-datacenter-derricks-day-off .ddo-tab[aria-selected="true"] {
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-table-wrap,
  .theme-datacenter-derricks-day-off .ddo-table-wrap {
    overflow-x: auto;
    border: 2px solid var(--ddo-ink);
    background: var(--ddo-school-paper-light);
    box-shadow: var(--ddo-shadow-sm);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-table,
  .theme-datacenter-derricks-day-off .ddo-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--ddo-text-sm);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-table :where(th, td),
  .theme-datacenter-derricks-day-off .ddo-table :where(th, td) {
    padding: 0.75rem 0.9rem;
    border-right: 1px solid var(--ddo-border-soft);
    border-bottom: 1px solid var(--ddo-border-soft);
    text-align: left;
    vertical-align: top;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-table th,
  .theme-datacenter-derricks-day-off .ddo-table th {
    background: var(--ddo-ink);
    color: var(--ddo-white);
    font-family: var(--ddo-font-ui);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-table tbody tr:nth-child(even),
  .theme-datacenter-derricks-day-off .ddo-table tbody tr:nth-child(even) {
    background: rgb(90 167 201 / 10%);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-table tbody tr:hover,
  .theme-datacenter-derricks-day-off .ddo-table tbody tr:hover {
    background: rgb(217 166 46 / 23%);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-progress,
  .theme-datacenter-derricks-day-off .ddo-progress {
    height: 1rem;
    overflow: hidden;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-pill);
    background: var(--ddo-school-paper-dark);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-progress > span,
  .theme-datacenter-derricks-day-off .ddo-progress > span {
    display: block;
    width: var(--ddo-progress, 0%);
    height: 100%;
    background: repeating-linear-gradient(-45deg, var(--ddo-karmann-red) 0 10px, var(--ddo-museum-coral) 10px 20px);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-bottom-nav,
  .theme-datacenter-derricks-day-off .ddo-bottom-nav {
    position: fixed;
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    left: max(0.75rem, env(safe-area-inset-left));
    z-index: 1000;
    display: grid;
    max-width: 72rem;
    min-height: var(--ddo-nav-height);
    margin-inline: auto;
    padding: 0.4rem;
    overflow-x: auto;
    grid-auto-columns: minmax(4.4rem, 1fr);
    grid-auto-flow: column;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-md);
    background: rgb(255 253 247 / 94%);
    box-shadow: 6px 7px 0 rgb(23 23 23 / 72%);
    backdrop-filter: blur(10px);
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-bottom-nav a,
  .theme-datacenter-derricks-day-off .ddo-bottom-nav a {
    display: grid;
    min-width: 4.4rem;
    min-height: 3.6rem;
    padding: 0.3rem;
    place-items: center;
    border-radius: var(--ddo-radius-sm);
    color: var(--ddo-ink);
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-xs);
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-bottom-nav a:hover,
  [data-pw-theme="datacenter-derricks-day-off"] .ddo-bottom-nav a[aria-current="page"],
  .theme-datacenter-derricks-day-off .ddo-bottom-nav a:hover,
  .theme-datacenter-derricks-day-off .ddo-bottom-nav a[aria-current="page"] {
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-bottom-nav img,
  .theme-datacenter-derricks-day-off .ddo-bottom-nav img {
    width: 1.75rem;
    height: 1.75rem;
    object-fit: contain;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-save-note,
  .theme-datacenter-derricks-day-off .ddo-save-note {
    display: inline-grid;
    min-width: 8rem;
    padding: 1rem;
    place-items: center;
    border: 1px solid var(--ddo-school-paper-dark);
    background: var(--ddo-school-paper-light);
    box-shadow: var(--ddo-shadow-sm);
    font-family: var(--ddo-font-hand);
    font-size: var(--ddo-text-lg);
    font-weight: 900;
    line-height: 0.95;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(-3deg);
  }
}

/* source: css/30-adapters.css */
/* Compatibility selectors for current Perfect World modules. */
@layer ddo.adapters {
  [data-pw-theme="datacenter-derricks-day-off"] :where(.app-shell, .module-shell, .module-page, .page-shell),
  .theme-datacenter-derricks-day-off :where(.app-shell, .module-shell, .module-page, .page-shell) {
    min-height: 100vh;
    padding-bottom: calc(var(--ddo-nav-height) + 2rem + env(safe-area-inset-bottom));
    background:
      linear-gradient(rgb(244 232 207 / 93%), rgb(244 232 207 / 93%)),
      var(--ddo-paper-grain),
      var(--ddo-canvas);
    color: var(--ddo-text);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.app-header, .module-header, .page-header, .site-header),
  .theme-datacenter-derricks-day-off :where(.app-header, .module-header, .page-header, .site-header) {
    position: relative;
    overflow: hidden;
    border-bottom: 4px solid var(--ddo-ink);
    background:
      linear-gradient(100deg, rgb(217 35 35 / 100%) 0 58%, rgb(166 21 26 / 96%) 100%),
      var(--ddo-paper-grain);
    box-shadow: 0 5px 0 rgb(23 23 23 / 18%);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.app-header, .module-header, .page-header, .site-header) :where(h1, h2, h3, a),
  .theme-datacenter-derricks-day-off :where(.app-header, .module-header, .page-header, .site-header) :where(h1, h2, h3, a) {
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.card, .panel, .widget, .info-box, .stat-card, .record-card),
  .theme-datacenter-derricks-day-off :where(.card, .panel, .widget, .info-box, .stat-card, .record-card) {
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background:
      linear-gradient(rgb(255 253 247 / 94%), rgb(255 253 247 / 94%)),
      var(--ddo-paper-grain),
      var(--ddo-school-paper-light);
    box-shadow: var(--ddo-shadow-card), var(--ddo-shadow-inset);
    color: var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.card-header, .panel-header, .widget-header),
  .theme-datacenter-derricks-day-off :where(.card-header, .panel-header, .widget-header) {
    border-bottom: 3px solid var(--ddo-ink);
    background: var(--ddo-school-paper-dark);
    font-family: var(--ddo-font-ui);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    text-transform: uppercase;
  }

  /* :not(..ddo-button) added 2026-08-18 — see below.
     This adapter exists to dress UNSTYLED HOST MARKUP (.btn, .button, a bare
     <button>) that a module ships without knowing about the theme. It was also
     matching the pack's OWN .ddo-button elements and repainting them, which
     silently killed every button variant on real <button> tags:

       [data-pw-theme] .ddo-button--primary          = (0,2,0)
       :where(.btn,.button,button):not(.unstyled)         = (0,2,0)
         (:where contributes 0; :not() takes its ARGUMENT's weight)

     A specificity tie, broken by ddo.adapters being a LATER LAYER than ddo.components — so the adapter won and
     every <button> rendered the flat neutral surface. Anchors were unaffected,
     which is why the pack preview looked correct: its red <a> sits directly
     above the flat <button>s.

     Excluding the pack's own component class is the fix at the intent level:
     the adapter should stand down wherever the real component is present. */
  [data-pw-theme="datacenter-derricks-day-off"] :where(.btn, .button, button):not(.unstyled):not(.ddo-button),
  .theme-datacenter-derricks-day-off :where(.btn, .button, button):not(.unstyled):not(.ddo-button) {
    min-height: var(--ddo-touch);
    padding: 0.65rem 0.95rem;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: var(--ddo-shadow-sm);
    color: var(--ddo-ink);
    cursor: pointer;
    font-family: var(--ddo-font-ui);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.btn-primary, .button-primary, button[type="submit"]),
  .theme-datacenter-derricks-day-off :where(.btn-primary, .button-primary, button[type="submit"]) {
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.btn-secondary, .button-secondary),
  .theme-datacenter-derricks-day-off :where(.btn-secondary, .button-secondary) {
    background: var(--ddo-locker-green);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not(.unstyled),
  .theme-datacenter-derricks-day-off :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not(.unstyled) {
    min-height: var(--ddo-touch);
    padding: 0.62rem 0.72rem;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: inset 3px 3px 0 rgb(102 97 91 / 12%);
    color: var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(table, .data-table),
  .theme-datacenter-derricks-day-off :where(table, .data-table) {
    width: 100%;
    border-collapse: collapse;
    background: var(--ddo-school-paper-light);
    color: var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(table, .data-table) :where(th, td),
  .theme-datacenter-derricks-day-off :where(table, .data-table) :where(th, td) {
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--ddo-border-soft);
    text-align: left;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(table, .data-table) th,
  .theme-datacenter-derricks-day-off :where(table, .data-table) th {
    background: var(--ddo-ink);
    color: var(--ddo-white);
    font-family: var(--ddo-font-ui);
    letter-spacing: var(--ddo-tracking-ui);
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.sidebar, .side-nav, .left-nav),
  .theme-datacenter-derricks-day-off :where(.sidebar, .side-nav, .left-nav) {
    border-right: 2px solid var(--ddo-ink);
    background:
      linear-gradient(rgb(97 119 101 / 96%), rgb(57 77 62 / 96%)),
      var(--ddo-paper-grain);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.sidebar, .side-nav, .left-nav) :where(a, h1, h2, h3, h4),
  .theme-datacenter-derricks-day-off :where(.sidebar, .side-nav, .left-nav) :where(a, h1, h2, h3, h4) {
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.bottom-nav, .floating-nav, .mobile-nav),
  .theme-datacenter-derricks-day-off :where(.bottom-nav, .floating-nav, .mobile-nav) {
    position: fixed;
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    left: max(0.75rem, env(safe-area-inset-left));
    z-index: 1000;
    display: grid;
    max-width: 72rem;
    min-height: var(--ddo-nav-height);
    margin-inline: auto;
    padding: 0.4rem;
    overflow-x: auto;
    grid-auto-columns: minmax(4.4rem, 1fr);
    grid-auto-flow: column;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-md);
    background: rgb(255 253 247 / 94%);
    box-shadow: 6px 7px 0 rgb(23 23 23 / 72%);
    color: var(--ddo-ink);
    backdrop-filter: blur(10px);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.bottom-nav, .floating-nav, .mobile-nav) > :where(a, button),
  .theme-datacenter-derricks-day-off :where(.bottom-nav, .floating-nav, .mobile-nav) > :where(a, button) {
    display: grid;
    min-width: 4.4rem;
    min-height: 3.6rem;
    padding: 0.28rem;
    place-items: center;
    border: 0;
    border-radius: var(--ddo-radius-sm);
    background: transparent;
    box-shadow: none;
    color: var(--ddo-ink);
    font-size: var(--ddo-text-xs);
    text-align: center;
    text-decoration: none;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.bottom-nav, .floating-nav, .mobile-nav) > :where(a, button):hover,
  [data-pw-theme="datacenter-derricks-day-off"] :where(.bottom-nav, .floating-nav, .mobile-nav) > [aria-current="page"],
  .theme-datacenter-derricks-day-off :where(.bottom-nav, .floating-nav, .mobile-nav) > :where(a, button):hover,
  .theme-datacenter-derricks-day-off :where(.bottom-nav, .floating-nav, .mobile-nav) > [aria-current="page"] {
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.room-grid, .module-grid, .nav-grid),
  .theme-datacenter-derricks-day-off :where(.room-grid, .module-grid, .nav-grid) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ddo-room-min)), 1fr));
    gap: var(--ddo-space-5);
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id] :where(.room-icon, .pw-room-icon):not(img),
  .theme-datacenter-derricks-day-off [data-room-id] :where(.room-icon, .pw-room-icon):not(img) {
    width: 4rem;
    aspect-ratio: 1;
    background: var(--ddo-room-icon) center / contain no-repeat;
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id="town-square"],
  .theme-datacenter-derricks-day-off [data-room-id="town-square"] {
    --ddo-room-icon: var(--pw-icon-town-square);
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id="records"],
  .theme-datacenter-derricks-day-off [data-room-id="records"] {
    --ddo-room-icon: var(--pw-icon-records);
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id="localnode"],
  .theme-datacenter-derricks-day-off [data-room-id="localnode"] {
    --ddo-room-icon: var(--pw-icon-localnode);
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id="news"],
  .theme-datacenter-derricks-day-off [data-room-id="news"] {
    --ddo-room-icon: var(--pw-icon-news);
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id="hoodbuster"],
  .theme-datacenter-derricks-day-off [data-room-id="hoodbuster"] {
    --ddo-room-icon: var(--pw-icon-hoodbuster);
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id="studio"],
  .theme-datacenter-derricks-day-off [data-room-id="studio"] {
    --ddo-room-icon: var(--pw-icon-studio);
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id="counter"],
  .theme-datacenter-derricks-day-off [data-room-id="counter"] {
    --ddo-room-icon: var(--pw-icon-counter);
  }

  [data-pw-theme="datacenter-derricks-day-off"] [data-room-id="field-kit"],
  .theme-datacenter-derricks-day-off [data-room-id="field-kit"] {
    --ddo-room-icon: var(--pw-icon-field-kit);
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.status-badge, .tag, .chip),
  .theme-datacenter-derricks-day-off :where(.status-badge, .tag, .chip) {
    display: inline-flex;
    min-height: 1.65rem;
    padding: 0.2rem 0.6rem;
    align-items: center;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-pill);
    background: var(--ddo-chicago-sky-light);
    color: var(--ddo-ink);
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-xs);
    font-weight: 900;
    text-transform: uppercase;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.alert, .notice, .message),
  .theme-datacenter-derricks-day-off :where(.alert, .notice, .message) {
    padding: 0.8rem 1rem;
    border: 2px solid var(--ddo-ink);
    border-left: 9px solid var(--ddo-info);
    border-radius: var(--ddo-radius-sm);
    background: #d9edf4;
    box-shadow: var(--ddo-shadow-sm);
    color: var(--ddo-ink);
  }
}

/* source: css/40-responsive-accessibility-print.css */
@container (max-width: 44rem) {
  [data-pw-theme="datacenter-derricks-day-off"] .ddo-grid,
  .theme-datacenter-derricks-day-off .ddo-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 800px) {
  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero,
  .theme-datacenter-derricks-day-off .ddo-hero {
    grid-template-columns: 1fr;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__copy,
  .theme-datacenter-derricks-day-off .ddo-hero__copy {
    padding-bottom: 0;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__title,
  .theme-datacenter-derricks-day-off .ddo-hero__title {
    max-width: 9ch;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__art,
  .theme-datacenter-derricks-day-off .ddo-hero__art {
    min-height: clamp(18rem, 66vw, 29rem);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__car,
  .theme-datacenter-derricks-day-off .ddo-hero__car {
    right: -4%;
    width: 104%;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-hero__derrick,
  .theme-datacenter-derricks-day-off .ddo-hero__derrick {
    right: 36%;
    bottom: 35%;
    width: 31%;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-topbar__inner,
  .theme-datacenter-derricks-day-off .ddo-topbar__inner {
    min-height: 3.75rem;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-kicker,
  .theme-datacenter-derricks-day-off .ddo-kicker {
    display: none;
  }
}

@media (max-width: 560px) {
  :root[data-pw-theme="datacenter-derricks-day-off"],
  [data-pw-theme="datacenter-derricks-day-off"],
  .theme-datacenter-derricks-day-off {
    --ddo-room-min: 8.6rem;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-shell,
  .theme-datacenter-derricks-day-off .ddo-shell {
    width: min(100% - 1rem, var(--ddo-content-max));
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-topbar__inner,
  .theme-datacenter-derricks-day-off .ddo-topbar__inner {
    width: min(100% - 1rem, var(--ddo-content-max));
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room-grid,
  [data-pw-theme="datacenter-derricks-day-off"] :where(.room-grid, .module-grid, .nav-grid),
  .theme-datacenter-derricks-day-off .ddo-room-grid,
  .theme-datacenter-derricks-day-off :where(.room-grid, .module-grid, .nav-grid) {
    gap: var(--ddo-space-3);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room,
  .theme-datacenter-derricks-day-off .ddo-room {
    min-height: 11.75rem;
    padding: var(--ddo-space-3);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room__name,
  .theme-datacenter-derricks-day-off .ddo-room__name {
    font-size: var(--ddo-text-lg);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-card,
  .theme-datacenter-derricks-day-off .ddo-card {
    padding: var(--ddo-space-4);
    box-shadow: 4px 4px 0 var(--ddo-ink);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-bottom-nav,
  [data-pw-theme="datacenter-derricks-day-off"] :where(.bottom-nav, .floating-nav, .mobile-nav),
  .theme-datacenter-derricks-day-off .ddo-bottom-nav,
  .theme-datacenter-derricks-day-off :where(.bottom-nav, .floating-nav, .mobile-nav) {
    right: max(0.4rem, env(safe-area-inset-right));
    bottom: max(0.4rem, env(safe-area-inset-bottom));
    left: max(0.4rem, env(safe-area-inset-left));
    grid-auto-columns: minmax(4rem, 1fr);
    box-shadow: 4px 5px 0 rgb(23 23 23 / 72%);
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-table :where(th, td),
  .theme-datacenter-derricks-day-off .ddo-table :where(th, td) {
    padding: 0.6rem 0.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-pw-theme="datacenter-derricks-day-off"] *,
  [data-pw-theme="datacenter-derricks-day-off"] *::before,
  [data-pw-theme="datacenter-derricks-day-off"] *::after,
  .theme-datacenter-derricks-day-off *,
  .theme-datacenter-derricks-day-off *::before,
  .theme-datacenter-derricks-day-off *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  [data-pw-theme="datacenter-derricks-day-off"] .ddo-room,
  .theme-datacenter-derricks-day-off .ddo-room {
    transform: none;
  }
}

@media (prefers-contrast: more) {
  :root[data-pw-theme="datacenter-derricks-day-off"],
  [data-pw-theme="datacenter-derricks-day-off"],
  .theme-datacenter-derricks-day-off {
    --ddo-border-width: 3px;
    --ddo-border-soft: var(--ddo-ink);
    --ddo-text-muted: #3f3b37;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.ddo-card, .ddo-room, .ddo-alert),
  .theme-datacenter-derricks-day-off :where(.ddo-card, .ddo-room, .ddo-alert) {
    border-width: 3px;
  }
}

@media (forced-colors: active) {
  [data-pw-theme="datacenter-derricks-day-off"] :focus-visible,
  .theme-datacenter-derricks-day-off :focus-visible {
    outline: 3px solid Highlight;
    outline-offset: 3px;
    box-shadow: none;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.ddo-card, .ddo-room, .ddo-button, .ddo-alert),
  .theme-datacenter-derricks-day-off :where(.ddo-card, .ddo-room, .ddo-button, .ddo-alert) {
    border: 2px solid CanvasText;
    box-shadow: none;
    forced-color-adjust: auto;
  }
}

@media print {
  [data-pw-theme="datacenter-derricks-day-off"],
  .theme-datacenter-derricks-day-off {
    background: white !important;
    color: black !important;
    font-size: 10pt;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.ddo-bottom-nav, .bottom-nav, .floating-nav, .mobile-nav, .ddo-actions, .no-print),
  .theme-datacenter-derricks-day-off :where(.ddo-bottom-nav, .bottom-nav, .floating-nav, .mobile-nav, .ddo-actions, .no-print) {
    display: none !important;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.app-shell, .module-shell, .module-page, .page-shell),
  .theme-datacenter-derricks-day-off :where(.app-shell, .module-shell, .module-page, .page-shell) {
    padding-bottom: 0;
    background: white !important;
  }

  [data-pw-theme="datacenter-derricks-day-off"] :where(.ddo-card, .ddo-room, .card, .panel, .widget, .info-box),
  .theme-datacenter-derricks-day-off :where(.ddo-card, .ddo-room, .card, .panel, .widget, .info-box) {
    break-inside: avoid;
    background: white !important;
    box-shadow: none !important;
  }

  [data-pw-theme="datacenter-derricks-day-off"] a[href]::after,
  .theme-datacenter-derricks-day-off a[href]::after {
    content: " (" attr(href) ")";
    font-family: var(--ddo-font-mono);
    font-size: 8pt;
  }

  [data-pw-theme="datacenter-derricks-day-off"] a[href^="#"]::after,
  .theme-datacenter-derricks-day-off a[href^="#"]::after {
    content: "";
  }
}

/* GENERATED by scripts/gallery/authored_alias.py — do not hand-edit.
 * datacenter-derricks-day-off: the pack's OWN rules, repeated against the shell's .pw-* classes.
 * Every declaration below is copied verbatim from themes/datacenter-derricks-day-off/ — only the
 * selector differs. Nothing here is reduced, reinterpreted or recolored;
 * regenerate rather than edit, and change the pack if you want a change.
 * 40 rules aliased. */
[data-pw-theme="datacenter-derricks-day-off"] .pw-shell,
  .theme-datacenter-derricks-day-off .pw-shell{width: min(100% - 2rem, var(--ddo-content-max));
    margin-inline: auto;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-header,
  .theme-datacenter-derricks-day-off .pw-header{position: relative;
    z-index: 4;
    border-bottom: 4px solid var(--ddo-ink);
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-logo,
  .theme-datacenter-derricks-day-off .pw-logo{display: inline-flex;
    align-items: center;
    gap: var(--ddo-space-3);
    color: inherit;
    font-family: var(--ddo-font-display);
    font-size: clamp(1.35rem, 1rem + 1.8vw, 2.5rem);
    letter-spacing: var(--ddo-tracking-display);
    line-height: 0.9;
    text-decoration: none;
    text-transform: uppercase;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-logo img,
  .theme-datacenter-derricks-day-off .pw-logo img{width: min(36rem, 72vw);
    max-height: 3rem;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-kicker,
  .theme-datacenter-derricks-day-off .pw-kicker{display: inline-flex;
    min-height: 1.85rem;
    padding: 0.22rem 0.62rem;
    align-items: center;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: 2px 2px 0 var(--ddo-ink);
    color: var(--ddo-ink);
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-xs);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-stamp);
    line-height: 1;
    text-transform: uppercase;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-hero,
  .theme-datacenter-derricks-day-off .pw-hero{position: relative;
    display: grid;
    min-height: 30rem;
    overflow: hidden;
    grid-template-columns: minmax(0, 0.82fr) minmax(20rem, 1.18fr);
    border-bottom: 4px solid var(--ddo-ink);
    background:
      linear-gradient(90deg, rgb(244 232 207 / 98%) 0 42%, rgb(244 232 207 / 22%) 72%),
      var(--ddo-confetti),
      var(--ddo-chicago-sky-light);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-hero__copy,
  .theme-datacenter-derricks-day-off .pw-hero__copy{position: relative;
    z-index: 2;
    display: grid;
    padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 5vw, 5rem);
    align-content: center;
    justify-items: start;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-hero-title,
  .theme-datacenter-derricks-day-off .pw-hero-title{max-width: 10ch;
    margin: var(--ddo-space-3) 0 var(--ddo-space-4);
    color: var(--ddo-ink);
    font-size: var(--ddo-text-hero);
    text-shadow: 3px 3px 0 var(--ddo-karmann-red-light);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-button:hover,
  .theme-datacenter-derricks-day-off .pw-button:hover{background: var(--ddo-parade-gold);
    color: var(--ddo-ink);
    transform: translate(-1px, -1px);
    box-shadow: 4px 4px 0 var(--ddo-ink);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-button:active,
  .theme-datacenter-derricks-day-off .pw-button:active{transform: translate(2px, 2px);
    box-shadow: 1px 1px 0 var(--ddo-ink);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-button:not(.pw-button--secondary),
  .theme-datacenter-derricks-day-off .pw-button:not(.pw-button--secondary){background: var(--ddo-karmann-red);
    color: var(--ddo-white);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-button--secondary,
  .theme-datacenter-derricks-day-off .pw-button--secondary{background: var(--ddo-locker-green);
    color: var(--ddo-white);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-button[disabled],
  .theme-datacenter-derricks-day-off .pw-button[disabled]{opacity: 0.48;
    cursor: not-allowed;
    filter: grayscale(0.7);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-main,
  .theme-datacenter-derricks-day-off .pw-main{padding-block: clamp(2.5rem, 6vw, 5rem);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-card,
  .theme-datacenter-derricks-day-off .pw-card{position: relative;
    padding: var(--ddo-space-5);
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-sm);
    background:
      linear-gradient(rgb(255 253 247 / 94%), rgb(255 253 247 / 94%)),
      var(--ddo-paper-grain),
      var(--ddo-surface);
    box-shadow: var(--ddo-shadow-card), var(--ddo-shadow-inset);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-card::before,
  .theme-datacenter-derricks-day-off .pw-card::before{position: absolute;
    top: -0.55rem;
    left: 50%;
    width: 3.8rem;
    height: 1rem;
    background: rgb(217 166 46 / 68%);
    content: "";
    transform: translateX(-50%) rotate(-1deg);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-card--locker,
  .theme-datacenter-derricks-day-off .pw-card--locker{background:
      linear-gradient(90deg, transparent 0 90%, rgb(23 23 23 / 8%) 90%),
      var(--ddo-locker-green);
    color: var(--ddo-white);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-room-grid,
  .theme-datacenter-derricks-day-off .pw-room-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ddo-room-min)), 1fr));
    gap: var(--ddo-space-5);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-icon,
  .theme-datacenter-derricks-day-off .pw-icon{width: clamp(4.4rem, 10vw, 6.75rem);
    aspect-ratio: 1;
    object-fit: contain;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-badge,
  .theme-datacenter-derricks-day-off .pw-badge{display: inline-flex;
    min-height: 1.7rem;
    padding: 0.22rem 0.65rem;
    align-items: center;
    gap: 0.35rem;
    border: 2px solid var(--ddo-ink);
    border-radius: var(--ddo-radius-pill);
    background: var(--ddo-chicago-sky-light);
    color: var(--ddo-ink);
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-xs);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    line-height: 1;
    text-transform: uppercase;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-badge--new,
  .theme-datacenter-derricks-day-off .pw-badge--new{border-radius: 36% 50% 42% 46%;
    background: var(--ddo-karmann-red);
    color: var(--ddo-white);
    transform: rotate(-3deg);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-badge--featured,
  .theme-datacenter-derricks-day-off .pw-badge--featured{background: var(--ddo-parade-gold);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-alert,
  .theme-datacenter-derricks-day-off .pw-alert{display: grid;
    padding: 0.8rem 1rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--ddo-space-3);
    align-items: start;
    border: 2px solid var(--ddo-ink);
    border-left-width: 9px;
    border-radius: var(--ddo-radius-sm);
    background: var(--ddo-school-paper-light);
    box-shadow: 3px 3px 0 rgb(23 23 23 / 17%);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-alert--info,
  .theme-datacenter-derricks-day-off .pw-alert--info{border-left-color: var(--ddo-info);
    background: #d9edf4;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-alert--success,
  .theme-datacenter-derricks-day-off .pw-alert--success{border-left-color: var(--ddo-success);
    background: #dcebdd;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-alert--warning,
  .theme-datacenter-derricks-day-off .pw-alert--warning{border-left-color: var(--ddo-parade-gold);
    background: #f7e8b9;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-alert--danger,
  .theme-datacenter-derricks-day-off .pw-alert--danger{border-left-color: var(--ddo-danger);
    background: #f7d6d2;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-textarea,
  .theme-datacenter-derricks-day-off .pw-textarea{min-height: 7rem;
    resize: vertical;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-tab,
  .theme-datacenter-derricks-day-off .pw-tab{min-height: var(--ddo-touch);
    padding: 0.62rem 0.9rem;
    flex: 0 0 auto;
    border: 2px solid var(--ddo-ink);
    border-bottom: 0;
    border-radius: var(--ddo-radius-sm) var(--ddo-radius-sm) 0 0;
    background: var(--ddo-school-paper-dark);
    color: var(--ddo-ink);
    font-family: var(--ddo-font-ui);
    font-size: var(--ddo-text-sm);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    text-transform: uppercase;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-tab[aria-selected="true"],
  .theme-datacenter-derricks-day-off .pw-tab[aria-selected="true"]{background: var(--ddo-karmann-red);
    color: var(--ddo-white);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-table-wrap,
  .theme-datacenter-derricks-day-off .pw-table-wrap{overflow-x: auto;
    border: 2px solid var(--ddo-ink);
    background: var(--ddo-school-paper-light);
    box-shadow: var(--ddo-shadow-sm);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-table,
  .theme-datacenter-derricks-day-off .pw-table{width: 100%;
    border-collapse: collapse;
    font-size: var(--ddo-text-sm);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-table th,
  .theme-datacenter-derricks-day-off .pw-table th{background: var(--ddo-ink);
    color: var(--ddo-white);
    font-family: var(--ddo-font-ui);
    font-weight: 900;
    letter-spacing: var(--ddo-tracking-ui);
    text-transform: uppercase;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-table tbody tr:hover,
  .theme-datacenter-derricks-day-off .pw-table tbody tr:hover{background: rgb(217 166 46 / 23%);}
[data-pw-theme="datacenter-derricks-day-off"] .pw-hero,
  .theme-datacenter-derricks-day-off .pw-hero{grid-template-columns: 1fr;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-hero__copy,
  .theme-datacenter-derricks-day-off .pw-hero__copy{padding-bottom: 0;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-hero-title,
  .theme-datacenter-derricks-day-off .pw-hero-title{max-width: 9ch;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-kicker,
  .theme-datacenter-derricks-day-off .pw-kicker{display: none;}
[data-pw-theme="datacenter-derricks-day-off"] .pw-shell,
  .theme-datacenter-derricks-day-off .pw-shell{width: min(100% - 1rem, var(--ddo-content-max));}
[data-pw-theme="datacenter-derricks-day-off"] .pw-card,
  .theme-datacenter-derricks-day-off .pw-card{padding: var(--ddo-space-4);
    box-shadow: 4px 4px 0 var(--ddo-ink);}



/* ===== Derrick's Millions (derricks-millions) ===== */
[data-pw-theme="derricks-millions"], .pw-theme-derricks-millions{ color-scheme: light; }
@layer pw-theme{
[data-pw-theme="derricks-millions"]{margin:0;background:var(--pk-derricks-millions-paper);color:var(--pk-derricks-millions-ink);font-family:var(--pk-derricks-millions-font-body);line-height:1.45}
[data-pw-theme="derricks-millions"] *{box-sizing:border-box}[data-pw-theme="derricks-millions"] :where(h1,h2,h3,.pw-title){font-family:var(--pk-derricks-millions-font-display);letter-spacing:.015em}[data-pw-theme="derricks-millions"] .pw-shell{min-height:100vh;background:linear-gradient(color-mix(in srgb,var(--pk-derricks-millions-paper),transparent 8%),color-mix(in srgb,var(--pk-derricks-millions-paper),transparent 8%)),var(--pk-derricks-millions-pattern);background-size:auto,160px}
[data-pw-theme="derricks-millions"] .pw-header{display:flex;min-height:76px;align-items:center;gap:1rem;padding:.75rem 1.2rem;border-bottom:var(--pk-derricks-millions-border) var(--pk-derricks-millions-ink);background:var(--pk-derricks-millions-dark);color:var(--pk-derricks-millions-paper)}[data-pw-theme="derricks-millions"] .pw-logo{font:900 clamp(1.15rem,3vw,2rem) var(--pk-derricks-millions-font-display);text-transform:uppercase}[data-pw-theme="derricks-millions"] .pw-status{margin-left:auto;font:800 .75rem var(--pk-derricks-millions-font-mono);color:var(--pk-derricks-millions-secondary)}[data-pw-theme="derricks-millions"] .pw-status::before{content:"";display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;border-radius:50%;background:currentColor}
[data-pw-theme="derricks-millions"] .pw-layout{display:grid;grid-template-columns:minmax(220px,17rem) 1fr;min-height:calc(100vh - 76px)}[data-pw-theme="derricks-millions"] .pw-nav{padding:1rem;background:color-mix(in srgb,var(--pk-derricks-millions-dark),var(--pk-derricks-millions-paper) 8%);color:var(--pk-derricks-millions-paper);border-right:var(--pk-derricks-millions-border) var(--pk-derricks-millions-ink)}[data-pw-theme="derricks-millions"] .pw-nav-item{display:flex;min-height:46px;align-items:center;gap:.65rem;margin:.3rem 0;padding:.45rem .6rem;border:2px solid transparent;color:inherit;text-decoration:none;font-weight:800}[data-pw-theme="derricks-millions"] .pw-nav-item img{width:34px;height:34px}[data-pw-theme="derricks-millions"] .pw-nav-item[aria-current]{border-color:var(--pk-derricks-millions-ink);background:var(--pk-derricks-millions-primary);color:var(--pk-derricks-millions-paper)}
[data-pw-theme="derricks-millions"] .pw-main{padding:clamp(1rem,3vw,2.5rem);padding-bottom:7rem}[data-pw-theme="derricks-millions"] .pw-hero{position:relative;display:grid;grid-template-columns:1fr minmax(240px,34%);min-height:330px;overflow:hidden;padding:clamp(1.5rem,4vw,4rem);border:var(--pk-derricks-millions-border) var(--pk-derricks-millions-ink);border-radius:var(--pk-derricks-millions-radius);background:var(--pk-derricks-millions-paper);box-shadow:var(--pk-derricks-millions-shadow)}[data-pw-theme="derricks-millions"] .pw-hero__art{min-height:240px;background:var(--pk-derricks-millions-hero) center/contain no-repeat}[data-pw-theme="derricks-millions"] .pw-kicker{font:900 .75rem var(--pk-derricks-millions-font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--pk-derricks-millions-primary)}[data-pw-theme="derricks-millions"] .pw-hero h1{max-width:12ch;margin:.35rem 0;font-size:clamp(2.5rem,6vw,5.5rem);line-height:.9;text-transform:uppercase}
[data-pw-theme="derricks-millions"] .pw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.1rem;margin-top:1.2rem}[data-pw-theme="derricks-millions"] .pw-panel,[data-pw-theme="derricks-millions"] .pw-card{position:relative;padding:1.2rem;border:var(--pk-derricks-millions-border) var(--pk-derricks-millions-ink);border-radius:var(--pk-derricks-millions-radius);background:var(--pk-derricks-millions-paper);box-shadow:var(--pk-derricks-millions-shadow)}[data-pw-theme="derricks-millions"] .pw-card h3{margin:.1rem 0 .55rem;font-size:1.35rem}
[data-pw-theme="derricks-millions"] .pw-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border:var(--pk-derricks-millions-border) var(--pk-derricks-millions-ink);border-radius:var(--pk-derricks-millions-radius);background:var(--pk-derricks-millions-primary);box-shadow:var(--pk-derricks-millions-shadow);color:var(--pk-derricks-millions-paper);font:900 .78rem var(--pk-derricks-millions-font-body);letter-spacing:.05em;text-decoration:none;text-transform:uppercase}[data-pw-theme="derricks-millions"] .pw-input{width:100%;min-height:44px;padding:.65rem .8rem;border:var(--pk-derricks-millions-border) var(--pk-derricks-millions-ink);border-radius:var(--pk-derricks-millions-radius);background:var(--pk-derricks-millions-paper);color:var(--pk-derricks-millions-ink);font:600 1rem var(--pk-derricks-millions-font-body)}[data-pw-theme="derricks-millions"] .pw-badge{display:inline-block;padding:.28rem .55rem;border:2px solid var(--pk-derricks-millions-ink);background:var(--pk-derricks-millions-accent);font:900 .68rem var(--pk-derricks-millions-font-mono);text-transform:uppercase}
[data-pw-theme="derricks-millions"] .pw-dock{position:fixed;right:1rem;bottom:1rem;left:calc(17rem + 1rem);z-index:10;display:grid;grid-template-columns:repeat(8,minmax(42px,1fr));gap:.35rem;padding:.5rem;border:var(--pk-derricks-millions-border) var(--pk-derricks-millions-ink);border-radius:var(--pk-derricks-millions-radius);background:color-mix(in srgb,var(--pk-derricks-millions-dark),transparent 5%);box-shadow:var(--pk-derricks-millions-shadow)}[data-pw-theme="derricks-millions"] .pw-dock img{display:block;width:34px;height:34px;margin:auto}
[data-pw-theme="derricks-millions"] .pw-module-machine{padding:1.2rem;border:var(--pk-derricks-millions-border) var(--pk-derricks-millions-ink);border-radius:var(--pk-derricks-millions-radius);background:var(--pk-derricks-millions-dark);color:var(--pk-derricks-millions-paper);box-shadow:var(--pk-derricks-millions-shadow)}[data-pw-theme="derricks-millions"] .pw-machine-grid{display:grid;grid-template-columns:1fr .7fr 1fr;gap:1rem}[data-pw-theme="derricks-millions"] .pw-screen,[data-pw-theme="derricks-millions"] .pw-crate,[data-pw-theme="derricks-millions"] .pw-bridge,[data-pw-theme="derricks-millions"] .pw-transport,[data-pw-theme="derricks-millions"] .pw-meter,[data-pw-theme="derricks-millions"] .pw-tape,[data-pw-theme="derricks-millions"] .pw-cartridge{min-height:120px;padding:1rem;border:2px solid var(--pk-derricks-millions-accent);background:color-mix(in srgb,var(--pk-derricks-millions-dark),white 4%)}
[data-pw-theme="derricks-millions"] .pw-shell{background:linear-gradient(#f2e8c9ed,#f2e8c9ed),var(--pk-derricks-millions-pattern)}[data-pw-theme="derricks-millions"] .pw-header{background:linear-gradient(90deg,#c8102e 0 18%,#f2e8c9 18% 72%,#0a6b3a 72%);border-bottom:5px solid #0d2340}[data-pw-theme="derricks-millions"] .pw-panel,[data-pw-theme="derricks-millions"] .pw-card{border:3px solid #0d2340}[data-pw-theme="derricks-millions"] .pw-score{background:#07150d;color:#5ef48a;border:6px double #f4c542;font-family:var(--pk-derricks-millions-font-mono)}
@media(max-width:760px){[data-pw-theme="derricks-millions"] .pw-layout{grid-template-columns:1fr}[data-pw-theme="derricks-millions"] .pw-nav{display:none}[data-pw-theme="derricks-millions"] .pw-hero{grid-template-columns:1fr}[data-pw-theme="derricks-millions"] .pw-hero__art{min-height:190px}[data-pw-theme="derricks-millions"] .pw-dock{left:.5rem;right:.5rem;bottom:.5rem}[data-pw-theme="derricks-millions"] .pw-dock img{width:28px;height:28px}[data-pw-theme="derricks-millions"] .pw-machine-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){[data-pw-theme="derricks-millions"] *,[data-pw-theme="derricks-millions"] *::before,[data-pw-theme="derricks-millions"] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}


/* ===== Garden (garden) ===== */
[data-pw-theme="garden"], .pw-theme-garden{ color-scheme: light; }
@layer pw-theme {
  :where([data-pw-theme="garden"], .pw-theme-garden) {
    margin: 0;
    background: var(--pw-color-page) var(--pw-texture-paper) repeat;
    color: var(--pw-color-ink);
    font-family: var(--pk-garden-font-body);
    font-size: var(--pw-text-body);
    line-height: 1.45;
  }

  :where([data-pw-theme="garden"], .pw-theme-garden) *,
  :where([data-pw-theme="garden"], .pw-theme-garden) *::before,
  :where([data-pw-theme="garden"], .pw-theme-garden) *::after {
    box-sizing: border-box;
  }

  :where([data-pw-theme="garden"], .pw-theme-garden) :where(h1, h2, h3, .pw-title) {
    color: var(--pw-color-ink);
    font-family: var(--pk-garden-font-display);
    font-weight: 700;
    letter-spacing: -.018em;
  }

  :where([data-pw-theme="garden"], .pw-theme-garden) :where(button, input, select, textarea) {
    font: inherit;
  }

  :where([data-pw-theme="garden"], .pw-theme-garden) :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    border-radius: var(--pw-radius-xs);
    box-shadow: var(--pw-focus-ring);
    outline: 0;
  }

  [data-pw-theme="garden"] .pw-shell,
  .pw-theme-garden .pw-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background:
      linear-gradient(rgba(247, 240, 223, .72), rgba(238, 229, 207, .76)),
      var(--pw-texture-wood) repeat;
  }

  /* Global header */
  [data-pw-theme="garden"] .pw-header,
  .pw-theme-garden .pw-header {
    position: sticky;
    top: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.35fr) minmax(190px, .7fr);
    min-height: 86px;
    align-items: center;
    gap: clamp(.75rem, 2vw, 2rem);
    padding: .7rem clamp(.8rem, 2.2vw, 1.8rem);
    border-bottom: 3px solid var(--pw-color-line);
    background: var(--pw-color-paper) var(--pw-texture-wood) repeat;
    box-shadow: 0 3px 0 rgba(68, 56, 37, .12);
  }

  [data-pw-theme="garden"] .pw-logo,
  .pw-theme-garden .pw-logo {
    min-height: 56px;
    background: var(--pw-logo-art) left center / contain no-repeat;
    overflow: hidden;
    text-indent: -999rem;
  }

  [data-pw-theme="garden"] .pw-header-search,
  .pw-theme-garden .pw-header-search {
    position: relative;
  }

  [data-pw-theme="garden"] .pw-header-search::before,
  .pw-theme-garden .pw-header-search::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1rem;
    width: 16px;
    height: 16px;
    border: 2px solid var(--pw-color-ink-soft);
    border-radius: 50%;
    transform: translateY(-58%);
    pointer-events: none;
  }

  [data-pw-theme="garden"] .pw-header-search::after,
  .pw-theme-garden .pw-header-search::after {
    content: "";
    position: absolute;
    top: calc(50% + 6px);
    left: 1.88rem;
    width: 8px;
    border-top: 2px solid var(--pw-color-ink-soft);
    transform: rotate(45deg);
    pointer-events: none;
  }

  [data-pw-theme="garden"] .pw-header-search .pw-input,
  .pw-theme-garden .pw-header-search .pw-input {
    padding-left: 3rem;
  }

  [data-pw-theme="garden"] .pw-status,
  .pw-theme-garden .pw-status {
    justify-self: end;
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .13em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  [data-pw-theme="garden"] .pw-status::before,
  .pw-theme-garden .pw-status::before {
    content: "";
    display: inline-block;
    width: .8rem;
    height: .8rem;
    margin-right: .55rem;
    border: 1px solid var(--pw-color-green-dark);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #dce8a8 0 12%, var(--pw-color-green) 46%, var(--pw-color-green-dark) 100%);
    box-shadow: 0 0 0 3px rgba(102, 120, 74, .12);
    vertical-align: -.08rem;
  }

  /* Shell and navigation */
  [data-pw-theme="garden"] .pw-layout,
  .pw-theme-garden .pw-layout {
    display: grid;
    grid-template-columns: clamp(220px, 18vw, 290px) minmax(0, 1fr);
    min-height: calc(100vh - 86px);
  }

  [data-pw-theme="garden"] .pw-nav,
  .pw-theme-garden .pw-nav {
    position: sticky;
    top: 86px;
    align-self: start;
    height: calc(100vh - 86px);
    overflow-y: auto;
    padding: .85rem .75rem 7rem;
    border-right: 3px solid var(--pw-color-line);
    background:
      linear-gradient(rgba(126, 153, 164, .58), rgba(156, 172, 130, .46)),
      var(--pw-texture-wood) repeat;
  }

  [data-pw-theme="garden"] .pw-nav-item,
  .pw-theme-garden .pw-nav-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    min-height: 58px;
    align-items: center;
    gap: .7rem;
    margin: .45rem 0;
    padding: .5rem .75rem;
    border: var(--pw-line-strong);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
    color: var(--pw-color-ink);
    font-family: var(--pk-garden-font-display);
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
  }

  [data-pw-theme="garden"] .pw-nav-item::after,
  .pw-theme-garden .pw-nav-item::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px dashed rgba(136, 120, 93, .58);
    border-radius: calc(var(--pw-radius-sm) - 2px);
    pointer-events: none;
  }

  [data-pw-theme="garden"] .pw-nav-item,
  .pw-theme-garden .pw-nav-item {
    position: relative;
  }

  [data-pw-theme="garden"] .pw-nav-item img,
  .pw-theme-garden .pw-nav-item img {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  [data-pw-theme="garden"] .pw-nav-item:hover,
  .pw-theme-garden .pw-nav-item:hover {
    background-color: var(--pw-color-paper-strong);
    transform: translateY(-1px);
  }

  [data-pw-theme="garden"] .pw-nav-item[aria-current="page"],
  .pw-theme-garden .pw-nav-item[aria-current="page"] {
    border-color: var(--pw-color-green-dark);
    background: #f5edda var(--pw-texture-paper) repeat;
    box-shadow: inset 6px 0 0 var(--pw-color-green), var(--pw-shadow-raised);
  }

  /* Main page, hero and record cards */
  [data-pw-theme="garden"] .pw-main,
  .pw-theme-garden .pw-main {
    min-width: 0;
    padding: clamp(.8rem, 2vw, 1.5rem);
    padding-bottom: 8.4rem;
  }

  [data-pw-theme="garden"] .pw-hero,
  .pw-theme-garden .pw-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .72fr);
    min-height: clamp(340px, 44vw, 520px);
    overflow: hidden;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-raised);
  }

  [data-pw-theme="garden"] .pw-hero::before,
  .pw-theme-garden .pw-hero::before {
    content: "";
    position: absolute;
    inset: 8px;
    z-index: 2;
    border: 1.5px dashed rgba(102, 120, 74, .68);
    border-radius: calc(var(--pw-radius-md) - 5px);
    pointer-events: none;
  }

  [data-pw-theme="garden"] .pw-hero__copy,
  .pw-theme-garden .pw-hero__copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(2rem, 5vw, 5.5rem);
  }

  [data-pw-theme="garden"] .pw-kicker,
  .pw-theme-garden .pw-kicker {
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-sm) var(--pw-font-label);
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  [data-pw-theme="garden"] .pw-hero h1,
  .pw-theme-garden .pw-hero h1 {
    max-width: 16ch;
    margin: .45rem 0 1rem;
    font-size: var(--pw-text-h1);
    line-height: .98;
  }

  [data-pw-theme="garden"] .pw-hero p,
  .pw-theme-garden .pw-hero p {
    max-width: 60ch;
    margin: 0 0 1.3rem;
    color: var(--pw-color-ink-soft);
  }

  [data-pw-theme="garden"] .pw-hero__art,
  .pw-theme-garden .pw-hero__art {
    min-height: 300px;
    background:
      linear-gradient(90deg, transparent, rgba(247, 240, 223, .16)),
      var(--pw-hero-art) right bottom / contain no-repeat;
  }

  [data-pw-theme="garden"] .pw-grid,
  .pw-theme-garden .pw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: clamp(.7rem, 1.4vw, 1.15rem);
    margin-top: 1rem;
  }

  [data-pw-theme="garden"] :where(.pw-card, .pw-panel),
  .pw-theme-garden :where(.pw-card, .pw-panel) {
    position: relative;
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.45rem);
    border: 2px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="garden"] :where(.pw-card, .pw-panel)::after,
  .pw-theme-garden :where(.pw-card, .pw-panel)::after {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px dashed rgba(136, 120, 93, .55);
    border-radius: calc(var(--pw-radius-md) - 4px);
    pointer-events: none;
  }

  [data-pw-theme="garden"] :where(.pw-card, .pw-panel) > *,
  .pw-theme-garden :where(.pw-card, .pw-panel) > * {
    position: relative;
    z-index: 1;
  }

  [data-pw-theme="garden"] .pw-card__label,
  .pw-theme-garden .pw-card__label {
    margin: 0 0 .55rem;
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  [data-pw-theme="garden"] .pw-stat,
  .pw-theme-garden .pw-stat {
    margin: .2rem 0;
    color: var(--pw-color-green-dark);
    font: 700 clamp(2.4rem, 4vw, 4.1rem) / .95 var(--pk-garden-font-display);
  }

  /* Controls, forms and component states */
  [data-pw-theme="garden"] :where(.pw-button, .pw-tab),
  .pw-theme-garden :where(.pw-button, .pw-tab) {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .65rem 1rem;
    border: 2px solid var(--pw-color-green-dark);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-green);
    box-shadow: 0 3px 0 var(--pw-color-green-dark);
    color: var(--pw-color-paper-strong);
    cursor: pointer;
    font: 800 var(--pw-text-sm) var(--pw-font-label);
    letter-spacing: .065em;
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-pw-theme="garden"] :where(.pw-button, .pw-tab):hover,
  .pw-theme-garden :where(.pw-button, .pw-tab):hover {
    background: var(--pw-color-green-dark);
  }

  [data-pw-theme="garden"] .pw-button:active,
  .pw-theme-garden .pw-button:active {
    box-shadow: 0 1px 0 var(--pw-color-green-dark);
    transform: translateY(2px);
  }

  [data-pw-theme="garden"] .pw-button--secondary,
  .pw-theme-garden .pw-button--secondary {
    border-color: var(--pw-color-blue-dark);
    background: var(--pw-color-blue);
    box-shadow: 0 3px 0 var(--pw-color-blue-dark);
  }

  [data-pw-theme="garden"] .pw-button--paper,
  .pw-theme-garden .pw-button--paper {
    border-color: var(--pw-color-line);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: 0 3px 0 var(--pw-color-line);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="garden"] :where(.pw-input, .pw-select, .pw-textarea),
  .pw-theme-garden :where(.pw-input, .pw-select, .pw-textarea) {
    width: 100%;
    min-height: 46px;
    padding: .68rem .85rem;
    border: 2px solid var(--pw-color-line);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: inset 0 1px 4px rgba(68, 56, 37, .08);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="garden"] .pw-textarea,
  .pw-theme-garden .pw-textarea {
    min-height: 8rem;
    resize: vertical;
  }

  [data-pw-theme="garden"] :where(.pw-input, .pw-select, .pw-textarea)::placeholder,
  .pw-theme-garden :where(.pw-input, .pw-select, .pw-textarea)::placeholder {
    color: var(--pw-color-ink-soft);
    opacity: .78;
  }

  [data-pw-theme="garden"] .pw-field,
  .pw-theme-garden .pw-field {
    display: grid;
    gap: .35rem;
  }

  [data-pw-theme="garden"] .pw-field > label,
  .pw-theme-garden .pw-field > label {
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  [data-pw-theme="garden"] .pw-tabs,
  .pw-theme-garden .pw-tabs {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .25rem .1rem .45rem;
  }

  [data-pw-theme="garden"] .pw-tab,
  .pw-theme-garden .pw-tab {
    min-height: 38px;
    padding: .45rem .8rem;
    border-color: var(--pw-color-line);
    background: var(--pw-color-paper);
    box-shadow: none;
    color: var(--pw-color-ink);
    white-space: nowrap;
  }

  [data-pw-theme="garden"] .pw-tab[aria-selected="true"],
  .pw-theme-garden .pw-tab[aria-selected="true"] {
    border-color: var(--pw-color-green-dark);
    background: var(--pw-color-sage);
  }

  [data-pw-theme="garden"] .pw-badge,
  .pw-theme-garden .pw-badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: .25rem .55rem;
    border: 1.5px solid currentColor;
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong);
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  [data-pw-theme="garden"] .pw-badge--blue,
  .pw-theme-garden .pw-badge--blue { color: var(--pw-color-blue-dark); }
  [data-pw-theme="garden"] .pw-badge--warning,
  .pw-theme-garden .pw-badge--warning { color: var(--pw-color-warning); }
  [data-pw-theme="garden"] .pw-badge--error,
  .pw-theme-garden .pw-badge--error { color: var(--pw-color-error); }

  /* Tables, lists and documents */
  [data-pw-theme="garden"] .pw-table-wrap,
  .pw-theme-garden .pw-table-wrap {
    overflow-x: auto;
    border: var(--pw-line-strong);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong);
  }

  [data-pw-theme="garden"] .pw-table,
  .pw-theme-garden .pw-table {
    width: 100%;
    border-collapse: collapse;
  }

  [data-pw-theme="garden"] .pw-table :where(th, td),
  .pw-theme-garden .pw-table :where(th, td) {
    padding: .7rem .8rem;
    border-bottom: 1px dashed var(--pw-color-line);
    text-align: left;
  }

  [data-pw-theme="garden"] .pw-table th,
  .pw-theme-garden .pw-table th {
    background: rgba(156, 172, 130, .28);
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  [data-pw-theme="garden"] .pw-record-list,
  .pw-theme-garden .pw-record-list {
    display: grid;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  [data-pw-theme="garden"] .pw-record-list > li,
  .pw-theme-garden .pw-record-list > li {
    display: grid;
    grid-template-columns: minmax(70px, .25fr) 1fr auto;
    gap: .8rem;
    align-items: center;
    padding: .7rem 0;
    border-bottom: 1px dashed var(--pw-color-line);
  }

  [data-pw-theme="garden"] .pw-document,
  .pw-theme-garden .pw-document {
    max-width: 76ch;
    margin-inline: auto;
    padding: clamp(1.4rem, 4vw, 3.8rem);
    border: var(--pw-line-strong);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="garden"] .pw-document h2::after,
  .pw-theme-garden .pw-document h2::after {
    content: "";
    display: block;
    width: min(100%, 360px);
    height: 24px;
    margin-top: .35rem;
    background: var(--pw-pattern-divider) left center / contain no-repeat;
  }

  /* Dialog, tooltip and feedback states */
  [data-pw-theme="garden"] .pw-dialog,
  .pw-theme-garden .pw-dialog {
    width: min(92vw, 620px);
    padding: 1.5rem;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: 0 24px 80px rgba(68, 56, 37, .32);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="garden"] .pw-tooltip,
  .pw-theme-garden .pw-tooltip {
    position: absolute;
    z-index: 60;
    max-width: 260px;
    padding: .45rem .6rem;
    border: var(--pw-line-thin);
    border-radius: var(--pw-radius-xs);
    background: var(--pw-color-green-dark);
    color: var(--pw-color-paper-strong);
    font-size: var(--pw-text-xs);
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="garden"] .pw-state,
  .pw-theme-garden .pw-state {
    display: grid;
    min-height: 120px;
    place-items: center;
    padding: 1rem;
    border: 2px dashed currentColor;
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper);
    color: var(--pw-color-blue-dark);
    text-align: center;
  }

  [data-pw-theme="garden"] .pw-state--empty,
  .pw-theme-garden .pw-state--empty { color: var(--pw-color-ink-soft); }
  [data-pw-theme="garden"] .pw-state--error,
  .pw-theme-garden .pw-state--error { color: var(--pw-color-error); }

  [data-pw-theme="garden"] .pw-skeleton,
  .pw-theme-garden .pw-skeleton {
    overflow: hidden;
    min-height: 1rem;
    border-radius: var(--pw-radius-xs);
    background: linear-gradient(90deg, #d9cfba 20%, #eee5cf 40%, #d9cfba 60%);
    background-size: 240% 100%;
    animation: pw-garden-loading 1.8s ease-in-out infinite;
  }

  @keyframes pw-garden-loading {
    to { background-position: -160% 0; }
  }

  /* Persistent room dock: flex and overflow make room count data-driven. */
  [data-pw-theme="garden"] .pw-dock,
  .pw-theme-garden .pw-dock {
    position: fixed;
    right: clamp(.6rem, 1.5vw, 1.2rem);
    bottom: clamp(.5rem, 1.5vw, 1rem);
    left: calc(clamp(220px, 18vw, 290px) + clamp(.6rem, 1.5vw, 1.2rem));
    z-index: 50;
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .58rem;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background:
      linear-gradient(rgba(247, 240, 223, .9), rgba(238, 229, 207, .9)),
      var(--pw-texture-gingham) repeat;
    box-shadow: 0 12px 34px rgba(68, 56, 37, .22);
    scrollbar-color: var(--pw-color-green) transparent;
  }

  [data-pw-theme="garden"] .pw-dock-item,
  .pw-theme-garden .pw-dock-item {
    display: grid;
    flex: 1 0 min(150px, 22vw);
    grid-template-columns: 42px minmax(0, 1fr);
    min-width: 92px;
    min-height: 58px;
    align-items: center;
    gap: .45rem;
    padding: .35rem .5rem;
    border: var(--pw-line-thin);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    color: var(--pw-color-ink);
    font: 700 var(--pw-text-xs) var(--pk-garden-font-display);
    text-decoration: none;
  }

  [data-pw-theme="garden"] .pw-dock-item img,
  .pw-theme-garden .pw-dock-item img {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  [data-pw-theme="garden"] .pw-dock-item[aria-current="page"],
  .pw-theme-garden .pw-dock-item[aria-current="page"] {
    border-color: var(--pw-color-green-dark);
    background-color: #f0ead8;
    box-shadow: inset 0 -4px 0 var(--pw-color-green);
  }

  /* Module boundary: modules inherit the paper frame but own their machinery. */
  [data-pw-theme="garden"] .pw-module-frame,
  .pw-theme-garden .pw-module-frame {
    padding: clamp(.65rem, 1.4vw, 1rem);
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  /* Responsive shell */
  @media (max-width: 980px) {
    [data-pw-theme="garden"] .pw-header,
    .pw-theme-garden .pw-header {
      grid-template-columns: minmax(180px, .8fr) minmax(230px, 1.3fr);
    }

    [data-pw-theme="garden"] .pw-status,
    .pw-theme-garden .pw-status {
      display: none;
    }

    [data-pw-theme="garden"] .pw-layout,
    .pw-theme-garden .pw-layout {
      grid-template-columns: 220px minmax(0, 1fr);
    }

    [data-pw-theme="garden"] .pw-dock,
    .pw-theme-garden .pw-dock {
      left: calc(220px + .6rem);
    }

    [data-pw-theme="garden"] .pw-hero,
    .pw-theme-garden .pw-hero {
      grid-template-columns: 1fr minmax(220px, .55fr);
    }
  }

  @media (max-width: 760px) {
    [data-pw-theme="garden"] .pw-header,
    .pw-theme-garden .pw-header {
      position: relative;
      grid-template-columns: 1fr;
      gap: .55rem;
      min-height: 0;
    }

    [data-pw-theme="garden"] .pw-logo,
    .pw-theme-garden .pw-logo {
      min-height: 48px;
      background-position: center;
    }

    [data-pw-theme="garden"] .pw-layout,
    .pw-theme-garden .pw-layout {
      display: block;
    }

    [data-pw-theme="garden"] .pw-nav,
    .pw-theme-garden .pw-nav {
      display: none;
    }

    [data-pw-theme="garden"] .pw-main,
    .pw-theme-garden .pw-main {
      padding: .75rem;
      padding-bottom: 7.4rem;
    }

    [data-pw-theme="garden"] .pw-hero,
    .pw-theme-garden .pw-hero {
      grid-template-columns: 1fr;
      min-height: 0;
    }

    [data-pw-theme="garden"] .pw-hero__copy,
    .pw-theme-garden .pw-hero__copy {
      padding: 2rem 1.4rem 1rem;
    }

    [data-pw-theme="garden"] .pw-hero__art,
    .pw-theme-garden .pw-hero__art {
      min-height: 240px;
      background-position: center bottom;
    }

    [data-pw-theme="garden"] .pw-dock,
    .pw-theme-garden .pw-dock {
      right: .45rem;
      bottom: .45rem;
      left: .45rem;
      gap: .35rem;
      padding: .4rem;
    }

    [data-pw-theme="garden"] .pw-dock-item,
    .pw-theme-garden .pw-dock-item {
      flex-basis: 68px;
      grid-template-columns: 1fr;
      justify-items: center;
      padding: .35rem;
      text-align: center;
    }

    [data-pw-theme="garden"] .pw-dock-item img,
    .pw-theme-garden .pw-dock-item img {
      width: 34px;
      height: 34px;
    }

    [data-pw-theme="garden"] .pw-record-list > li,
    .pw-theme-garden .pw-record-list > li {
      grid-template-columns: 1fr;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    [data-pw-theme="garden"] *,
    [data-pw-theme="garden"] *::before,
    [data-pw-theme="garden"] *::after,
    .pw-theme-garden *,
    .pw-theme-garden *::before,
    .pw-theme-garden *::after {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
    }
  }

  @media (forced-colors: active) {
    [data-pw-theme="garden"] :where(.pw-nav-item, .pw-card, .pw-panel, .pw-button, .pw-input, .pw-select, .pw-dock),
    .pw-theme-garden :where(.pw-nav-item, .pw-card, .pw-panel, .pw-button, .pw-input, .pw-select, .pw-dock) {
      border: 2px solid CanvasText;
      box-shadow: none;
    }
  }
}


/* ===== Ranch (ranch) ===== */
[data-pw-theme="ranch"], .pw-theme-ranch{ color-scheme: light; }
@layer pw-theme {
  :where([data-pw-theme="ranch"], .pw-theme-ranch) {
    margin: 0;
    background: var(--pw-color-page) var(--pw-texture-paper) repeat;
    color: var(--pw-color-ink);
    font-family: var(--pk-ranch-font-body);
    font-size: var(--pw-text-body);
    line-height: 1.45;
  }

  :where([data-pw-theme="ranch"], .pw-theme-ranch) *,
  :where([data-pw-theme="ranch"], .pw-theme-ranch) *::before,
  :where([data-pw-theme="ranch"], .pw-theme-ranch) *::after {
    box-sizing: border-box;
  }

  :where([data-pw-theme="ranch"], .pw-theme-ranch) :where(h1, h2, h3, .pw-title) {
    color: var(--pw-color-ink);
    font-family: var(--pk-ranch-font-display);
    font-weight: 700;
    letter-spacing: -.018em;
  }

  :where([data-pw-theme="ranch"], .pw-theme-ranch) :where(button, input, select, textarea) {
    font: inherit;
  }

  :where([data-pw-theme="ranch"], .pw-theme-ranch) :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    border-radius: var(--pw-radius-xs);
    box-shadow: var(--pw-focus-ring);
    outline: 0;
  }

  [data-pw-theme="ranch"] .pw-shell,
  .pw-theme-ranch .pw-shell {
    min-height: 100vh;
    overflow-x: hidden;
    background:
      linear-gradient(rgba(247, 240, 223, .72), rgba(238, 229, 207, .76)),
      var(--pw-texture-wood) repeat;
  }

  /* Global header */
  [data-pw-theme="ranch"] .pw-header,
  .pw-theme-ranch .pw-header {
    position: sticky;
    top: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.35fr) minmax(190px, .7fr);
    min-height: 86px;
    align-items: center;
    gap: clamp(.75rem, 2vw, 2rem);
    padding: .7rem clamp(.8rem, 2.2vw, 1.8rem);
    border-bottom: 3px solid var(--pw-color-line);
    background: var(--pw-color-paper) var(--pw-texture-wood) repeat;
    box-shadow: 0 3px 0 rgba(68, 56, 37, .12);
  }

  [data-pw-theme="ranch"] .pw-logo,
  .pw-theme-ranch .pw-logo {
    min-height: 56px;
    background: var(--pw-logo-art) left center / contain no-repeat;
    overflow: hidden;
    text-indent: -999rem;
  }

  [data-pw-theme="ranch"] .pw-header-search,
  .pw-theme-ranch .pw-header-search {
    position: relative;
  }

  [data-pw-theme="ranch"] .pw-header-search::before,
  .pw-theme-ranch .pw-header-search::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1rem;
    width: 16px;
    height: 16px;
    border: 2px solid var(--pw-color-ink-soft);
    border-radius: 50%;
    transform: translateY(-58%);
    pointer-events: none;
  }

  [data-pw-theme="ranch"] .pw-header-search::after,
  .pw-theme-ranch .pw-header-search::after {
    content: "";
    position: absolute;
    top: calc(50% + 6px);
    left: 1.88rem;
    width: 8px;
    border-top: 2px solid var(--pw-color-ink-soft);
    transform: rotate(45deg);
    pointer-events: none;
  }

  [data-pw-theme="ranch"] .pw-header-search .pw-input,
  .pw-theme-ranch .pw-header-search .pw-input {
    padding-left: 3rem;
  }

  [data-pw-theme="ranch"] .pw-status,
  .pw-theme-ranch .pw-status {
    justify-self: end;
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .13em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  [data-pw-theme="ranch"] .pw-status::before,
  .pw-theme-ranch .pw-status::before {
    content: "";
    display: inline-block;
    width: .8rem;
    height: .8rem;
    margin-right: .55rem;
    border: 1px solid var(--pw-color-green-dark);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #dce8a8 0 12%, var(--pw-color-green) 46%, var(--pw-color-green-dark) 100%);
    box-shadow: 0 0 0 3px rgba(102, 120, 74, .12);
    vertical-align: -.08rem;
  }

  /* Shell and navigation */
  [data-pw-theme="ranch"] .pw-layout,
  .pw-theme-ranch .pw-layout {
    display: grid;
    grid-template-columns: clamp(220px, 18vw, 290px) minmax(0, 1fr);
    min-height: calc(100vh - 86px);
  }

  [data-pw-theme="ranch"] .pw-nav,
  .pw-theme-ranch .pw-nav {
    position: sticky;
    top: 86px;
    align-self: start;
    height: calc(100vh - 86px);
    overflow-y: auto;
    padding: .85rem .75rem 7rem;
    border-right: 3px solid var(--pw-color-line);
    background:
      linear-gradient(rgba(126, 153, 164, .58), rgba(156, 172, 130, .46)),
      var(--pw-texture-wood) repeat;
  }

  [data-pw-theme="ranch"] .pw-nav-item,
  .pw-theme-ranch .pw-nav-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    min-height: 58px;
    align-items: center;
    gap: .7rem;
    margin: .45rem 0;
    padding: .5rem .75rem;
    border: var(--pw-line-strong);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
    color: var(--pw-color-ink);
    font-family: var(--pk-ranch-font-display);
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
  }

  [data-pw-theme="ranch"] .pw-nav-item::after,
  .pw-theme-ranch .pw-nav-item::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px dashed rgba(136, 120, 93, .58);
    border-radius: calc(var(--pw-radius-sm) - 2px);
    pointer-events: none;
  }

  [data-pw-theme="ranch"] .pw-nav-item,
  .pw-theme-ranch .pw-nav-item {
    position: relative;
  }

  [data-pw-theme="ranch"] .pw-nav-item img,
  .pw-theme-ranch .pw-nav-item img {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  [data-pw-theme="ranch"] .pw-nav-item:hover,
  .pw-theme-ranch .pw-nav-item:hover {
    background-color: var(--pw-color-paper-strong);
    transform: translateY(-1px);
  }

  [data-pw-theme="ranch"] .pw-nav-item[aria-current="page"],
  .pw-theme-ranch .pw-nav-item[aria-current="page"] {
    border-color: var(--pw-color-green-dark);
    background: #f5edda var(--pw-texture-paper) repeat;
    box-shadow: inset 6px 0 0 var(--pw-color-green), var(--pw-shadow-raised);
  }

  /* Main page, hero and record cards */
  [data-pw-theme="ranch"] .pw-main,
  .pw-theme-ranch .pw-main {
    min-width: 0;
    padding: clamp(.8rem, 2vw, 1.5rem);
    padding-bottom: 8.4rem;
  }

  [data-pw-theme="ranch"] .pw-hero,
  .pw-theme-ranch .pw-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .72fr);
    min-height: clamp(340px, 44vw, 520px);
    overflow: hidden;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-raised);
  }

  [data-pw-theme="ranch"] .pw-hero::before,
  .pw-theme-ranch .pw-hero::before {
    content: "";
    position: absolute;
    inset: 8px;
    z-index: 2;
    border: 1.5px dashed rgba(102, 120, 74, .68);
    border-radius: calc(var(--pw-radius-md) - 5px);
    pointer-events: none;
  }

  [data-pw-theme="ranch"] .pw-hero__copy,
  .pw-theme-ranch .pw-hero__copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(2rem, 5vw, 5.5rem);
  }

  [data-pw-theme="ranch"] .pw-kicker,
  .pw-theme-ranch .pw-kicker {
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-sm) var(--pw-font-label);
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  [data-pw-theme="ranch"] .pw-hero h1,
  .pw-theme-ranch .pw-hero h1 {
    max-width: 16ch;
    margin: .45rem 0 1rem;
    font-size: var(--pw-text-h1);
    line-height: .98;
  }

  [data-pw-theme="ranch"] .pw-hero p,
  .pw-theme-ranch .pw-hero p {
    max-width: 60ch;
    margin: 0 0 1.3rem;
    color: var(--pw-color-ink-soft);
  }

  [data-pw-theme="ranch"] .pw-hero__art,
  .pw-theme-ranch .pw-hero__art {
    min-height: 300px;
    background:
      linear-gradient(90deg, transparent, rgba(247, 240, 223, .16)),
      var(--pw-hero-art) right bottom / contain no-repeat;
  }

  [data-pw-theme="ranch"] .pw-grid,
  .pw-theme-ranch .pw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: clamp(.7rem, 1.4vw, 1.15rem);
    margin-top: 1rem;
  }

  [data-pw-theme="ranch"] :where(.pw-card, .pw-panel),
  .pw-theme-ranch :where(.pw-card, .pw-panel) {
    position: relative;
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.45rem);
    border: 2px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="ranch"] :where(.pw-card, .pw-panel)::after,
  .pw-theme-ranch :where(.pw-card, .pw-panel)::after {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px dashed rgba(136, 120, 93, .55);
    border-radius: calc(var(--pw-radius-md) - 4px);
    pointer-events: none;
  }

  [data-pw-theme="ranch"] :where(.pw-card, .pw-panel) > *,
  .pw-theme-ranch :where(.pw-card, .pw-panel) > * {
    position: relative;
    z-index: 1;
  }

  [data-pw-theme="ranch"] .pw-card__label,
  .pw-theme-ranch .pw-card__label {
    margin: 0 0 .55rem;
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  [data-pw-theme="ranch"] .pw-stat,
  .pw-theme-ranch .pw-stat {
    margin: .2rem 0;
    color: var(--pw-color-green-dark);
    font: 700 clamp(2.4rem, 4vw, 4.1rem) / .95 var(--pk-ranch-font-display);
  }

  /* Controls, forms and component states */
  [data-pw-theme="ranch"] :where(.pw-button, .pw-tab),
  .pw-theme-ranch :where(.pw-button, .pw-tab) {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .65rem 1rem;
    border: 2px solid var(--pw-color-primary);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-primary);
    box-shadow: 0 3px 0 #76261f;
    color: var(--pw-color-paper-strong);
    cursor: pointer;
    font: 800 var(--pw-text-sm) var(--pw-font-label);
    letter-spacing: .065em;
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-pw-theme="ranch"] :where(.pw-button, .pw-tab):hover,
  .pw-theme-ranch :where(.pw-button, .pw-tab):hover {
    background: #76261f;
  }

  [data-pw-theme="ranch"] .pw-button:active,
  .pw-theme-ranch .pw-button:active {
    box-shadow: 0 1px 0 #76261f;
    transform: translateY(2px);
  }

  [data-pw-theme="ranch"] .pw-button--secondary,
  .pw-theme-ranch .pw-button--secondary {
    border-color: var(--pw-color-accent);
    background: var(--pw-color-blue);
    box-shadow: 0 3px 0 var(--pw-color-accent);
  }

  [data-pw-theme="ranch"] .pw-button--paper,
  .pw-theme-ranch .pw-button--paper {
    border-color: var(--pw-color-line);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: 0 3px 0 var(--pw-color-line);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="ranch"] :where(.pw-input, .pw-select, .pw-textarea),
  .pw-theme-ranch :where(.pw-input, .pw-select, .pw-textarea) {
    width: 100%;
    min-height: 46px;
    padding: .68rem .85rem;
    border: 2px solid var(--pw-color-line);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: inset 0 1px 4px rgba(68, 56, 37, .08);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="ranch"] .pw-textarea,
  .pw-theme-ranch .pw-textarea {
    min-height: 8rem;
    resize: vertical;
  }

  [data-pw-theme="ranch"] :where(.pw-input, .pw-select, .pw-textarea)::placeholder,
  .pw-theme-ranch :where(.pw-input, .pw-select, .pw-textarea)::placeholder {
    color: var(--pw-color-ink-soft);
    opacity: .78;
  }

  [data-pw-theme="ranch"] .pw-field,
  .pw-theme-ranch .pw-field {
    display: grid;
    gap: .35rem;
  }

  [data-pw-theme="ranch"] .pw-field > label,
  .pw-theme-ranch .pw-field > label {
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  [data-pw-theme="ranch"] .pw-tabs,
  .pw-theme-ranch .pw-tabs {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .25rem .1rem .45rem;
  }

  [data-pw-theme="ranch"] .pw-tab,
  .pw-theme-ranch .pw-tab {
    min-height: 38px;
    padding: .45rem .8rem;
    border-color: var(--pw-color-line);
    background: var(--pw-color-paper);
    box-shadow: none;
    color: var(--pw-color-ink);
    white-space: nowrap;
  }

  [data-pw-theme="ranch"] .pw-tab[aria-selected="true"],
  .pw-theme-ranch .pw-tab[aria-selected="true"] {
    border-color: var(--pw-color-green-dark);
    background: var(--pw-color-sage);
  }

  [data-pw-theme="ranch"] .pw-badge,
  .pw-theme-ranch .pw-badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: .25rem .55rem;
    border: 1.5px solid currentColor;
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong);
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  [data-pw-theme="ranch"] .pw-badge--blue,
  .pw-theme-ranch .pw-badge--blue { color: var(--pw-color-blue-dark); }
  [data-pw-theme="ranch"] .pw-badge--warning,
  .pw-theme-ranch .pw-badge--warning { color: var(--pw-color-warning); }
  [data-pw-theme="ranch"] .pw-badge--error,
  .pw-theme-ranch .pw-badge--error { color: var(--pw-color-error); }

  /* Tables, lists and documents */
  [data-pw-theme="ranch"] .pw-table-wrap,
  .pw-theme-ranch .pw-table-wrap {
    overflow-x: auto;
    border: var(--pw-line-strong);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong);
  }

  [data-pw-theme="ranch"] .pw-table,
  .pw-theme-ranch .pw-table {
    width: 100%;
    border-collapse: collapse;
  }

  [data-pw-theme="ranch"] .pw-table :where(th, td),
  .pw-theme-ranch .pw-table :where(th, td) {
    padding: .7rem .8rem;
    border-bottom: 1px dashed var(--pw-color-line);
    text-align: left;
  }

  [data-pw-theme="ranch"] .pw-table th,
  .pw-theme-ranch .pw-table th {
    background: rgba(156, 172, 130, .28);
    color: var(--pw-color-green-dark);
    font: 800 var(--pw-text-xs) var(--pw-font-label);
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  [data-pw-theme="ranch"] .pw-record-list,
  .pw-theme-ranch .pw-record-list {
    display: grid;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  [data-pw-theme="ranch"] .pw-record-list > li,
  .pw-theme-ranch .pw-record-list > li {
    display: grid;
    grid-template-columns: minmax(70px, .25fr) 1fr auto;
    gap: .8rem;
    align-items: center;
    padding: .7rem 0;
    border-bottom: 1px dashed var(--pw-color-line);
  }

  [data-pw-theme="ranch"] .pw-document,
  .pw-theme-ranch .pw-document {
    max-width: 76ch;
    margin-inline: auto;
    padding: clamp(1.4rem, 4vw, 3.8rem);
    border: var(--pw-line-strong);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="ranch"] .pw-document h2::after,
  .pw-theme-ranch .pw-document h2::after {
    content: "";
    display: block;
    width: min(100%, 360px);
    height: 24px;
    margin-top: .35rem;
    background: var(--pw-pattern-divider) left center / contain no-repeat;
  }

  /* Dialog, tooltip and feedback states */
  [data-pw-theme="ranch"] .pw-dialog,
  .pw-theme-ranch .pw-dialog {
    width: min(92vw, 620px);
    padding: 1.5rem;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: 0 24px 80px rgba(68, 56, 37, .32);
    color: var(--pw-color-ink);
  }

  [data-pw-theme="ranch"] .pw-tooltip,
  .pw-theme-ranch .pw-tooltip {
    position: absolute;
    z-index: 60;
    max-width: 260px;
    padding: .45rem .6rem;
    border: var(--pw-line-thin);
    border-radius: var(--pw-radius-xs);
    background: var(--pw-color-green-dark);
    color: var(--pw-color-paper-strong);
    font-size: var(--pw-text-xs);
    box-shadow: var(--pw-shadow-paper);
  }

  [data-pw-theme="ranch"] .pw-state,
  .pw-theme-ranch .pw-state {
    display: grid;
    min-height: 120px;
    place-items: center;
    padding: 1rem;
    border: 2px dashed currentColor;
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper);
    color: var(--pw-color-blue-dark);
    text-align: center;
  }

  [data-pw-theme="ranch"] .pw-state--empty,
  .pw-theme-ranch .pw-state--empty { color: var(--pw-color-ink-soft); }
  [data-pw-theme="ranch"] .pw-state--error,
  .pw-theme-ranch .pw-state--error { color: var(--pw-color-error); }

  [data-pw-theme="ranch"] .pw-skeleton,
  .pw-theme-ranch .pw-skeleton {
    overflow: hidden;
    min-height: 1rem;
    border-radius: var(--pw-radius-xs);
    background: linear-gradient(90deg, #d9cfba 20%, #eee5cf 40%, #d9cfba 60%);
    background-size: 240% 100%;
    animation: pw-ranch-loading 1.8s ease-in-out infinite;
  }

  @keyframes pw-ranch-loading {
    to { background-position: -160% 0; }
  }

  /* Persistent room dock: flex and overflow make room count data-driven. */
  [data-pw-theme="ranch"] .pw-dock,
  .pw-theme-ranch .pw-dock {
    position: fixed;
    right: clamp(.6rem, 1.5vw, 1.2rem);
    bottom: clamp(.5rem, 1.5vw, 1rem);
    left: calc(clamp(220px, 18vw, 290px) + clamp(.6rem, 1.5vw, 1.2rem));
    z-index: 50;
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .58rem;
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background:
      linear-gradient(rgba(247, 240, 223, .9), rgba(238, 229, 207, .9)),
      var(--pw-texture-plaid-flannel) repeat;
    box-shadow: 0 12px 34px rgba(68, 56, 37, .22);
    scrollbar-color: var(--pw-color-green) transparent;
  }

  [data-pw-theme="ranch"] .pw-dock-item,
  .pw-theme-ranch .pw-dock-item {
    display: grid;
    flex: 1 0 min(150px, 22vw);
    grid-template-columns: 42px minmax(0, 1fr);
    min-width: 92px;
    min-height: 58px;
    align-items: center;
    gap: .45rem;
    padding: .35rem .5rem;
    border: var(--pw-line-thin);
    border-radius: var(--pw-radius-sm);
    background: var(--pw-color-paper-strong) var(--pw-texture-paper) repeat;
    color: var(--pw-color-ink);
    font: 700 var(--pw-text-xs) var(--pk-ranch-font-display);
    text-decoration: none;
  }

  [data-pw-theme="ranch"] .pw-dock-item img,
  .pw-theme-ranch .pw-dock-item img {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }

  [data-pw-theme="ranch"] .pw-dock-item[aria-current="page"],
  .pw-theme-ranch .pw-dock-item[aria-current="page"] {
    border-color: var(--pw-color-green-dark);
    background-color: #f0ead8;
    box-shadow: inset 0 -4px 0 var(--pw-color-green);
  }

  /* Module boundary: modules inherit the paper frame but own their machinery. */
  [data-pw-theme="ranch"] .pw-module-frame,
  .pw-theme-ranch .pw-module-frame {
    padding: clamp(.65rem, 1.4vw, 1rem);
    border: 3px solid var(--pw-color-line);
    border-radius: var(--pw-radius-md);
    background: var(--pw-color-paper) var(--pw-texture-paper) repeat;
    box-shadow: var(--pw-shadow-paper);
  }

  /* Responsive shell */
  @media (max-width: 980px) {
    [data-pw-theme="ranch"] .pw-header,
    .pw-theme-ranch .pw-header {
      grid-template-columns: minmax(180px, .8fr) minmax(230px, 1.3fr);
    }

    [data-pw-theme="ranch"] .pw-status,
    .pw-theme-ranch .pw-status {
      display: none;
    }

    [data-pw-theme="ranch"] .pw-layout,
    .pw-theme-ranch .pw-layout {
      grid-template-columns: 220px minmax(0, 1fr);
    }

    [data-pw-theme="ranch"] .pw-dock,
    .pw-theme-ranch .pw-dock {
      left: calc(220px + .6rem);
    }

    [data-pw-theme="ranch"] .pw-hero,
    .pw-theme-ranch .pw-hero {
      grid-template-columns: 1fr minmax(220px, .55fr);
    }
  }

  @media (max-width: 760px) {
    [data-pw-theme="ranch"] .pw-header,
    .pw-theme-ranch .pw-header {
      position: relative;
      grid-template-columns: 1fr;
      gap: .55rem;
      min-height: 0;
    }

    [data-pw-theme="ranch"] .pw-logo,
    .pw-theme-ranch .pw-logo {
      min-height: 48px;
      background-position: center;
    }

    [data-pw-theme="ranch"] .pw-layout,
    .pw-theme-ranch .pw-layout {
      display: block;
    }

    [data-pw-theme="ranch"] .pw-nav,
    .pw-theme-ranch .pw-nav {
      display: none;
    }

    [data-pw-theme="ranch"] .pw-main,
    .pw-theme-ranch .pw-main {
      padding: .75rem;
      padding-bottom: 7.4rem;
    }

    [data-pw-theme="ranch"] .pw-hero,
    .pw-theme-ranch .pw-hero {
      grid-template-columns: 1fr;
      min-height: 0;
    }

    [data-pw-theme="ranch"] .pw-hero__copy,
    .pw-theme-ranch .pw-hero__copy {
      padding: 2rem 1.4rem 1rem;
    }

    [data-pw-theme="ranch"] .pw-hero__art,
    .pw-theme-ranch .pw-hero__art {
      min-height: 240px;
      background-position: center bottom;
    }

    [data-pw-theme="ranch"] .pw-dock,
    .pw-theme-ranch .pw-dock {
      right: .45rem;
      bottom: .45rem;
      left: .45rem;
      gap: .35rem;
      padding: .4rem;
    }

    [data-pw-theme="ranch"] .pw-dock-item,
    .pw-theme-ranch .pw-dock-item {
      flex-basis: 68px;
      grid-template-columns: 1fr;
      justify-items: center;
      padding: .35rem;
      text-align: center;
    }

    [data-pw-theme="ranch"] .pw-dock-item img,
    .pw-theme-ranch .pw-dock-item img {
      width: 34px;
      height: 34px;
    }

    [data-pw-theme="ranch"] .pw-record-list > li,
    .pw-theme-ranch .pw-record-list > li {
      grid-template-columns: 1fr;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    [data-pw-theme="ranch"] *,
    [data-pw-theme="ranch"] *::before,
    [data-pw-theme="ranch"] *::after,
    .pw-theme-ranch *,
    .pw-theme-ranch *::before,
    .pw-theme-ranch *::after {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
    }
  }

  @media (forced-colors: active) {
    [data-pw-theme="ranch"] :where(.pw-nav-item, .pw-card, .pw-panel, .pw-button, .pw-input, .pw-select, .pw-dock),
    .pw-theme-ranch :where(.pw-nav-item, .pw-card, .pw-panel, .pw-button, .pw-input, .pw-select, .pw-dock) {
      border: 2px solid CanvasText;
      box-shadow: none;
    }
  }
}


/* ===== Roswell (roswell) ===== */
[data-pw-theme="roswell"], .pw-theme-roswell{ color-scheme: light; }
@layer pw-theme{
[data-pw-theme="roswell"]{margin:0;background:var(--pk-roswell-paper);color:var(--pk-roswell-ink);font-family:var(--pk-roswell-font-body);line-height:1.45}
[data-pw-theme="roswell"] *{box-sizing:border-box}[data-pw-theme="roswell"] :where(h1,h2,h3,.pw-title){font-family:var(--pk-roswell-font-display);letter-spacing:.015em}[data-pw-theme="roswell"] .pw-shell{min-height:100vh;background:linear-gradient(color-mix(in srgb,var(--pk-roswell-paper),transparent 8%),color-mix(in srgb,var(--pk-roswell-paper),transparent 8%)),var(--pk-roswell-pattern);background-size:auto,160px}
[data-pw-theme="roswell"] .pw-header{display:flex;min-height:76px;align-items:center;gap:1rem;padding:.75rem 1.2rem;border-bottom:var(--pk-roswell-border) var(--pk-roswell-ink);background:var(--pk-roswell-dark);color:var(--pk-roswell-paper)}[data-pw-theme="roswell"] .pw-logo{font:900 clamp(1.15rem,3vw,2rem) var(--pk-roswell-font-display);text-transform:uppercase}[data-pw-theme="roswell"] .pw-status{margin-left:auto;font:800 .75rem var(--pk-roswell-font-mono);color:var(--pk-roswell-secondary)}[data-pw-theme="roswell"] .pw-status::before{content:"";display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;border-radius:50%;background:currentColor}
[data-pw-theme="roswell"] .pw-layout{display:grid;grid-template-columns:minmax(220px,17rem) 1fr;min-height:calc(100vh - 76px)}[data-pw-theme="roswell"] .pw-nav{padding:1rem;background:color-mix(in srgb,var(--pk-roswell-dark),var(--pk-roswell-paper) 8%);color:var(--pk-roswell-paper);border-right:var(--pk-roswell-border) var(--pk-roswell-ink)}[data-pw-theme="roswell"] .pw-nav-item{display:flex;min-height:46px;align-items:center;gap:.65rem;margin:.3rem 0;padding:.45rem .6rem;border:2px solid transparent;color:inherit;text-decoration:none;font-weight:800}[data-pw-theme="roswell"] .pw-nav-item img{width:34px;height:34px}[data-pw-theme="roswell"] .pw-nav-item[aria-current]{border-color:var(--pk-roswell-ink);background:var(--pk-roswell-primary);color:var(--pk-roswell-paper)}
[data-pw-theme="roswell"] .pw-main{padding:clamp(1rem,3vw,2.5rem);padding-bottom:7rem}[data-pw-theme="roswell"] .pw-hero{position:relative;display:grid;grid-template-columns:1fr minmax(240px,34%);min-height:330px;overflow:hidden;padding:clamp(1.5rem,4vw,4rem);border:var(--pk-roswell-border) var(--pk-roswell-ink);border-radius:var(--pk-roswell-radius);background:var(--pk-roswell-paper);box-shadow:var(--pk-roswell-shadow)}[data-pw-theme="roswell"] .pw-hero__art{min-height:240px;background:var(--pk-roswell-hero) center/contain no-repeat}[data-pw-theme="roswell"] .pw-kicker{font:900 .75rem var(--pk-roswell-font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--pk-roswell-primary)}[data-pw-theme="roswell"] .pw-hero h1{max-width:12ch;margin:.35rem 0;font-size:clamp(2.5rem,6vw,5.5rem);line-height:.9;text-transform:uppercase}
[data-pw-theme="roswell"] .pw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.1rem;margin-top:1.2rem}[data-pw-theme="roswell"] .pw-panel,[data-pw-theme="roswell"] .pw-card{position:relative;padding:1.2rem;border:var(--pk-roswell-border) var(--pk-roswell-ink);border-radius:var(--pk-roswell-radius);background:var(--pk-roswell-paper);box-shadow:var(--pk-roswell-shadow)}[data-pw-theme="roswell"] .pw-card h3{margin:.1rem 0 .55rem;font-size:1.35rem}
[data-pw-theme="roswell"] .pw-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border:var(--pk-roswell-border) var(--pk-roswell-ink);border-radius:var(--pk-roswell-radius);background:var(--pk-roswell-primary);box-shadow:var(--pk-roswell-shadow);color:var(--pk-roswell-paper);font:900 .78rem var(--pk-roswell-font-body);letter-spacing:.05em;text-decoration:none;text-transform:uppercase}[data-pw-theme="roswell"] .pw-input{width:100%;min-height:44px;padding:.65rem .8rem;border:var(--pk-roswell-border) var(--pk-roswell-ink);border-radius:var(--pk-roswell-radius);background:var(--pk-roswell-paper);color:var(--pk-roswell-ink);font:600 1rem var(--pk-roswell-font-body)}[data-pw-theme="roswell"] .pw-badge{display:inline-block;padding:.28rem .55rem;border:2px solid var(--pk-roswell-ink);background:var(--pk-roswell-accent);font:900 .68rem var(--pk-roswell-font-mono);text-transform:uppercase}
[data-pw-theme="roswell"] .pw-dock{position:fixed;right:1rem;bottom:1rem;left:calc(17rem + 1rem);z-index:10;display:grid;grid-template-columns:repeat(8,minmax(42px,1fr));gap:.35rem;padding:.5rem;border:var(--pk-roswell-border) var(--pk-roswell-ink);border-radius:var(--pk-roswell-radius);background:color-mix(in srgb,var(--pk-roswell-dark),transparent 5%);box-shadow:var(--pk-roswell-shadow)}[data-pw-theme="roswell"] .pw-dock img{display:block;width:34px;height:34px;margin:auto}
[data-pw-theme="roswell"] .pw-module-machine{padding:1.2rem;border:var(--pk-roswell-border) var(--pk-roswell-ink);border-radius:var(--pk-roswell-radius);background:var(--pk-roswell-dark);color:var(--pk-roswell-paper);box-shadow:var(--pk-roswell-shadow)}[data-pw-theme="roswell"] .pw-machine-grid{display:grid;grid-template-columns:1fr .7fr 1fr;gap:1rem}[data-pw-theme="roswell"] .pw-screen,[data-pw-theme="roswell"] .pw-crate,[data-pw-theme="roswell"] .pw-bridge,[data-pw-theme="roswell"] .pw-transport,[data-pw-theme="roswell"] .pw-meter,[data-pw-theme="roswell"] .pw-tape,[data-pw-theme="roswell"] .pw-cartridge{min-height:120px;padding:1rem;border:2px solid var(--pk-roswell-accent);background:color-mix(in srgb,var(--pk-roswell-dark),white 4%)}
[data-pw-theme="roswell"]{background:#20231f}[data-pw-theme="roswell"] .pw-shell{background:linear-gradient(#2e302ce8,#2e302ce8),var(--pk-roswell-pattern);border:10px solid #8e918a;box-shadow:inset 0 0 0 3px #101210}[data-pw-theme="roswell"] .pw-header,[data-pw-theme="roswell"] .pw-panel,[data-pw-theme="roswell"] .pw-card{border-radius:12px;box-shadow:inset 0 0 0 2px #111,inset 0 0 0 4px #8b8f89}[data-pw-theme="roswell"] .pw-button{border-radius:4px;background:linear-gradient(#797d79,#303330);box-shadow:inset 0 0 0 2px #111,0 3px 0 #090a09}[data-pw-theme="roswell"] .pw-status{font-family:var(--pk-roswell-font-mono);color:#6cdd57}
@media(max-width:760px){[data-pw-theme="roswell"] .pw-layout{grid-template-columns:1fr}[data-pw-theme="roswell"] .pw-nav{display:none}[data-pw-theme="roswell"] .pw-hero{grid-template-columns:1fr}[data-pw-theme="roswell"] .pw-hero__art{min-height:190px}[data-pw-theme="roswell"] .pw-dock{left:.5rem;right:.5rem;bottom:.5rem}[data-pw-theme="roswell"] .pw-dock img{width:28px;height:28px}[data-pw-theme="roswell"] .pw-machine-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){[data-pw-theme="roswell"] *,[data-pw-theme="roswell"] *::before,[data-pw-theme="roswell"] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}


/* ===== Southwest (southwest) ===== */
[data-pw-theme="southwest"], .pw-theme-southwest{ color-scheme: light; }
@layer pw-theme{
[data-pw-theme="southwest"]{margin:0;background:var(--pk-southwest-paper);color:var(--pk-southwest-ink);font-family:var(--pk-southwest-font-body);line-height:1.45}
[data-pw-theme="southwest"] *{box-sizing:border-box}[data-pw-theme="southwest"] :where(h1,h2,h3,.pw-title){font-family:var(--pk-southwest-font-display);letter-spacing:.015em}[data-pw-theme="southwest"] .pw-shell{min-height:100vh;background:linear-gradient(color-mix(in srgb,var(--pk-southwest-paper),transparent 8%),color-mix(in srgb,var(--pk-southwest-paper),transparent 8%)),var(--pk-southwest-pattern);background-size:auto,160px}
[data-pw-theme="southwest"] .pw-header{display:flex;min-height:76px;align-items:center;gap:1rem;padding:.75rem 1.2rem;border-bottom:var(--pk-southwest-border) var(--pk-southwest-ink);background:var(--pk-southwest-dark);color:var(--pk-southwest-paper)}[data-pw-theme="southwest"] .pw-logo{font:900 clamp(1.15rem,3vw,2rem) var(--pk-southwest-font-display);text-transform:uppercase}[data-pw-theme="southwest"] .pw-status{margin-left:auto;font:800 .75rem var(--pk-southwest-font-mono);color:var(--pk-southwest-secondary)}[data-pw-theme="southwest"] .pw-status::before{content:"";display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;border-radius:50%;background:currentColor}
[data-pw-theme="southwest"] .pw-layout{display:grid;grid-template-columns:minmax(220px,17rem) 1fr;min-height:calc(100vh - 76px)}[data-pw-theme="southwest"] .pw-nav{padding:1rem;background:color-mix(in srgb,var(--pk-southwest-dark),var(--pk-southwest-paper) 8%);color:var(--pk-southwest-paper);border-right:var(--pk-southwest-border) var(--pk-southwest-ink)}[data-pw-theme="southwest"] .pw-nav-item{display:flex;min-height:46px;align-items:center;gap:.65rem;margin:.3rem 0;padding:.45rem .6rem;border:2px solid transparent;color:inherit;text-decoration:none;font-weight:800}[data-pw-theme="southwest"] .pw-nav-item img{width:34px;height:34px}[data-pw-theme="southwest"] .pw-nav-item[aria-current]{border-color:var(--pk-southwest-ink);background:var(--pk-southwest-primary);color:var(--pk-southwest-paper)}
[data-pw-theme="southwest"] .pw-main{padding:clamp(1rem,3vw,2.5rem);padding-bottom:7rem}[data-pw-theme="southwest"] .pw-hero{position:relative;display:grid;grid-template-columns:1fr minmax(240px,34%);min-height:330px;overflow:hidden;padding:clamp(1.5rem,4vw,4rem);border:var(--pk-southwest-border) var(--pk-southwest-ink);border-radius:var(--pk-southwest-radius);background:var(--pk-southwest-paper);box-shadow:var(--pk-southwest-shadow)}[data-pw-theme="southwest"] .pw-hero__art{min-height:240px;background:var(--pk-southwest-hero) center/contain no-repeat}[data-pw-theme="southwest"] .pw-kicker{font:900 .75rem var(--pk-southwest-font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--pk-southwest-primary)}[data-pw-theme="southwest"] .pw-hero h1{max-width:12ch;margin:.35rem 0;font-size:clamp(2.5rem,6vw,5.5rem);line-height:.9;text-transform:uppercase}
[data-pw-theme="southwest"] .pw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.1rem;margin-top:1.2rem}[data-pw-theme="southwest"] .pw-panel,[data-pw-theme="southwest"] .pw-card{position:relative;padding:1.2rem;border:var(--pk-southwest-border) var(--pk-southwest-ink);border-radius:var(--pk-southwest-radius);background:var(--pk-southwest-paper);box-shadow:var(--pk-southwest-shadow)}[data-pw-theme="southwest"] .pw-card h3{margin:.1rem 0 .55rem;font-size:1.35rem}
[data-pw-theme="southwest"] .pw-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border:var(--pk-southwest-border) var(--pk-southwest-ink);border-radius:var(--pk-southwest-radius);background:var(--pk-southwest-primary);box-shadow:var(--pk-southwest-shadow);color:var(--pk-southwest-paper);font:900 .78rem var(--pk-southwest-font-body);letter-spacing:.05em;text-decoration:none;text-transform:uppercase}[data-pw-theme="southwest"] .pw-input{width:100%;min-height:44px;padding:.65rem .8rem;border:var(--pk-southwest-border) var(--pk-southwest-ink);border-radius:var(--pk-southwest-radius);background:var(--pk-southwest-paper);color:var(--pk-southwest-ink);font:600 1rem var(--pk-southwest-font-body)}[data-pw-theme="southwest"] .pw-badge{display:inline-block;padding:.28rem .55rem;border:2px solid var(--pk-southwest-ink);background:var(--pk-southwest-accent);font:900 .68rem var(--pk-southwest-font-mono);text-transform:uppercase}
[data-pw-theme="southwest"] .pw-dock{position:fixed;right:1rem;bottom:1rem;left:calc(17rem + 1rem);z-index:10;display:grid;grid-template-columns:repeat(8,minmax(42px,1fr));gap:.35rem;padding:.5rem;border:var(--pk-southwest-border) var(--pk-southwest-ink);border-radius:var(--pk-southwest-radius);background:color-mix(in srgb,var(--pk-southwest-dark),transparent 5%);box-shadow:var(--pk-southwest-shadow)}[data-pw-theme="southwest"] .pw-dock img{display:block;width:34px;height:34px;margin:auto}
[data-pw-theme="southwest"] .pw-module-machine{padding:1.2rem;border:var(--pk-southwest-border) var(--pk-southwest-ink);border-radius:var(--pk-southwest-radius);background:var(--pk-southwest-dark);color:var(--pk-southwest-paper);box-shadow:var(--pk-southwest-shadow)}[data-pw-theme="southwest"] .pw-machine-grid{display:grid;grid-template-columns:1fr .7fr 1fr;gap:1rem}[data-pw-theme="southwest"] .pw-screen,[data-pw-theme="southwest"] .pw-crate,[data-pw-theme="southwest"] .pw-bridge,[data-pw-theme="southwest"] .pw-transport,[data-pw-theme="southwest"] .pw-meter,[data-pw-theme="southwest"] .pw-tape,[data-pw-theme="southwest"] .pw-cartridge{min-height:120px;padding:1rem;border:2px solid var(--pk-southwest-accent);background:color-mix(in srgb,var(--pk-southwest-dark),white 4%)}
[data-pw-theme="southwest"] .pw-shell{background:linear-gradient(#f3dfc1ee,#f3dfc1ee),var(--pk-southwest-pattern)}[data-pw-theme="southwest"] .pw-header{background:var(--pk-southwest-primary);color:#fff;border-bottom:10px double var(--pk-southwest-ink)}[data-pw-theme="southwest"] .pw-nav-item,[data-pw-theme="southwest"] .pw-button{text-transform:uppercase;letter-spacing:.08em}[data-pw-theme="southwest"] .pw-panel{border-image:linear-gradient(90deg,var(--pk-southwest-primary),var(--pk-southwest-accent),var(--pk-southwest-secondary)) 1}
@media(max-width:760px){[data-pw-theme="southwest"] .pw-layout{grid-template-columns:1fr}[data-pw-theme="southwest"] .pw-nav{display:none}[data-pw-theme="southwest"] .pw-hero{grid-template-columns:1fr}[data-pw-theme="southwest"] .pw-hero__art{min-height:190px}[data-pw-theme="southwest"] .pw-dock{left:.5rem;right:.5rem;bottom:.5rem}[data-pw-theme="southwest"] .pw-dock img{width:28px;height:28px}[data-pw-theme="southwest"] .pw-machine-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){[data-pw-theme="southwest"] *,[data-pw-theme="southwest"] *::before,[data-pw-theme="southwest"] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}


/* ===== T-1000 (t-1000) ===== */
[data-pw-theme="t-1000"], .pw-theme-t-1000{ color-scheme: dark; }
@layer pw-theme{
[data-pw-theme="t-1000"]{margin:0;background:var(--pk-t-1000-paper);color:var(--pk-t-1000-ink);font-family:var(--pk-t-1000-font-body);line-height:1.45}
[data-pw-theme="t-1000"] *{box-sizing:border-box}[data-pw-theme="t-1000"] :where(h1,h2,h3,.pw-title){font-family:var(--pk-t-1000-font-display);letter-spacing:.015em}[data-pw-theme="t-1000"] .pw-shell{min-height:100vh;background:linear-gradient(color-mix(in srgb,var(--pk-t-1000-paper),transparent 8%),color-mix(in srgb,var(--pk-t-1000-paper),transparent 8%)),var(--pk-t-1000-pattern);background-size:auto,160px}
[data-pw-theme="t-1000"] .pw-header{display:flex;min-height:76px;align-items:center;gap:1rem;padding:.75rem 1.2rem;border-bottom:var(--pk-t-1000-border) var(--pk-t-1000-ink);background:var(--pk-t-1000-dark);color:var(--pk-t-1000-paper)}[data-pw-theme="t-1000"] .pw-logo{font:900 clamp(1.15rem,3vw,2rem) var(--pk-t-1000-font-display);text-transform:uppercase}[data-pw-theme="t-1000"] .pw-status{margin-left:auto;font:800 .75rem var(--pk-t-1000-font-mono);color:var(--pk-t-1000-secondary)}[data-pw-theme="t-1000"] .pw-status::before{content:"";display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;border-radius:50%;background:currentColor}
[data-pw-theme="t-1000"] .pw-layout{display:grid;grid-template-columns:minmax(220px,17rem) 1fr;min-height:calc(100vh - 76px)}[data-pw-theme="t-1000"] .pw-nav{padding:1rem;background:color-mix(in srgb,var(--pk-t-1000-dark),var(--pk-t-1000-paper) 8%);color:var(--pk-t-1000-paper);border-right:var(--pk-t-1000-border) var(--pk-t-1000-ink)}[data-pw-theme="t-1000"] .pw-nav-item{display:flex;min-height:46px;align-items:center;gap:.65rem;margin:.3rem 0;padding:.45rem .6rem;border:2px solid transparent;color:inherit;text-decoration:none;font-weight:800}[data-pw-theme="t-1000"] .pw-nav-item img{width:34px;height:34px}[data-pw-theme="t-1000"] .pw-nav-item[aria-current]{border-color:var(--pk-t-1000-ink);background:var(--pk-t-1000-primary);color:var(--pk-t-1000-paper)}
[data-pw-theme="t-1000"] .pw-main{padding:clamp(1rem,3vw,2.5rem);padding-bottom:7rem}[data-pw-theme="t-1000"] .pw-hero{position:relative;display:grid;grid-template-columns:1fr minmax(240px,34%);min-height:330px;overflow:hidden;padding:clamp(1.5rem,4vw,4rem);border:var(--pk-t-1000-border) var(--pk-t-1000-ink);border-radius:var(--pk-t-1000-radius);background:var(--pk-t-1000-paper);box-shadow:var(--pk-t-1000-shadow)}[data-pw-theme="t-1000"] .pw-hero__art{min-height:240px;background:var(--pk-t-1000-hero) center/contain no-repeat}[data-pw-theme="t-1000"] .pw-kicker{font:900 .75rem var(--pk-t-1000-font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--pk-t-1000-primary)}[data-pw-theme="t-1000"] .pw-hero h1{max-width:12ch;margin:.35rem 0;font-size:clamp(2.5rem,6vw,5.5rem);line-height:.9;text-transform:uppercase}
[data-pw-theme="t-1000"] .pw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.1rem;margin-top:1.2rem}[data-pw-theme="t-1000"] .pw-panel,[data-pw-theme="t-1000"] .pw-card{position:relative;padding:1.2rem;border:var(--pk-t-1000-border) var(--pk-t-1000-ink);border-radius:var(--pk-t-1000-radius);background:var(--pk-t-1000-paper);box-shadow:var(--pk-t-1000-shadow)}[data-pw-theme="t-1000"] .pw-card h3{margin:.1rem 0 .55rem;font-size:1.35rem}
[data-pw-theme="t-1000"] .pw-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border:var(--pk-t-1000-border) var(--pk-t-1000-ink);border-radius:var(--pk-t-1000-radius);background:var(--pk-t-1000-primary);box-shadow:var(--pk-t-1000-shadow);color:var(--pk-t-1000-paper);font:900 .78rem var(--pk-t-1000-font-body);letter-spacing:.05em;text-decoration:none;text-transform:uppercase}[data-pw-theme="t-1000"] .pw-input{width:100%;min-height:44px;padding:.65rem .8rem;border:var(--pk-t-1000-border) var(--pk-t-1000-ink);border-radius:var(--pk-t-1000-radius);background:var(--pk-t-1000-paper);color:var(--pk-t-1000-ink);font:600 1rem var(--pk-t-1000-font-body)}[data-pw-theme="t-1000"] .pw-badge{display:inline-block;padding:.28rem .55rem;border:2px solid var(--pk-t-1000-ink);background:var(--pk-t-1000-accent);font:900 .68rem var(--pk-t-1000-font-mono);text-transform:uppercase}
[data-pw-theme="t-1000"] .pw-dock{position:fixed;right:1rem;bottom:1rem;left:calc(17rem + 1rem);z-index:10;display:grid;grid-template-columns:repeat(8,minmax(42px,1fr));gap:.35rem;padding:.5rem;border:var(--pk-t-1000-border) var(--pk-t-1000-ink);border-radius:var(--pk-t-1000-radius);background:color-mix(in srgb,var(--pk-t-1000-dark),transparent 5%);box-shadow:var(--pk-t-1000-shadow)}[data-pw-theme="t-1000"] .pw-dock img{display:block;width:34px;height:34px;margin:auto}
[data-pw-theme="t-1000"] .pw-module-machine{padding:1.2rem;border:var(--pk-t-1000-border) var(--pk-t-1000-ink);border-radius:var(--pk-t-1000-radius);background:var(--pk-t-1000-dark);color:var(--pk-t-1000-paper);box-shadow:var(--pk-t-1000-shadow)}[data-pw-theme="t-1000"] .pw-machine-grid{display:grid;grid-template-columns:1fr .7fr 1fr;gap:1rem}[data-pw-theme="t-1000"] .pw-screen,[data-pw-theme="t-1000"] .pw-crate,[data-pw-theme="t-1000"] .pw-bridge,[data-pw-theme="t-1000"] .pw-transport,[data-pw-theme="t-1000"] .pw-meter,[data-pw-theme="t-1000"] .pw-tape,[data-pw-theme="t-1000"] .pw-cartridge{min-height:120px;padding:1rem;border:2px solid var(--pk-t-1000-accent);background:color-mix(in srgb,var(--pk-t-1000-dark),white 4%)}
[data-pw-theme="t-1000"]{background:linear-gradient(120deg,#071018,#657079 46%,#141b21 51%,#dbe0e3 52%,#242c33)}[data-pw-theme="t-1000"] .pw-header,[data-pw-theme="t-1000"] .pw-panel,[data-pw-theme="t-1000"] .pw-card{background:linear-gradient(115deg,#d9dee1,#707b84 40%,#ecf0f2 48%,#3a434b 55%,#aab2b8);box-shadow:inset 0 0 0 2px #fff5,inset 0 0 24px #0007}[data-pw-theme="t-1000"] .pw-card{clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}[data-pw-theme="t-1000"] .pw-status::before{box-shadow:0 0 16px #e21a1a}
@media(max-width:760px){[data-pw-theme="t-1000"] .pw-layout{grid-template-columns:1fr}[data-pw-theme="t-1000"] .pw-nav{display:none}[data-pw-theme="t-1000"] .pw-hero{grid-template-columns:1fr}[data-pw-theme="t-1000"] .pw-hero__art{min-height:190px}[data-pw-theme="t-1000"] .pw-dock{left:.5rem;right:.5rem;bottom:.5rem}[data-pw-theme="t-1000"] .pw-dock img{width:28px;height:28px}[data-pw-theme="t-1000"] .pw-machine-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){[data-pw-theme="t-1000"] *,[data-pw-theme="t-1000"] *::before,[data-pw-theme="t-1000"] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}


/* ===== Uncle Flocker (uncle-flocker) ===== */
[data-pw-theme="uncle-flocker"], .pw-theme-uncle-flocker{ color-scheme: light; }
@layer pw-theme{
[data-pw-theme="uncle-flocker"]{margin:0;background:var(--pk-uncle-flocker-paper);color:var(--pk-uncle-flocker-ink);font-family:var(--pk-uncle-flocker-font-body);line-height:1.45}
[data-pw-theme="uncle-flocker"] *{box-sizing:border-box}[data-pw-theme="uncle-flocker"] :where(h1,h2,h3,.pw-title){font-family:var(--pk-uncle-flocker-font-display);letter-spacing:.015em}[data-pw-theme="uncle-flocker"] .pw-shell{min-height:100vh;background:linear-gradient(color-mix(in srgb,var(--pk-uncle-flocker-paper),transparent 8%),color-mix(in srgb,var(--pk-uncle-flocker-paper),transparent 8%)),var(--pk-uncle-flocker-pattern);background-size:auto,160px}
[data-pw-theme="uncle-flocker"] .pw-header{display:flex;min-height:76px;align-items:center;gap:1rem;padding:.75rem 1.2rem;border-bottom:var(--pk-uncle-flocker-border) var(--pk-uncle-flocker-ink);background:var(--pk-uncle-flocker-dark);color:var(--pk-uncle-flocker-paper)}[data-pw-theme="uncle-flocker"] .pw-logo{font:900 clamp(1.15rem,3vw,2rem) var(--pk-uncle-flocker-font-display);text-transform:uppercase}[data-pw-theme="uncle-flocker"] .pw-status{margin-left:auto;font:800 .75rem var(--pk-uncle-flocker-font-mono);color:var(--pk-uncle-flocker-secondary)}[data-pw-theme="uncle-flocker"] .pw-status::before{content:"";display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;border-radius:50%;background:currentColor}
[data-pw-theme="uncle-flocker"] .pw-layout{display:grid;grid-template-columns:minmax(220px,17rem) 1fr;min-height:calc(100vh - 76px)}[data-pw-theme="uncle-flocker"] .pw-nav{padding:1rem;background:color-mix(in srgb,var(--pk-uncle-flocker-dark),var(--pk-uncle-flocker-paper) 8%);color:var(--pk-uncle-flocker-paper);border-right:var(--pk-uncle-flocker-border) var(--pk-uncle-flocker-ink)}[data-pw-theme="uncle-flocker"] .pw-nav-item{display:flex;min-height:46px;align-items:center;gap:.65rem;margin:.3rem 0;padding:.45rem .6rem;border:2px solid transparent;color:inherit;text-decoration:none;font-weight:800}[data-pw-theme="uncle-flocker"] .pw-nav-item img{width:34px;height:34px}[data-pw-theme="uncle-flocker"] .pw-nav-item[aria-current]{border-color:var(--pk-uncle-flocker-ink);background:var(--pk-uncle-flocker-primary);color:var(--pk-uncle-flocker-paper)}
[data-pw-theme="uncle-flocker"] .pw-main{padding:clamp(1rem,3vw,2.5rem);padding-bottom:7rem}[data-pw-theme="uncle-flocker"] .pw-hero{position:relative;display:grid;grid-template-columns:1fr minmax(240px,34%);min-height:330px;overflow:hidden;padding:clamp(1.5rem,4vw,4rem);border:var(--pk-uncle-flocker-border) var(--pk-uncle-flocker-ink);border-radius:var(--pk-uncle-flocker-radius);background:var(--pk-uncle-flocker-paper);box-shadow:var(--pk-uncle-flocker-shadow)}[data-pw-theme="uncle-flocker"] .pw-hero__art{min-height:240px;background:var(--pk-uncle-flocker-hero) center/contain no-repeat}[data-pw-theme="uncle-flocker"] .pw-kicker{font:900 .75rem var(--pk-uncle-flocker-font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--pk-uncle-flocker-primary)}[data-pw-theme="uncle-flocker"] .pw-hero h1{max-width:12ch;margin:.35rem 0;font-size:clamp(2.5rem,6vw,5.5rem);line-height:.9;text-transform:uppercase}
[data-pw-theme="uncle-flocker"] .pw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.1rem;margin-top:1.2rem}[data-pw-theme="uncle-flocker"] .pw-panel,[data-pw-theme="uncle-flocker"] .pw-card{position:relative;padding:1.2rem;border:var(--pk-uncle-flocker-border) var(--pk-uncle-flocker-ink);border-radius:var(--pk-uncle-flocker-radius);background:var(--pk-uncle-flocker-paper);box-shadow:var(--pk-uncle-flocker-shadow)}[data-pw-theme="uncle-flocker"] .pw-card h3{margin:.1rem 0 .55rem;font-size:1.35rem}
[data-pw-theme="uncle-flocker"] .pw-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border:var(--pk-uncle-flocker-border) var(--pk-uncle-flocker-ink);border-radius:var(--pk-uncle-flocker-radius);background:var(--pk-uncle-flocker-primary);box-shadow:var(--pk-uncle-flocker-shadow);color:var(--pk-uncle-flocker-paper);font:900 .78rem var(--pk-uncle-flocker-font-body);letter-spacing:.05em;text-decoration:none;text-transform:uppercase}[data-pw-theme="uncle-flocker"] .pw-input{width:100%;min-height:44px;padding:.65rem .8rem;border:var(--pk-uncle-flocker-border) var(--pk-uncle-flocker-ink);border-radius:var(--pk-uncle-flocker-radius);background:var(--pk-uncle-flocker-paper);color:var(--pk-uncle-flocker-ink);font:600 1rem var(--pk-uncle-flocker-font-body)}[data-pw-theme="uncle-flocker"] .pw-badge{display:inline-block;padding:.28rem .55rem;border:2px solid var(--pk-uncle-flocker-ink);background:var(--pk-uncle-flocker-accent);font:900 .68rem var(--pk-uncle-flocker-font-mono);text-transform:uppercase}
[data-pw-theme="uncle-flocker"] .pw-dock{position:fixed;right:1rem;bottom:1rem;left:calc(17rem + 1rem);z-index:10;display:grid;grid-template-columns:repeat(8,minmax(42px,1fr));gap:.35rem;padding:.5rem;border:var(--pk-uncle-flocker-border) var(--pk-uncle-flocker-ink);border-radius:var(--pk-uncle-flocker-radius);background:color-mix(in srgb,var(--pk-uncle-flocker-dark),transparent 5%);box-shadow:var(--pk-uncle-flocker-shadow)}[data-pw-theme="uncle-flocker"] .pw-dock img{display:block;width:34px;height:34px;margin:auto}
[data-pw-theme="uncle-flocker"] .pw-module-machine{padding:1.2rem;border:var(--pk-uncle-flocker-border) var(--pk-uncle-flocker-ink);border-radius:var(--pk-uncle-flocker-radius);background:var(--pk-uncle-flocker-dark);color:var(--pk-uncle-flocker-paper);box-shadow:var(--pk-uncle-flocker-shadow)}[data-pw-theme="uncle-flocker"] .pw-machine-grid{display:grid;grid-template-columns:1fr .7fr 1fr;gap:1rem}[data-pw-theme="uncle-flocker"] .pw-screen,[data-pw-theme="uncle-flocker"] .pw-crate,[data-pw-theme="uncle-flocker"] .pw-bridge,[data-pw-theme="uncle-flocker"] .pw-transport,[data-pw-theme="uncle-flocker"] .pw-meter,[data-pw-theme="uncle-flocker"] .pw-tape,[data-pw-theme="uncle-flocker"] .pw-cartridge{min-height:120px;padding:1rem;border:2px solid var(--pk-uncle-flocker-accent);background:color-mix(in srgb,var(--pk-uncle-flocker-dark),white 4%)}
[data-pw-theme="uncle-flocker"] .pw-shell{background:linear-gradient(#65b9e6 0 28%,#fff 28%)}[data-pw-theme="uncle-flocker"] .pw-header,[data-pw-theme="uncle-flocker"] .pw-card,[data-pw-theme="uncle-flocker"] .pw-panel{border-width:3px;box-shadow:4px 5px 0 #12283a}[data-pw-theme="uncle-flocker"] .pw-card{background:#fff}[data-pw-theme="uncle-flocker"] .pw-button{border-width:3px;border-radius:10px;background:#f3c43b}[data-pw-theme="uncle-flocker"] .pw-nav-item{background:#fff;border:3px solid #12283a}[data-pw-theme="uncle-flocker"] .pw-nav-item[aria-current]{background:#e4242e;color:#fff}
@media(max-width:760px){[data-pw-theme="uncle-flocker"] .pw-layout{grid-template-columns:1fr}[data-pw-theme="uncle-flocker"] .pw-nav{display:none}[data-pw-theme="uncle-flocker"] .pw-hero{grid-template-columns:1fr}[data-pw-theme="uncle-flocker"] .pw-hero__art{min-height:190px}[data-pw-theme="uncle-flocker"] .pw-dock{left:.5rem;right:.5rem;bottom:.5rem}[data-pw-theme="uncle-flocker"] .pw-dock img{width:28px;height:28px}[data-pw-theme="uncle-flocker"] .pw-machine-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){[data-pw-theme="uncle-flocker"] *,[data-pw-theme="uncle-flocker"] *::before,[data-pw-theme="uncle-flocker"] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}

