/* Magic Home — generated from tokens.json */
@font-face { font-family: "Montserrat"; src: url("fonts/montserrat-latin.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo"; src: url("fonts/archivo-latin.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
:root, [data-theme="ink"] {
  --black: #000000;
  --white: #ffffff;
  --primary: #171616;
  --red: #e1441d;
  --brown: #3f1a03;
  --cream: #f6f1ea;
  --sand: #ebe1d5;
  --clay: #ddcdbb;
  --background-1: #ffffff;
  --background-2: #efefeb;
  --background-3: #d8d7d7;
  --background-4: #c2c1c1;
  --text-1: #171616;
  --text-2: #525050;
  --text-3: #7f7d7d;
  --text-white: #ffffff;
  --stroke-1: rgba(53, 53, 52, 0.2);
  --border-1: #353534;
  --surface-page: var(--background-1);
  --surface-card: var(--background-1);
  --surface-soft: var(--background-2);
  --surface-muted: var(--background-2);
  --surface-inverse: var(--brown);
  --surface-accent: var(--red);
  --text-body: var(--text-1);
  --text-secondary: var(--text-2);
  --text-disabled: var(--text-3);
  --text-on-inverse: var(--text-white);
  --text-on-inverse-secondary: var(--sand);
  --text-on-accent: var(--black);
  --action-primary: var(--brown);
  --action-primary-text: var(--white);
  --action-primary-hover: var(--primary);
  --action-primary-hover-text: var(--white);
  --action-primary-pressed: var(--black);
  --action-primary-inverse: var(--white);
  --action-primary-inverse-text: var(--brown);
  --action-primary-inverse-hover: var(--sand);
  --action-secondary-border: var(--border-1);
  --action-secondary-text: var(--text-1);
  --action-secondary-hover: var(--sand);
  --action-disabled: var(--background-3);
  --control-border: var(--border-1);
  --control-border-active: var(--red);
  --selected-border: var(--primary);
  --selected-mark: var(--red);
  --divider: var(--stroke-1);
  --error-border: var(--red);
  --error-text: var(--text-1);
  --price-text: var(--text-1);
  --price-sale-large: var(--red);
  --price-compare: var(--text-2);
  --badge-accent-bg: var(--red);
  --badge-accent-text: var(--black);
  --badge-ink-bg: var(--brown);
  --badge-ink-text: var(--white);
  --logo-grid: var(--red);
  --chocolate-block: var(--brown);
  --chocolate-face: rgba(255, 255, 255, 0.1);
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #171616;
  --focus-ring-inverse: 0 0 0 2px #171616, 0 0 0 4px #ffffff;
}
:root {
  --space-4: 4px;
  --space-8: 8px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
  --space-128: 128px;
  --module-gap: 8px;
  --page-gutter: 48px;
  --page-gutter-t: 32px;
  --page-gutter-m: 16px;
  --container-max: 1280px;
  --radius-0: 0px;
  --border-hairline: 1px;
  --border-control: 1px;
  --border-selected: 2px;
  --control-lg: 48px;
  --control-md: 40px;
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;
  --font-heading: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-zh-heading: "Montserrat", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
  --font-zh-body: "Archivo", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
}
.t-40-medium { font-family: var(--font-heading); font-size: 40px; line-height: 1.219; font-weight: 600; letter-spacing: 0px; }
.t-28-medium { font-family: var(--font-heading); font-size: 28px; line-height: 1.219; font-weight: 600; letter-spacing: 0px; }
.t-24-medium { font-family: var(--font-heading); font-size: 24px; line-height: 1.219; font-weight: 600; letter-spacing: 0px; }
.t-20-medium { font-family: var(--font-heading); font-size: 20px; line-height: 1.219; font-weight: 600; letter-spacing: 0px; }
.t-18-medium { font-family: var(--font-heading); font-size: 18px; line-height: 1.4; font-weight: 600; letter-spacing: 0px; }
.t-16-medium { font-family: var(--font-heading); font-size: 16px; line-height: 1.219; font-weight: 500; letter-spacing: 0px; }
.t-18-regular { font-family: var(--font-body); font-size: 18px; line-height: 1.4; font-weight: 400; letter-spacing: 0px; }
.t-16-regular { font-family: var(--font-body); font-size: 16px; line-height: 1.6; font-weight: 400; letter-spacing: 0px; }
.t-14-medium { font-family: var(--font-body); font-size: 14px; line-height: 1.088; font-weight: 500; letter-spacing: 0px; }
.t-14-regular { font-family: var(--font-body); font-size: 14px; line-height: 1.6; font-weight: 400; letter-spacing: 0px; }
.t-12-medium { font-family: var(--font-body); font-size: 12px; line-height: 1.088; font-weight: 500; letter-spacing: 0px; }
.t-12-regular { font-family: var(--font-body); font-size: 12px; line-height: 1.088; font-weight: 400; letter-spacing: 0px; }
.zh-40-medium { font-family: var(--font-zh-heading); font-size: 40px; line-height: 1.3; font-weight: 600; letter-spacing: 0px; }
.zh-28-medium { font-family: var(--font-zh-heading); font-size: 28px; line-height: 1.35; font-weight: 600; letter-spacing: 0px; }
.zh-24-medium { font-family: var(--font-zh-heading); font-size: 24px; line-height: 1.4; font-weight: 600; letter-spacing: 0px; }
.zh-20-medium { font-family: var(--font-zh-heading); font-size: 20px; line-height: 1.4; font-weight: 600; letter-spacing: 0px; }
.zh-18-medium { font-family: var(--font-zh-heading); font-size: 18px; line-height: 1.5; font-weight: 600; letter-spacing: 0px; }
.zh-16-medium { font-family: var(--font-zh-heading); font-size: 16px; line-height: 1.5; font-weight: 500; letter-spacing: 0px; }
.zh-18-regular { font-family: var(--font-zh-body); font-size: 18px; line-height: 1.75; font-weight: 400; letter-spacing: 0px; }
.zh-16-regular { font-family: var(--font-zh-body); font-size: 16px; line-height: 1.75; font-weight: 400; letter-spacing: 0px; }
.zh-14-medium { font-family: var(--font-zh-body); font-size: 14px; line-height: 1.5; font-weight: 500; letter-spacing: 0px; }
.zh-14-regular { font-family: var(--font-zh-body); font-size: 14px; line-height: 1.7; font-weight: 400; letter-spacing: 0px; }
.zh-12-medium { font-family: var(--font-zh-body); font-size: 12px; line-height: 1.5; font-weight: 500; letter-spacing: 0px; }
.zh-12-regular { font-family: var(--font-zh-body); font-size: 12px; line-height: 1.5; font-weight: 400; letter-spacing: 0px; }
