/* GENERATED by design/build.ts from design/tokens.ts. Do not edit: change tokens.ts, then run node design/build.ts.
   The ONE token file for the dewx.ai site and app: dark by default, light by the OS or data-theme, and the
   .theme-dark / .theme-light wrappers. The last block keeps every old name working (ARCHITECTURE.md 2.2). */
@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/figtree-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/figtree-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/figtree-latin-600-normal.woff2) format("woff2")}
:root{
  color-scheme:dark light; --surface-page:#181819; --surface-panel:#1f1f20; --surface-raised:#28292b;
  --surface-glass:#383838cc; --surface-media:#1f1f20; --surface-device:#111112; --surface-device-card:#252628;
  --fill-subtle:#ffffff1f; --fill-subtle-hover:#ffffff26; --fill-subtle-pressed:#ffffff2e; --fill-muted:#525456;
  --text-primary:#ffffff; --text-secondary:#f2f7ff87; --text-tertiary:#f1f6ff80; --text-disabled:#f1f6ff5c;
  --text-link:#4b93ff; --text-link-hover:#82b4ff; --action-primary-bg:#1793ff; --action-primary-bg-hover:#19a2ff;
  --action-primary-bg-pressed:#168cf2; --action-primary-fg:#000000; --action-danger-fg:#000000;
  --interaction-hover-filter:brightness(1.1); --interaction-press-filter:brightness(.95); --border-divider:#ffffff1f;
  --border-control:#ffffff5c; --border-accent:#4b93ff40; --border-hairline:inset 0 0 0 1px rgb(255 255 255/.1);
  --focus-ring:#1793ff; --accent-tint-bg:#4b93ff1f; --state-success-solid:#07b123; --state-success-bg:#07b12324;
  --state-success-fg:#45c55a; --state-success-border:#07b12366; --state-success-on-solid:#000000;
  --state-warning-solid:#fa6400; --state-warning-bg:#fa640024; --state-warning-fg:#fca266;
  --state-warning-border:#fa640066; --state-warning-on-solid:#000000; --state-error-solid:#fa4758;
  --state-error-bg:#fa475824; --state-error-fg:#fb7582; --state-error-border:#fa475866;
  --state-error-on-solid:#000000; --overlay-scrim:#00000066; --chat-self-bg:#0074e8; --chat-self-fg:#ffffff;
  --brand-primary:#1793ff; --text-3:#f1f6ff61; --text-4:#f0f6ff4f; --cta:#4b93ff; --cta-hover:#82b4ff; --on-cta:#fff;
  --warn:#fa6400; --font-sans:Figtree,system-ui,-apple-system,sans-serif; --font-signature:Caveat,cursive;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; --font-weight-regular:400;
  --font-weight-medium:500; --font-weight-strong:600; --type-display-size:60px; --type-display-leading:66px;
  --type-display-weight:500; --type-display-tracking:-0.01em; --type-headline-size:40px; --type-headline-leading:46px;
  --type-headline-weight:500; --type-title-page-size:30px; --type-title-page-leading:34px;
  --type-title-page-weight:600; --type-title-page-tracking:-0.01em; --type-title-section-size:24px;
  --type-title-section-leading:30px; --type-title-section-weight:600; --type-title-size:22px;
  --type-title-leading:28px; --type-title-weight:600; --type-body-lg-size:18px; --type-body-lg-leading:26px;
  --type-body-lg-weight:400; --type-body-size:16px; --type-body-leading:22px; --type-body-weight:400;
  --type-label-size:14px; --type-label-leading:20px; --type-label-weight:500; --type-meta-size:13px;
  --type-meta-leading:18px; --type-meta-weight:400; --type-caption-size:12px; --type-caption-leading:16px;
  --type-caption-weight:400; --space-0:0px; --space-2:2px; --space-4:4px; --space-6:6px; --space-8:8px;
  --space-10:10px; --space-12:12px; --space-16:16px; --space-20:20px; --space-24:24px; --space-32:32px;
  --space-40:40px; --space-48:48px; --space-64:64px; --space-96:96px; --space-120:120px; --gap-inline:8px;
  --gap-stack:12px; --gap-section:32px; --pad-card:16px; --pad-dialog:24px; --pad-banner-y:12px; --pad-banner-x:14px;
  --radius-xs:6px; --radius-sm:12px; --radius-md:16px; --radius-lg:22px; --radius-xl:32px; --radius-2xl:48px;
  --radius-pill:9999px; --control-h-xs:28px; --control-h-sm:32px; --control-h-md:36px; --control-h-lg:44px;
  --touch-min:44px; --control-pad-xs:10px; --control-pad-sm:12px; --control-pad-md:14px; --control-pad-lg:16px;
  --border-width:1px; --focus-width:2px; --focus-offset:2px; --shadow-1:0 2px 8px #11111214,0 2px 16px #1111120a;
  --shadow-2:0 4px 12px #1111121f,0 6px 24px #11111214; --shadow-3:0 6px 16px #11111229,0 8px 32px #1111121f;
  --blur-glass:36px; --blur-menu:60px; --duration-instant:80ms; --duration-fast:150ms; --duration-fade:200ms;
  --duration-slow:300ms; --duration-section:500ms; --ease-standard:cubic-bezier(.4,0,.2,1);
  --ease-enter:cubic-bezier(0,0,.2,1); --ease-exit:cubic-bezier(.4,0,1,1); --ease-panel:cubic-bezier(.2,.8,.2,1);
  --motion-rise:6px; --z-raised:1; --z-sticky:10; --z-panel:20; --z-cover:30; --z-skip:40; --opacity-disabled:0.5;
  --opacity-subtle:0.6; --opacity-strong:0.85; --width-sm:360px; --width-md:560px; --width-lg:720px; --width-xl:960px;
  --width-2xl:1240px; --rail-w:72px; --dock-w:440px; --header-h:60px; --bottombar-h:64px;
  --workspace-chat-w:clamp(calc(var(--width-sm) - var(--space-40)),26vw,var(--width-sm));
  --workspace-inspector-w:clamp(calc(var(--width-sm) - var(--space-64)),36cqw,var(--width-sm)); --page-gutter:56px;
  --page-gutter-phone:16px; --icon-xs:12px; --icon-sm:16px; --icon-md:20px; --icon-lg:24px; --icon-stroke:1.7;
  --avatar-xs:28px; --avatar-sm:40px; --avatar-md:64px; --avatar-lg:100px; --avatar-xl:160px; --avatar-2xl:200px;
}
/* Explicit dark beats an OS light preference. */
:root[data-theme="dark"],.theme-dark{
  color-scheme:dark; --surface-page:#181819; --surface-panel:#1f1f20; --surface-raised:#28292b;
  --surface-glass:#383838cc; --surface-media:#1f1f20; --surface-device:#111112; --surface-device-card:#252628;
  --fill-subtle:#ffffff1f; --fill-subtle-hover:#ffffff26; --fill-subtle-pressed:#ffffff2e; --fill-muted:#525456;
  --text-primary:#ffffff; --text-secondary:#f2f7ff87; --text-tertiary:#f1f6ff80; --text-disabled:#f1f6ff5c;
  --text-link:#4b93ff; --text-link-hover:#82b4ff; --action-primary-bg:#1793ff; --action-primary-bg-hover:#19a2ff;
  --action-primary-bg-pressed:#168cf2; --action-primary-fg:#000000; --action-danger-fg:#000000;
  --interaction-hover-filter:brightness(1.1); --interaction-press-filter:brightness(.95); --border-divider:#ffffff1f;
  --border-control:#ffffff5c; --border-accent:#4b93ff40; --border-hairline:inset 0 0 0 1px rgb(255 255 255/.1);
  --focus-ring:#1793ff; --accent-tint-bg:#4b93ff1f; --state-success-solid:#07b123; --state-success-bg:#07b12324;
  --state-success-fg:#45c55a; --state-success-border:#07b12366; --state-success-on-solid:#000000;
  --state-warning-solid:#fa6400; --state-warning-bg:#fa640024; --state-warning-fg:#fca266;
  --state-warning-border:#fa640066; --state-warning-on-solid:#000000; --state-error-solid:#fa4758;
  --state-error-bg:#fa475824; --state-error-fg:#fb7582; --state-error-border:#fa475866;
  --state-error-on-solid:#000000; --overlay-scrim:#00000066; --chat-self-bg:#0074e8; --chat-self-fg:#ffffff;
  --brand-primary:#1793ff; --text-3:#f1f6ff61; --text-4:#f0f6ff4f; --cta:#4b93ff; --cta-hover:#82b4ff; --on-cta:#fff;
  --warn:#fa6400;
}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]){
    color-scheme:light; --surface-page:#fcfcfc; --surface-panel:#e9eaeb; --surface-raised:#f3f4f5;
    --surface-glass:#ffffffc2; --surface-media:#ffffff; --surface-device:#fcfcfc; --surface-device-card:#e9eaeb;
    --fill-subtle:#0000000d; --fill-subtle-hover:#00000013; --fill-subtle-pressed:#0000001a; --fill-muted:#f3f4f5;
    --text-primary:#111112; --text-secondary:#00040996; --text-tertiary:#00071194; --text-disabled:#00071170;
    --text-link:#0064d4; --text-link-hover:#004eab; --action-primary-bg:#0064d4; --action-primary-bg-hover:#005fc9;
    --action-primary-bg-pressed:#005abf; --action-primary-fg:#ffffff; --action-danger-fg:#ffffff;
    --interaction-hover-filter:brightness(.95); --interaction-press-filter:brightness(.9); --border-divider:#0000001a;
    --border-control:#00000073; --border-accent:#0064d440; --border-hairline:inset 0 0 0 1px rgb(0 0 0/.08);
    --focus-ring:#0064d4; --accent-tint-bg:#0064d41f; --state-success-solid:#008200; --state-success-bg:#00820024;
    --state-success-fg:#046605; --state-success-border:#00820066; --state-success-on-solid:#ffffff;
    --state-warning-solid:#c25100; --state-warning-bg:#c2510024; --state-warning-fg:#9d4307;
    --state-warning-border:#c2510066; --state-warning-on-solid:#ffffff; --state-error-solid:#c01f37;
    --state-error-bg:#c01f3724; --state-error-fg:#941c2e; --state-error-border:#c01f3766;
    --state-error-on-solid:#ffffff; --overlay-scrim:#0000001a; --chat-self-bg:#0074e8; --chat-self-fg:#ffffff;
    --brand-primary:#0064d4; --text-3:#0007115e; --text-4:#0008144a; --cta:#0064d4; --cta-hover:#004eab; --on-cta:#fff;
    --warn:#fa6400;
  }
}
:root[data-theme="light"],.theme-light{
  color-scheme:light; --surface-page:#fcfcfc; --surface-panel:#e9eaeb; --surface-raised:#f3f4f5;
  --surface-glass:#ffffffc2; --surface-media:#ffffff; --surface-device:#fcfcfc; --surface-device-card:#e9eaeb;
  --fill-subtle:#0000000d; --fill-subtle-hover:#00000013; --fill-subtle-pressed:#0000001a; --fill-muted:#f3f4f5;
  --text-primary:#111112; --text-secondary:#00040996; --text-tertiary:#00071194; --text-disabled:#00071170;
  --text-link:#0064d4; --text-link-hover:#004eab; --action-primary-bg:#0064d4; --action-primary-bg-hover:#005fc9;
  --action-primary-bg-pressed:#005abf; --action-primary-fg:#ffffff; --action-danger-fg:#ffffff;
  --interaction-hover-filter:brightness(.95); --interaction-press-filter:brightness(.9); --border-divider:#0000001a;
  --border-control:#00000073; --border-accent:#0064d440; --border-hairline:inset 0 0 0 1px rgb(0 0 0/.08);
  --focus-ring:#0064d4; --accent-tint-bg:#0064d41f; --state-success-solid:#008200; --state-success-bg:#00820024;
  --state-success-fg:#046605; --state-success-border:#00820066; --state-success-on-solid:#ffffff;
  --state-warning-solid:#c25100; --state-warning-bg:#c2510024; --state-warning-fg:#9d4307;
  --state-warning-border:#c2510066; --state-warning-on-solid:#ffffff; --state-error-solid:#c01f37;
  --state-error-bg:#c01f3724; --state-error-fg:#941c2e; --state-error-border:#c01f3766;
  --state-error-on-solid:#ffffff; --overlay-scrim:#0000001a; --chat-self-bg:#0074e8; --chat-self-fg:#ffffff;
  --brand-primary:#0064d4; --text-3:#0007115e; --text-4:#0008144a; --cta:#0064d4; --cta-hover:#004eab; --on-cta:#fff;
  --warn:#fa6400;
}
/* Aliases and old names, set wherever a theme is, so they follow it. */
:root,.theme-dark,.theme-light{
  --surface-card:var(--surface-raised); --text-placeholder:var(--text-tertiary);
  --action-primary-bg-disabled:var(--fill-subtle); --action-primary-fg-disabled:var(--text-secondary);
  --action-secondary-bg:var(--surface-glass); --action-secondary-fg:var(--text-primary);
  --action-quiet-bg-hover:var(--fill-subtle); --action-danger-bg:var(--state-error-solid);
  --state-info-solid:var(--action-primary-bg); --state-info-bg:var(--accent-tint-bg);
  --state-info-fg:var(--text-link); --state-info-border:var(--border-accent); --state-neutral-solid:var(--fill-muted);
  --state-neutral-bg:var(--fill-subtle); --state-neutral-fg:var(--text-secondary);
  --chat-other-bg:var(--surface-panel); --bg:var(--surface-page); --panel:var(--surface-panel);
  --panel-2:var(--surface-device-card); --raised:var(--surface-raised); --elev:var(--fill-subtle);
  --elev-hover:var(--fill-subtle-hover); --elev-press:var(--fill-subtle-pressed); --fill-3:var(--fill-muted);
  --divider:var(--border-divider); --glass:var(--surface-glass); --scrim:var(--overlay-scrim);
  --text:var(--text-primary); --text-2:var(--text-secondary); --accent:var(--action-primary-bg);
  --on-accent:var(--action-primary-fg); --link:var(--text-link); --link-hover:var(--text-link-hover);
  --accent-tint:var(--accent-tint-bg); --accent-border:var(--border-accent); --bubble-user:var(--chat-self-bg);
  --on-bubble-user:var(--chat-self-fg); --ok:var(--state-success-solid); --danger:var(--state-error-solid);
  --media:var(--surface-media); --phone:var(--surface-device); --ring:var(--border-hairline);
  --hover:var(--interaction-hover-filter); --press:var(--interaction-press-filter); --e1:var(--shadow-1);
  --e2:var(--shadow-2); --e3:var(--shadow-3); --ease:var(--ease-standard); --dur:.15s; --dur-fade:.2s;
  --r-pill:var(--radius-pill); --r-composer:var(--radius-xl); --r-dialog:var(--radius-xl);
  --r-bubble:var(--radius-lg); --r-bubble-tuck:var(--radius-xs); --r-menu:var(--radius-md); --r-row:var(--radius-sm);
  --r-media:var(--radius-2xl); --r-dashed:10px; --r-tooltip:8px; --h-pill:var(--control-h-md);
  --h-pill-lg:var(--control-h-lg); --font:var(--font-sans); --fw-regular:var(--font-weight-regular);
  --fw-medium:var(--font-weight-medium); --fw-title:var(--font-weight-strong); --fs-body:var(--type-body-size);
  --lh-body:var(--type-body-leading); --fs-label:var(--type-label-size); --lh-label:var(--type-label-leading);
  --fs-meta:var(--type-meta-size); --lh-meta:var(--type-meta-leading); --fs-caption:var(--type-caption-size);
  --lh-caption:var(--type-caption-leading); --fs-title:var(--type-title-size); --lh-title:var(--type-title-leading);
  --ok-tint:color-mix(in srgb,var(--ok) 14%,transparent); --warn-tint:color-mix(in srgb,var(--warn) 14%,transparent);
  --danger-tint:color-mix(in srgb,var(--danger) 14%,transparent);
  --ok-text:color-mix(in srgb,var(--ok) 75%,var(--text)); --warn-text:color-mix(in srgb,var(--warn) 60%,var(--text));
  --danger-text:color-mix(in srgb,var(--danger) 75%,var(--text)); --line:var(--border-divider);
  --line2:var(--border-divider); --dash:var(--text-4); --text2:var(--text-secondary); --text3:var(--text-secondary);
  --ph:var(--text-3); --bubble:var(--surface-panel); --elev2:var(--surface-raised); --pillbg:var(--surface-glass);
  --seg:var(--fill-subtle); --shadow:var(--shadow-3); --hi:var(--ok-text); --hi-bg:var(--ok-tint);
  --mid:var(--warn-text); --mid-bg:var(--warn-tint); --lo:var(--text-secondary); --lo-bg:var(--fill-subtle);
  --ex:var(--danger-text); --ex-bg:var(--danger-tint); --blue:var(--link); --blue-bg:var(--accent-tint);
  --accent-ink:var(--on-accent); --accent-soft:var(--accent-tint); --av-bg:var(--accent); --av-ink:var(--on-accent);
  --r-card:var(--radius-lg); --r-inner:var(--radius-sm); --r-btn:var(--radius-pill);
}
@media (prefers-reduced-motion:reduce){
  :root{
    --duration-instant:.01ms; --duration-fast:.01ms; --duration-fade:.01ms; --duration-slow:.01ms;
    --duration-section:.01ms; --motion-rise:0px;
  }
}
.type-display{font:var(--type-display-weight) var(--type-display-size)/var(--type-display-leading) var(--font-sans);letter-spacing:var(--type-display-tracking)}
.type-headline{font:var(--type-headline-weight) var(--type-headline-size)/var(--type-headline-leading) var(--font-sans)}
.type-title-page{font:var(--type-title-page-weight) var(--type-title-page-size)/var(--type-title-page-leading) var(--font-sans);letter-spacing:var(--type-title-page-tracking)}
.type-title-section{font:var(--type-title-section-weight) var(--type-title-section-size)/var(--type-title-section-leading) var(--font-sans)}
.type-title{font:var(--type-title-weight) var(--type-title-size)/var(--type-title-leading) var(--font-sans)}
.type-body-lg{font:var(--type-body-lg-weight) var(--type-body-lg-size)/var(--type-body-lg-leading) var(--font-sans)}
.type-body{font:var(--type-body-weight) var(--type-body-size)/var(--type-body-leading) var(--font-sans)}
.type-label{font:var(--type-label-weight) var(--type-label-size)/var(--type-label-leading) var(--font-sans)}
.type-meta{font:var(--type-meta-weight) var(--type-meta-size)/var(--type-meta-leading) var(--font-sans)}
.type-caption{font:var(--type-caption-weight) var(--type-caption-size)/var(--type-caption-leading) var(--font-sans)}
