:root{--paper: #eef1ef;--ink: #15241f;--muted: #5b6b65;--line: #c9d2cd;--card: #ffffff;--red: #c8202a;--blue: #1d5cb0;--green: #1b7d46;--yellow: #edb900;--map-bg: #dce5df;--map-mountain-1: #c9d6ce;--map-mountain-2: #bfccc4;--brand: var(--ink);--brand-on: var(--paper);--accent: var(--line);--accent-on: var(--ink);--header-bg: var(--brand);--header-on: var(--brand-on);--button-bg: var(--brand);--button-on: var(--brand-on);--stop-banner-bg: var(--accent);--stop-banner-on: var(--accent-on)}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--paper)}h1,h2{letter-spacing:-.02em}.tabular-nums{font-variant-numeric:tabular-nums}.hop-step-axis{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0}.hop-step-axis li{position:relative}.hop-step-axis li:not(:last-child):after{content:"";position:absolute;left:6px;top:17px;bottom:0;width:2px;background:var(--line)}:root{--focus-outline-offset: 2px}:focus-visible{outline:3px solid var(--yellow);outline-offset:var(--focus-outline-offset)}*{box-sizing:border-box}html,body,#app{height:100%}body{display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;min-height:100vh}.top{display:flex;align-items:center;gap:10px;padding:16px 18px 10px;min-height:62px;margin:12px 20px 10px;border-radius:20px;background:var(--stop-banner-bg);color:var(--stop-banner-on)}.screen--entry .top{margin-bottom:0;border-radius:20px 20px 0 0}.screen--entry main{padding-top:0}.back{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--ink)}.mode{margin-left:auto;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 9px}.weak{background:var(--yellow);color:var(--ink);font-size:14px;padding:9px 20px;line-height:1.35}main{flex:1;overflow-y:auto;padding:6px 20px 20px}.cta{padding:12px 20px 20px;border-top:1px solid var(--line);display:grid;gap:10px}h1{font-size:32px;line-height:1.08;letter-spacing:-.025em}h2{font-size:15px;font-weight:600;margin:22px 0 10px}.sub{color:var(--muted);font-size:15px;line-height:1.45}.here{display:flex;gap:14px;align-items:center;margin:10px 0 8px}.stopCard{background:var(--stop-banner-bg);color:var(--stop-banner-on);border-radius:0 0 20px 20px;padding:16px 18px 14px;margin:0 0 16px}.stopCard .sub{color:inherit;opacity:.75}.row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid var(--line);border-radius:16px;width:100%;background:var(--card);text-align:left;font:inherit;color:inherit;cursor:pointer;margin-bottom:10px}.row:last-child{margin-bottom:0}.row .name{font-weight:600;font-size:17px}.row .meta{color:var(--muted);font-size:14px;margin-top:2px}.row .price{margin-left:auto;font-weight:700;font-size:18px;white-space:nowrap}.search{width:100%;height:52px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font-size:17px;background:#fff;margin:14px 0 6px;color:var(--ink)}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted);margin:8px 0 4px}.legend span{display:flex;gap:6px;align-items:center}.total{display:flex;justify-content:space-between;align-items:baseline;font-size:16px}.total b{font-size:26px}.field{width:100%;height:52px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font-size:18px;background:#fff;color:var(--ink)}.pay{display:grid;gap:8px}.pay label{display:flex;align-items:center;gap:12px;min-height:54px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;font-size:17px;cursor:pointer}.pay label.checked{border-color:var(--ink)}.pay input{width:20px;height:20px;accent-color:var(--ink)}.big{font-size:112px;font-weight:800;line-height:.9;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.big small{font-size:28px;letter-spacing:0;margin-left:6px}.map{margin:14px -20px 6px;background:var(--map-bg);height:210px;position:relative}.map svg{width:100%;height:100%;display:block}body.lite .map{display:none}.hint{font-size:14px;color:var(--muted);margin-top:14px;line-height:1.45}.spinner-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:18px;text-align:center;padding-top:30vh}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--ink);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}
