/* Shared restrained tokens from the existing preview; no new colour system. */
form > label {display:grid;gap:8px;margin:16px 0;font-weight:600}
form select,input[type=time] {width:100%;min-width:0;min-height:48px;padding:10px 12px;background:var(--bg);color:var(--ink);border:1px solid var(--control);border-radius:3px}
.city-choices,.trip-actions {display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.city-choices button,.trip-actions button,details > button,.storage-message + ul button {min-height:44px;padding:8px 14px;background:var(--bg);color:var(--ink);border:1px solid var(--control);border-radius:3px}
.place-card {padding:20px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.place-title {display:flex;align-items:center;gap:14px;margin-bottom:12px}
.place-title h3 {margin:0;font-size:20px}
.name-tile {display:grid;place-items:center;flex:0 0 56px;height:56px;background:var(--surface);color:var(--ink);font-size:24px}
.place-card details {margin-top:16px;border-bottom:0}
.place-card a,.transit-card a {display:inline-flex;align-items:center;min-height:44px}
.transit-card {padding:16px 0;border-top:1px solid var(--line);font-size:15px}
.day {background:var(--bg);border-color:var(--line)}
.day h2,.day h3 {color:var(--ink)}
.day .muted,.day .eyebrow {color:var(--muted)}
.route-map {width:100%;height:360px;position:relative;color:#191b1e}
.route-map .maplibregl-ctrl-attrib {font-size:12px}
#day-panel {margin-top:20px}
@media(max-width:700px){.day{padding:16px}.route-map{height:300px}.place-title h3{font-size:18px}}
