:root {
  color-scheme: light;
  --color-page: #B7E88B;
  --color-surface: #FFFDF3;
  --color-surface-soft: #EAF5DC;
  --color-text: #263D27;
  --color-text-muted: #465B3C;
  --color-primary: #285C33;
  --color-primary-hover: #1D4828;
  --color-on-primary: #FFFFFF;
  --color-accent: #F2BB56;
  --color-accent-hover: #EAA94C;
  --color-on-accent: #3B260D;
  --color-secondary: #F9E48B;
  --color-on-secondary: #263D27;
  --color-border: #638752;
  --color-focus: #175C70;
  --color-success: #25533A;
  --color-success-soft: #E9F4DC;
  --color-success-border: #8CB779;
  --color-stage: #EDF5DD;
  --color-feedback-soft: #F5F7E9;
  --color-focus-soft: #E0F3EA;
  --color-highlight-soft: #FFF4C7;
  --color-highlight-border: #B59442;
  --color-backdrop: rgb(38 61 39 / 38%);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-control: 16px;
  --radius-card: 24px;
  --radius-pill: 999px;
  --shadow-card: 0 4px 0 rgb(68 111 42 / 16%);
  --shadow-selected: 0 0 0 2px var(--color-focus);
  --font-family: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
  --font-display: "Fredoka", "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
  --font-size-small: 14px;
  --font-size-ui: 16px;
  --font-size-body: 18px;
  --font-size-h3: 24px;
  --font-size-h2: 32px;
  --font-size-h1: 40px;
  --line-height-body: 1.5;
  --motion-duration: 180ms;
  --target-size: 48px;
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --opacity-drag: 0.72;
  --opacity-disabled: 0.72;
  --size-game-panel-min-height: 500px;
  --size-game-column-min: 384px;
  --size-stage-max: 320px;
  --size-scenario-icon: 64px;
  --size-item-image: 64px;
  --size-item-choice-min: 112px;
  --size-item-choice-height: 112px;
  --size-category-min-width: 192px;
  --size-progress: 12px;
  --size-feedback-min-height: 48px;
  --layout-game-max-width: 1120px;
  --layout-game-copy-width: 640px;
  --layout-settings-max-width: 720px;
  --layout-dialog-width: 480px;
}
