/* Tugback — generated from tokens.json */
@font-face { font-family: "Bricolage Grotesque"; src: url("../fonts/BricolageGrotesque-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Bricolage Grotesque"; src: url("../fonts/BricolageGrotesque-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("../fonts/InstrumentSans-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("../fonts/InstrumentSans-Italic.ttf") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("../fonts/InstrumentSans-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("../fonts/InstrumentSans-BoldItalic.ttf") format("truetype"); font-weight: 700; font-style: italic; font-display: swap; }
:root, [data-theme="light"] {
  --surface-100: #f7f3ec;
  --surface-200: #ffffff;
  --surface-300: #eee8dd;
  --line: #dcd5c8;
  --line-strong: #7a8079;
  --ink: #0f2a33;
  --ink-muted: #4d5e65;
  --harbor: #0f2a33;
  --on-harbor: #f3efe7;
  --on-harbor-muted: #b9c7cb;
  --tug: #f2602d;
  --on-tug: #0f2a33;
  --tug-text: #b23c10;
  --tug-tint: #fde4d8;
  --sea: #1f6f78;
  --on-sea: #ffffff;
  --sea-tint: #dcedee;
  --rope: #e8c893;
  --late: #9a3412;
  --late-tint: #fce3d6;
  --won: #1d5e8a;
  --won-tint: #dcebf7;
  --neutral-chip: #ece7dd;
  --focus: #1f6f78;
  --shadow-card: 0 1px 2px rgba(15,42,51,0.06), 0 6px 20px rgba(15,42,51,0.06);
  --shadow-float: 0 10px 28px rgba(242,96,45,0.35);
}
[data-theme="dark"] {
  --surface-100: #0b1e25;
  --surface-200: #12303a;
  --surface-300: #1a3a45;
  --line: #2a4a55;
  --line-strong: #6f8a93;
  --ink: #f3efe7;
  --ink-muted: #a9bcc2;
  --harbor: #163b47;
  --on-harbor: #f3efe7;
  --on-harbor-muted: #b9c7cb;
  --tug: #ff7447;
  --on-tug: #0b1e25;
  --tug-text: #ff9a73;
  --tug-tint: #3b2219;
  --sea: #6cc3c9;
  --on-sea: #0b1e25;
  --sea-tint: #173e46;
  --rope: #c9a86f;
  --late: #ffb08f;
  --late-tint: #3d2116;
  --won: #9ccbf0;
  --won-tint: #14324a;
  --neutral-chip: #22424d;
  --focus: #6cc3c9;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.30), 0 6px 20px rgba(0,0,0,0.25);
  --shadow-float: 0 10px 28px rgba(0,0,0,0.45);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 96px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --font-display: "Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif;
  --font-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.display-xl { font-family: var(--font-display); font-size: 64px; line-height: 1.0; font-weight: 700; letter-spacing: -0.02em; }
.display-lg { font-family: var(--font-display); font-size: 44px; line-height: 1.05; font-weight: 700; letter-spacing: -0.02em; }
.amount { font-family: var(--font-display); font-size: 40px; line-height: 1.0; font-weight: 700; letter-spacing: -0.02em; }
.title { font-family: var(--font-display); font-size: 28px; line-height: 1.15; font-weight: 700; letter-spacing: -0.01em; }
.heading { font-family: var(--font-body); font-size: 20px; line-height: 1.3; font-weight: 700; }
.body-lg { font-family: var(--font-body); font-size: 18px; line-height: 1.55; font-weight: 400; }
.body { font-family: var(--font-body); font-size: 16px; line-height: 1.5; font-weight: 400; }
.body-strong { font-family: var(--font-body); font-size: 16px; line-height: 1.5; font-weight: 700; }
.small { font-family: var(--font-body); font-size: 14px; line-height: 1.45; font-weight: 400; }
.caption { font-family: var(--font-body); font-size: 12px; line-height: 1.35; font-weight: 700; letter-spacing: 0.08em; }
