/* Atmosphere tokens only. Workspace geometry lives in style.css. */
body[data-visual-theme="minimal"] {
    --page-wash:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--bg-color) 92%, #ffffff) 0%,
            color-mix(in srgb, var(--bg-color) 96%, #d9d9d9) 100%
        );
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 92%, #ffffff);
    --surface-grad-end: color-mix(in srgb, var(--editor-bg) 84%, var(--bg-color));
    --panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0));
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0));
    --toolbar-shadow: 0 8px 20px rgba(20, 24, 32, 0.06);
    --shadow: 0 10px 26px rgba(20, 24, 32, 0.08);
    --focus-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

body[data-theme="dark"][data-visual-theme="minimal"] {
    --page-wash:
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--bg-color) 94%, #232833) 0%,
            color-mix(in srgb, var(--bg-color) 98%, #0f1115) 100%
        );
    --panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0));
    --toolbar-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
    --shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}

body[data-visual-theme="pastel-liminal"] {
    --editor-bg: #fffdfd;
    --accent-color: #7f9fbd;
    --accent-rgb: 127, 159, 189;
    --page-wash:
        radial-gradient(circle at 14% 14%, rgba(248, 218, 234, 0.32), transparent 22%),
        radial-gradient(circle at 86% 10%, rgba(202, 235, 248, 0.36), transparent 22%),
        radial-gradient(circle at 58% 76%, rgba(232, 245, 224, 0.18), transparent 28%),
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--bg-color) 86%, #fbf6ff) 0%,
            color-mix(in srgb, var(--bg-color) 88%, #ecf8ff) 100%
        );
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 80%, #f4fbff);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 84%, #f0f8ff);
    --panel-overlay: linear-gradient(135deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.03) 58%, rgba(224, 240, 247, 0.12) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(245, 253, 255, 0.07) 42%, rgba(255, 255, 255, 0) 100%);
    --ambient-layer:
        radial-gradient(circle at 18% 22%, rgba(255, 221, 237, 0.52), transparent 18%),
        radial-gradient(circle at 78% 16%, rgba(193, 230, 255, 0.45), transparent 18%),
        radial-gradient(circle at 52% 72%, rgba(247, 255, 235, 0.22), transparent 26%);
    --ambient-layer-secondary: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 46%, rgba(255, 244, 252, 0.18) 100%);
    --ambient-opacity: 0.82;
    --ambient-secondary-opacity: 0.4;
    --ambient-blur: 16px;
    --toolbar-shadow: 0 12px 30px rgba(120, 146, 174, 0.13);
    --shadow: 0 16px 34px rgba(120, 146, 174, 0.1);
    --focus-shadow: 0 16px 36px rgba(120, 146, 174, 0.18);
}

body[data-theme="dark"][data-visual-theme="pastel-liminal"] {
    --editor-bg: #1f2229;
    --page-wash:
        linear-gradient(115deg, rgba(157, 124, 151, 0.036) 0%, transparent 28%),
        linear-gradient(245deg, rgba(111, 151, 178, 0.052) 6%, transparent 34%),
        linear-gradient(180deg, rgba(136, 161, 186, 0.022) 0%, transparent 42%),
        linear-gradient(180deg, #171c22 0%, #11161b 100%);
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 96%, #313747);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 94%, #20252f);
    --panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(168, 191, 223, 0.03) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(184, 201, 231, 0.02) 34%, rgba(255, 255, 255, 0) 100%);
    --ambient-opacity: 0.12;
    --ambient-secondary-opacity: 0.032;
    --ambient-blur: 18px;
}

body[data-visual-theme="soft-dreamcore"] {
    --editor-bg: #fffdfb;
    --accent-color: #a4869c;
    --accent-rgb: 164, 134, 156;
    --page-wash:
        radial-gradient(circle at 24% 12%, rgba(255, 225, 204, 0.28), transparent 22%),
        radial-gradient(circle at 76% 18%, rgba(230, 218, 252, 0.28), transparent 22%),
        radial-gradient(circle at 56% 72%, rgba(217, 243, 250, 0.18), transparent 30%),
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--bg-color) 82%, #fff8f3) 0%,
            color-mix(in srgb, var(--bg-color) 86%, #f5eeff) 100%
        );
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 72%, #fff7fb);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 80%, #f2ecff);
    --panel-overlay: linear-gradient(140deg, rgba(255, 255, 255, 0.3), rgba(255, 239, 247, 0.05) 58%, rgba(234, 226, 255, 0.14) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 243, 248, 0.08) 46%, rgba(255, 255, 255, 0) 100%);
    --ambient-layer:
        radial-gradient(circle at 20% 24%, rgba(255, 229, 206, 0.48), transparent 18%),
        radial-gradient(circle at 74% 18%, rgba(225, 207, 255, 0.42), transparent 18%),
        radial-gradient(circle at 48% 70%, rgba(216, 246, 255, 0.22), transparent 28%);
    --ambient-layer-secondary: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, transparent 52%, rgba(249, 240, 255, 0.18) 100%);
    --ambient-opacity: 0.76;
    --ambient-secondary-opacity: 0.36;
    --ambient-blur: 18px;
    --toolbar-shadow: 0 12px 30px rgba(157, 127, 145, 0.13);
    --shadow: 0 16px 34px rgba(157, 127, 145, 0.1);
    --focus-shadow: 0 16px 36px rgba(164, 134, 156, 0.18);
}

body[data-theme="dark"][data-visual-theme="soft-dreamcore"] {
    --editor-bg: #211f25;
    --page-wash:
        linear-gradient(120deg, rgba(150, 114, 108, 0.045) 0%, transparent 30%),
        linear-gradient(235deg, rgba(130, 118, 160, 0.058) 4%, transparent 34%),
        linear-gradient(180deg, rgba(154, 132, 151, 0.024) 0%, transparent 40%),
        linear-gradient(180deg, #1b181d 0%, #151318 100%);
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 96%, #3f3843);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 94%, #231f28);
    --panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(202, 181, 221, 0.03) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.024), rgba(215, 184, 206, 0.018) 36%, rgba(255, 255, 255, 0) 100%);
    --ambient-opacity: 0.11;
    --ambient-secondary-opacity: 0.03;
    --ambient-blur: 18px;
}

body[data-visual-theme="childhood-public-space"] {
    --editor-bg: #fcfefb;
    --accent-color: #6f9fa7;
    --accent-rgb: 111, 159, 167;
    --page-wash:
        radial-gradient(circle at 18% 12%, rgba(250, 244, 190, 0.26), transparent 18%),
        radial-gradient(circle at 86% 16%, rgba(195, 236, 244, 0.32), transparent 22%),
        radial-gradient(circle at 50% 76%, rgba(224, 232, 250, 0.18), transparent 28%),
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--bg-color) 82%, #fbf7da) 0%,
            color-mix(in srgb, var(--bg-color) 86%, #edf6ff) 100%
        );
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 80%, #fffbe8);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 86%, #edf9ff);
    --panel-overlay: linear-gradient(145deg, rgba(255, 255, 255, 0.22), rgba(255, 248, 208, 0.05) 56%, rgba(210, 236, 255, 0.11) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.17), rgba(248, 250, 222, 0.05) 40%, rgba(255, 255, 255, 0) 100%);
    --ambient-layer:
        radial-gradient(circle at 16% 20%, rgba(255, 246, 188, 0.44), transparent 16%),
        radial-gradient(circle at 82% 18%, rgba(198, 239, 249, 0.4), transparent 18%),
        radial-gradient(circle at 54% 76%, rgba(223, 230, 255, 0.24), transparent 24%);
    --ambient-layer-secondary:
        linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 54%, rgba(240, 247, 255, 0.16) 100%);
    --ambient-opacity: 0.74;
    --ambient-secondary-opacity: 0.34;
    --ambient-blur: 16px;
    --toolbar-shadow: 0 12px 28px rgba(117, 154, 164, 0.12);
    --shadow: 0 16px 32px rgba(117, 154, 164, 0.1);
    --focus-shadow: 0 16px 34px rgba(111, 159, 167, 0.16);
}

body[data-theme="dark"][data-visual-theme="childhood-public-space"] {
    --editor-bg: #1e2224;
    --page-wash:
        linear-gradient(118deg, rgba(145, 132, 86, 0.04) 0%, transparent 30%),
        linear-gradient(240deg, rgba(96, 136, 145, 0.06) 4%, transparent 34%),
        linear-gradient(180deg, rgba(122, 145, 150, 0.022) 0%, transparent 42%),
        linear-gradient(180deg, #1a1c1f 0%, #14171a 100%);
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 96%, #36464b);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 94%, #21282b);
    --panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(185, 197, 161, 0.024) 44%, rgba(144, 177, 189, 0.028) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.022), rgba(203, 211, 176, 0.016) 34%, rgba(255, 255, 255, 0) 100%);
    --ambient-opacity: 0.11;
    --ambient-secondary-opacity: 0.032;
    --ambient-blur: 16px;
}

body[data-visual-theme="daydream-nostalgia"] {
    --accent-color: #b68867;
    --accent-rgb: 182, 136, 103;
    --page-wash:
        radial-gradient(circle at 12% 10%, rgba(255, 219, 178, 0.4), transparent 20%),
        radial-gradient(circle at 84% 16%, rgba(255, 242, 209, 0.34), transparent 18%),
        radial-gradient(circle at 54% 78%, rgba(230, 218, 199, 0.22), transparent 26%),
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--bg-color) 84%, #fff8ee) 0%,
            color-mix(in srgb, var(--bg-color) 90%, #f1e7da) 100%
        );
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 76%, #fff9f0);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 84%, #efe3d7);
    --panel-overlay: linear-gradient(140deg, rgba(255, 255, 255, 0.24), rgba(255, 239, 219, 0.08) 54%, rgba(233, 214, 197, 0.14) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 245, 236, 0.06) 42%, rgba(255, 255, 255, 0) 100%);
    --ambient-layer:
        radial-gradient(circle at 18% 18%, rgba(255, 224, 193, 0.42), transparent 18%),
        radial-gradient(circle at 78% 14%, rgba(255, 244, 212, 0.34), transparent 16%),
        radial-gradient(circle at 50% 76%, rgba(233, 216, 198, 0.2), transparent 24%);
    --ambient-layer-secondary:
        linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, transparent 58%, rgba(255, 245, 236, 0.14) 100%);
    --ambient-opacity: 0.84;
    --ambient-secondary-opacity: 0.34;
    --ambient-blur: 14px;
    --toolbar-shadow: 0 14px 30px rgba(161, 129, 107, 0.16);
    --shadow: 0 18px 34px rgba(161, 129, 107, 0.12);
    --focus-shadow: 0 16px 34px rgba(182, 136, 103, 0.18);
}

body[data-theme="dark"][data-visual-theme="daydream-nostalgia"] {
    --page-wash:
        linear-gradient(118deg, rgba(156, 114, 84, 0.045) 0%, transparent 30%),
        linear-gradient(238deg, rgba(146, 127, 97, 0.04) 6%, transparent 34%),
        linear-gradient(180deg, rgba(149, 124, 102, 0.02) 0%, transparent 40%),
        linear-gradient(180deg, #1c1816 0%, #151210 100%);
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 96%, #44382f);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 94%, #241e1a);
    --panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(197, 157, 122, 0.028) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.022), rgba(191, 154, 123, 0.016) 34%, rgba(255, 255, 255, 0) 100%);
    --ambient-opacity: 0.12;
    --ambient-secondary-opacity: 0.03;
    --ambient-blur: 16px;
}

body[data-visual-theme="gentle-unmanned"] {
    --editor-bg: #fbfdfb;
    --accent-color: #75939a;
    --accent-rgb: 117, 147, 154;
    --page-wash:
        radial-gradient(circle at 10% 8%, rgba(228, 239, 242, 0.4), transparent 18%),
        radial-gradient(circle at 88% 14%, rgba(213, 228, 239, 0.34), transparent 20%),
        radial-gradient(circle at 50% 78%, rgba(244, 235, 219, 0.18), transparent 26%),
        linear-gradient(
            180deg,
            color-mix(in srgb, var(--bg-color) 86%, #f7fbfb) 0%,
            color-mix(in srgb, var(--bg-color) 90%, #eef1ee) 100%
        );
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 78%, #fbfefd);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 84%, #edf1ef);
    --panel-overlay: linear-gradient(145deg, rgba(255, 255, 255, 0.22), rgba(233, 244, 247, 0.06) 56%, rgba(244, 237, 223, 0.1) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(238, 244, 245, 0.04) 44%, rgba(255, 255, 255, 0) 100%);
    --ambient-layer:
        radial-gradient(circle at 18% 18%, rgba(229, 239, 243, 0.34), transparent 18%),
        radial-gradient(circle at 82% 16%, rgba(215, 229, 238, 0.3), transparent 18%),
        radial-gradient(circle at 52% 78%, rgba(245, 236, 219, 0.16), transparent 24%);
    --ambient-layer-secondary: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, transparent 60%, rgba(250, 247, 241, 0.12) 100%);
    --ambient-opacity: 0.62;
    --ambient-secondary-opacity: 0.24;
    --ambient-blur: 16px;
    --toolbar-shadow: 0 10px 26px rgba(112, 130, 140, 0.1);
    --shadow: 0 14px 30px rgba(112, 130, 140, 0.09);
    --focus-shadow: 0 14px 32px rgba(112, 130, 140, 0.15);
}

body[data-theme="dark"][data-visual-theme="gentle-unmanned"] {
    --editor-bg: #1d2223;
    --page-wash:
        linear-gradient(118deg, rgba(112, 132, 138, 0.038) 0%, transparent 30%),
        linear-gradient(240deg, rgba(104, 120, 136, 0.04) 4%, transparent 34%),
        linear-gradient(180deg, rgba(129, 138, 141, 0.018) 0%, transparent 42%),
        linear-gradient(180deg, #181b1c 0%, #131617 100%);
    --surface-grad-start: color-mix(in srgb, var(--editor-bg) 96%, #38454a);
    --surface-grad-end: color-mix(in srgb, var(--bg-color) 94%, #202628);
    --panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.024), rgba(186, 201, 207, 0.024) 100%);
    --editor-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(185, 198, 203, 0.016) 34%, rgba(255, 255, 255, 0) 100%);
    --ambient-opacity: 0.09;
    --ambient-secondary-opacity: 0.026;
    --ambient-blur: 16px;
}

body[data-theme="dark"][data-visual-theme="pastel-liminal"],
body[data-theme="dark"][data-visual-theme="soft-dreamcore"],
body[data-theme="dark"][data-visual-theme="childhood-public-space"],
body[data-theme="dark"][data-visual-theme="daydream-nostalgia"],
body[data-theme="dark"][data-visual-theme="gentle-unmanned"] {
    background-image: var(--page-wash);
    background-size: auto;
    background-position: center center;
}

body[data-visual-theme="signal-room"] {
    --bg-color: #06090b;
    --text-color: #d8e5e7;
    --editor-bg: #081014;
    --accent-color: #9ccfd0;
    --accent-rgb: 156, 207, 208;
    --border-color: rgba(156, 207, 208, 0.2);
    --modal-bg: #0b1114;
    --surface-muted: rgba(156, 207, 208, 0.075);
    --toolbar-border: rgba(156, 207, 208, 0.2);
    --toolbar-shadow: none;
    --shadow: none;
    --action-hover-bg: rgba(var(--accent-rgb), 0.1);
    --action-active-bg: var(--accent-color);
    --action-active-text: #061012;
    --success-color: #6fcf97;
    --warning-color: #f0b35a;
    --error-color: #ff8585;
    --surface-grad-start: rgba(8, 14, 17, 0.84);
    --surface-grad-end: rgba(3, 7, 9, 0.92);
    --panel-overlay: linear-gradient(180deg, rgba(156, 207, 208, 0.06), rgba(255, 255, 255, 0));
    --editor-overlay:
        radial-gradient(circle at 50% 112%, rgba(var(--accent-rgb), 0.06), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.026), rgba(156, 207, 208, 0.012));
    --ambient-layer:
        linear-gradient(90deg, transparent 0%, rgba(156, 207, 208, 0.035) 10%, transparent 22%, transparent 78%, rgba(156, 207, 208, 0.032) 90%, transparent 100%),
        linear-gradient(180deg, rgba(194, 225, 226, 0.07), transparent 42%);
    --ambient-layer-secondary:
        radial-gradient(circle at 74% 18%, rgba(156, 207, 208, 0.14), transparent 22%),
        linear-gradient(180deg, transparent 0%, rgba(156, 207, 208, 0.055) 100%);
    --ambient-opacity: 0.55;
    --ambient-secondary-opacity: 0.32;
    --ambient-blur: 0px;
    --focus-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.28);
    --page-wash:
        linear-gradient(90deg, rgba(156, 207, 208, 0.034) 0 1px, transparent 1px 72px),
        linear-gradient(180deg, rgba(212, 232, 231, 0.05), transparent 26%),
        radial-gradient(circle at 50% 115%, rgba(156, 207, 208, 0.13), transparent 38%),
        linear-gradient(180deg, #070b0d 0%, #030506 100%);
    --page-grid: none;
}

body[data-visual-theme="signal-room"]:not([data-theme="dark"]) {
    --bg-color: #f1f5f3;
    --text-color: #273237;
    --editor-bg: #fbfdfb;
    --accent-color: #54797c;
    --accent-rgb: 84, 121, 124;
    --border-color: rgba(84, 121, 124, 0.22);
    --modal-bg: #f8fbf8;
    --surface-muted: rgba(84, 121, 124, 0.075);
    --toolbar-border: rgba(84, 121, 124, 0.18);
    --toolbar-shadow: none;
    --shadow: none;
    --action-hover-bg: rgba(var(--accent-rgb), 0.1);
    --action-active-bg: color-mix(in srgb, var(--accent-color) 78%, #273237);
    --action-active-text: #ffffff;
    --success-color: #237a43;
    --warning-color: #955800;
    --error-color: #b9363e;
    --surface-grad-start: rgba(255, 255, 255, 0.9);
    --surface-grad-end: rgba(239, 247, 244, 0.94);
    --panel-overlay: linear-gradient(180deg, rgba(84, 121, 124, 0.045), rgba(255, 255, 255, 0));
    --editor-overlay:
        radial-gradient(circle at 50% 112%, rgba(var(--accent-rgb), 0.055), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(84, 121, 124, 0.018));
    --ambient-layer:
        linear-gradient(90deg, transparent 0%, rgba(84, 121, 124, 0.045) 10%, transparent 22%, transparent 78%, rgba(84, 121, 124, 0.038) 90%, transparent 100%),
        linear-gradient(180deg, rgba(84, 121, 124, 0.055), transparent 42%);
    --ambient-layer-secondary:
        radial-gradient(circle at 74% 18%, rgba(84, 121, 124, 0.105), transparent 22%),
        linear-gradient(180deg, transparent 0%, rgba(84, 121, 124, 0.07) 100%);
    --ambient-opacity: 0.48;
    --ambient-secondary-opacity: 0.24;
    --focus-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.22);
    --page-wash:
        linear-gradient(90deg, rgba(84, 121, 124, 0.028) 0 1px, transparent 1px 72px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.74), transparent 26%),
        radial-gradient(circle at 50% 115%, rgba(84, 121, 124, 0.11), transparent 38%),
        linear-gradient(180deg, #f5f8f5 0%, #e9f0ed 100%);
}

/* Material is carried by the perimeter; text stays on an opaque surface. */
body:is([data-visual-theme="quiet-pool"], [data-visual-theme="paper-archive"], [data-visual-theme="night-window"]) {
    --accent-color: #496c76;
    --accent-rgb: 73, 108, 118;
    --editor-bg: #fafbf8;
    --bg-color: #e5eeeb;
    --text-color: #29383c;
    --modal-bg: #f8faf7;
    --border-color: #bccdca;
    --surface-muted: #e6eeeb;
    --surface-grad-start: var(--editor-bg);
    --surface-grad-end: var(--editor-bg);
    --panel-overlay: none;
    --editor-overlay: none;
    --toolbar-bg: var(--editor-bg);
    --toolbar-shadow: none;
    --page-grid: none;
    --ambient-opacity: 0;
    --ambient-secondary-opacity: 0;
}
body[data-theme="dark"]:is([data-visual-theme="quiet-pool"], [data-visual-theme="paper-archive"], [data-visual-theme="night-window"]) {
    --accent-color: #9dbbbc;
    --accent-rgb: 157, 187, 188;
    --editor-bg: #1c282c;
    --bg-color: #142024;
    --text-color: #e0e9e6;
    --modal-bg: #202e32;
    --border-color: #41585d;
    --surface-muted: #2a3c40;
}
body[data-visual-theme="quiet-pool"] {
    --page-wash:
        linear-gradient(90deg, transparent 0 8%, rgba(var(--accent-rgb), .09) 8% 8.1%, transparent 8.1% 91%, rgba(var(--accent-rgb), .09) 91% 91.1%, transparent 91.1%),
        repeating-linear-gradient(0deg, transparent 0 71px, rgba(var(--accent-rgb), .055) 71px 72px),
        linear-gradient(175deg, var(--bg-color) 62%, color-mix(in srgb, var(--bg-color) 80%, var(--accent-color)) 62.2%, var(--bg-color) 94%);
}
body[data-visual-theme="paper-archive"] {
    --bg-color: #e6e1d8;
    --editor-bg: #faf7ef;
    --text-color: #383833;
    --accent-color: #626858;
    --accent-rgb: 98, 104, 88;
    --border-color: #cbc6b9;
    --modal-bg: #f5f2e9;
    --surface-muted: #e9e5db;
    --page-wash:
        repeating-linear-gradient(90deg, transparent 0 95px, rgba(var(--accent-rgb), .09) 95px 96px),
        linear-gradient(180deg, var(--bg-color), var(--bg-color));
}
body[data-theme="dark"][data-visual-theme="paper-archive"] {
    --bg-color: #242522;
    --editor-bg: #2c2d28;
    --text-color: #e7e5dc;
    --accent-color: #bbc3a7;
    --accent-rgb: 187, 195, 167;
    --border-color: #515449;
    --modal-bg: #30322b;
    --surface-muted: #3c3f34;
}
body[data-visual-theme="night-window"] {
    --page-wash:
        linear-gradient(90deg, transparent 0 82%, rgba(var(--accent-rgb), .13) 82% 82.2%, transparent 82.2%),
        linear-gradient(0deg, transparent 0 68%, rgba(var(--accent-rgb), .08) 68% 68.2%, transparent 68.2%),
        radial-gradient(ellipse at 96% 24%, rgba(var(--accent-rgb), .25), transparent 36%),
        linear-gradient(180deg, var(--bg-color), var(--bg-color));
}
body[data-visual-theme="paper-archive"] #editor,
body[data-visual-theme="paper-archive"] .viewer-content {
    box-shadow: 5px 5px 0 var(--bg-color), 6px 6px 0 var(--border-color);
}
body[data-visual-theme="quiet-pool"] #editor,
body[data-visual-theme="quiet-pool"] .viewer-content {
    border-bottom: 3px solid color-mix(in srgb, var(--accent-color) 42%, var(--editor-bg));
}
/* All new rooms still respect the explicit sepia preference. */
body[data-theme="sepia"]:is([data-visual-theme="quiet-pool"], [data-visual-theme="paper-archive"], [data-visual-theme="night-window"], [data-visual-theme="signal-room"]) {
    --bg-color: #efe3cf;
    --editor-bg: #fbf2df;
    --text-color: #5b4738;
    --accent-color: #855532;
    --accent-rgb: 133, 85, 50;
    --border-color: #d4c0a3;
    --modal-bg: #f8efdc;
    --surface-muted: #ece0c8;
}
