:root {
  --color-ink: #344f48;
  --color-paper: #fff9e9;
  --color-desk: #e7dbc3;
  --color-green: #3e6659;
  --color-green-dark: #304b45;
  --color-vermilion: #ae5946;
  --color-line: #dacbad;
  --color-line-strong: #857a65;
  --color-gold: #edc58a;
  --color-text-muted: #706653;
  --color-text-inverse: #fff9e9;
  --color-disabled-bg: #e3dccd;
  --color-wood: #927354;
  --color-shadow: #344f4833;
  --color-scrim: #344f4866;
  --color-focus: #ad6d3f;
  --font-size-caption: 12px;
  --font-size-table: 14px;
  --font-size-body: 16px;
  --font-size-section: 20px;
  --font-size-heading: 24px;
  --font-size-display: 28px;
  --font-body: "Yu Gothic", "Meiryo", sans-serif;
  --font-heading: "Yu Mincho", "Hiragino Mincho ProN", serif;
  --font-number: "Consolas", "Meiryo", monospace;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --border-thin: 1px;
  --border-state: 2px;
  --border-focus: 3px;
  --radius-none: 0;
  --radius-paper: 2px;
  --radius-control: 4px;
  --radius-panel: 8px;
  --touch-min: 44px;
  --shadow-paper-offset: 2px;
  --shadow-paper-blur: 4px;
  --shadow-panel-offset: 8px;
  --shadow-panel-blur: 16px;
  --breakpoint-wide: 1200px;
  --breakpoint-compact: 800px;
}
.theme--text-100 {
  --font-size-caption: 12px;
  --font-size-table: 14px;
  --font-size-body: 16px;
  --font-size-section: 20px;
  --font-size-heading: 24px;
  --font-size-display: 28px;
}
.theme--text-125 {
  --font-size-caption: 15px;
  --font-size-table: 17.5px;
  --font-size-body: 20px;
  --font-size-section: 25px;
  --font-size-heading: 30px;
  --font-size-display: 35px;
}
.theme--text-150 {
  --font-size-caption: 18px;
  --font-size-table: 21px;
  --font-size-body: 24px;
  --font-size-section: 30px;
  --font-size-heading: 36px;
  --font-size-display: 42px;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--color-desk);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  line-height: 1.6;
}
button {
  min-width: var(--touch-min);
  min-height: var(--touch-min);
  padding: var(--space-8) var(--space-16);
  border: var(--border-thin) solid var(--color-line-strong);
  border-radius: var(--radius-control);
  background: var(--color-paper);
  color: var(--color-ink);
  font: inherit;
  line-height: 1.5;
  overflow-wrap: anywhere;
  cursor: pointer;
}
button:disabled {
  border-color: var(--color-line-strong);
  background: var(--color-disabled-bg);
  color: var(--color-text-muted);
  cursor: not-allowed;
}
button:enabled:active {
  box-shadow: inset 0 0 0 var(--border-state) currentColor;
}
:focus-visible {
  outline: var(--border-focus) solid var(--color-focus);
  outline-offset: var(--border-focus);
}
h1,
h2,
p {
  margin: 0;
}
h1,
h2 {
  font-family: var(--font-heading);
  line-height: 1.35;
}
h1 {
  font-size: var(--font-size-heading);
}
h2 {
  font-size: var(--font-size-section);
}
[hidden] {
  display: none !important;
}
