/* Wander — Design System Tokens */
:root {
  --w-yellow: #FFC93C;
  --w-yellow-deep: #F5A623;
  --w-yellow-soft: #FFF4D2;
  --w-yellow-ink: #3A2A06;
  --w-coral: #FF6B5A;
  --w-mint: #2DD4A7;
  --w-lavender: #9B7EDC;
  --w-sky: #4FB7E8;
  --w-clay: #E89B6C;
  --w-ink: #1A1812;
  --w-slate: #4A4538;
  --w-mute: #8A8474;
  --w-line: #E8E3D5;
  --w-cream: #FAF6EC;
  --w-paper: #FFFDF6;
  --w-white: #FFFFFF;
  --map-land: #F4ECD2;
  --map-water: #B8DDEA;
  --map-park: #C8E0A8;
  --map-road: #FFFFFF;
  --w-display: 'Fraunces', 'DM Serif Display', Georgia, serif;
  --w-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --r-sm: 10px; --r-md: 16px; --r-lg: 22px; --r-xl: 28px; --r-pill: 9999px;
  --sh-card: 0 1px 2px rgba(26,24,18,0.04), 0 6px 18px rgba(26,24,18,0.06);
  --sh-pop: 0 8px 24px rgba(26,24,18,0.12);
  --sh-yellow: 0 6px 18px rgba(255,201,60,0.45);
}
* { box-sizing: border-box; }
body, html { margin: 0; padding: 0; font-family: var(--w-sans); color: var(--w-ink); }
.t-display { font-family: var(--w-display); font-weight: 600; letter-spacing: -0.02em; }
.no-scroll::-webkit-scrollbar { display: none; }
.no-scroll { scrollbar-width: none; }
.w-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 52px; padding: 0 24px; border-radius: var(--r-pill);
  background: var(--w-yellow); color: var(--w-yellow-ink);
  font-family: var(--w-sans); font-weight: 700; font-size: 16px;
  border: none; cursor: pointer; box-shadow: var(--sh-yellow);
  transition: transform .12s ease, box-shadow .12s ease;
}
.w-btn:active { transform: translateY(1px) scale(0.99); }
.w-btn--ghost { background: transparent; color: var(--w-ink); box-shadow: inset 0 0 0 1.5px var(--w-line); }
.w-btn--ink { background: var(--w-ink); color: var(--w-yellow); box-shadow: 0 6px 18px rgba(26,24,18,0.25); }
.w-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: var(--r-pill);
  font-size: 12px; font-weight: 600; letter-spacing: 0.01em;
}
.w-chip--free { background: var(--w-mint); color: #003D2C; }
.w-chip--pro  { background: var(--w-ink); color: var(--w-yellow); }
.w-chip--ghost { background: var(--w-paper); color: var(--w-slate); box-shadow: inset 0 0 0 1px var(--w-line); }
.app-scroll { -webkit-overflow-scrolling: touch; }
@keyframes wPulse { 0%,100%{transform:scale(1);opacity:.9} 50%{transform:scale(1.5);opacity:0} }
@keyframes wWave  { 0%{transform:scaleY(0.3)} 50%{transform:scaleY(1)} 100%{transform:scaleY(0.3)} }
@keyframes wFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes wSpin  { to{transform:rotate(360deg)} }
@keyframes wFadeUp{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
