html[data-theme="fusedly-dark"] {
  color-scheme: dark;
  --theme-font-body: "Manrope", sans-serif;
  --theme-font-display: "Bebas Neue", sans-serif;

  --theme-bg-start: #08131d;
  --theme-bg-end: #12090f;
  --theme-panel: rgba(17, 25, 38, 0.82);
  --theme-panel-strong: rgba(17, 25, 38, 0.84);
  --theme-panel-border: rgba(255, 224, 185, 0.18);
  --theme-text: #f8f6f2;
  --theme-muted: #cfc8ba;
  --theme-link: #d7e9ff;
  --theme-link-hover: #eef7ff;
  --theme-accent: #f5b53d;
  --theme-success: #3cd08b;
  --theme-success-soft: #90f2c3;
  --theme-success-strong: #35c979;
  --theme-success-contrast: #032113;
  --theme-success-text: #ecfff6;
  --theme-success-outline: rgba(143, 239, 193, 0.86);
  --theme-success-outline-soft: rgba(143, 239, 193, 0.48);
  --theme-success-bg: rgba(71, 199, 137, 0.3);
  --theme-success-bg-soft: rgba(71, 199, 137, 0.28);
  --theme-danger: #ff8787;
  --theme-danger-strong: #ff5c5c;
  --theme-danger-soft: #ff9a9a;
  --theme-danger-bg: rgba(255, 102, 102, 0.18);
  --theme-ok: #9ef3c8;
  --theme-ok-bg: rgba(64, 203, 136, 0.2);
  --theme-shadow-lg: 0 24px 80px rgba(0, 0, 0, 0.35);

  --theme-layer-warm: rgba(245, 181, 61, 0.1);
  --theme-layer-cool: rgba(77, 198, 255, 0.12);
  --theme-layer-danger: rgba(255, 92, 92, 0.1);

  --theme-control-option-bg: #15202b;
  --theme-control-bg: rgba(0, 0, 0, 0.22);
  --theme-placeholder: rgba(255, 255, 255, 0.52);
  --theme-focus-ring: rgba(245, 181, 61, 0.15);

  --theme-button-primary-start: #ffc050;
  --theme-button-primary-end: #ff9f46;
  --theme-button-primary-text: #271404;
  --theme-button-type-text: #251304;
  --theme-button-secondary-start: #91d5ff;
  --theme-button-secondary-end: #55b5f8;
  --theme-button-secondary-text: #032339;

  --theme-badge-start: #90f2c3;
  --theme-badge-end: #35c979;
  --theme-badge-text: #032113;
  /* Fully tokenized component-level theme tails. */
  /* Glass palette tails. */
  --theme-glass-01: rgba(255, 255, 255, 0.2);
  --theme-glass-02: rgba(255, 255, 255, 0.08);
  --theme-glass-03: rgba(255, 255, 255, 0.16);
  --theme-glass-04: rgba(255, 255, 255, 0.65);
  --theme-glass-05: rgba(255, 255, 255, 0.18);
  --theme-glass-06: rgba(255, 255, 255, 0.52);
  --theme-glass-07: rgba(255, 255, 255, 0.14);
  --theme-glass-08: rgba(255, 255, 255, 0.1);
  --theme-glass-09: rgba(255, 255, 255, 0.13);
  --theme-glass-10: rgba(255, 255, 255, 0.12);
  --theme-glass-11: rgba(255, 255, 255, 0.22);
  --theme-glass-12: rgba(255, 255, 255, 0.07);
  --theme-glass-13: rgba(255, 255, 255, 0.04);
  --theme-glass-14: rgba(255, 255, 255, 0.05);
  --theme-glass-15: rgba(255, 255, 255, 0.28);
  --theme-glass-16: #f2f4f8;
  --theme-glass-17: rgba(255, 255, 255, 0.06);
  --theme-glass-18: rgba(255, 255, 255, 0.3);
  --theme-glass-19: rgba(255, 255, 255, 0.11);
  --theme-glass-20: rgba(255, 255, 255, 0.03);
  --theme-glass-21: rgba(255, 255, 255, 0.15);
  --theme-glass-22: #fff;
  --theme-glass-23: rgba(255, 255, 255, 0.46);
  --theme-glass-24: rgba(255, 255, 255, 0.09);

  /* Midnight palette tails. */
  --theme-midnight-01: rgba(0, 0, 0, 0.22);
  --theme-midnight-02: rgba(5, 8, 15, 0.32);
  --theme-midnight-03: rgba(8, 14, 23, 0.62);
  --theme-midnight-04: rgba(10, 18, 30, 0.92);
  --theme-midnight-05: rgba(11, 16, 27, 0.92);
  --theme-midnight-06: #102132;
  --theme-midnight-07: rgba(12, 24, 34, 0.99);
  --theme-midnight-08: rgba(10, 16, 31, 0.99);
  --theme-midnight-09: rgba(16, 26, 38, 0.9);
  --theme-midnight-10: rgba(19, 31, 47, 0.7);
  --theme-midnight-11: rgba(14, 26, 39, 0.96);
  --theme-midnight-12: rgba(15, 20, 36, 0.96);
  --theme-midnight-13: rgba(11, 26, 21, 0.82);
  --theme-midnight-14: rgba(8, 31, 18, 0.95);
  --theme-midnight-15: rgba(22, 40, 33, 0.65);
  --theme-midnight-16: rgba(11, 21, 17, 0.8);
  --theme-midnight-17: rgba(8, 19, 29, 0.65);
  --theme-midnight-18: rgba(12, 22, 34, 0.96);
  --theme-midnight-19: rgba(0, 0, 0, 0.2);
  --theme-midnight-20: rgba(4, 8, 15, 0.9);
  --theme-midnight-21: rgba(30, 17, 10, 0.8);
  --theme-midnight-22: rgba(7, 11, 18, 0.96);
  --theme-midnight-23: #000;
  --theme-midnight-24: rgba(0, 0, 0, 0.35);
  --theme-midnight-25: rgba(0, 0, 0, 0.15);
  --theme-midnight-26: #032314;
  --theme-midnight-27: rgba(20, 35, 28, 0.95);
  --theme-midnight-28: rgba(5, 12, 22, 0.68);
  --theme-midnight-29: rgba(15, 24, 38, 0.98);
  --theme-midnight-30: #072112;

  /* Aurora palette tails. */
  --theme-aurora-01: rgba(123, 191, 231, 0.34);
  --theme-aurora-02: rgba(142, 220, 255, 0.82);
  --theme-aurora-03: rgba(123, 191, 231, 0.36);
  --theme-aurora-04: rgba(77, 198, 255, 0.14);
  --theme-aurora-05: rgba(122, 193, 239, 0.7);
  --theme-aurora-06: rgba(142, 220, 255, 0.88);
  --theme-aurora-07: rgba(97, 172, 227, 0.88);
  --theme-aurora-08: rgba(130, 204, 255, 0.16);
  --theme-aurora-09: rgba(229, 236, 249, 0.9);
  --theme-aurora-10: rgba(96, 158, 212, 0.35);
  --theme-aurora-11: rgba(95, 178, 237, 0.4);
  --theme-aurora-12: rgba(95, 178, 237, 0.22);
  --theme-aurora-13: rgba(122, 193, 239, 0.36);
  --theme-aurora-14: rgba(122, 193, 239, 0.2);
  --theme-aurora-15: rgba(149, 210, 247, 0.5);
  --theme-aurora-16: rgba(132, 202, 246, 0.24);
  --theme-aurora-17: #8fc0f5;
  --theme-aurora-18: #4e8fd4;
  --theme-aurora-19: #062545;
  --theme-aurora-20: rgba(144, 196, 252, 0.72);
  --theme-aurora-21: rgba(144, 196, 252, 0.28);
  --theme-aurora-22: #cde8ff;
  --theme-aurora-23: #d7e7f7;

  /* Spring palette tails. */
  --theme-spring-01: rgba(157, 224, 197, 0.75);
  --theme-spring-02: rgba(157, 224, 197, 0.28);
  --theme-spring-03: rgba(60, 208, 139, 0.38);
  --theme-spring-04: rgba(143, 239, 193, 0.9);
  --theme-spring-05: rgba(157, 224, 197, 0.3);
  --theme-spring-06: rgba(71, 199, 137, 0.34);
  --theme-spring-07: rgba(62, 208, 143, 0.14);
  --theme-spring-08: rgba(166, 246, 207, 0.48);
  --theme-spring-09: rgba(135, 221, 176, 0.48);
  --theme-spring-10: rgba(143, 239, 193, 0.96);
  --theme-spring-11: rgba(62, 208, 143, 0.9);
  --theme-spring-12: rgba(191, 255, 220, 0.95);
  --theme-spring-13: rgba(71, 199, 137, 0.2);
  --theme-spring-14: rgba(157, 248, 203, 0.86);
  --theme-spring-15: rgba(143, 239, 193, 0.75);
  --theme-spring-16: #d9f5e8;
  --theme-spring-17: rgba(74, 216, 154, 0.18);
  --theme-spring-18: rgba(123, 214, 170, 0.65);
  --theme-spring-19: rgba(151, 242, 198, 0.76);
  --theme-spring-20: rgba(86, 210, 152, 0.76);
  --theme-spring-21: rgba(168, 255, 214, 0.9);
  --theme-spring-22: rgba(96, 224, 163, 0.9);
  --theme-spring-23: #91f2c7;
  --theme-spring-24: #32cf87;
  --theme-spring-25: #d9fce9;
  --theme-spring-26: rgba(60, 208, 139, 0.4);
  --theme-spring-27: rgba(143, 239, 193, 0.7);
  --theme-spring-28: #89f0c1;
  --theme-spring-29: #3ccf89;
  --theme-spring-30: rgba(143, 239, 193, 0.45);
  --theme-spring-31: rgba(143, 239, 193, 0.5);

  /* Ember palette tails. */
  --theme-ember-01: rgba(245, 181, 61, 0.36);
  --theme-ember-02: rgba(245, 181, 61, 0.2);
  --theme-ember-03: #ffd8a8;
  --theme-ember-04: rgba(255, 208, 134, 0.16);
  --theme-ember-05: #ffdca7;
  --theme-ember-06: rgba(255, 214, 151, 0.45);
  --theme-ember-07: rgba(207, 200, 186, 0.74);

  /* Rose palette tails. */
  --theme-rose-01: #eef6ff;
  --theme-rose-02: #ffbcc7;
  --theme-rose-03: rgba(255, 198, 209, 0.56);
  --theme-rose-04: rgba(69, 18, 30, 0.55);
  --theme-rose-05: #ffd8de;
  --theme-rose-06: #f2f9ff;
  --theme-rose-07: #ffb3b3;
  --theme-rose-08: #ff5f5f;
  --theme-rose-09: #ca1a1a;
  --theme-rose-10: #ff8c8c;
  --theme-rose-11: #ff5c5c;
  --theme-rose-12: #370909;
  --theme-rose-13: rgba(255, 154, 154, 0.5);
}

html[data-theme="fusedly-light"] {
  color-scheme: light;
  --theme-font-body: "Manrope", sans-serif;
  --theme-font-display: "Bebas Neue", sans-serif;

  --theme-bg-start: #f4f8fc;
  --theme-bg-end: #fbf5ed;
  --theme-panel: rgba(255, 255, 255, 0.9);
  --theme-panel-strong: rgba(255, 255, 255, 0.97);
  --theme-panel-border: rgba(23, 54, 83, 0.1);
  --theme-text: #162433;
  --theme-muted: #657485;
  --theme-link: #2b75bf;
  --theme-link-hover: #0e63ac;
  --theme-accent: #d48b26;
  --theme-success: #2f9f6c;
  --theme-success-soft: #66c999;
  --theme-success-strong: #1f8555;
  --theme-success-contrast: #092b1b;
  --theme-success-text: #103620;
  --theme-success-outline: rgba(47, 159, 108, 0.38);
  --theme-success-outline-soft: rgba(47, 159, 108, 0.16);
  --theme-success-bg: rgba(47, 159, 108, 0.12);
  --theme-success-bg-soft: rgba(47, 159, 108, 0.09);
  --theme-danger: #cf5959;
  --theme-danger-strong: #b94040;
  --theme-danger-soft: #db7a7a;
  --theme-danger-bg: rgba(207, 89, 89, 0.1);
  --theme-ok: #2d8e60;
  --theme-ok-bg: rgba(47, 159, 108, 0.12);
  --theme-shadow-lg: 0 20px 60px rgba(38, 64, 89, 0.1);

  --theme-layer-warm: rgba(245, 181, 61, 0.08);
  --theme-layer-cool: rgba(77, 198, 255, 0.1);
  --theme-layer-danger: rgba(201, 74, 74, 0.06);

  --theme-control-option-bg: #f2f6fa;
  --theme-control-bg: rgba(255, 255, 255, 0.96);
  --theme-placeholder: rgba(22, 36, 51, 0.42);
  --theme-focus-ring: rgba(245, 181, 61, 0.18);

  --theme-button-primary-start: #ffc050;
  --theme-button-primary-end: #ff9f46;
  --theme-button-primary-text: #301907;
  --theme-button-type-text: #321a08;
  --theme-button-secondary-start: #91d5ff;
  --theme-button-secondary-end: #55b5f8;
  --theme-button-secondary-text: #07314b;

  --theme-badge-start: #8ee9bb;
  --theme-badge-end: #35c979;
  --theme-badge-text: #0b311e;

  /* Shared page-role aliases for light mode. */
  --section-divider: rgba(23, 54, 83, 0.12);
  --faq-card-border: rgba(23, 54, 83, 0.14);
  --faq-card-bg: rgba(255, 255, 255, 0.76);

  --surface-raised-border: rgba(23, 54, 83, 0.12);
  --surface-raised-bg: rgba(255, 255, 255, 0.88);
  --surface-raised-bg-hover: rgba(255, 255, 255, 0.97);
  --surface-raised-sheen: rgba(255, 255, 255, 0.92);
  --surface-raised-divider: rgba(23, 54, 83, 0.12);
  --surface-quiet-border: rgba(23, 54, 83, 0.14);
  --surface-quiet-bg: rgba(248, 251, 254, 0.8);
  --surface-quiet-bg-strong: rgba(252, 254, 255, 0.94);
  --surface-quiet-bg-hover: rgba(255, 255, 255, 0.98);
  --surface-quiet-fill: rgba(246, 249, 252, 0.92);
  --surface-quiet-ghost: rgba(255, 255, 255, 0.66);
  --surface-quiet-shadow-inset: rgba(255, 255, 255, 0.78);
  --surface-outline-strong: rgba(23, 54, 83, 0.18);
  --surface-divider: rgba(23, 54, 83, 0.12);
  --surface-tint-bg: rgba(249, 252, 255, 0.88);
  --surface-field-border: rgba(23, 54, 83, 0.16);
  --surface-control-border: rgba(23, 54, 83, 0.2);
  --surface-control-bg: rgba(255, 255, 255, 0.96);
  --surface-control-thumb: #ffffff;
  --surface-hover-outline: rgba(65, 123, 173, 0.28);
  --surface-hover-fill: rgba(239, 246, 251, 0.95);
  --surface-card-border: rgba(23, 54, 83, 0.14);
  --surface-card-highlight: #ffffff;
  --surface-card-sheen: rgba(255, 255, 255, 0.92);

  --select-accent-border: rgba(85, 161, 226, 0.26);
  --select-caret: rgba(23, 54, 83, 0.46);
  --select-divider: rgba(23, 54, 83, 0.12);
  --select-accent-arrow: #55b5f8;
  --select-accent-divider: rgba(85, 161, 226, 0.18);
  --select-accent-bg-start: rgba(255, 255, 255, 0.98);
  --select-accent-bg-end: rgba(245, 249, 253, 1);
  --select-accent-focus-border: rgba(245, 181, 61, 0.48);
  --select-accent-focus-ring: rgba(245, 181, 61, 0.18);
  --select-option-bg-strong: #f1f5f9;
  --panel-subtle-bg: rgba(249, 252, 255, 0.88);
  --panel-emphasis-bg: rgba(245, 248, 251, 0.96);

  --picker-icon: #5d7186;
  --picker-panel-border: rgba(85, 161, 226, 0.22);
  --picker-panel-bg-start: rgba(255, 255, 255, 0.98);
  --picker-panel-bg-end: rgba(246, 250, 253, 1);
  --picker-range-border: rgba(85, 161, 226, 0.24);
  --picker-range-bg: rgba(85, 161, 226, 0.1);
  --picker-range-text: #24527d;
  --picker-selection-border: rgba(245, 181, 61, 0.42);
  --picker-selection-ring: rgba(245, 181, 61, 0.16);

  --movie-summary-border: rgba(245, 181, 61, 0.22);
  --movie-summary-bg-start: rgba(255, 246, 226, 0.96);
  --movie-summary-bg-end: rgba(255, 255, 255, 0.94);
  --restaurant-summary-border: rgba(85, 161, 226, 0.22);
  --restaurant-summary-bg-start: rgba(241, 248, 255, 0.96);
  --restaurant-summary-bg-end: rgba(255, 255, 255, 0.94);
  --summary-card-glint: rgba(255, 255, 255, 0.84);
  --summary-card-shadow: rgba(37, 68, 97, 0.08);

  --autocomplete-panel-bg-start: rgba(255, 255, 255, 0.98);
  --autocomplete-panel-bg-end: rgba(246, 250, 253, 1);
  --autocomplete-panel-border: rgba(85, 161, 226, 0.18);
  --autocomplete-scroll-track: rgba(244, 248, 252, 0.96);
  --autocomplete-scroll-thumb: rgba(85, 161, 226, 0.4);
  --autocomplete-scroll-thumb-start: rgba(145, 213, 255, 0.88);
  --autocomplete-scroll-thumb-end: rgba(85, 181, 248, 0.88);
  --autocomplete-scroll-thumb-border: rgba(255, 255, 255, 0.88);
  --autocomplete-row-hover: rgba(239, 246, 252, 0.94);

  --toggle-track-border: rgba(23, 54, 83, 0.18);
  --toggle-track-bg: rgba(221, 230, 237, 0.82);
  --toggle-thumb-bg: #ffffff;
  --toggle-track-active-bg: rgba(60, 208, 139, 0.42);
  --toggle-track-active-border: rgba(53, 201, 121, 0.45);

  --chip-border: rgba(23, 54, 83, 0.14);
  --chip-bg: rgba(255, 255, 255, 0.82);
  --chip-bg-hover: rgba(250, 252, 255, 0.98);
  --chip-selected-border: rgba(47, 159, 108, 0.3);
  --chip-selected-bg: rgba(47, 159, 108, 0.1);
  --chip-selected-text: #13412a;

  --choice-card-border: rgba(85, 161, 226, 0.18);
  --choice-card-bg-start: rgba(245, 249, 253, 0.96);
  --choice-card-bg-end: rgba(249, 252, 255, 0.94);
  --choice-card-hover-outline: rgba(47, 159, 108, 0.26);
  --choice-card-hover-border: rgba(85, 161, 226, 0.24);
  --choice-card-hover-bg-start: rgba(239, 246, 252, 0.98);
  --choice-card-hover-bg-end: rgba(247, 251, 254, 0.96);
  --choice-card-title: #ad6b1b;
  --choice-action-border: rgba(23, 54, 83, 0.14);
  --choice-action-bg: rgba(239, 244, 248, 0.92);
  --choice-action-text: #a14d69;
  --choice-action-hover-border: rgba(223, 143, 165, 0.26);
  --choice-action-hover-bg: rgba(252, 236, 241, 0.9);
  --choice-action-hover-text: #8d2f4d;
  --choice-checkbox-border: rgba(63, 165, 120, 0.34);
  --choice-checkbox-bg: rgba(255, 255, 255, 0.94);
  --choice-checkbox-inner: rgba(247, 250, 252, 0.82);
  --choice-checkbox-active-start: #90f2c3;
  --choice-checkbox-active-end: #35c979;
  --choice-checkbox-active-border: rgba(53, 201, 121, 0.46);
  --choice-checkbox-active-ring: rgba(53, 201, 121, 0.14);
  --choice-checkbox-check: #ffffff;
  --choice-checkbox-hover-border: rgba(53, 201, 121, 0.38);
  --choice-checkbox-focus-ring: rgba(245, 181, 61, 0.22);
  --selection-label: #1f8555;
  --picker-boundary-bg: rgba(60, 208, 139, 0.12);

  --scroll-track: rgba(244, 248, 252, 0.92);
  --scroll-thumb-start: rgba(144, 196, 252, 0.82);
  --scroll-thumb-end: rgba(85, 181, 248, 0.82);
  --scroll-thumb-hover-start: rgba(144, 196, 252, 0.94);
  --scroll-thumb-hover-end: rgba(85, 181, 248, 0.94);
  --scroll-thumb-border: rgba(255, 255, 255, 0.9);

  --separator-fill: rgba(255, 255, 255, 0.92);
  --menu-surface-bg: rgba(255, 255, 255, 0.98);
  --room-lock-surface-bg: rgba(247, 250, 253, 0.95);
  --deck-card-bg-start: rgba(255, 255, 255, 0.95);
  --deck-card-bg-end: rgba(247, 250, 253, 0.98);
  --deck-card-media-bg: rgba(236, 242, 248, 0.94);
  --media-overlay-bg: rgba(10, 20, 32, 0.8);

  --map-pin-start: #ffb3b3;
  --map-pin-mid: #ff7171;
  --map-pin-end: #d42828;
  --map-pin-shadow: rgba(30, 56, 82, 0.2);
  --map-pin-center-ring: rgba(35, 68, 98, 0.18);

  --summary-link: #2b75bf;
  --summary-link-hover: #0e63ac;
  --meta-accent: #597087;

  --button-no-start: #ff9a9a;
  --button-no-end: #ff5c5c;
  --button-no-text: #370909;
  --button-yes-start: #90f2c3;
  --button-yes-end: #35c979;
  --button-yes-text: #032113;

  --button-loading-start: #91d5ff;
  --button-loading-end: #55b5f8;
  --button-loading-text: #062545;
  --button-loading-border: rgba(85, 161, 226, 0.32);
  --button-loading-ring: rgba(85, 161, 226, 0.14);

  --room-membership-bg: rgba(255, 255, 255, 0.85);
  --room-membership-border: rgba(23, 54, 83, 0.14);
  --room-membership-pending-bg: rgba(255, 239, 218, 0.96);
  --room-membership-pending-text: #9a5a1c;
  --room-membership-pending-border: rgba(245, 181, 61, 0.28);

  --toast-bg: rgba(20, 62, 43, 0.94);
  --toast-text: #f5fff9;
  --toast-border: rgba(78, 190, 140, 0.48);
  --modal-backdrop: rgba(10, 20, 32, 0.24);
  --modal-surface-bg: rgba(255, 255, 255, 0.98);
  --modal-surface-border: rgba(23, 54, 83, 0.14);

  --surface-muted-bg: rgba(246, 249, 252, 0.94);
  --input-border: rgba(23, 54, 83, 0.14);
  --input-bg-muted: rgba(255, 255, 255, 0.9);
  --input-placeholder-soft: rgba(93, 108, 124, 0.54);
  --input-focus-outline: rgba(245, 181, 61, 0.22);
  --summary-chip-border: rgba(23, 54, 83, 0.12);
  --summary-chip-bg: rgba(255, 255, 255, 0.8);
  --list-row-border: rgba(23, 54, 83, 0.12);
  --list-row-bg: rgba(250, 252, 255, 0.86);
  --button-strong-border: rgba(53, 201, 121, 0.28);
  --button-strong-start: #90f2c3;
  --button-strong-end: #35c979;
  --button-strong-text: #032113;
  --status-ok-border: rgba(53, 201, 121, 0.26);
  --status-error-border: rgba(201, 74, 74, 0.22);
}
