:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:15px/1.4 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden}:root{--bg:#fff;--bg-alt:#f7f7fb;--text:#1a1a2e;--text-muted:#6b6375;--border:#e3e2e8;--accent:#5b7fdb;--accent-contrast:#fff;--danger:#c0392b;--danger-bg:#fdecea;--scrim:#ffffff8c;--card-shadow:#14142840}@media (prefers-color-scheme:dark){:root{--bg:#16171d;--bg-alt:#1e1f27;--text:#f0f0f3;--text-muted:#9ca3af;--border:#2e303a;--accent:#7c9cf0;--accent-contrast:#0c0d12;--danger:#ff6b6b;--danger-bg:#ff6b6b1f;--scrim:#0a0b0f99;--card-shadow:#00000080}}.app{background:var(--bg);height:100%;color:var(--text);flex-direction:column;display:flex}.app__brand{letter-spacing:-.4px;color:var(--text);font-size:18px;font-weight:800}.change-key-button{z-index:10;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;box-shadow:0 2px 8px var(--card-shadow);border-radius:999px;padding:6px 12px;font-size:12px;position:fixed;top:12px;right:12px}.app__body{flex:1;min-height:0;display:flex}.app__sidebar{background:var(--bg-alt);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:18px;width:340px;padding:16px;display:flex;overflow-y:auto}.app__map{flex:1;position:relative}.map-view{width:100%;height:100%}.app__optimize{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;padding:12px 16px;font-size:15px;font-weight:600}.app__optimize:disabled{opacity:.5;cursor:not-allowed}.app__error{color:var(--danger);background:var(--danger-bg);border-radius:6px;margin:0;padding:8px 10px;font-size:13px}.app__debug-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 8px;font-size:13px}input[type=text],input[type=url]{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:6px;padding:9px 10px;font-size:14px}button{font-family:inherit}.url-form{gap:8px;display:flex}.url-form__input{flex:1}.url-form__submit{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;padding:0 14px}.candidate-list__empty{color:var(--text-muted);margin:0 0 8px;font-size:13px}.candidate-list ul{flex-direction:column;gap:4px;max-height:220px;margin:0 0 10px;padding:0;list-style:none;display:flex;overflow-y:auto}.candidate-list__item{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.candidate-list__item label{cursor:pointer;align-items:flex-start;gap:8px;min-width:0;font-size:13px;display:flex}.candidate-list__delete{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:0;font-size:15px;line-height:1}.candidate-list__delete:hover{color:var(--danger);background:var(--danger-bg)}.candidate-list__letter{background:var(--accent);width:18px;height:18px;color:var(--accent-contrast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.candidate-list__add{gap:8px;display:flex}.candidate-list__add button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:0 12px}.central-point form{gap:8px;margin-bottom:8px;display:flex}.central-point form button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:0 12px}.central-point__current{margin:0 0 8px;font-size:13px}.central-point__empty{color:var(--text-muted);margin:0 0 8px;font-size:13px}.central-point__geolocate{border:1px dashed var(--border);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:8px;font-size:13px}.route-summary__trail{word-break:break-word;margin:0 0 10px;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:600}.route-summary__list{margin:0;padding:0 0 0 4px;font-size:13px;list-style:none}.route-summary__row{align-items:flex-start;gap:8px;display:flex}.route-summary__arrow{color:var(--text-muted);padding-left:5px;line-height:1.6}.route-summary__badge{background:var(--accent);width:20px;height:20px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.debug-table table{border-collapse:collapse;width:100%;font-size:12px}.debug-table th,.debug-table td{text-align:left;border-bottom:1px solid var(--border);padding:4px 6px}.debug-table__total{margin-top:8px;font-size:13px;font-weight:600}.landing{background:var(--bg-alt);height:100%;position:relative;overflow:hidden}.landing--static{background:linear-gradient(160deg, var(--bg-alt) 0%, var(--bg) 100%)}.landing__map-bg{filter:blur(6px);pointer-events:none;position:absolute;inset:0;transform:scale(1.05)}.landing__scrim{background:var(--scrim);position:absolute;inset:0}.landing__content{z-index:1;justify-content:center;align-items:center;height:100%;padding:24px;display:flex;position:relative;overflow-y:auto}.hero-card{background:var(--bg);width:100%;max-width:440px;max-height:90vh;box-shadow:0 20px 60px var(--card-shadow);border-radius:16px;flex-direction:column;gap:16px;padding:28px;display:flex;overflow-y:auto}.hero-card__title{letter-spacing:-.6px;color:var(--text);text-align:center;margin:0;font-size:28px;font-weight:800}.hero-card__subtitle{color:var(--text-muted);text-align:center;margin:-10px 0 0;font-size:14px}.api-key-prompt{flex-direction:column;gap:8px;display:flex}.api-key-prompt label{color:var(--text-muted);font-size:13px;font-weight:600}.api-key-prompt button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;padding:10px;font-size:14px;font-weight:600}.api-key-prompt__hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.api-key-prompt__hint a{color:var(--accent)}@media (width<=720px){.app__body{flex-direction:column}.app__sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:45vh}.hero-card{padding:20px}}
