@font-face{font-family:Lexend;src:url(/static/react/chunks/Lexend.C2zszbBe.ttf) format("truetype-variations");font-weight:100 900;font-display:swap}@font-face{font-family:Mulish;src:url(/static/react/chunks/Mulish.B2gfddt5.ttf) format("truetype-variations");font-weight:100 900;font-display:swap}:root{color-scheme:dark;--app-font: "Lexend", system-ui, -apple-system, sans-serif;--bg: #0d1014;--surface-1: #171b22;--surface-2: #1e242e;--surface-3: #262e3a;--input-bg: #10141a;--border: #2c3542;--border-2: #3a4656;--text: #f1f4f9;--text-2: #c2cad6;--text-3: #9099a8;--teal: #3fc9c4;--teal-hi: #6ee0da;--teal-fill: #0c2b2a;--green: #4ade80;--green-fill: #11301d;--amber: #fbbf3f;--amber-fill: #322611;--red: #f26d6d;--red-fill: #381616;--accent: #009492;--accent-hi: #1fb3b0;--accent-dim: #0b6a68;--logo-orange: #fe8618;--violet: #c4abff;--violet-fill: #241a3d;--pin-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'%3E%3Cpath fill='black' d='M12 0C6 0 1.5 4.5 1.5 10.5 1.5 18 12 32 12 32S22.5 18 22.5 10.5C22.5 4.5 18 0 12 0Zm0 14.5a4 4 0 1 1 0-8 4 4 0 0 1 0 8Z'/%3E%3C/svg%3E");--card: var(--surface-1);--card2: var(--surface-2);--muted: var(--text-3);--good: var(--green);--ok: var(--amber);--bad: var(--red);--train: var(--amber);--tram: var(--green);--bus: var(--accent);--subway: var(--violet);--walk: var(--text-3);--radius: 14px}:root[data-font=mulish]{--app-font: "Mulish", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--app-font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}.app{max-width:640px;margin:0 auto;padding:16px}.app-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 16px}.app-head h1{font-size:22px;margin:0;letter-spacing:-.02em}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand-mark{display:block;height:28px;width:auto}.head-right{display:flex;align-items:center;gap:8px}.lang-switcher{display:flex;gap:2px;background:var(--card2);border-radius:8px;padding:2px}.lang-switcher button{padding:5px 9px;border:none;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.lang-switcher button.active{background:var(--accent);color:#fff}.view-tabs{display:flex;gap:4px;background:var(--card2);border-radius:10px;padding:3px}.view-tabs button{padding:6px 14px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.view-tabs button.active{background:var(--accent);color:#fff}.map-screen{display:flex;flex-direction:column;gap:10px}.map-controls{display:flex;align-items:flex-end;gap:10px;background:var(--card);border-radius:var(--radius);padding:12px;flex-wrap:wrap}.map-field{display:flex;flex-direction:column;gap:3px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.map-field input{width:90px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:var(--card2);color:var(--text);font-size:15px}.map-go{padding:9px 18px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.map-wrap{position:relative;border-radius:var(--radius);overflow:hidden}.map-canvas{height:70vh;min-height:420px;width:100%}.map-loading{padding:40px;text-align:center;color:var(--muted)}.map-err{position:absolute;z-index:500;top:8px;left:8px;background:#e74c3ce6;color:#fff;padding:6px 10px;border-radius:8px;font-size:13px}.form{background:var(--card);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column}.loc-fields{position:relative}.loc-fields .field:first-child{position:relative;margin-bottom:18px}.app.ac-focus .app-head,.app.ac-focus .view-tabs,.app.ac-focus .results,.app.ac-focus .app-foot,.app.ac-focus .tier-row,.app.ac-focus .when-row,.app.ac-focus .dev-settings,.app.ac-focus .recent,.app.ac-focus #swap-btn,.app.ac-focus .loc-fields .field:not(.ac-focused){display:none}.app.ac-focus .form{background:none;padding:0;gap:0}.app.ac-focus .loc-fields .field:first-child{margin-bottom:0}.app.ac-focus .field.ac-focused{display:flex;flex-direction:column}.app.ac-focus .ac-wrap{flex-direction:column;align-items:stretch}.app.ac-focus .ac-wrap .gps-btn,.app.ac-focus .ac-wrap .clear-btn{top:22px}.app.ac-focus .ac-wrap .loc-label{top:0;bottom:auto;height:44px}.app.ac-focus .ac-list{position:static;width:100%;margin-top:10px;max-height:calc(100vh - 120px);border:none;border-radius:0;box-shadow:none;background:none}.app.ac-focus .ac-item{padding:13px 8px;font-size:15px}.app.ac-focus .ac-hint{padding:28px 12px;font-size:14px}.ac-wrap{position:relative;display:flex;min-width:0}.ac-wrap input[type=text]{width:100%;height:44px;font-size:16px;border:1px solid transparent;border-radius:8px;background:var(--input-bg);color:var(--text);outline:none;min-width:0;padding:0 42px 0 calc(46px + var(--cap-w, 48px))}.ac-wrap input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0094922e}.loc-fields.same-endpoint .ac-wrap input[type=text]{border-color:var(--red);background:var(--red-fill)}.loc-fields.same-endpoint .ac-wrap input[type=text]:focus{border-color:var(--red);box-shadow:0 0 0 3px #f26d6d2e}.form-error{margin:-2px 0 6px;padding:8px 12px;border-radius:8px;background:var(--red-fill);color:var(--red);font-size:13px;font-weight:600}.ac-wrap input[type=text]:-webkit-autofill,.ac-wrap input[type=text]:-webkit-autofill:hover,.ac-wrap input[type=text]:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);transition:background-color 5000000s ease-in-out 0s;box-shadow:0 0 0 1000px var(--input-bg) inset}.ac-wrap input[type=text]:-webkit-autofill:focus{box-shadow:0 0 0 1000px var(--input-bg) inset,0 0 0 3px #0094922e}.ac-wrap.has-value .loc-label{display:none}.ac-wrap.has-value input[type=text]{padding-left:54px}.ac-wrap.ac-static input[type=text]{color:transparent;-webkit-text-fill-color:transparent}.ac-static-text{position:absolute;left:54px;right:42px;top:0;bottom:0;z-index:2;display:flex;align-items:center;overflow:hidden;white-space:nowrap;cursor:text;font-size:16px}.ac-static-primary{color:var(--text);overflow:hidden;text-overflow:ellipsis}.ac-static-secondary{color:var(--text-3);font-size:12px;margin-left:2px;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.loc-label{position:absolute;top:0;bottom:0;left:46px;z-index:3;display:flex;align-items:center;font-size:12px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;pointer-events:none;-webkit-user-select:none;user-select:none}.gps-btn{position:absolute;top:50%;left:5px;transform:translateY(-50%);z-index:3;width:32px;height:32px;padding:0;cursor:pointer;border:1px solid var(--logo-orange);border-radius:7px;background:#fe86181f;transition:background-color .12s ease,transform .12s ease}.gps-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:13px;height:16px;background:var(--logo-orange);-webkit-mask:var(--pin-mask) center / contain no-repeat;mask:var(--pin-mask) center / contain no-repeat}@media (hover: hover){.gps-btn:hover{background:#fe861838}}.gps-btn:active{transform:translateY(calc(-50% + 1px))}.gps-btn.busy:after{width:14px;height:14px;background:none;-webkit-mask:none;mask:none;border:2px solid rgba(254,134,24,.35);border-top-color:var(--logo-orange);border-radius:50%;animation:gps-spin .7s linear infinite}@keyframes gps-spin{to{transform:rotate(360deg)}}.clear-btn{position:absolute;top:50%;right:4px;transform:translateY(-50%);z-index:2;width:32px;height:32px;padding:0;border:1px solid #6b2626;border-radius:7px;background:#f26d6d24;color:var(--red);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease,border-color .12s ease}@media (hover: hover){.clear-btn:hover{background:var(--red);border-color:var(--red);color:#fff}}.clear-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;fill:none}#swap-btn{position:absolute;z-index:4;left:46px;top:100%;transform:translateY(-8px);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;background:var(--accent);border:1px solid var(--accent);cursor:pointer;color:#fff;box-shadow:0 1px 4px #0000002e;transition:filter .12s ease,box-shadow .12s ease}#swap-btn svg{display:block;width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media (hover: hover){#swap-btn:hover{filter:brightness(1.08);box-shadow:0 2px 8px #00000038}}#swap-btn:active{transform:translateY(-7px) scale(.94)}.ac-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--input-bg);border:1px solid var(--border-2);border-radius:8px;box-shadow:0 4px 12px #00000073;overflow:hidden;max-height:280px;overflow-y:auto;display:none}.ac-list.open{display:block}.ac-item{padding:8px 12px;cursor:pointer;font-size:14px;line-height:1.3;display:flex;align-items:center;gap:4px}.ac-item+.ac-item:before,.ac-hint+.ac-item:before,.ac-item+.ac-hint:before{content:"";position:absolute;top:0;left:14%;right:14%;height:1px;background:linear-gradient(to right,transparent,var(--border-2) 22%,var(--border-2) 78%,transparent)}.ac-item{position:relative}.ac-item:hover,.ac-item.active{background:var(--surface-2)}.ac-item.ac-saved .ac-main{color:var(--accent-hi);font-weight:600}.ac-item.ac-saved{box-shadow:inset 2px 0 0 0 var(--accent)}.ac-item.ac-saved:hover,.ac-item.ac-saved.active{background:var(--accent-dim)}.ac-hint{padding:16px 12px;text-align:center;color:var(--text-3);font-size:13px;font-style:italic;letter-spacing:.2px}.ac-icon{flex:0 0 auto;width:18px;margin-right:6px;text-align:center;font-size:14px}.ac-main{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:500}.ac-sec{color:var(--text-3);font-size:12px;margin-left:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modes{display:flex;gap:6px}.modes button{padding:8px 12px;font-size:13px;border:none;border-radius:8px;background:var(--card2);color:var(--muted);cursor:pointer}.modes button.active{background:var(--accent);color:#fff}.when-row{display:flex;align-items:stretch;gap:8px;margin:10px 0 12px}.when-summary{flex:0 1 auto;min-width:50%;max-width:75%;height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:var(--input-bg);border:1px solid transparent;border-radius:8px;font-size:15px;color:var(--text);text-align:left}@media (hover: hover){.when-summary:hover{border-color:var(--accent)}}.when-mode{flex:0 0 auto;font-weight:700;color:var(--accent);text-transform:uppercase;font-size:12px;letter-spacing:.5px}.when-sep{flex:0 0 auto;color:var(--text-3)}.when-value{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#search-btn{flex:1 1 auto;min-width:25%;max-width:50%;height:44px;padding:0 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;font-size:15px;cursor:pointer}@media (hover: hover){#search-btn:hover{filter:brightness(1.06)}}#search-btn:disabled{background:var(--surface-3);color:var(--text-3);cursor:default}.when-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:50}.when-modal{width:100%;max-width:440px;background:var(--card);border-radius:16px 16px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}@media (min-width: 480px){.when-modal-backdrop{align-items:center}.when-modal{border-radius:16px}}.when-modal-head .modes{width:100%}.when-modal-head .modes button{flex:1}.when-edit-row{display:flex;align-items:center;justify-content:center;gap:16px}.day-step{width:40px;height:40px;border-radius:50%;border:none;background:var(--card2);color:var(--text);font-size:20px;cursor:pointer}.day-label{min-width:120px;text-align:center;font-size:16px;font-weight:600}.time-input{padding:10px 14px;font-size:20px;border:1px solid transparent;border-radius:10px;background:var(--card2);color:var(--text);outline:none}.time-input:focus{border-color:var(--accent)}.when-actions{display:flex;align-items:center;gap:10px}.when-setnow{flex:0 0 auto;height:44px;padding:0 16px;cursor:pointer;background:var(--logo-orange);border:1px solid var(--logo-orange);border-radius:8px;color:#fff;font-weight:700;font-size:14px;transition:filter .12s ease}@media (hover: hover){.when-setnow:hover{filter:brightness(1.08)}}.when-done{flex:1 1 auto;height:44px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;font-size:15px;cursor:pointer}@media (hover: hover){.when-done:hover{filter:brightness(1.06)}}.recent{margin-top:6px;display:flex;flex-direction:column;gap:4px}.recent-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.recent-row{display:flex;gap:4px;align-items:stretch}.recent-item{flex:1;min-width:0;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:var(--card2);color:var(--text);font-size:14px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.recent-item:hover{background:var(--surface-3);border-color:var(--accent)}.addr-primary{color:var(--text)}.addr-secondary{color:var(--text-3);font-size:.82em}.recent-arrow{color:var(--text-3)}.recent-del{flex:0 0 auto;width:34px;border:none;border-radius:8px;background:var(--card2);color:var(--muted);font-size:13px;cursor:pointer}.recent-del:hover{background:var(--red-fill);color:var(--red)}.diag{margin-top:10px;font-size:12px;border:1px dashed var(--border-2);border-radius:10px;padding:6px 10px}.diag summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.diag-rows{margin-top:8px;display:flex;flex-direction:column;gap:4px}.diag-row{display:grid;grid-template-columns:150px 1fr 48px;align-items:center;gap:8px}.diag-label{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diag-track{position:relative;height:8px;background:var(--card2);border-radius:4px}.diag-bar{position:absolute;top:0;height:100%;background:var(--teal);border-radius:4px}.diag-ms{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.app-foot{margin-top:24px;padding:12px 0;text-align:center}.app-foot a{color:var(--muted);font-size:12px;text-decoration:none}.app-foot a:hover{color:var(--accent)}.settings-gear{width:34px;height:34px;border:none;border-radius:8px;background:var(--card2);color:var(--text);font-size:16px;cursor:pointer}.settings-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);overflow-y:auto}.settings-inner{max-width:640px;margin:0 auto;padding:16px 16px 48px}.settings-head{display:flex;align-items:center;gap:12px;margin:4px 0 20px}.settings-head h2{margin:0;font-size:22px}.settings-back{flex:0 0 auto;width:40px;height:40px;border:none;border-radius:50%;background:var(--card2);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.settings-back:hover{background:var(--surface-3)}.settings-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.settings-section{margin-bottom:18px}.settings-label{font-size:13px;font-weight:600;margin-bottom:2px}.settings-hint{font-size:12px;color:var(--muted);margin-bottom:10px}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.city-tile{padding:9px 8px;border:none;border-radius:8px;background:var(--card2);color:var(--text);font-size:13px;cursor:pointer}.city-tile.active{background:var(--accent);color:#fff}.seg{display:inline-flex;gap:4px;background:var(--card2);border-radius:8px;padding:3px}.seg button{padding:7px 14px;border:none;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.seg button.active{background:var(--accent);color:#fff}.places-editor{display:flex;flex-direction:column;gap:8px}.place-row,.place-add-row{position:relative;display:flex;align-items:center;gap:8px}.place-icon{flex:0 0 auto;width:38px;height:38px;border:none;border-radius:8px;background:var(--card2);color:var(--text);font-size:18px;line-height:1;cursor:pointer}.place-name{flex:0 0 auto;width:62px;font-size:13px;font-weight:600;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-name.draggable{cursor:grab;display:inline-flex;align-items:center;gap:4px}.place-name.draggable:active{cursor:grabbing}.place-grip{color:var(--text-3);font-size:12px;line-height:1}.place-row.dragging{opacity:.45}.place-row.drop-above{box-shadow:inset 0 2px 0 0 var(--accent)}.place-row.drop-below{box-shadow:inset 0 -2px 0 0 var(--accent)}.place-ac{flex:1 1 auto;min-width:0}.place-ac .ac-wrap{--cap-w: 0px}.place-ac .gps-btn,.place-ac .loc-label,.place-ac .clear-btn{display:none}.place-ac .ac-wrap input[type=text]{padding-left:12px}.place-ac .ac-static-text{left:12px;right:12px}.place-del{flex:0 0 auto;width:34px;height:38px;border:none;border-radius:8px;background:var(--card2);color:var(--text-3);font-size:18px;cursor:pointer}.place-del:hover{color:var(--red, #f26d6d)}.place-add-name{flex:1 1 auto;min-width:0;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:14px}.place-add-btn{flex:0 0 auto;height:38px;padding:0 16px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.place-add-btn:hover{filter:brightness(1.06)}.places-editor.focus-mode{min-height:320px}.places-editor.focus-mode .ac-list.open{max-height:300px}.emoji-picker{position:absolute;top:44px;left:0;z-index:60;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:6px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:10px;box-shadow:0 8px 24px #00000080}.emoji-opt{width:30px;height:30px;border:none;border-radius:6px;background:transparent;font-size:18px;line-height:1;cursor:pointer}.emoji-opt:hover{background:var(--surface-3)}.tier-row{display:flex;gap:8px;margin:12px 0 2px}.tier-tile{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 6px;cursor:pointer;text-align:center;background:var(--input-bg);border:1.5px solid transparent;border-radius:10px;color:var(--text);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .06s ease}.tier-tile .tier-ico{display:flex;align-items:center;justify-content:center;color:var(--logo-orange)}.tier-tile .tier-ico svg{display:block;width:22px;height:22px}.tier-tile.active .tier-ico{color:#fff}.tier-tile .tier-name{font-weight:700;font-size:14px}.tier-tile .tier-hint{font-size:11px;color:var(--text-3);line-height:1.2}@media (hover: hover){.tier-tile:not(.active):not(:disabled):hover{border-color:var(--accent);background:var(--surface-2)}}.tier-tile:not(:disabled):active{transform:translateY(1px)}.tier-tile.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #00949247}.tier-tile.active .tier-hint{color:#ffffffd9}.tier-tile:disabled{opacity:.42;cursor:not-allowed}.simple-wrap{display:flex;flex-direction:column;gap:8px}.simple-earlier{align-self:flex-start;padding:7px 12px;border:none;border-radius:8px;background:var(--card2);color:var(--text);font-size:13px;cursor:pointer}.simple-options{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden}.simple-opt{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--card);border-bottom:1px solid var(--bg)}.simple-opt.best{border-left:3px solid var(--accent)}.simple-opt.late{opacity:.5}.so-leave{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;min-width:48px}.so-chain{flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:2px}.so-seg{display:inline-flex;align-items:center}.so-conn{width:10px;height:2px;background:var(--tram);margin:0 1px}.so-line{padding:2px 7px;border-radius:6px;background:var(--card2);font-size:12px;font-weight:600}.so-line.so-train{color:var(--train)}.so-line.so-tram{color:var(--tram)}.so-line.so-bus{color:var(--bus)}.so-line.so-metro,.so-line.so-m{color:var(--subway)}.so-risk{font-size:14px}.so-risk.tight{color:var(--ok)}.so-risk.bad{color:var(--bad)}.so-arr{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.simple-hint{padding:20px;text-align:center;color:var(--muted)}.dev-settings{margin-top:4px;font-size:13px;border:1px dashed var(--muted);border-radius:10px;padding:6px 10px}.dev-settings summary{cursor:pointer;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.dev-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.dev-field{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.dev-field select{padding:6px 8px;border-radius:8px;border:1px solid transparent;background:var(--card2);color:var(--text);font-size:13px}.results{margin-top:16px;display:flex;flex-direction:column;gap:10px}.results-head{padding:4px 2px}.route-label{font-size:16px;font-weight:600}.when-label{font-size:13px;color:var(--muted)}.drill-bar{display:flex;gap:8px;justify-content:space-between}.drill-bar button{flex:1;padding:9px 12px;border:none;border-radius:10px;background:var(--card2);color:var(--text);font-size:13px;cursor:pointer}.drill-bar button:disabled{opacity:.5;cursor:default}.card-drill{margin-top:8px;border-top:1px solid var(--card2);padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.avoid-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.avoid-title{font-size:12px;color:var(--muted)}.avoid-chip{padding:4px 9px;border:none;border-radius:14px;background:#e74c3c29;color:var(--bad);font-size:12px;cursor:pointer}.card-actions{position:relative}.card-actions-btn{width:30px;height:30px;border:none;border-radius:8px;background:var(--card2);color:var(--text);font-size:18px;cursor:pointer}.card-actions-btn:disabled{opacity:.4;cursor:default}.card-actions-menu{position:absolute;right:0;bottom:calc(100% + 6px);z-index:30;min-width:220px;background:var(--card2);border-radius:10px;box-shadow:0 12px 32px #0006;padding:6px}.ca-group{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:6px 8px 2px}.ca-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:7px;background:transparent;color:var(--text);font-size:13px;cursor:pointer}.ca-item:hover{background:var(--card)}.drill-shape-btn{padding:7px 12px;border:none;border-radius:8px;background:transparent;color:var(--accent);font-size:13px;cursor:pointer}.error{background:#e74c3c24;color:var(--bad);padding:14px;border-radius:var(--radius);font-size:14px}.empty{color:var(--muted);padding:20px;text-align:center}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 2px #0000008c}.card.best{box-shadow:0 0 0 1.5px var(--accent-dim),0 1px 2px #0000008c}.card.stale .journey-summary{opacity:.55}.journey-summary{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:none;color:inherit;cursor:pointer;text-align:left}.rank-wrap{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:5px}.rank{width:30px;height:30px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.rank.rank-venster{background:linear-gradient(135deg,#0a9d58,#34d399);color:#fff;font-size:12px;box-shadow:0 4px 10px #0a9d5847}.rank.rank-plain{background:var(--surface-3);color:var(--text-3)}.chip{padding:1px 6px;border-radius:20px;font-size:10px;font-weight:700;line-height:1.4}.chip-good{background:var(--green-fill);color:var(--green)}.chip-ok{background:var(--amber-fill);color:var(--amber)}.chip-bad{background:var(--red-fill);color:var(--red)}.summary-body{flex:1;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;cursor:pointer}.summary-left{min-width:0;display:flex;flex-direction:column;gap:3px}.summary-depart{color:var(--teal);font-size:18px;font-weight:750;line-height:1;font-variant-numeric:tabular-nums}.summary-duration{color:var(--text);font-size:22px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.summary-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3)}.arr-time{font-variant-numeric:tabular-nums;font-weight:650}.route-stack{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.route-line{min-width:0;max-width:100%}.route-chip{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:3px 8px;border-radius:7px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);font-size:13px;font-weight:700;white-space:nowrap}.route-chip.route-train{background:var(--teal-fill);color:var(--teal-hi);border-color:transparent}.route-chip.route-tram{background:var(--green-fill);color:var(--green);border-color:transparent}.route-chip.route-bus{background:var(--amber-fill);color:var(--amber);border-color:transparent}.route-chip.route-metro,.route-chip.route-m{background:var(--violet-fill);color:var(--violet);border-color:transparent}.route-leg-time{margin-right:2px;font-size:12px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums}.route-main{font-size:13px;font-weight:750}.route-dest{font-size:11px;font-weight:650;color:var(--text-3)}.route-leg-dur{margin-left:2px;padding-left:6px;border-left:1px solid rgba(144,153,168,.28);font-size:11px;font-weight:750;color:var(--text-3);font-variant-numeric:tabular-nums}.card-detail{padding:0 14px 12px;display:flex;flex-direction:column;gap:10px}.summary-timeline{min-width:0}.steps{display:flex;flex-direction:column;gap:2px}.step{display:flex;gap:10px;padding:6px 4px;align-items:flex-start}.step-num{flex:0 0 auto;min-width:42px;text-align:center;font-size:13px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums;padding-top:1px}.step-wait .step-num{color:var(--amber)}.step-body{min-width:0;flex:1}.step-headline{font-size:14px;color:var(--text);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.step-line{font-weight:700}.step-ride.route-train .step-line{color:var(--teal-hi)}.step-ride.route-tram .step-line{color:var(--green)}.step-ride.route-bus .step-line{color:var(--amber)}.step-ride.route-metro .step-line,.step-ride.route-subway .step-line{color:var(--violet)}.step-dir{color:var(--text-3);font-size:13px}.step-dur{margin-left:auto;color:var(--text-3);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.step-detail{font-size:12px;color:var(--text-3);margin-top:1px}.step-wait .step-headline{color:var(--amber);font-weight:600}.timeline-track{position:relative;height:9px;border-radius:999px;background:var(--surface-2);overflow:hidden;box-shadow:inset 0 0 0 1px #9099a82e}.timeline-seg{position:absolute;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.1)}.timeline-walk{background:var(--text-3)}.timeline-wait{background:var(--amber)}.timeline-transit{background:var(--accent)}.timeline-transit.mode-train{background:var(--teal)}.timeline-transit.mode-tram{background:var(--green)}.timeline-transit.mode-bus{background:var(--amber)}.timeline-transit.mode-subway{background:var(--violet)}.timeline-transit.cancelled{background:var(--red)}.stale-banner{display:flex;gap:6px;margin-bottom:10px;padding:6px;background:#f1c40f1a;border-radius:10px}.stale-lead{padding:8px 10px;font-size:13px;color:var(--ok)}.stale-btn{flex:1;padding:9px 12px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.stale-onboard{background:var(--accent);color:#fff}.stale-next{background:var(--card2);color:var(--text)}.stale-next.full{background:#f1c40f33;color:var(--ok)}.live-badge{margin-left:4px;padding:1px 6px;border-radius:6px;font-size:11px;font-weight:600;background:#2ecc7129;color:var(--good)}.route-chip.live-late .live-badge{background:#f1c40f2e;color:var(--ok)}.route-chip.live-broken .live-badge{background:#e74c3c2e;color:var(--bad)}.route-chip.live-broken{border-left-color:var(--bad)}.live-dot{color:var(--good);font-size:11px;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.4}}
