/* Workplace visual system — LUNA / Maison Rouge is the default. */
/* v1 production aliases live at the end; Phase 1 variables retain their values. */
:root,
:root[data-theme="maison-rouge"] {
  color-scheme: dark;

  /* Foundation */
  --bg-primary: #0b0809;
  --bg-secondary: #1b0b0d;
  --bg-elevated: #2d0e12;
  --bg-card: rgba(54, 12, 17, .62);
  --bg-card-solid: #261014;
  --feature-wash: rgba(38, 16, 20, .78);
  --bg-well: rgba(3, 2, 3, .52);
  --bg-header: rgba(11, 8, 9, .88);
  --bg-sidebar: #10090b;
  --bg-overlay: rgba(5, 3, 4, .8);
  --border-subtle: rgba(255, 232, 220, .15);
  --border-strong: rgba(255, 213, 184, .34);
  --text-primary: #f8f0e8;
  --text-secondary: #dbc6bd;
  --text-muted: #b99d98;
  --text-faint: #80676a;
  --text-on-accent: #16080a;
  --accent-primary: #faf6f0;
  --accent-primary-hover: #f3e3d9;
  --accent-secondary: #9e1b24;
  --accent-gold: #d6a776;
  --accent-rose: #c94550;
  --status-good: #c4d7bb;
  --status-warm: #e6c29f;
  --focus-ring: #e6c29f;
  --wash-top: rgba(113, 13, 23, .28);
  --wash-bottom: rgba(13, 2, 4, .48);
  --ornament: #e6b28c;
  --ornament-soft: rgba(188, 45, 55, .38);
  --photo-primary: url("LUNA/5.jpg");
  --photo-secondary: url("LUNA/2.jpg");
  --badge-priority-bg: rgba(230, 194, 159, .14);
  --badge-priority-text: #f4d7b7;
  --badge-secondary-bg: rgba(196, 91, 104, .2);
  --badge-secondary-text: #f0b8bc;
  --badge-experimental-bg: rgba(198, 174, 214, .16);
  --badge-experimental-text: #dcc6e8;
  --swatch-one: #36070a;
  --swatch-two: #9e1b24;
  --swatch-three: #e6c29f;
  --swatch-four: #faf6f0;
  --shadow-card: 0 20px 48px -20px rgba(10, 1, 3, .55);
  --shadow-float: 0 28px 70px -24px rgba(10, 1, 3, .7);
  --shadow-button: 0 8px 24px -12px rgba(250, 246, 240, .3);
  --shadow-focus: 0 0 0 3px rgba(230, 194, 159, .38);
  --glass-blur: blur(16px);
  --radius-card: 16px;
  --radius-feature: 24px;
  --radius-control: 10px;
  --motion-ease: cubic-bezier(.4, 0, .2, 1);
  --motion-lift: translateY(-2px);
  --motion-press: scale(.97);

  /* Shared scales */
  /* Manrope unifies Workplace's premium dashboard typography. CJK fallbacks
     keep Chinese readable when the web font is unavailable or still loading. */
  --font-display: "Manrope", "Noto Sans SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  --font-body: "Manrope", "Noto Sans SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", Consolas, monospace;
  --font-size-xs: .72rem;
  --font-size-sm: .82rem;
  --font-size-base: 1rem;
  --font-size-md: 1.125rem;
  --font-size-lg: 1.375rem;
  --font-size-xl: 1.75rem;
  --font-size-2xl: 2.4rem;
  --font-size-3xl: clamp(2.75rem, 5vw, 4.8rem);
  --line-tight: 1.02;
  --line-heading: 1.16;
  --line-body: 1.55;
  --tracking-label: .15em;
  --tracking-display: -.028em;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 48px;
  --space-10: 64px;
  --space-11: 80px;
  --space-12: 96px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-full: 999px;
  --header-height: 72px;
  --sidebar-width: 224px;
  --content-max: 1392px;
  --control-height: 44px;
  --recommendation-min-height: 220px;
  --feature-min-height: 270px;
  --recommendation-mobile-min-height: 190px;
  --workbench-card-min-width: 250px;
  --script-table-min-width: 520px;
  --stroke-hairline: 1px;
  --duration-fast: 140ms;
  --duration-normal: 260ms;
  --duration-theme: 420ms;
}

:root[data-theme="softcore"] {
  color-scheme: light;
  --bg-primary: #fff8f7;
  --bg-secondary: #fdf0f2;
  --bg-elevated: #fffaf7;
  --bg-card: rgba(255, 255, 255, .92);
  --bg-card-solid: #ffffff;
  --feature-wash: rgba(255, 247, 249, .78);
  --bg-well: #f9e5e8;
  --bg-header: rgba(255, 253, 251, .88);
  --bg-sidebar: #fff8f8;
  --bg-overlay: rgba(74, 59, 59, .35);
  --border-subtle: #f1cbd3;
  --border-strong: #e8a9bb;
  --text-primary: #4a3b3b;
  --text-secondary: #665252;
  --text-muted: #92797d;
  --text-faint: #b69ba0;
  --text-on-accent: #ffffff;
  --accent-primary: #e987ae;
  --accent-primary-hover: #d96f99;
  --accent-secondary: #ef9fbd;
  --accent-gold: #b18d58;
  --accent-rose: #e987ae;
  --status-good: #4c9e78;
  --status-warm: #a65d41;
  --focus-ring: #c53878;
  --wash-top: rgba(247, 205, 220, .62);
  --wash-bottom: rgba(225, 218, 244, .48);
  --ornament: #df86a5;
  --ornament-soft: rgba(234, 155, 183, .38);
  --photo-primary: url("SOL/2.jpg");
  --photo-secondary: url("SOL/3.jpg");
  --badge-priority-bg: #fce3ee;
  --badge-priority-text: #9a285f;
  --badge-secondary-bg: #ddf7e9;
  --badge-secondary-text: #286849;
  --badge-experimental-bg: #eae4ff;
  --badge-experimental-text: #5f4d9d;
  --swatch-one: #fffdfb;
  --swatch-two: #f472b6;
  --swatch-three: #a7f3d0;
  --swatch-four: #ddd6fe;
  --shadow-card: 0 12px 30px -8px rgba(244, 114, 182, .18);
  --shadow-float: 0 22px 50px -16px rgba(185, 78, 127, .27);
  --shadow-button: 0 9px 20px -8px rgba(230, 84, 153, .5);
  --shadow-focus: 0 0 0 3px rgba(229, 84, 153, .24);
  --glass-blur: blur(12px);
  --radius-card: 28px;
  --radius-feature: 36px;
  --radius-control: 16px;
  --motion-ease: cubic-bezier(.175, .885, .32, 1.16);
  --motion-lift: translateY(-3px);
  --motion-press: scale(.95);
}

@media (prefers-reduced-motion: reduce) {
  :root { --duration-fast: 0ms; --duration-normal: 0ms; --duration-theme: 0ms; }
}

/* Workplace Design System v1.0 · Balanced Premium / Soft Futuristic.
   Additive semantic tokens: consumed only by design-system.css. */
:root {
  --ds-surface: color-mix(in srgb, var(--bg-card-solid) 64%, var(--bg-primary));
  --ds-surface-raised: var(--bg-card-solid);
  --ds-surface-muted: color-mix(in srgb, var(--bg-secondary) 65%, var(--bg-primary));
  --ds-glass: color-mix(in srgb, var(--bg-header) 90%, transparent);
  --ds-line: color-mix(in srgb, var(--text-primary) 13%, var(--bg-primary));
  --ds-line-active: color-mix(in srgb, var(--accent-gold) 60%, var(--bg-primary));
  --ds-text: var(--text-primary);
  --ds-muted: var(--text-secondary);
  --ds-action: var(--accent-primary);
  --ds-action-text: var(--text-on-accent);
  --ds-accent-ink: var(--badge-priority-text);
  --ds-positive: var(--status-good);
  --ds-shadow: 0 8px 24px -16px rgb(0 0 0 / .48);
  --ds-radius-sm: 10px;
  --ds-radius: 18px;
  --ds-radius-lg: 26px;
  --ds-text-xs: .8125rem;
  --ds-text-sm: .9375rem;
  --ds-text-base: 1rem;
  --ds-title: clamp(2rem, 3.2vw, 3rem);
  --ds-reading: 1.65;
  --ds-page-gap: clamp(20px, 3vw, 40px);
  --ds-panel-pad: 24px;
  /* Semantic flow aliases use the existing --space-* scale in both themes. */
  --flow-copy-gap: var(--space-2);
  --flow-card-gap: var(--space-4);
  --flow-section-gap: var(--space-6);
  --flow-action-gap: var(--space-2);
  --ds-nav-width: 216px;
  --ds-rail-width: 80px;
  --ds-header-height: 72px;
  --ds-tap: 44px;
  --ds-blur: 24px;
  --ds-focus: 2px solid var(--focus-ring);
  --ds-ease: cubic-bezier(.2, .7, .2, 1);
  --ds-speed: 180ms;
}
:root[data-theme="softcore"] {
  --ds-surface: #fffdfc;
  --ds-surface-muted: #fcf0f3;
  --ds-muted: #755c63;
  --ds-action: #a82c60;
  --ds-action-text: #fffafc;
  --ds-accent-ink: #903858;
  --ds-positive: #286849;
  --ds-line: #ead5dc;
  --ds-line-active: #c16e90;
  --ds-shadow: 0 8px 24px -16px rgb(115 50 75 / .22);
}
@media (prefers-reduced-motion: reduce) { :root { --ds-speed: 0ms; } }
