/* Shared travel UI: white surfaces, readable contrast and a consistent mobile home. */
:root { color-scheme: light; --tm-blue:#3563e9; --tm-ink:#18243a; --tm-muted:#627089; --tm-line:#e5eaf2; --tm-coral:#ff6b59; --ink:#18243a; --blue:#3563e9; --line:#e5eaf2; --paper:#fff; }
html { background:#fff; scroll-padding-block-start:86px; }
body { background:#fff; color:var(--tm-ink); font-family:Inter,"Noto Sans KR","Segoe UI",Arial,sans-serif; }
body [hidden] { display:none!important; }
button,input,select,textarea { font:inherit; }
:focus-visible { outline:3px solid #3563e9; outline-offset:3px; }
.tm-brand { color:#18243a; }
.tm-wordmark b { color:#3563e9; }
.section-heading,.auth-card h1,.auth-page h1 { font-family:inherit; letter-spacing:-.04em; }
.j-header,.trip-header,.ta-header,.ag-header { background:#fff; border-color:var(--tm-line); }
.j-header nav a,.trip-header a:not(.tm-brand) { color:#475a77; }
.j-card,.card { border-color:var(--tm-line); box-shadow:0 6px 24px rgb(34 57 98 / 4%); }
.j-button,.btn--primary { background:#3563e9; color:#fff; }
.j-button:hover,.btn--primary:hover { background:#254dc1; }
.j-button--light,.j-button.secondary,.j-button--ghost,.btn--ghost { background:#fff; color:#294b9b; border:1px solid #dce5f4; }
.j-tabs { background:#fff; border-color:#e5eaf2; }
.j-tabs button[aria-current="page"] { color:#3563e9; border-color:#3563e9; }
.j-hero-note { background:#f0f5ff; border:1px solid #e1e9f9; }
.j-kicker,.eyebrow { color:#3563e9; }
.guide-shell { padding-top:38px; }
.guide-shell > h1 { max-width:850px; letter-spacing:-.045em; }
.guide-nav { background:#fff; border-color:#e5eaf2; }
.guide-nav a { border:1px solid #e5eaf2; border-radius:999px; padding:10px 15px; color:#344b72; background:#fff; }
.guide-nav a:hover { background:#f0f5ff; color:#254dc1; }
.guide-shell .j-card { padding:28px; border-radius:22px; }
.guide-country select,.guide-shell input,.guide-shell select { background:#fff; border-color:#dce4ef; border-radius:12px; }
.guide-plan-link { background:#3563e9; color:#fff; border-radius:999px; }
.auth-page { background:#fff; }
.auth-page__main { max-width:620px; }
.auth-page .auth-card { border:1px solid #e5eaf2; border-radius:24px; background:#fff; box-shadow:0 16px 56px rgb(41 74 123 / 7%); }
.auth-page .auth-page__lead { color:#627089; }
.auth-page .oauth-button { background:#fff; border-color:#dfe7f2; }
.auth-page .field input { background:#f8faff; border-color:#dfe7f2; border-radius:12px; }
.tm-bottom-nav { display:none; }
@media(max-width:760px) {
  html { scroll-padding-block-start:72px; }
  body[data-tm-shell] { padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
  body[data-tm-shell] .mobile-nav { display:none; }
  .tm-bottom-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:fixed; z-index:45; inset:auto 0 0; padding:7px max(8px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px)); background:rgb(255 255 255 / 97%); border-top:1px solid #e5eaf2; box-shadow:0 -4px 20px rgb(28 50 88 / 4%); backdrop-filter:blur(16px); }
  .tm-bottom-nav a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:52px; min-width:0; text-decoration:none; color:#6a7890; font-size:10px; font-weight:650; line-height:1.2; padding:4px 1px; text-align:center; border-radius:12px; }
  .tm-bottom-nav a[aria-current="page"] { color:#3563e9; background:#f0f5ff; }
  .tm-bottom-nav svg { width:23px; height:23px; flex:none; }
  .tm-bottom-nav a:focus-visible { outline-offset:-3px; }
  .j-header,.trip-header { padding-inline:16px; min-height:66px; gap:12px; }
  .j-header nav { gap:12px; }
  .guide-shell { padding-top:24px; }
  .guide-shell > h1 { font-size:34px; }
  .guide-shell .j-card { padding:20px; border-radius:18px; }
  .guide-nav { gap:8px; }
  .guide-nav a { padding:10px 12px; font-size:12px; }
  .auth-page .auth-card { padding:22px 18px; }
  .j-toast,.ta-toast { bottom:calc(92px + env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { scroll-behavior:auto!important; } }
@media print { .tm-bottom-nav { display:none!important; } body[data-tm-shell] { padding-bottom:0; } }
@media(max-width:760px) { #tripCollaboration #chatForm { bottom:calc(76px + env(safe-area-inset-bottom,0px)); } }
@media(max-width:360px) { .tm-home .nav-island { width:calc(100% - 24px);grid-template-columns:minmax(0,1fr) auto;gap:6px; } .tm-home .language-control svg { display:none; } .tm-home .language-control select { max-width:78px; } .tm-home .language-control { padding-inline:6px; } }
