:root {
  --bg: #f3efe4;
  --bg2: #e7efe9;
  --card: #fffdf8;
  --paper: #fffdf8;
  --text: #14202b;
  --muted: #5b6670;
  --line: #d7e0d8;
  --gold: #0e7c7b;
  --gold-dim: rgba(14, 124, 123, .16);
  --blue: #0e7c7b;
  --blue-deep: #0a5352;
  --blue-soft: #d8efee;
  --copper: #e4574d;
  --copper-soft: rgba(228, 87, 77, .16);
  --patina: #3d8b6e;
  --red: #c23b32;
  --footer: #14202b;
  --footer-deep: #0d141c;
  --radius: 14px;
  --fs-xs: 0.8125rem;
  --fs-sm: 0.875rem;
  --fs-body: 1rem;
  --fs-md: 1.05rem;
  --shadow: 0 18px 40px rgba(20, 32, 43, .08);
  --header-h: 76px;
  --header-bg: #fffdf8;
  --header-border: #d7e0d8;
  --header-shadow: 0 10px 28px rgba(20, 32, 43, .06);
  --nav-fg: #14202b;
  --body-bg: #f3efe4;
  --hero-bg: transparent;
  --btn: #e4574d;
  --btn-text: #fffdf8;
  --btn-shadow: 0 12px 24px rgba(228, 87, 77, .24);
  --btn-ghost-fg: #0e7c7b;
  --btn-ghost-bg: #fffdf8;
  --btn-ghost-border: #9dcdc9;
  --logo-bg: linear-gradient(160deg, #2aa8a4, #0e7c7b 58%, #0a5352);
  --logo-radius: 10px;
  --logo-shadow: 0 8px 18px rgba(10, 83, 82, .28);
  --badge-bg: #e4574d;
  --panel: #fffdf8;
  --input-bg: #fffdf8;
  --input-fg: #14202b;
  --chip-bg: #d8efee;
  --chip-fg: #0a5352;
  --tile-bg: #fffdf8;
  --teal: #0e7c7b;
  --coral: #e4574d;
  --saffron: #e9b44c;
  --jade: #3d8b6e;
  --plum: #6b4c7a;
  --sky: #3d7ea6;
  --font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;
  color-scheme: light;
}

body.body-m72-harbor {
  background:
    radial-gradient(900px 380px at 100% 0, rgba(233, 180, 76, .16), transparent 50%),
    radial-gradient(800px 320px at 0 12%, rgba(14, 124, 123, .1), transparent 46%),
    var(--body-bg);
  color: var(--text);
}

body.body-m72-harbor .container {
  width: min(1200px, calc(100% - 32px));
}
