/* =============================================================================
   Padho.ai — Design System · BASE (standalone reset + type/icon utilities)
   -----------------------------------------------------------------------------
   The .t-* type utilities READ the --text-* tokens generated from theme.css, so
   the type scale is sourced from theme.css and can never drift. (In the app these
   are Tailwind text-* utilities; here we mirror them for standalone previews.)
   ============================================================================ */
* { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body { font-family:var(--font-sans); background:var(--bg); color:var(--text); transition:background var(--dur) var(--ease-standard), color var(--dur) var(--ease-standard); }
a { color:inherit; text-decoration:none; }
svg { display:block; }
:lang(hi), .font-deva { font-family:var(--font-deva); }
::selection { background:var(--primary-soft); color:var(--text); }

/* Icons — lucide-style 24-grid strokes */
.icon { width:20px; height:20px; stroke:currentColor; stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.icon-sm { width:16px; height:16px; }

/* Type scale — every value resolved from theme.css's --text-* tokens */
.t-display { font-family:var(--font-display); font-size:var(--text-display);   line-height:var(--text-display--line-height);   font-weight:var(--text-display--font-weight);   letter-spacing:var(--text-display--letter-spacing); }
.t-h1      { font-family:var(--font-display); font-size:var(--text-h1);        line-height:var(--text-h1--line-height);        font-weight:var(--text-h1--font-weight);        letter-spacing:var(--text-h1--letter-spacing); }
.t-h2      { font-family:var(--font-display); font-size:var(--text-h2);        line-height:var(--text-h2--line-height);        font-weight:var(--text-h2--font-weight);        letter-spacing:var(--text-h2--letter-spacing); }
.t-h3      { font-family:var(--font-display); font-size:var(--text-h3);        line-height:var(--text-h3--line-height);        font-weight:var(--text-h3--font-weight); }
.t-title   { font-size:var(--text-title);     line-height:var(--text-title--line-height);     font-weight:var(--text-title--font-weight); }
.t-body    { font-size:var(--text-body);      line-height:var(--text-body--line-height);      font-weight:var(--text-body--font-weight); }
.t-sm      { font-size:var(--text-body-sm);   line-height:var(--text-body-sm--line-height);   font-weight:var(--text-body-sm--font-weight); }
.t-label   { font-size:var(--text-label);     line-height:var(--text-label--line-height);     font-weight:var(--text-label--font-weight); }
.t-cap     { font-size:var(--text-caption);   line-height:var(--text-caption--line-height);   font-weight:var(--text-caption--font-weight); letter-spacing:var(--text-caption--letter-spacing); text-transform:uppercase; }
.muted     { color:var(--text-muted); }
.subtle    { color:var(--text-subtle); }
