:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--surface-2:#f2f1ed;--ink:#0b0b0b;--ink-2:#52514e;--muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--border-strong:#0b0b0b38;--accent:#2a78d6;--accent-wash:#2a78d61a;--accent-ink:#fff;--good:#0ca30c;--good-text:#006300;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--critical-text:#b02a2a;--night:#0b0b0b0f;--shadow:0 1px 2px #0b0b0b0f, 0 4px 16px #0b0b0b0f;--radius:12px;--font:system-ui, -apple-system, "Segoe UI", "Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#232321;--ink:#f0efec;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--border-strong:#ffffff3d;--accent:#3987e5;--accent-wash:#3987e524;--good-text:#0ca30c;--critical-text:#e66767;--night:#ffffff0d;--shadow:0 1px 2px #0006, 0 4px 16px #00000059}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-2:#232321;--ink:#f0efec;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--border-strong:#ffffff3d;--accent:#3987e5;--accent-wash:#3987e524;--good-text:#0ca30c;--critical-text:#e66767;--night:#ffffff0d;--shadow:0 1px 2px #0006, 0 4px 16px #00000059}:root{--seq-0:#cde2fb;--seq-1:#9ec5f4;--seq-2:#6da7ec;--seq-3:#3987e5;--seq-4:#256abf;--seq-5:#184f95;--seq-6:#0d366b;--seq-ink-0:#0b0b0b;--seq-ink-1:#0b0b0b;--seq-ink-2:#0b0b0b;--seq-ink-3:#0b0b0b;--seq-ink-4:#fff;--seq-ink-5:#fff;--seq-ink-6:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--seq-0:#0d366b;--seq-1:#184f95;--seq-2:#256abf;--seq-3:#3987e5;--seq-4:#6da7ec;--seq-5:#9ec5f4;--seq-6:#cde2fb;--seq-ink-0:#fff;--seq-ink-1:#fff;--seq-ink-2:#fff;--seq-ink-3:#0b0b0b;--seq-ink-4:#0b0b0b;--seq-ink-5:#0b0b0b;--seq-ink-6:#0b0b0b}}:root[data-theme=dark]{--seq-0:#0d366b;--seq-1:#184f95;--seq-2:#256abf;--seq-3:#3987e5;--seq-4:#6da7ec;--seq-5:#9ec5f4;--seq-6:#cde2fb;--seq-ink-0:#fff;--seq-ink-1:#fff;--seq-ink-2:#fff;--seq-ink-3:#0b0b0b;--seq-ink-4:#0b0b0b;--seq-ink-5:#0b0b0b;--seq-ink-6:#0b0b0b}:root{--wind-head-1:#d96d64;--wind-head-2:#bd3f36;--wind-head-3:#a3231c;--wind-tail-1:#6cc492;--wind-tail-2:#2fa36f;--wind-tail-3:#0f7255;--wind-cross:#dddcd6;--wind-head-ink-1:#0b0b0b;--wind-head-ink-2:#fff;--wind-head-ink-3:#fff;--wind-tail-ink-1:#0b0b0b;--wind-tail-ink-2:#0b0b0b;--wind-tail-ink-3:#fff;--wind-cross-ink:#0b0b0b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--wind-head-1:#8a332d;--wind-head-2:#b8443a;--wind-head-3:#f07067;--wind-tail-1:#2a9473;--wind-tail-2:#33b37a;--wind-tail-3:#7fe0a8;--wind-cross:#3a3a37;--wind-head-ink-1:#f0efec;--wind-head-ink-2:#f0efec;--wind-head-ink-3:#0b0b0b;--wind-tail-ink-1:#0b0b0b;--wind-tail-ink-2:#0b0b0b;--wind-tail-ink-3:#0b0b0b;--wind-cross-ink:#f0efec}}:root[data-theme=dark]{--wind-head-1:#8a332d;--wind-head-2:#b8443a;--wind-head-3:#f07067;--wind-tail-1:#2a9473;--wind-tail-2:#33b37a;--wind-tail-3:#7fe0a8;--wind-cross:#3a3a37;--wind-head-ink-1:#f0efec;--wind-head-ink-2:#f0efec;--wind-head-ink-3:#0b0b0b;--wind-tail-ink-1:#0b0b0b;--wind-tail-ink-2:#0b0b0b;--wind-tail-ink-3:#0b0b0b;--wind-cross-ink:#f0efec}:root{--grade-flat:#dcdbd5;--grade-up-1:#ec978d;--grade-up-2:#dc6155;--grade-up-3:#b9362b;--grade-up-4:#87180f;--grade-down-1:#8ab6ea;--grade-down-2:#4f8fdc;--grade-down-3:#2766b7;--grade-down-4:#143c73}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--grade-flat:#2e2e2b;--grade-up-1:#9a3b33;--grade-up-2:#b8443a;--grade-up-3:#e2645a;--grade-up-4:#ff9a90;--grade-down-1:#285a9a;--grade-down-2:#2f6cc0;--grade-down-3:#5592e3;--grade-down-4:#9cc6f5}}:root[data-theme=dark]{--grade-flat:#2e2e2b;--grade-up-1:#9a3b33;--grade-up-2:#b8443a;--grade-up-3:#e2645a;--grade-up-4:#ff9a90;--grade-down-1:#285a9a;--grade-down-2:#2f6cc0;--grade-down-3:#5592e3;--grade-down-4:#9cc6f5}:root{--temp-cold-1:#8ab6ea;--temp-cold-2:#4f8fdc;--temp-cold-3:#2766b7;--temp-cold-4:#143c73;--temp-mild:#dddcd6;--temp-warm-1:#ec978d;--temp-warm-2:#dc6155;--temp-warm-3:#b9362b;--temp-warm-4:#87180f;--temp-cold-ink-1:#0b0b0b;--temp-cold-ink-2:#fff;--temp-cold-ink-3:#fff;--temp-cold-ink-4:#fff;--temp-mild-ink:#0b0b0b;--temp-warm-ink-1:#0b0b0b;--temp-warm-ink-2:#fff;--temp-warm-ink-3:#fff;--temp-warm-ink-4:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--temp-cold-1:#285a9a;--temp-cold-2:#2f6cc0;--temp-cold-3:#5592e3;--temp-cold-4:#9cc6f5;--temp-mild:#3a3a37;--temp-warm-1:#9a3b33;--temp-warm-2:#b8443a;--temp-warm-3:#e2645a;--temp-warm-4:#ff9a90;--temp-cold-ink-1:#f0efec;--temp-cold-ink-2:#f0efec;--temp-cold-ink-3:#f0efec;--temp-cold-ink-4:#0b0b0b;--temp-mild-ink:#f0efec;--temp-warm-ink-1:#f0efec;--temp-warm-ink-2:#f0efec;--temp-warm-ink-3:#f0efec;--temp-warm-ink-4:#0b0b0b}}:root[data-theme=dark]{--temp-cold-1:#285a9a;--temp-cold-2:#2f6cc0;--temp-cold-3:#5592e3;--temp-cold-4:#9cc6f5;--temp-mild:#3a3a37;--temp-warm-1:#9a3b33;--temp-warm-2:#b8443a;--temp-warm-3:#e2645a;--temp-warm-4:#ff9a90;--temp-cold-ink-1:#f0efec;--temp-cold-ink-2:#f0efec;--temp-cold-ink-3:#f0efec;--temp-cold-ink-4:#0b0b0b;--temp-mild-ink:#f0efec;--temp-warm-ink-1:#f0efec;--temp-warm-ink-2:#f0efec;--temp-warm-ink-3:#f0efec;--temp-warm-ink-4:#0b0b0b}*,:before,:after{box-sizing:border-box}html,body{background:var(--page);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:15px;line-height:1.5}body{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.3}h2{font-size:1rem;font-weight:650}h3{font-size:.9rem;font-weight:650}p{margin:0}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.sub{color:var(--ink-2);font-size:.86rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;padding:calc(8px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex;position:sticky;top:0}.brand{letter-spacing:.04em;color:var(--accent);white-space:nowrap;font-weight:800}.plan-picker{flex:1 1 0;min-width:0}.topbar .seg{flex:none}@media (max-width:480px){.topbar{gap:6px}.brand{font-size:.85em}.topbar .seg button{padding:6px 10px}}.plan-picker select{text-overflow:ellipsis;background:0 0;border:0;width:100%;max-width:360px;padding:6px 4px;font-weight:600}.main{width:100%;max-width:1440px;padding:16px max(16px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex:1;margin:0 auto}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:16px}.card-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.card-head .sub{margin-left:auto}details.card>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}details.card>summary::-webkit-details-marker{display:none}details.card>summary h2{flex:none}details.card>summary .sub{word-break:keep-all}details.card>summary:after{content:"▾";color:var(--muted);margin-left:auto;transition:transform .15s}details.card:not([open])>summary:after{transform:rotate(-90deg)}details.card[open]>summary{margin-bottom:12px}.btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;min-height:40px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-ghost{background:0 0;border-color:#0000}.btn-danger{color:var(--critical-text)}.btn-tint{background:var(--accent-wash);border-color:var(--accent)}.btn-tint:hover{background:var(--accent-wash);filter:brightness(.96)}.toggle .toggle-state{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--muted);border-radius:999px;margin-left:4px;padding:0 6px;font-size:.8em;font-weight:800;display:inline-block}.toggle[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.toggle[aria-checked=true] .toggle-state{box-shadow:none;background:var(--accent-ink);color:var(--accent)}.btn-sm{border-radius:8px;min-height:32px;padding:4px 10px;font-size:.86rem}.btn-lg{min-height:52px;padding:12px 20px;font-size:1.05rem}.icon-btn{width:40px;min-height:40px;padding:0;font-size:1.2em}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;min-height:32px;padding:6px 14px;font-weight:650}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.seg button:disabled{opacity:.4;cursor:not-allowed}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:999px;min-height:34px;padding:5px 12px;font-weight:600}.chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.menu{position:relative}.menu-panel{z-index:30;background:var(--surface);border:1px solid var(--border);min-width:240px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu-panel button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px}.menu-panel button:hover{background:var(--surface-2)}.menu-panel hr{border:0;border-top:1px solid var(--border);margin:4px 0}.menu-panel .danger{color:var(--critical-text)}.menu-panel .menu-version{color:var(--ink-2);padding:6px 12px 4px;font-size:.8rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label,.field>.label{color:var(--ink-2);font-size:.82rem;font-weight:600}.field .req{color:var(--critical-text);margin-left:2px}.field .hint{color:var(--muted);font-size:.78rem}.field.missing input{border-color:var(--critical)}.input-wrap{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;align-items:center;display:flex;overflow:hidden}.input-wrap:focus-within{outline:2px solid var(--accent);outline-offset:-1px}.input-wrap input,.input-wrap select{font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;min-width:0;min-height:40px;padding:8px 10px;font-size:16px}.input-wrap .unit{color:var(--muted);white-space:nowrap;padding:0 10px 0 0;font-size:.85rem}.field.missing .input-wrap{border-color:var(--critical)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.check{align-items:center;gap:8px;font-size:.9rem;display:flex}.badge{white-space:nowrap;align-items:center;gap:6px;font-size:.86rem;font-weight:650;display:inline-flex}.badge .dot{color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:inline-grid}.tone-good .dot{background:var(--good)}.tone-warning .dot{background:var(--warning);color:#0b0b0b}.tone-serious .dot{background:var(--serious);color:#0b0b0b}.tone-critical .dot{background:var(--critical)}.tone-info .dot{background:var(--muted)}.alerts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.alerts li{align-items:flex-start;gap:10px;font-size:.9rem;display:flex}.alerts li .dot{margin-top:2px}.delta-good{color:var(--good-text)}.delta-bad{color:var(--critical-text)}.notice{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;background:var(--ink);max-width:min(560px,100vw - 32px);color:var(--page);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:.9rem;display:flex;position:fixed;transform:translate(-50%)}.notice.error{background:var(--critical);color:#fff}.notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.kpis{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:10px;min-width:0;padding:10px 12px}.fit-line{white-space:nowrap;text-overflow:ellipsis;display:block;overflow-x:clip}.btn>.fit-line{min-width:0}.kpi .label{color:var(--ink-2);font-size:.78rem;font-weight:600}.kpi .value{margin-top:2px;font-size:1.35rem;font-weight:650;line-height:1.25}.kpi .value small{color:var(--muted);margin-left:2px;font-size:.6em;font-weight:600}.kpi .foot{color:var(--muted);margin-top:2px;font-size:.78rem}.plan-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.plan-side,.plan-main{flex-direction:column;gap:16px;min-width:0;display:flex}@media (min-width:1040px){.plan-layout{grid-template-columns:400px minmax(0,1fr)}.plan-side{max-height:calc(100dvh - 88px);padding-right:2px;position:sticky;top:72px;overflow:auto}}.map-card{padding:0;position:relative;overflow:hidden}.map{width:100%;height:clamp(260px,46vh,560px)}.map-fallback{color:var(--ink-2);background:var(--surface-2);text-align:center;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.map-pick{z-index:2;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.maplibregl-ctrl-attrib{font-size:11px}.chart{-webkit-user-select:none;user-select:none;position:relative}.chart-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow:auto hidden}.chart svg{display:block}.chart-axis-overlay{pointer-events:none;position:absolute;top:0;left:0}.chart text{font-family:var(--font)}.chart-tooltip{z-index:3;pointer-events:none;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;min-width:150px;padding:8px 10px;font-size:.82rem;line-height:1.45;position:absolute}.chart-tooltip strong{font-size:.95rem}.chart-tooltip .k{color:var(--muted);margin-right:6px}.chart-legend{color:var(--ink-2);word-break:keep-all;flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;font-size:.78rem;display:flex}.chart-legend .ramp{vertical-align:middle;gap:2px;display:inline-flex}.chart-legend .ramp i{border-radius:2px;width:14px;height:10px;display:inline-block}.chart-legend .swatch{vertical-align:middle;border-radius:2px;width:14px;height:10px;margin-right:4px;display:inline-block}.ramp-legend{flex-wrap:wrap;align-items:center;gap:4px 10px;display:inline-flex}.ramp-legend .keep{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.wind-legend{flex-wrap:wrap;align-items:center;gap:4px 10px;display:inline-flex}.wind-chip{text-align:center;border-radius:4px;min-width:3.2em;padding:0 6px;font-weight:650;display:inline-block}.wind-chip.calm{box-shadow:inset 0 0 0 1px var(--grid);color:var(--ink-2)}.value-chip{text-align:center;border-radius:4px;min-width:3.2em;padding:0 6px;font-weight:650;display:inline-block}.table-wrap{border:1px solid var(--border);border-radius:8px;max-height:520px;overflow:auto}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.86rem}table.data th,table.data td{border-bottom:1px solid var(--grid);white-space:nowrap;text-align:right;padding:7px 10px}table.data th:first-child,table.data td:first-child{text-align:left}table.data thead th{background:var(--surface-2);color:var(--ink-2);z-index:1;font-size:.78rem;font-weight:650;position:sticky;top:0}table.data tbody tr:hover,table.data tr.current{background:var(--accent-wash)}.stops{flex-direction:column;gap:10px;display:flex}.stop{border:1px solid var(--border);border-radius:10px;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.stop .stop-fields{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.stop .stop-times{color:var(--ink-2);flex-wrap:wrap;grid-column:1/-1;gap:4px 12px;font-size:.8rem;display:flex}.stop>select,.stop>input[type=text]{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;width:100%;min-width:0;min-height:36px;padding:4px 8px}.welcome{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:680px;margin:6vh auto 0;display:flex}.welcome h1{font-size:1.8rem}.welcome .lead{color:var(--ink-2)}.dropzone{border:2px dashed var(--border-strong);background:var(--surface);border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:100%;padding:28px 16px;display:flex}.dropzone.over{border-color:var(--accent);background:var(--accent-wash)}.feature-list{text-align:left;color:var(--ink-2);margin:0;padding-left:20px;font-size:.9rem}.ride{flex-direction:column;gap:14px;display:flex}.ride-bar{align-items:center;gap:8px 12px;display:flex}.ride-net{min-width:0;color:var(--ink-2);word-break:keep-all;flex:1 1 0;font-size:.82rem}.ride-actions{gap:8px;display:flex}.ride-sub{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.86rem;display:flex}.ride-hero{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.hero{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;padding:14px 16px}.hero .row{justify-content:center}.hero .label{color:var(--ink-2);font-size:.9rem;font-weight:650}.hero .figure{letter-spacing:-.02em;margin:6px 0 4px;font-size:clamp(56px,16vw,96px);font-weight:700;line-height:1}.hero .figure.clock{font-size:clamp(44px,12vw,72px)}.hero .figure small{color:var(--muted);letter-spacing:0;margin-left:4px;font-size:.3em;font-weight:650}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (min-width:720px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.ride-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}@media (min-width:1100px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;min-width:0;padding:10px 12px}.tile .label{color:var(--ink-2);font-size:.8rem;font-weight:650}.tile .value{margin:2px 0;font-size:clamp(1.4rem,5.5vw,1.9rem);font-weight:700;line-height:1.2}.tile .value small{color:var(--muted);margin-left:3px;font-size:.5em;font-weight:650}.tile .foot{color:var(--ink-2);font-size:.8rem}.ride-layout{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (min-width:1100px){.ride-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}}.status-line{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;font-size:.82rem;display:flex}dialog{border:1px solid var(--border);background:var(--surface);color:var(--ink);width:min(420px,100vw - 32px);box-shadow:var(--shadow);border-radius:16px;padding:18px}dialog::backdrop{background:#00000059}dialog form{flex-direction:column;gap:14px;display:flex}.boot{min-height:100dvh;color:var(--muted);place-items:center;display:grid}@media (max-width:720px){html,body{font-size:17px}.topbar{font-size:15px}.menu-panel{font-size:1rem}.input-wrap input,.input-wrap select{font-size:17px}.input-wrap input,.stop>input[type=text]{text-align:center}.field>label,.field>.label{font-size:.9rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.form-grid>.wide{grid-column:1/-1}.form-grid .field>label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.form-grid .field .hint{word-break:keep-all;overflow-wrap:anywhere}.field .hint{font-size:.84rem}.kpi .label,.kpi .foot,.stop .stop-times{font-size:.86rem}.tile .label,.tile .foot,.status-line,.ride-net,.chart-tooltip{font-size:.88rem}.ride-actions .btn{flex:3 1 0;min-width:0;padding-inline:10px}.ride-actions .btn+.btn{flex-grow:2}.ride-sub{flex-wrap:nowrap;gap:6px}.ride-sub .btn{flex:2 1 0;min-width:0;min-height:40px;padding-inline:6px}.ride-sub .btn:last-child:not(:first-child){flex-grow:1}.ride-sub .btn:only-child{flex:none}.chart-legend,table.data thead th{font-size:.84rem}}
