/* Korea Route shared UI: one set of colours, type and controls for every page (start page, setup, trip, guides,
   legal pages, admin). Each page loads this file AFTER its own styles, so the values here win; page files keep only
   what is theirs (layouts and page parts). Change a colour or a button here, not in a page. */
:root {
  --ink:#15202b; --ink2:#4a5866; --ink3:#77838f; --line:#e1e5e9; --bg:#f3f4f6; --card:#ffffff; --soft:#eef2f6;
  --accent:#1e4e8c; --accent-ink:#ffffff; --accent-soft:#e8eff8;
  --river:var(--accent); --river-soft:var(--accent-soft);
  --ok:var(--accent); --good:#116b3a; --bad:#a1101b; --warn:#8a5a00;
  --sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;
  --serif:var(--sans);
  --r-btn:10px; --r-input:10px; --r-card:14px; --r-pill:99px;
  --h1:clamp(28px, 4.4vw, 40px); --h2:clamp(20px, 2.4vw, 26px);
  color-scheme:light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ink:#eef1f4; --ink2:#b4bec8; --ink3:#8a96a3; --line:#2c3640; --bg:#11161b; --card:#1a2128; --soft:#1f2c3b;
    --accent:#7fb0ee; --accent-ink:#0b1620; --accent-soft:#1f2c3b;
    --good:#8fd6aa; --bad:#f0a49c; --warn:#e8c66a;
    color-scheme:dark;
  }
}
:root[data-theme="dark"] {
  --ink:#eef1f4; --ink2:#b4bec8; --ink3:#8a96a3; --line:#2c3640; --bg:#11161b; --card:#1a2128; --soft:#1f2c3b;
  --accent:#7fb0ee; --accent-ink:#0b1620; --accent-soft:#1f2c3b;
  --good:#8fd6aa; --bad:#f0a49c; --warn:#e8c66a;
  color-scheme:dark;
}

/* ---- type ---- */
body { font-family:var(--sans); line-height:1.5; -webkit-font-smoothing:antialiased; }
button, input, select, textarea { font-family:inherit; }
h1 { font-weight:800; letter-spacing:-0.035em; }
.brand { font-weight:800; letter-spacing:-0.03em; }

/* ---- controls: one primary button, one secondary button, one chip, one input everywhere ---- */
.btn.pri, .cta .go, .hub-cta .go, .q-go .go, .hs-btn.go, .nav-go {
  background:var(--accent); border:1px solid var(--accent); color:var(--accent-ink); border-radius:var(--r-btn); font-weight:700;
}
.btn:not(.pri):not(.prem), .cta .ex, .hub-cta .ex, .hs-btn:not(.go) {
  background:var(--card); border:1px solid var(--line); color:var(--ink); border-radius:var(--r-btn); font-weight:700;
}
.chip, .hub-chip { border-radius:var(--r-pill); font-weight:600; }
input[type=text], input[type=email], input[type=date], input[type=time], input[type=number], input:not([type]), select, textarea { border-radius:var(--r-input); }
a:focus-visible, button:focus-visible, [role=radio]:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

/* no blinking text cursor outside the fields you type in (Chrome shows one on tapped text and buttons) */
html { caret-color:transparent; }
input, textarea, select, [contenteditable="true"] { caret-color:auto; }
