:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f5f2;--panel:#fff;--panel-2:#f0f4f7;--text:#17202a;--muted:#687482;--line:#d9dee4;--accent:#1f6feb;--accent-2:#d65f00;--danger:#b42318;--shadow:0 18px 40px #17202a14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #0c7c5914, transparent 320px), var(--bg);min-height:100vh;color:var(--text);margin:0;overflow-x:hidden}button,input{font:inherit;min-width:0}.app{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 40px}.topbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}h1{letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:28px;line-height:1.1}.subtitle{color:var(--muted);overflow-wrap:anywhere;margin:7px 0 0;font-size:14px}.grid{grid-template-columns:380px minmax(0,1fr);gap:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);border-radius:8px}.form{padding:18px}.section-title{color:#344054;text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:700}.field{gap:7px;margin-bottom:14px;display:grid}.label{color:#344054;font-size:13px;font-weight:650}.input,.select-trigger,.input-with-icon{width:100%;min-height:42px;color:var(--text);background:#fff;border:1px solid #c9d0d8;border-radius:6px;outline:none;padding:9px 11px}.input:focus,.select-trigger:focus,.input-with-icon:focus-within{border-color:var(--accent-2);box-shadow:0 0 0 3px #125a9c1f}.input-with-icon{align-items:center;gap:8px;display:flex}.input.bare{min-height:0;box-shadow:none;border:0;padding:0}.api-key-help{color:var(--muted);margin:-6px 0 16px;font-size:12px;line-height:1.45}.api-key-help a{color:var(--accent);text-underline-offset:2px;font-weight:700;text-decoration:underline}.usage-card{border:1px solid var(--line);color:var(--muted);background:#f8fafc;border-radius:8px;gap:8px;margin:-4px 0 16px;padding:10px;font-size:12px;line-height:1.45;display:grid}.usage-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.usage-row strong{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.usage-card p{margin:0}.usage-card a,.text-button{color:var(--accent);text-underline-offset:2px;font-weight:700;text-decoration:underline}.text-button{appearance:none;cursor:pointer;font:inherit;background:0 0;border:0;justify-self:start;padding:0;font-size:12px}.text-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.inline{grid-template-columns:1fr 1fr;gap:12px;display:grid}.single-control{grid-template-columns:1fr;display:grid}.datetime-grid{gap:0;display:grid}.check-row{color:#344054;align-items:center;gap:9px;margin:-2px 0 16px;font-size:13px;display:flex}.check-root{color:#fff;background:#fff;border:1px solid #9aa5b1;border-radius:4px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;line-height:1;display:inline-flex}.check-root svg{display:block}.check-root[data-state=checked]{background:var(--accent);border-color:var(--accent)}.select-trigger{justify-content:space-between;align-items:center;gap:8px;display:flex}.select-content{z-index:10;min-width:var(--radix-select-trigger-width);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;overflow:hidden}.select-item{outline:none;padding:9px 12px;font-size:14px}.select-item[data-highlighted]{background:#e9f2ef}.controls{flex-wrap:wrap;gap:10px;margin-top:17px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 13px;font-weight:700;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.56}.primary{background:var(--accent);color:#fff}.secondary{color:#263241;background:#fff;border-color:#c9d0d8}.status{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;gap:9px;margin-top:16px;padding:12px;display:grid}.status-row{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.progress-root{background:#d7e1e9;border-radius:99px;height:8px;position:relative;overflow:hidden}.progress-indicator{border-radius:inherit;background:var(--accent-2);transform-origin:0;width:100%;height:100%;transition:transform .16s}.results{min-width:0;overflow:hidden}.results-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.results-title{margin:0;font-size:16px}.results-actions{gap:8px;display:flex}.chart-shell{padding:16px}.chart-summary{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.summary-item{appearance:none;border:1px solid var(--line);min-width:0;color:var(--muted);font:inherit;text-align:left;background:#fff;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px;font-size:12px;display:grid}.summary-item span:not(.legend-dot){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.summary-item strong{color:var(--text);font-variant-numeric:tabular-nums}.legend-toggle{cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s,opacity .16s}.legend-toggle:hover{border-color:#aab4bf;box-shadow:0 0 0 3px #1f6feb14}.legend-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.legend-toggle.is-hidden{opacity:.58;background:#f7f8fa}.legend-dot{border:2px solid #0000;border-radius:50%;width:16px;height:16px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;box-shadow:inset 0 0 0 3px #fff,0 0 0 1px #171f262e}.legend-toggle:hover .legend-dot{transform:scale(1.08)}.summary-item.destination .legend-dot{background:var(--accent);border-color:var(--accent)}.summary-item.origin .legend-dot{background:var(--accent-2);border-color:var(--accent-2)}.summary-item.is-hidden .legend-dot{background:#fff;box-shadow:inset 0 0 0 3px #fff,0 0 0 1px #171f263d}.chart-scroll{background:#fbfcfd;border:1px solid #e6e9ed;border-radius:8px;position:relative;overflow-x:auto}.vertical-chart{display:none}.line-chart{width:100%;min-width:760px;height:auto;display:block}.chart-bg{fill:#fbfcfd}.grid-line{stroke:#dfe5eb;stroke-width:1px}.axis-line{stroke:#aab4bf;stroke-width:1.25px}.axis-label,.axis-title{fill:var(--muted);font-size:12px}.axis-time{fill:#344054;font-weight:650}.axis-day{font-size:11px}.tick-line{stroke:#aab4bf;stroke-width:1px}.route-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.route-band{stroke:none;opacity:.18}.destination-line{stroke:var(--accent)}.origin-line{stroke:var(--accent-2)}.destination-band{fill:var(--accent)}.origin-band{fill:var(--accent-2)}.route-point{cursor:default;stroke:#fff;stroke-width:2px;pointer-events:all;outline:none}.route-point:hover,.route-point:focus{stroke:#111827;stroke-width:2.5px}.destination-point{fill:var(--accent)}.origin-point{fill:var(--accent-2)}.chart-tooltip{z-index:4;max-width:260px;box-shadow:var(--shadow);color:var(--text);pointer-events:none;background:#fffffff7;border:1px solid #c9d0d8;border-radius:8px;gap:4px;padding:10px 12px;font-size:12px;display:grid;position:absolute;transform:translate(-50%,-100%)}.chart-tooltip span{color:var(--muted)}.vertical-tooltip{max-width:220px}.empty{color:var(--muted);text-align:center;padding:44px 22px}.error{color:var(--danger);background:#fff4f2;border:1px solid #f0b8b4;border-radius:8px;margin-top:14px;padding:12px;font-size:13px}.hint{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.45}.toast-viewport{z-index:20;gap:10px;width:min(360px,100vw - 36px);margin:0;padding:0;list-style:none;display:grid;position:fixed;bottom:18px;right:18px}.toast-root{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:12px}.toast-title{font-size:13px;font-weight:750}.toast-description{color:var(--muted);margin-top:4px;font-size:13px}@media (width<=860px){.app{width:min(100% - 20px,680px);padding-top:18px}.topbar{flex-direction:column;align-items:start}.grid,.inline{grid-template-columns:1fr}.results-head{flex-direction:column;align-items:start}.chart-summary{grid-template-columns:1fr}.horizontal-chart{display:none}.vertical-chart{display:block;overflow:visible}.vertical-line-chart{width:100%;min-width:0}}@media (width<=480px){h1{font-size:22px}.form{padding:16px}.input,.select-trigger,.input-with-icon{font-size:16px}}
