:root {
  --ui-font: "Inter Variable", Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --ui-radius-xs: 6px;
  --ui-radius-sm: 8px;
  --ui-radius-md: 10px;
  --ui-radius-card: 14px;
  --ui-radius-panel: 16px;
  --ui-radius-pill: 999px;
  --ui-motion-press: 90ms;
  --ui-motion-hover: 130ms;
  --ui-motion-selection: 170ms;
  --ui-motion-panel: 190ms;
  --ui-motion-data: 260ms;
  --ui-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
}

:root,
:root[data-theme="light"],
.theme-light {
  color-scheme: light;

  --ui-canvas: #f5f7fa;
  --ui-frame: #fbfcfe;
  --ui-surface-1: #ffffff;
  --ui-surface-2: #f7f8fa;
  --ui-surface-3: #eef1f5;
  --ui-surface-inset: #e9edf3;
  --ui-surface-overlay: #ffffff;
  --ui-text-heading: #1c2430;
  --ui-text-reading: #334155;
  --ui-text-primary: #3f4b5d;
  --ui-text-secondary: #5f6b7c;
  --ui-text-tertiary: #8792a3;
  --ui-text-disabled: #b1bac6;
  --ui-text-on-accent: #ffffff;
  --ui-border-subtle: #ebeff4;
  --ui-border-default: #dee3ea;
  --ui-border-strong: #c9d0da;
  --ui-border-emphasis: #adb7c5;
  --ui-accent: #5b50e6;
  --ui-accent-hover: #4f44d4;
  --ui-accent-active: #4339c1;
  --ui-accent-solid: #5146d9;
  --ui-accent-solid-hover: #453ac7;
  --ui-accent-solid-active: #3b31b4;
  --ui-accent-text: #493fbe;
  --ui-accent-soft: #eeecff;
  --ui-accent-soft-hover: #e6e2ff;
  --ui-accent-border: #d4cfff;
  --ui-focus-ring: rgba(81, 70, 217, 0.23);
  --ui-success: #1f8a65;
  --ui-success-hover: #187657;
  --ui-success-soft: #e6f6ef;
  --ui-success-border: #bde6d5;
  --ui-warning: #b86f10;
  --ui-warning-hover: #9f5f0b;
  --ui-warning-soft: #fff3de;
  --ui-warning-border: #efd39f;
  --ui-danger: #c74352;
  --ui-danger-hover: #ad3543;
  --ui-danger-soft: #fcebed;
  --ui-danger-border: #efc2c8;
  --ui-info: #2d73b9;
  --ui-info-soft: #eaf3fc;
  --ui-info-border: #c3dcf2;
  --ui-reading-paragraph-hover: rgba(15, 23, 42, 0.025);
  --ui-reading-paragraph-active: #f1f2ff;
  --ui-reading-word-bg: #e3e7ff;
  --ui-reading-word-hover: #d8ddff;
  --ui-reading-word-text: #3f36aa;
  --ui-reading-selection-bg: rgba(81, 70, 217, 0.22);
  --ui-reading-paper-canvas: #f4f4f1;
  --ui-reading-paper-surface: #fcfcfa;
  --ui-reading-paper-surface-2: #f1f1ed;
  --ui-reading-paper-border: #dedfd9;
  --ui-reading-paper-border-strong: #cfd1ca;
  --ui-reading-paper-text: #343a43;
  --ui-reading-paper-muted: #6b7079;
  --ui-reading-paper-tertiary: #92979e;
  --ui-scrollbar-track: transparent;
  --ui-scrollbar-thumb: #cbd2dc;
  --ui-scrollbar-thumb-hover: #aeb7c4;
  --meta-level-bg: #ebe9ff;
  --meta-level-text: #4b40c4;
  --meta-level-border: #d8d3ff;
  --meta-duration-bg: #e6f7ef;
  --meta-duration-text: #187454;
  --meta-duration-border: #c8ebdc;
  --meta-neutral-bg: #f0f3f7;
  --meta-neutral-text: #5f6978;
  --meta-neutral-border: #e0e5ec;
  --meta-type-bg: #eaf3fc;
  --meta-type-text: #306da7;
  --meta-type-border: #d2e4f4;
  --meta-warning-bg: #fff3de;
  --meta-warning-text: #a9650d;
  --meta-warning-border: #efd39f;
  --meta-success-bg: #e6f6ef;
  --meta-success-text: #207b5e;
  --meta-success-border: #c2e7d8;
  --ui-chart-primary: #5b50e6;
  --ui-chart-secondary: #9aa5b4;
  --ui-chart-grid: #e9edf2;
  --ui-waveform-inactive: #cbd2dd;
  --ui-shadow-card-hover: 0 1px 2px rgba(20, 28, 45, 0.03), 0 8px 22px rgba(20, 28, 45, 0.07);
  --ui-shadow-overlay: 0 1px 2px rgba(20, 28, 45, 0.04), 0 12px 32px rgba(20, 28, 45, 0.11);

  --critical-page-bg: var(--ui-canvas);
  --critical-text-main: var(--ui-text-heading);
  --critical-text-secondary: var(--ui-text-secondary);
  --critical-primary: var(--ui-accent-solid);

  --font-sans: var(--ui-font);
  --font-body: var(--ui-font);
  --radius-sm: var(--ui-radius-sm);
  --radius-md: var(--ui-radius-md);
  --radius-lg: var(--ui-radius-card);
  --radius-pill: var(--ui-radius-pill);
  --motion-fast: var(--ui-motion-hover);
  --motion-base: var(--ui-motion-selection);
  --motion-slow: var(--ui-motion-panel);
  --motion-ease: var(--ui-ease-standard);
  --motion-spring: var(--ui-ease-standard);
  --focus-ring: 0 0 0 3px var(--ui-focus-ring);
  --elevation-1: none;
  --elevation-2: var(--ui-shadow-card-hover);
  --elevation-3: var(--ui-shadow-overlay);

  --platform-light-page-bg: var(--ui-canvas);
  --platform-light-card-bg: var(--ui-surface-1);
  --platform-light-subcard-bg: var(--ui-surface-2);
  --platform-light-line-weak: var(--ui-border-default);
  --platform-light-line-strong: var(--ui-border-strong);
  --platform-light-glass-line: rgba(11, 16, 32, 0.08);
  --platform-light-text-main: var(--ui-text-primary);
  --platform-light-text-secondary: var(--ui-text-secondary);
  --platform-light-text-placeholder: var(--ui-text-tertiary);
  --platform-brand-primary: var(--ui-accent-solid);
  --platform-brand-soft-primary: var(--ui-accent);
  --platform-primary-soft: var(--ui-accent-soft);
  --platform-primary-soft-dark: var(--ui-accent-soft);

  --platform-page-bg: var(--platform-light-page-bg);
  --platform-card-bg: var(--platform-light-card-bg);
  --platform-subcard-bg: var(--platform-light-subcard-bg);
  --platform-line-weak: var(--platform-light-line-weak);
  --platform-line-strong: var(--platform-light-line-strong);
  --platform-glass-line: var(--platform-light-glass-line);
  --platform-text-main: var(--platform-light-text-main);
  --platform-text-secondary: var(--platform-light-text-secondary);
  --platform-text-placeholder: var(--platform-light-text-placeholder);
  --platform-primary: var(--platform-brand-primary);
  --platform-primary-soft-current: var(--platform-primary-soft);
  --platform-selected: var(--platform-brand-primary);
  --platform-icon-muted: var(--platform-light-text-secondary);
  --platform-nav-muted: var(--platform-light-text-secondary);
  --platform-canvas-bg: var(--platform-light-page-bg);

  --aishadoo-bg: var(--platform-page-bg);
  --aishadoo-bg-elevated: var(--ui-frame);
  --aishadoo-primary: var(--platform-primary);
  --aishadoo-primary-strong: var(--ui-accent-solid-hover);
  --aishadoo-primary-pressed: var(--ui-accent-solid-active);
  --aishadoo-card-radius: var(--ui-radius-panel);
  --aishadoo-sub-radius: var(--ui-radius-card);
  --aishadoo-control-radius: var(--ui-radius-md);
  --aishadoo-blur: 10px;
  --aishadoo-border: 1px solid var(--platform-line-weak);
  --aishadoo-ease: var(--motion-ease);
  --aishadoo-duration: var(--motion-base);
  --aishadoo-motion-fast: var(--motion-fast);
  --aishadoo-motion-mid: var(--motion-base);
  --aishadoo-glass: var(--platform-card-bg);
  --aishadoo-glass-strong: var(--platform-card-bg);
  --aishadoo-glass-soft: var(--ui-surface-overlay);
  --aishadoo-surface-matte: var(--platform-card-bg);
  --aishadoo-surface-soft: var(--platform-subcard-bg);
  --aishadoo-surface-accent: var(--ui-accent-soft);
  --aishadoo-sheet-bg: var(--platform-card-bg);
  --aishadoo-sheet-line: color-mix(in srgb, var(--primary) 18%, var(--line));
  --aishadoo-state-layer: color-mix(in srgb, var(--primary) 9%, transparent);
  --aishadoo-text: var(--platform-text-main);
  --aishadoo-text-title: var(--ui-text-heading);
  --aishadoo-text-strong: var(--ui-text-heading);
  --aishadoo-text-body: var(--ui-text-primary);
  --aishadoo-muted: var(--platform-text-secondary);
  --aishadoo-muted-2: var(--platform-text-placeholder);
  --aishadoo-disabled: var(--ui-text-disabled);
  --aishadoo-line: var(--platform-line-weak);
  --aishadoo-line-strong: var(--platform-line-strong);
  --aishadoo-glass-line: var(--platform-glass-line);
  --aishadoo-shadow: var(--elevation-1);
  --aishadoo-shadow-hover: var(--elevation-2);
  --aishadoo-icon-bg: var(--ui-accent-soft);
  --aishadoo-icon-bg-2: var(--ui-surface-3);

  --card-bg: var(--platform-card-bg);
  --card-bg-strong: var(--platform-card-bg);
  --card-bg-soft: var(--platform-subcard-bg);
  --card-bg-accent: var(--ui-accent-soft);
  --card-border: 1px solid var(--platform-line-weak);
  --card-main-bg: var(--platform-card-bg);
  --card-sub-bg: var(--platform-subcard-bg);
  --card-solid-bg: var(--platform-card-bg);
  --card-solid-bg-strong: var(--platform-subcard-bg);

  --accent-blue-soft: var(--ui-info-soft);
  --accent-cyan-soft: var(--ui-success-soft);
  --accent-purple-soft: var(--ui-accent-soft);
  --accent-mint-soft: var(--ui-success-soft);
  --accent-peach-soft: var(--ui-danger-soft);
  --accent-honey-soft: var(--ui-warning-soft);
  --accent-blue-text: var(--ui-info);
  --accent-cyan-text: var(--ui-success);
  --accent-purple-text: var(--ui-accent-text);
  --accent-mint-text: var(--ui-success);
  --accent-peach-text: var(--ui-danger);
  --accent-honey-text: var(--ui-warning);
  --brand-cat-blue: var(--aishadoo-primary);
  --brand-cat-blue-pressed: var(--aishadoo-primary-pressed);
  --brand-book-orange: #ff9f43;
  --brand-success: var(--ui-success);
  --brand-warm-warning: var(--ui-warning);
  --brand-reward: #7c69dc;
  --brand-peach: #fff0f2;
  --brand-soft-bg: var(--aishadoo-bg);

  --bg: var(--aishadoo-bg);
  --bg-elevated: var(--aishadoo-bg-elevated);
  --bg-page: var(--platform-page-bg);
  --bg-sidebar: var(--platform-card-bg);
  --bg-card-container: var(--platform-card-bg);
  --bg-input-inner: var(--platform-subcard-bg);
  --page-bg: var(--platform-page-bg);
  --surface: var(--platform-card-bg);
  --surface-strong: var(--platform-card-bg);
  --surface-soft: var(--platform-subcard-bg);
  --surface-accent: var(--aishadoo-surface-accent);
  --line: var(--platform-line-weak);
  --line-soft: var(--platform-line-weak);
  --line-strong: var(--platform-line-strong);
  --border-normal: var(--platform-line-strong);
  --border-strong: var(--platform-line-strong);
  --primary: var(--aishadoo-primary);
  --primary-strong: var(--aishadoo-primary-strong);
  --primary-pressed: var(--aishadoo-primary-pressed);
  --primary-soft: var(--platform-primary-soft-current);
  --success: var(--ui-success);
  --warning: var(--ui-warning);
  --danger: var(--ui-danger);
  --text: var(--platform-text-main);
  --text-primary: var(--platform-text-main);
  --text-title: var(--aishadoo-text-title);
  --text-strong: var(--aishadoo-text-strong);
  --text-body: var(--aishadoo-text-body);
  --text-assist: var(--platform-text-secondary);
  --text-weak: var(--platform-text-placeholder);
  --muted: var(--platform-text-secondary);
  --muted-2: var(--platform-text-placeholder);
  --disabled: var(--aishadoo-disabled);
  --text-muted: var(--platform-text-secondary);
  --heading-gradient: var(--primary);
  --card-radius: var(--aishadoo-card-radius);
  --control-radius: var(--aishadoo-control-radius);
  --shadow: var(--elevation-1);
  --shadow-hover: var(--elevation-2);
  --press-shadow: none;
  --ease-out-soft: var(--motion-ease);

  --favorite-detail-backdrop: rgba(9, 10, 13, 0.5);
  --favorite-detail-surface: var(--platform-card-bg);
  --favorite-detail-border: var(--platform-line-weak);
  --favorite-detail-shadow: var(--elevation-3);
  --dialog-backdrop: rgba(9, 10, 13, 0.54);
  --dialog-surface: var(--platform-card-bg);
  --dialog-surface-raised: var(--platform-card-bg);
  --dialog-surface-soft: var(--platform-subcard-bg);
  --dialog-border: var(--platform-line-weak);
  --dialog-shadow: var(--elevation-3);

  --app-mobile-vh: 100dvh;
  --mobile-browser-bottom-offset: 0px;
  --mobile-browser-top-offset: 0px;
  --mobile-safe-left: max(0.72rem, env(safe-area-inset-left));
  --mobile-safe-right: max(0.72rem, env(safe-area-inset-right));
  --mobile-bottom-tabs-height: 3.6rem;
  --mobile-tab-page-gap: max(0.5rem, env(safe-area-inset-bottom));
  --mobile-player-control-tab-gap: var(--mobile-tab-page-gap);
  --mobile-nav-total-height: calc(var(--mobile-bottom-tabs-height) + var(--mobile-tab-page-gap) + var(--mobile-browser-bottom-offset));
  --mobile-player-control-height: 3.86rem;
  --mobile-player-stack-height: calc(var(--mobile-nav-total-height) + var(--mobile-player-control-tab-gap) + var(--mobile-player-control-height));
  --mobile-page-bottom-space: calc(var(--mobile-nav-total-height) + 1rem);
  --mobile-overlay-bottom: calc(var(--mobile-nav-total-height) + 0.72rem);
  --mobile-assistant-size: 2.875rem;
  --layer-menu: 1000;
  --layer-drawer: 1100;
  --layer-modal: 1200;
  --layer-toast: 1300;

  --platform-pastel-blue: var(--accent-blue-soft);
  --platform-pastel-cyan: var(--accent-cyan-soft);
  --platform-pastel-purple: var(--accent-purple-soft);
  --platform-pastel-mint: var(--accent-mint-soft);
  --platform-pastel-peach: var(--accent-peach-soft);
  --platform-pastel-honey: var(--accent-honey-soft);
  --platform-pastel-blue-text: var(--accent-blue-text);
  --platform-pastel-cyan-text: var(--accent-cyan-text);
  --platform-pastel-purple-text: var(--accent-purple-text);
  --platform-pastel-mint-text: var(--accent-mint-text);
  --platform-pastel-peach-text: var(--accent-peach-text);
  --platform-pastel-honey-text: var(--accent-honey-text);

  --aishadoo-page-font-scale: 1rem;
  --aishadoo-inner-glow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  --aishadoo-edge-glow: 0 0 0 1px rgba(61, 109, 242, 0.05);
  --aishadoo-edge-glow-hover: 0 0 0 1px rgba(61, 109, 242, 0.12);
  --shadowing-style-name: "Aishadoo Learning Studio";
  --air-glass-shadow: var(--elevation-1);
  --air-glass-shadow-dark: var(--elevation-1);
  --air-glass-inner-line: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  --air-glass-radius: 16px;
  --air-glass-radius-sm: 12px;
  --air-glass-radius-lg: 20px;

  --sw-blue: var(--primary);
  --sw-blue-strong: var(--primary-strong);
  --sw-accent: #5b6cff;
  --sw-accent-2: #7c69dc;
  --sw-bg: var(--platform-page-bg);
  --sw-card: var(--platform-card-bg);
  --sw-card-2: var(--platform-subcard-bg);
  --sw-blue-wash: var(--accent-blue-soft);
  --sw-text: var(--text-body);
  --sw-text-strong: var(--text-title);
  --sw-text-2: var(--muted);
  --sw-text-3: var(--muted-2);
  --sw-line: var(--line);
  --sw-line-2: var(--line-strong);
  --sw-ok: var(--success);
  --sw-warn: var(--warning);
  --sw-danger: var(--danger);
  --sw-radius-card: 16px;
  --sw-radius-sub: 12px;
  --sw-radius-pill: 999px;
  --sw-shadow-card: var(--elevation-1);
  --sw-shadow-pop: var(--elevation-2);
  --sw-fs-display: 2rem;
  --sw-fs-h1: 1.35rem;
  --sw-fs-h2: 1.05rem;
  --sw-fs-body: 0.95rem;
  --sw-fs-sm: 0.82rem;
  --sw-fs-xs: 0.72rem;
}

.theme-dark,
:root[data-theme="dark"] {
  color-scheme: dark;

  --ui-canvas: #090a0d;
  --ui-frame: #0d0f13;
  --ui-surface-1: #13151a;
  --ui-surface-2: #181b21;
  --ui-surface-3: #1e222a;
  --ui-surface-inset: #0b0d11;
  --ui-surface-overlay: #1a1d24;
  --ui-text-heading: #e7eaf0;
  --ui-text-reading: #c8ced8;
  --ui-text-primary: #b6beca;
  --ui-text-secondary: #9aa4b2;
  --ui-text-tertiary: #727c8b;
  --ui-text-disabled: #515a68;
  --ui-text-on-accent: #ffffff;
  --ui-border-subtle: #20242c;
  --ui-border-default: #2a2f39;
  --ui-border-strong: #3a414e;
  --ui-border-emphasis: #4a5362;
  --ui-accent: #776eff;
  --ui-accent-hover: #887fff;
  --ui-accent-active: #665ce8;
  --ui-accent-solid: #635bee;
  --ui-accent-solid-hover: #7168f7;
  --ui-accent-solid-active: #554cd4;
  --ui-accent-text: #b9b3ff;
  --ui-accent-soft: rgba(99, 91, 238, 0.14);
  --ui-accent-soft-hover: rgba(99, 91, 238, 0.2);
  --ui-accent-border: rgba(119, 110, 255, 0.31);
  --ui-focus-ring: rgba(119, 110, 255, 0.31);
  --ui-success: #48c79a;
  --ui-success-hover: #59d5a8;
  --ui-success-soft: rgba(72, 199, 154, 0.12);
  --ui-success-border: rgba(72, 199, 154, 0.24);
  --ui-warning: #efb85b;
  --ui-warning-hover: #f5c46d;
  --ui-warning-soft: rgba(239, 184, 91, 0.12);
  --ui-warning-border: rgba(239, 184, 91, 0.24);
  --ui-danger: #ec6a78;
  --ui-danger-hover: #f17b88;
  --ui-danger-soft: rgba(236, 106, 120, 0.12);
  --ui-danger-border: rgba(236, 106, 120, 0.24);
  --ui-info: #67b5f8;
  --ui-info-soft: rgba(103, 181, 248, 0.12);
  --ui-info-border: rgba(103, 181, 248, 0.23);
  --ui-reading-paragraph-hover: rgba(255, 255, 255, 0.024);
  --ui-reading-paragraph-active: rgba(99, 91, 238, 0.075);
  --ui-reading-word-bg: rgba(119, 110, 255, 0.15);
  --ui-reading-word-hover: rgba(119, 110, 255, 0.22);
  --ui-reading-word-text: #c5c0ff;
  --ui-reading-selection-bg: rgba(119, 110, 255, 0.31);
  --ui-reading-paper-canvas: #0d0f13;
  --ui-reading-paper-surface: #15171c;
  --ui-reading-paper-surface-2: #1b1e24;
  --ui-reading-paper-border: #2b3038;
  --ui-reading-paper-border-strong: #3a414b;
  --ui-reading-paper-text: #cfd2d1;
  --ui-reading-paper-muted: #a1a5a5;
  --ui-reading-paper-tertiary: #747a80;
  --ui-scrollbar-track: #14161b;
  --ui-scrollbar-thumb: #3d434e;
  --ui-scrollbar-thumb-hover: #535b68;
  --meta-level-bg: rgba(119, 110, 255, 0.15);
  --meta-level-text: #b9b3ff;
  --meta-level-border: rgba(119, 110, 255, 0.28);
  --meta-duration-bg: rgba(72, 199, 154, 0.12);
  --meta-duration-text: #79ddb7;
  --meta-duration-border: rgba(72, 199, 154, 0.23);
  --meta-neutral-bg: #1d2128;
  --meta-neutral-text: #a3acb9;
  --meta-neutral-border: #2b313b;
  --meta-type-bg: rgba(103, 181, 248, 0.12);
  --meta-type-text: #8ac8fb;
  --meta-type-border: rgba(103, 181, 248, 0.23);
  --meta-warning-bg: rgba(239, 184, 91, 0.12);
  --meta-warning-text: #f2c875;
  --meta-warning-border: rgba(239, 184, 91, 0.23);
  --meta-success-bg: rgba(72, 199, 154, 0.12);
  --meta-success-text: #79ddb7;
  --meta-success-border: rgba(72, 199, 154, 0.23);
  --ui-chart-primary: #8178ff;
  --ui-chart-secondary: #727c8b;
  --ui-chart-grid: #242933;
  --ui-waveform-inactive: #3a414d;
  --ui-shadow-card-hover: 0 1px 2px rgba(0, 0, 0, 0.2), 0 9px 24px rgba(0, 0, 0, 0.2);
  --ui-shadow-overlay: 0 1px 2px rgba(0, 0, 0, 0.22), 0 14px 38px rgba(0, 0, 0, 0.35);

  --critical-page-bg: var(--ui-canvas);
  --critical-text-main: var(--ui-text-heading);
  --critical-text-secondary: var(--ui-text-secondary);
  --critical-primary: var(--ui-accent-solid);

  --shadowing-night-bg-app: var(--ui-canvas);
  --shadowing-night-bg-shell: var(--ui-frame);
  --shadowing-night-bg-panel: var(--ui-surface-1);
  --shadowing-night-bg-card: var(--ui-surface-2);
  --shadowing-night-bg-elevated: var(--ui-surface-3);
  --shadowing-night-bg-active: var(--ui-accent-soft);
  --shadowing-night-line-weak: var(--ui-border-default);
  --shadowing-night-line-strong: var(--ui-border-strong);
  --shadowing-night-line-accent: var(--ui-accent-border);
  --shadowing-night-text-main: var(--ui-text-heading);
  --shadowing-night-text-body: var(--ui-text-reading);
  --shadowing-night-text-muted: var(--ui-text-secondary);
  --shadowing-night-text-quiet: var(--ui-text-tertiary);
  --shadowing-night-brand: var(--ui-accent-solid);
  --shadowing-night-brand-strong: var(--ui-accent-solid-hover);
  --shadowing-night-brand-soft: var(--ui-accent-soft);
  --shadowing-night-success: var(--ui-success);
  --shadowing-night-warning: var(--ui-warning);
  --shadowing-night-danger: var(--ui-danger);

  --platform-dark-page-bg: var(--shadowing-night-bg-app);
  --platform-dark-canvas-bg: var(--shadowing-night-bg-app);
  --platform-dark-rail-bg: var(--shadowing-night-bg-shell);
  --platform-dark-list-bg: var(--shadowing-night-bg-panel);
  --platform-dark-card-bg: var(--shadowing-night-bg-card);
  --platform-dark-subcard-bg: var(--shadowing-night-bg-elevated);
  --platform-dark-hover-bg: var(--shadowing-night-bg-active);
  --platform-dark-line-weak: var(--shadowing-night-line-weak);
  --platform-dark-line-strong: var(--shadowing-night-line-strong);
  --platform-dark-glass-line: var(--ui-border-subtle);
  --platform-dark-text-main: var(--shadowing-night-text-main);
  --platform-dark-text-secondary: var(--shadowing-night-text-muted);
  --platform-dark-text-placeholder: var(--shadowing-night-text-quiet);
  --platform-dark-secondary-icon: var(--ui-text-secondary);
  --platform-dark-bottom-nav: var(--ui-text-secondary);
  --platform-dark-selected: var(--ui-accent-text);

  --platform-page-bg: var(--platform-dark-page-bg);
  --platform-card-bg: var(--platform-dark-card-bg);
  --platform-subcard-bg: var(--platform-dark-subcard-bg);
  --platform-line-weak: var(--platform-dark-line-weak);
  --platform-line-strong: var(--platform-dark-line-strong);
  --platform-glass-line: var(--platform-dark-glass-line);
  --platform-text-main: var(--platform-dark-text-main);
  --platform-text-secondary: var(--platform-dark-text-secondary);
  --platform-text-placeholder: var(--platform-dark-text-placeholder);
  --platform-primary: var(--shadowing-night-brand);
  --platform-primary-soft-current: var(--platform-primary-soft-dark);
  --platform-selected: var(--platform-dark-selected);
  --platform-icon-muted: var(--platform-dark-secondary-icon);
  --platform-nav-muted: var(--platform-dark-bottom-nav);
  --platform-canvas-bg: var(--platform-dark-canvas-bg);

  --aishadoo-bg: var(--platform-dark-canvas-bg);
  --aishadoo-bg-elevated: var(--platform-dark-rail-bg);
  --aishadoo-primary: var(--shadowing-night-brand);
  --aishadoo-primary-strong: var(--shadowing-night-brand-strong);
  --aishadoo-primary-pressed: var(--ui-accent-solid-active);
  --aishadoo-glass: var(--platform-dark-card-bg);
  --aishadoo-glass-strong: var(--platform-dark-card-bg);
  --aishadoo-glass-soft: var(--ui-surface-overlay);
  --aishadoo-surface-matte: var(--platform-dark-card-bg);
  --aishadoo-surface-soft: var(--platform-dark-subcard-bg);
  --aishadoo-surface-accent: var(--shadowing-night-bg-active);
  --aishadoo-sheet-bg: var(--platform-dark-card-bg);
  --aishadoo-text: var(--shadowing-night-text-main);
  --aishadoo-text-title: var(--shadowing-night-text-main);
  --aishadoo-text-strong: var(--ui-text-heading);
  --aishadoo-text-body: var(--shadowing-night-text-body);
  --aishadoo-muted: var(--shadowing-night-text-muted);
  --aishadoo-muted-2: var(--shadowing-night-text-quiet);
  --aishadoo-disabled: var(--ui-text-disabled);
  --aishadoo-line: var(--shadowing-night-line-weak);
  --aishadoo-line-strong: var(--shadowing-night-line-strong);
  --aishadoo-glass-line: var(--platform-dark-glass-line);
  --aishadoo-shadow: none;
  --aishadoo-shadow-hover: var(--ui-shadow-card-hover);
  --aishadoo-icon-bg: var(--ui-accent-soft);
  --aishadoo-icon-bg-2: var(--ui-surface-3);

  --accent-blue-soft: var(--ui-info-soft);
  --accent-cyan-soft: var(--ui-success-soft);
  --accent-purple-soft: var(--ui-accent-soft);
  --accent-mint-soft: var(--ui-success-soft);
  --accent-peach-soft: var(--ui-danger-soft);
  --accent-honey-soft: var(--ui-warning-soft);
  --accent-blue-text: var(--ui-info);
  --accent-cyan-text: var(--shadowing-night-success);
  --accent-purple-text: var(--ui-accent-text);
  --accent-mint-text: var(--shadowing-night-success);
  --accent-peach-text: var(--shadowing-night-danger);
  --accent-honey-text: var(--shadowing-night-warning);

  --bg: var(--aishadoo-bg);
  --bg-elevated: var(--aishadoo-bg-elevated);
  --bg-page: var(--platform-page-bg);
  --bg-sidebar: var(--platform-dark-rail-bg);
  --bg-card-container: var(--platform-card-bg);
  --bg-input-inner: var(--platform-subcard-bg);
  --page-bg: var(--platform-page-bg);
  --surface: var(--platform-card-bg);
  --surface-strong: var(--platform-dark-subcard-bg);
  --surface-soft: var(--platform-dark-subcard-bg);
  --surface-accent: var(--shadowing-night-bg-active);
  --line: var(--platform-line-weak);
  --line-soft: var(--platform-line-weak);
  --line-strong: var(--platform-line-strong);
  --border-normal: var(--platform-line-strong);
  --border-strong: var(--platform-line-strong);
  --primary: var(--aishadoo-primary);
  --primary-strong: var(--aishadoo-primary-strong);
  --primary-pressed: var(--aishadoo-primary-pressed);
  --primary-soft: var(--platform-primary-soft-current);
  --success: var(--shadowing-night-success);
  --warning: var(--shadowing-night-warning);
  --danger: var(--shadowing-night-danger);
  --text: var(--platform-text-main);
  --text-primary: var(--platform-text-main);
  --text-title: var(--platform-text-main);
  --text-strong: var(--aishadoo-text-strong);
  --text-body: var(--shadowing-night-text-body);
  --text-assist: var(--platform-text-secondary);
  --text-weak: var(--platform-text-placeholder);
  --muted: var(--platform-text-secondary);
  --muted-2: var(--platform-text-placeholder);
  --disabled: var(--aishadoo-disabled);
  --text-muted: var(--platform-text-secondary);
  --heading-gradient: var(--primary);
  --shadow: none;
  --shadow-hover: var(--ui-shadow-card-hover);
  --press-shadow: none;
  --focus-ring: 0 0 0 3px var(--ui-focus-ring);

  --favorite-detail-backdrop: rgba(0, 0, 0, 0.68);
  --favorite-detail-surface: var(--platform-dark-card-bg);
  --favorite-detail-border: var(--platform-dark-line-weak);
  --favorite-detail-shadow: var(--ui-shadow-overlay);
  --dialog-backdrop: rgba(0, 0, 0, 0.7);
  --dialog-surface: var(--platform-dark-card-bg);
  --dialog-surface-raised: var(--platform-dark-subcard-bg);
  --dialog-surface-soft: var(--platform-dark-subcard-bg);
  --dialog-border: var(--platform-dark-line-weak);
  --dialog-shadow: var(--ui-shadow-overlay);

  --platform-pastel-blue: var(--accent-blue-soft);
  --platform-pastel-cyan: var(--accent-cyan-soft);
  --platform-pastel-purple: var(--accent-purple-soft);
  --platform-pastel-mint: var(--accent-mint-soft);
  --platform-pastel-peach: var(--accent-peach-soft);
  --platform-pastel-honey: var(--accent-honey-soft);
  --platform-pastel-blue-text: var(--accent-blue-text);
  --platform-pastel-cyan-text: var(--accent-cyan-text);
  --platform-pastel-purple-text: var(--accent-purple-text);
  --platform-pastel-mint-text: var(--accent-mint-text);
  --platform-pastel-peach-text: var(--accent-peach-text);
  --platform-pastel-honey-text: var(--accent-honey-text);

  --air-glass-shadow: var(--aishadoo-shadow);
  --air-glass-shadow-dark: var(--aishadoo-shadow);
  --air-glass-inner-line: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --sw-blue: var(--primary);
  --sw-blue-strong: var(--primary-strong);
  --sw-bg: var(--platform-page-bg);
  --sw-shell: var(--platform-dark-rail-bg);
  --sw-panel: var(--platform-dark-list-bg);
  --sw-card: var(--platform-dark-card-bg);
  --sw-card-2: var(--platform-dark-subcard-bg);
  --sw-card-raise: var(--platform-dark-subcard-bg);
  --sw-op-zone: var(--shadowing-night-bg-active);
  --sw-blue-wash: var(--shadowing-night-bg-active);
  --sw-text: var(--shadowing-night-text-body);
  --sw-text-strong: var(--shadowing-night-text-main);
  --sw-text-2: var(--shadowing-night-text-muted);
  --sw-text-3: var(--shadowing-night-text-quiet);
  --sw-line: var(--shadowing-night-line-weak);
  --sw-line-2: var(--shadowing-night-line-strong);
  --sw-shadow-card: var(--aishadoo-shadow);
  --sw-shadow-pop: var(--aishadoo-shadow-hover);
}

@media (max-width: 1180px) {
  :root,
  .theme-light {
    --critical-page-bg: var(--ui-canvas);
    --critical-text-main: var(--ui-text-heading);
    --critical-text-secondary: var(--ui-text-secondary);
    --platform-light-page-bg: var(--ui-canvas);
    --platform-light-card-bg: var(--ui-surface-1);
    --platform-light-subcard-bg: var(--ui-surface-2);
    --platform-light-line-weak: var(--ui-border-default);
    --platform-light-line-strong: var(--ui-border-strong);
    --platform-light-glass-line: var(--ui-border-subtle);
    --platform-light-text-main: var(--ui-text-primary);
    --platform-light-text-secondary: var(--ui-text-secondary);
    --platform-light-text-placeholder: var(--ui-text-tertiary);
  }

  .theme-dark,
  :root[data-theme="dark"] {
    --critical-page-bg: var(--ui-canvas);
    --critical-text-main: var(--ui-text-heading);
    --critical-text-secondary: var(--ui-text-secondary);
  }
}

@media (min-width: 1181px) {
  :root {
    --platform-light-page-bg: var(--ui-canvas);
    --platform-light-text-main: var(--ui-text-primary);
    --platform-light-text-secondary: var(--ui-text-secondary);
    --platform-light-text-placeholder: var(--ui-text-tertiary);
    --platform-dark-selected: var(--ui-accent-text);
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  :root {
    --bottom-nav-space: 0rem;
  }
}

@media (max-width: 767px) {
  :root {
    --bottom-nav-space: 4.95rem;
  }
}
