/* Shared visual language, adapted from docs/design-sys/공원 N 웹사이트.html. */
:root {
  /* Keep words intact across the app, legal pages and standalone admin tools.
     Unbroken URLs/identifiers may wrap as a last resort on narrow screens. */
  word-break: keep-all;
  overflow-wrap: anywhere;
  color-scheme: light;
  --sky: #7fc6f2;
  --green: #3f9a58;
  --green-strong: #2f7d4a;
  --ink: #141a17;
  --bg: light-dark(#f7f9f6, #101413);
  --bg-alt: light-dark(#eef3f0, #141a17);
  --surface: light-dark(#ffffff, #1c2321);
  --surface-alt: light-dark(#eef3f0, #2a3532);
  --text: light-dark(#141a17, #eef3f0);
  --sub: light-dark(#5b6660, #b9c4bf);
  --faint: light-dark(#697870, #9aa8a2);
  --border: light-dark(#ced6d0, #35413b);
  --border-strong: light-dark(#8d9a92, #63766b);
  --accent: light-dark(#2f7d4a, #8fcdf0);
  --accent-soft: light-dark(#e0efe4, #233c31);
  --accent-ink: light-dark(#ffffff, #101413);
  --primary-bg: light-dark(#141a17, #8fcdf0);
  --primary-fg: light-dark(#ffffff, #101413);
  --hero-sky: light-dark(#e3eef5, #162521);
  --hero-hill: light-dark(#cfe6d6, #1f4a2e);
  --sky-soft: light-dark(#e3eef5, #203a45);
  --ok: light-dark(#2f7d4a, #70cf8e);
  --warn: light-dark(#956411, #e7b85d);
  --danger: light-dark(#b73f34, #f58d82);
  --info: light-dark(#2f7fb0, #8fcdf0);
  --chip: var(--surface-alt);
  --shadow: 6px 6px 0 var(--green-strong);
  --shadow-high: 4px 4px 0 var(--green-strong);
  --radius: 2px;
  --container: 1184px;
  --gutter: 32px;
  --control-height: 44px;
  --font-sans: Pretendard, "Noto Sans KR", system-ui, sans-serif;
  --font-display: var(--font-sans);
  --heading-text: light-dark(#1c2922, #e0e6e1);
  --display-shadow: none;
  --card-surface: var(--surface);
  --card-border: var(--border-strong);
  --card-hover-border: var(--text);
  --card-selected-surface: linear-gradient(155deg, var(--surface) 65%, var(--hero-hill) 65%);
  --card-selected-border: var(--text);
  --card-selected-shadow: 6px 6px 0 var(--green-strong);
  --card-lift: translate(-4px, -4px);
  --card-pressed-lift: translate(-1px, -1px);
  --card-pressed-shadow: 3px 3px 0 var(--green-strong);
  --card-motion-duration: 220ms;
  --ease-out: cubic-bezier(.2, .7, .2, 1);
}
:root[data-theme="dark"] { color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { color-scheme: dark; }
}
@media (max-width: 700px) { :root { --gutter: 20px; } }
@media (max-width: 360px) { :root { --gutter: 12px; } }
@media print { :root { color-scheme: light !important; } }
