/*
 * GENERATED FILE - DO NOT EDIT.
 *
 * The Rāśi Tantra Design System tokens, vendored into the web application. The binding
 * source is ui/design-system/, compiled from
 * styles.css and the token files it imports, in that order:
 *
 *   tokens/colors.css
 *   tokens/typography.css
 *   tokens/spacing.css
 *   tokens/layout.css
 *
 * Every @import is hoisted above the rules: CSS requires @import to come first, and a
 * browser drops an out-of-place one silently - the web fonts would simply never load.
 *
 * Regenerate with:
 *
 *   pwsh tools/Sync-DesignTokens.ps1
 *
 * An edit made here is lost on the next run, and fails DesignTokenDriftTests in
 * RashiTantra.E2ETests. Change ui/design-system/ instead.
 *
 * Hand-authored web CSS belongs in base.css and components.css beside this file.
 */

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..600&family=Albert+Sans:ital,wght@0,400..800;1,400..600&family=Noto+Sans+Sinhala:wght@400..700&family=Noto+Sans+Devanagari:wght@400..700&display=swap');

/* Rāśi Tantra — color tokens. Light is default; dark via [data-theme="dark"]. Eye-friendly desaturated palette. */
:root{
--rt-bg:#f4f4f0;--rt-surface:#fdfdfb;--rt-surface-alt:#ebeae3;--rt-line:#dedcd2;
--rt-shadow:0 6px 18px rgba(35,52,50,.10);
--rt-heading:#233432;--rt-text:#3d4a48;--rt-text-soft:#71807d;--rt-meta:#3f7370;--rt-link:#b06a3b;
--rt-primary:#2e5f5b;--rt-on-primary:#f2f7f5;--rt-primary-soft:#dcebe7;
--rt-accent:#c9744a;--rt-on-accent:#fff6ef;--rt-accent-soft:#f4e2d6;
--rt-gold:#e6b95c;--rt-gold-deep:#93712a;--rt-gold-soft:#f7ecd3;
--rt-olive:#7c8b6f;--rt-olive-soft:#e8ecdf;
--rt-rose:#c76379;--rt-rose-soft:#f6e2e6;
--rt-slate:#5c6b68;
--rt-green:#9dc98a;
--rt-good:#4a7440;--rt-good-bg:#e5efdd;
--rt-bad:#a84f38;--rt-bad-bg:#f4e0d8;
--rt-neutral:#3f7370;--rt-neutral-bg:#dcebe7;
--rt-chrome-bg:#1f3835;--rt-chrome-ink:#eef2ec;--rt-chrome-muted:#93aaa4;--rt-tab-active-bg:rgba(238,242,236,.12);
--rt-hero-bg:#182b29;--rt-hero-border:#3a5f59;--rt-hero-title:#e6efec;--rt-hero-text:#b4c9c3;--rt-hero-link:#84b8ad;--rt-hero-chip:rgba(230,239,236,.12);--rt-hero-line:rgba(230,239,236,.18);
--rt-input-bg:#ecece5;--rt-input-ink:#26403c;--rt-input-border:#d7d5c9;--rt-placeholder:#8f9389;
/* semantic aliases */
--surface-page:var(--rt-bg);--surface-card:var(--rt-surface);--surface-sunken:var(--rt-surface-alt);
--text-body:var(--rt-text);--text-heading:var(--rt-heading);--text-muted:var(--rt-text-soft);
--border-default:var(--rt-line);
/* tier colors */
--tier-free:var(--rt-olive);--tier-premium:var(--rt-accent);--tier-pro:var(--rt-gold-deep);
}
[data-theme="dark"]{
--rt-bg:#101917;--rt-surface:#182421;--rt-surface-alt:#1f2e2a;--rt-line:#31443f;
--rt-shadow:0 8px 22px rgba(0,0,0,.45);
--rt-heading:#e8efec;--rt-text:#c3d1cc;--rt-text-soft:#8fa39d;--rt-meta:#7ec4b8;--rt-link:#e0a179;
--rt-primary:#4e9a90;--rt-on-primary:#0d1a18;--rt-primary-soft:#1e3833;
--rt-accent:#d98a63;--rt-on-accent:#1a100a;--rt-accent-soft:#3c281c;
--rt-gold:#e6c072;--rt-gold-deep:#e6c072;--rt-gold-soft:#37301b;
--rt-olive:#a3b391;--rt-olive-soft:#262e1f;
--rt-rose:#d98da0;--rt-rose-soft:#38222a;
--rt-slate:#5c6b68;
--rt-green:#9dc98a;
--rt-good:#9dc98a;--rt-good-bg:#22331d;
--rt-bad:#e09680;--rt-bad-bg:#3d241c;
--rt-neutral:#7ec4b8;--rt-neutral-bg:#1e3833;
--rt-chrome-bg:#0d1715;--rt-chrome-ink:#edf3f0;--rt-chrome-muted:#7f958f;--rt-tab-active-bg:rgba(237,243,240,.10);
--rt-input-bg:#1c2b27;--rt-input-ink:#edf3f0;--rt-input-border:#33493f;--rt-placeholder:#7d8f89;
--tier-free:var(--rt-olive);--tier-premium:var(--rt-accent);--tier-pro:var(--rt-gold);
}

/* Rāśi Tantra — typography. Lora (serif display) + Albert Sans (body).
   Sinhala/Devanagari fall back to Noto stacks for si/hi/sa locales. */
:root{
--font-display:'Lora',Georgia,'Times New Roman',serif;
--font-body:'Albert Sans','Segoe UI',system-ui,-apple-system,sans-serif;
--font-sinhala:'Noto Sans Sinhala','Albert Sans',sans-serif;
--font-devanagari:'Noto Sans Devanagari','Albert Sans',sans-serif;
--fs-display:28px;--fs-title:24px;--fs-card-title:18px;--fs-body:14px;--fs-sub:12.5px;--fs-meta:12px;--fs-eyebrow:10.5px;
--lh-body:1.5;/* @kind other */--lh-display:1.15;/* @kind other */
--ls-eyebrow:1.6px;/* @kind spacing */
}
body{font-family:var(--font-body);color:var(--text-body);font-size:var(--fs-body);line-height:var(--lh-body)}
h1,h2,h3,.rt-serif{font-family:var(--font-display);color:var(--text-heading)}
a{color:var(--rt-link);text-decoration:none}
a:hover{text-decoration:underline}
:lang(si){font-family:var(--font-sinhala)}
:lang(hi),:lang(sa){font-family:var(--font-devanagari)}

/* Rāśi Tantra — spacing, radius, elevation, motion */
:root{
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;
--r-sm:10px;--r-md:16px;--r-lg:20px;--r-pill:999px;
--shadow-card:var(--rt-shadow);
--ease-out:cubic-bezier(.2,.7,.3,1);/* @kind other */--dur-fast:.15s;/* @kind other */--dur-med:.25s;/* @kind other */
--hit-target:44px;
}

/* Rāśi Tantra — responsive layout shell, sanctioned gradients, reading tones. Depends on colors.css.
   Breakpoints (media queries cannot read custom properties, so they live in each stylesheet's
   own @media rules, never in JS):
     phone    < 900px        dark-teal app bar + chart-switcher pill, bottom tab bar, chart bottom-sheet
     drawer   900px–1279px   desktop shell; sidebar becomes an off-canvas drawer behind a menu button
     sidebar  >= 1280px      persistent left sidebar, breadcrumb top bar, multi-column grids
   The gradient and tone aliases resolve where they are declared (:root), so they follow the theme
   only when data-theme sits on <html> — the same rule as every semantic alias in colors.css. */
:root{
--shell-sidebar-w:256px;--shell-topbar-h:58px;--shell-rail-w:196px;
--content-max-wide:1120px;--content-max-narrow:720px;
--auth-panel-w:540px;--auth-col-w:420px;
--scrim-photo:linear-gradient(180deg, rgba(16,25,23,0), rgba(16,25,23,.86) 64%);/* @kind other */
--avatar-disc:linear-gradient(135deg, var(--rt-gold), var(--rt-accent));/* @kind other */
--tone-mixed:var(--rt-gold-deep);--tone-mixed-bg:var(--rt-gold-soft);
}
