/* Generated from tokens.json. Do not edit by hand. */
@font-face { font-family: "Poppins"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/Poppins-Regular.ttf") format("truetype"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-style: normal; font-display: swap; src: url("fonts/Poppins-Medium.ttf") format("truetype"); }
@font-face { font-family: "Poppins"; font-weight: 600; font-style: normal; font-display: swap; src: url("fonts/Poppins-SemiBold.ttf") format("truetype"); }
@font-face { font-family: "Material Symbols Rounded"; font-style: normal; font-display: block; src: url("icons/MaterialSymbolsRounded-subset.ttf") format("truetype"); }
.ms { font-family: "Material Symbols Rounded"; font-weight: normal; font-style: normal; line-height: 1; font-size: 24px; display: inline-block; flex: none; font-variation-settings: "FILL" 0, "opsz" 24; -webkit-font-smoothing: antialiased; }
.ms.fill { font-variation-settings: "FILL" 1, "opsz" 24; }
.ms.s20 { font-size: 20px; font-variation-settings: "FILL" 0, "opsz" 20; }
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 28px;
  --radius-full: 999px;
  --font-sans: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
:root, [data-theme="light"] {
  --surface-page: #FDF8FE;
  --surface-card: #FFFFFF;
  --surface-variant: #F6F2FA;
  --photo-ground: #FFFFFF;
  --ink: #1D1B1E;
  --ink-muted: #625B67;
  --brand: #8E4064;
  --on-brand: #FFFFFF;
  --brand-container: #F8DDE9;
  --on-brand-container: #5E1F40;
  --accent: #63519F;
  --on-accent: #FFFFFF;
  --accent-container: #E7DEFC;
  --on-accent-container: #1D0D75;
  --price: #44546D;
  --success: #2E7A35;
  --success-container: #DDF3DB;
  --on-success-container: #173D1A;
  --danger: #C52A1D;
  --danger-container: #FADAD6;
  --on-danger-container: #5A0F0A;
  --reserved: #8A5A00;
  --reserved-container: #FFEFC7;
  --outline: #7C7483;
  --divider: #E3DEE8;
  --focus-ring: #63519F;
  --inverse-surface: #322F35;
  --on-inverse-surface: #F5EFF7;
  --inverse-action: #F0A8C6;
  --ribbon-sun: #F5C96C;
  --ribbon-coral: #E96E6A;
  --ribbon-magenta: #CD4385;
  --ribbon-violet: #93379C;
  --ribbon-indigo: #35319C;
  --shadow-card: 0 1px 2px rgba(29,27,30,0.10), 0 2px 8px rgba(29,27,30,0.08);
  --shadow-raised: 0 2px 4px rgba(29,27,30,0.12), 0 8px 20px rgba(29,27,30,0.12);
  color-scheme: light;
}
[data-theme="dark"] {
  --surface-page: #151117;
  --surface-card: #1F1A22;
  --surface-variant: #2A242E;
  --photo-ground: #FFFFFF;
  --ink: #EFE7F1;
  --ink-muted: #BDB3C2;
  --brand: #F0A8C6;
  --on-brand: #4A1230;
  --brand-container: #6B2A4B;
  --on-brand-container: #FFD9E8;
  --accent: #C9BEFF;
  --on-accent: #2F2070;
  --accent-container: #473B80;
  --on-accent-container: #E7DEFC;
  --price: #AFC4E0;
  --success: #7FD27A;
  --success-container: #1F3D1F;
  --on-success-container: #CDEFCB;
  --danger: #FFB4A8;
  --danger-container: #5C1A14;
  --on-danger-container: #FFDAD4;
  --reserved: #F5C96C;
  --reserved-container: #3B2F0E;
  --outline: #9A90A0;
  --divider: #3A3340;
  --focus-ring: #C9BEFF;
  --inverse-surface: #E8E0EA;
  --on-inverse-surface: #322F35;
  --inverse-action: #8E4064;
  --ribbon-sun: #F5C96C;
  --ribbon-coral: #E96E6A;
  --ribbon-magenta: #CD4385;
  --ribbon-violet: #93379C;
  --ribbon-indigo: #35319C;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.60), 0 2px 8px rgba(0,0,0,0.40);
  --shadow-raised: 0 2px 4px rgba(0,0,0,0.70), 0 8px 20px rgba(0,0,0,0.50);
  color-scheme: dark;
}
.title-lg { font-family: var(--font-sans); font-size: 22px; line-height: 28px; font-weight: 600; }
.title-md { font-family: var(--font-sans); font-size: 18px; line-height: 24px; font-weight: 600; }
.title-sm { font-family: var(--font-sans); font-size: 16px; line-height: 22px; font-weight: 600; }
.body-lg { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.body-md { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 400; }
.label-lg { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }
.label-md { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 500; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 400; }
.price-lg { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 600; }
.price-md { font-family: var(--font-sans); font-size: 16px; line-height: 22px; font-weight: 600; }
/* web */
:root {
  --web-max-width: 1120px;
  --web-reading-width: 680px;
  --web-gutter: 16px;
  --web-section-gap: 48px;
  --web-header-min-height: 64px;
}
@media (min-width: 768px) { :root {
  --web-gutter: 32px;
} }
.web-display { font-family: var(--font-sans); font-size: 36px; line-height: 44px; font-weight: 600; }
.web-h1 { font-family: var(--font-sans); font-size: 30px; line-height: 38px; font-weight: 600; }
.web-h2 { font-family: var(--font-sans); font-size: 24px; line-height: 32px; font-weight: 600; }
@media (min-width: 1100px) {
  .web-display { font-size: 48px; line-height: 56px; }
  .web-h1 { font-size: 36px; line-height: 44px; }
  .web-h2 { font-size: 28px; line-height: 36px; }
}
.web-link { color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.web-link:hover { text-decoration-thickness: 2px; }
.web-link:active { color: var(--brand); text-decoration-thickness: 2px; }
.web-link:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; border-radius: var(--radius-sm); }
