/*
 * GENERATED FILE — do not hand-edit.
 *
 * Source of truth: src/constants/theme.ts (colours, radius, spacing, layout
 * roles, stroke weights, shadow flavours, type ramp).
 *
 * Regenerate with `npm run tokens:generate`. A rebase conflict on this file
 * is resolved by regenerating, never by hand-merging — the committed bytes
 * are only ever this generator's own output.
 */

:root {
  /* Radius */
  --radiusTag:7px;
  --radiusSm:11px;
  --radiusMd:13px;
  --radiusCard:14px;
  --radiusForm:15px;
  --radiusLg:16px;
  --radiusField:17px;
  --radiusXl:18px;
  --radiusXxl:20px;
  --radiusTile:22px;
  --radiusPill:999px;

  /* Spacing */
  --spacingHalf:2px;
  --spacingOne:4px;
  --spacingTwo:8px;
  --spacingThree:12px;
  --spacingFour:16px;
  --spacingFive:20px;
  --spacingSix:24px;

  /* Layout roles */
  --layoutScreenGutter:18px;
  --layoutHeaderPad:18px;
  --layoutCardPad:16px;
  --layoutSectionGap:16px;
  --layoutModalPad:18px;
  --layoutListPad:18px;

  /* Stroke weights (unitless — SVG stroke-width scalars) */
  --strokeRegular:2;
  --strokeMedium:2.4;
  --strokeBold:3;

  /* Type roles */
  --typeDisplayFontFamily:'Nunito';
  --typeDisplayFontWeight:900;
  --typeDisplaySize:28px;
  --typeDisplayLineHeight:32px;
  --typeDisplayLetterSpacing:-0.7px;
  --typeTitleFontFamily:'Nunito';
  --typeTitleFontWeight:900;
  --typeTitleSize:26px;
  --typeTitleLineHeight:30px;
  --typeTitleLetterSpacing:-0.6px;
  --typeHeadingFontFamily:'Nunito';
  --typeHeadingFontWeight:900;
  --typeHeadingSize:21px;
  --typeHeadingLineHeight:24px;
  --typeHeadingLetterSpacing:-0.4px;
  --typeSubtitleFontFamily:'Nunito';
  --typeSubtitleFontWeight:900;
  --typeSubtitleSize:18px;
  --typeSubtitleLineHeight:21px;
  --typeSubtitleLetterSpacing:-0.3px;
  --typeBodyLgFontFamily:'Nunito';
  --typeBodyLgFontWeight:600;
  --typeBodyLgSize:16px;
  --typeBodyLgLineHeight:24px;
  --typeBodyFontFamily:'Nunito';
  --typeBodyFontWeight:600;
  --typeBodySize:15px;
  --typeBodyLineHeight:22px;
  --typeExtraBoldFontFamily:'Nunito';
  --typeExtraBoldFontWeight:800;
  --typeExtraBoldSize:14px;
  --typeExtraBoldLineHeight:18px;
  --typeExtraBoldLetterSpacing:-0.2px;
  --typeSmallFontFamily:'Nunito';
  --typeSmallFontWeight:700;
  --typeSmallSize:13px;
  --typeSmallLineHeight:19px;
  --typeMicroFontFamily:'Nunito';
  --typeMicroFontWeight:700;
  --typeMicroSize:12px;
  --typeMicroLineHeight:16px;
  --typeCaptionFontFamily:'Nunito';
  --typeCaptionFontWeight:700;
  --typeCaptionSize:11px;
  --typeCaptionLineHeight:16px;
  --typeLabelFontFamily:'Space Mono';
  --typeLabelFontWeight:700;
  --typeLabelSize:11px;
  --typeLabelLineHeight:16px;
  --typeMonoFontFamily:'Space Mono';
  --typeMonoFontWeight:700;
  --typeMonoSize:13px;
  --typeMonoLineHeight:19px;
}

[data-theme="light"] {
  --coral:#E8643C;
  --coralPress:#BE4E2C;
  --coralSoft:#FBE9E1;
  --teal:#0FA396;
  --tealPress:#0A766C;
  --tealSoft:#E2F3F0;

  --bg:#F2F0E9;
  --surface:#FFFFFF;
  --surface2:#FAF8F4;
  --photo:#E7E5E0;
  --ink:#1C1B18;
  --ink2:rgba(28,27,24,0.64);
  --ink3:rgba(28,27,24,0.40);
  --line:rgba(28,27,24,0.10);
  --hair:rgba(28,27,24,0.06);
  --primary:#E8643C;
  --primaryPress:#BE4E2C;
  --primarySoft:#FBE9E1;
  --swap:#0FA396;
  --swapSoft:#E2F3F0;
  --success:#0FA396;
  --danger:#D9367E;
  --warning:#C98A1E;
  --warningSoft:#FBF0DA;
  --onAccent:#FFFFFF;
  --primaryInk:#B04728;
  --inkPress:rgba(0,0,0,0.45);
  --dangerSoft:rgba(217,54,126,0.12);
  --onFrosted:#1C1B18;
  --shadowInk:#1C1B18;
  --bgg:#FF5100;
  --identity0:#6C4CE0;
  --identity1:#1878CD;
  --identity2:#9C6C19;
  --identity3:#D33971;
  --identity4:#0C847A;
  --identity5:#D34419;
  --identity6:#34853F;

  /* Back-compat alias for the hand-written block's single --shadow (== card) */
  --shadow:0px 8px 30px rgba(28,27,24,0.1);
  --shadowCard:0px 8px 30px rgba(28,27,24,0.1);
  --elevationCard:8;
  --shadowGlow:0px 4px 24px rgba(232,100,60,0.3);
  --elevationGlow:6;
  --shadowRaised:0px 2px 16px rgba(28,27,24,0.08);
  --elevationRaised:3;
  --shadowSm:0px 2px 6px rgba(28,27,24,0.23);
  --elevationSm:3;
  --shadowBadgeHalo:0px 0px 4px rgba(255,255,255,1);
  --elevationBadgeHalo:2;
}

[data-theme="dark"] {
  --coral:#C55533;
  --coralPress:#9E4428;
  --coralSoft:rgba(197,85,51,0.16);
  --teal:#0C8278;
  --tealPress:#086B61;
  --tealSoft:rgba(12,130,120,0.18);

  --bg:#131217;
  --surface:#1E1C23;
  --surface2:#27242D;
  --photo:#2C2A31;
  --ink:#F3F1EA;
  --ink2:rgba(243,241,234,0.66);
  --ink3:rgba(243,241,234,0.55);
  --line:rgba(243,241,234,0.40);
  --hair:rgba(243,241,234,0.16);
  --primary:#C55533;
  --primaryPress:#9E4428;
  --primarySoft:rgba(197,85,51,0.16);
  --swap:#0C8278;
  --swapSoft:rgba(12,130,120,0.18);
  --success:#0C8278;
  --danger:#E84D8A;
  --warning:#E0A43B;
  --warningSoft:rgba(224,164,59,0.20);
  --onAccent:#FFFFFF;
  --primaryInk:#FB6E42;
  --inkPress:rgba(243,241,234,0.66);
  --dangerSoft:rgba(232,77,138,0.20);
  --onFrosted:#1C1B18;
  --shadowInk:#000000;
  --bgg:#FF5100;
  --identity0:#5B3FCB;
  --identity1:#176CB8;
  --identity2:#8A5F16;
  --identity3:#C42F66;
  --identity4:#0A736A;
  --identity5:#C03D17;
  --identity6:#2E7740;

  /* Back-compat alias for the hand-written block's single --shadow (== card) */
  --shadow:0px 10px 34px rgba(0,0,0,0.5);
  --shadowCard:0px 10px 34px rgba(0,0,0,0.5);
  --elevationCard:10;
  --shadowGlow:0px 4px 32px rgba(197,85,51,0.4);
  --elevationGlow:8;
  --shadowRaised:0px 2px 16px rgba(0,0,0,0.08);
  --elevationRaised:3;
  --shadowSm:0px 2px 6px rgba(0,0,0,0.23);
  --elevationSm:3;
  --shadowBadgeHalo:0px 0px 4px rgba(30,28,35,1);
  --elevationBadgeHalo:2;
}
