:root{--ink: #292929;--ink-hover: #111111;--mid: #5d5d5d;--soft: #9e9e9e;--paper: #ffffff;--surface: #ffffff;--hair: #ececec;--fill: #f4f4f4;--fill-hover: #ededed;--raised: #ffffff;--grid: #e7e7e7;--halo: #ffffff;--shadow: rgba(20, 20, 20, .1);--danger: #d65a4e;--wanted: #b9821c;--wanted-wash: rgba(214, 152, 46, .16);--wanted-ink: #2a1e05;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,system-ui,sans-serif;letter-spacing:-.15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root[data-theme=dark]{--ink: #e9eaec;--ink-hover: #f6f7f8;--mid: #a4a7ad;--soft: #6d7178;--paper: #0f1116;--surface: #181b21;--hair: #2a2e37;--fill: #23272f;--fill-hover: #2c313b;--raised: #2f353f;--grid: #23262d;--halo: #0f1116;--shadow: rgba(0, 0, 0, .5);--danger: #e0685c;--wanted: #e2a845;--wanted-wash: rgba(226, 168, 69, .17);--wanted-ink: #2a1e05;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);overflow:hidden}button{font:inherit;letter-spacing:inherit}.app{position:relative;height:100%;width:100%}.fatal{display:grid;min-height:100%;place-items:center;padding:24px}.fatal-card{width:min(420px,100%)}.fatal-card h1,.fatal-card p{margin:0}.fatal-card .card-body{gap:14px;padding:18px}.fatal-card button{align-self:flex-start;min-height:40px;padding:0 14px;border:0;border-radius:10px;background:var(--ink);color:var(--paper);cursor:pointer}.canvas{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:none}.grid-dot{fill:var(--grid)}.mk-halo{fill:var(--halo)}.mk-ink-stroke{stroke:var(--ink)}.map-label,.car{fill:var(--ink);stroke:var(--halo)}.canvas.is-dragging{cursor:grabbing}.stop-selected-ring{transform-box:fill-box;transform-origin:center;opacity:.95;animation:sel-march 1.1s linear infinite,sel-pop .26s cubic-bezier(.2,.85,.25,1)}@keyframes sel-march{to{stroke-dashoffset:-5.5}}@keyframes sel-pop{0%{opacity:0;transform:scale(.72)}to{opacity:.95;transform:scale(1)}}@keyframes pill-in{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:none}}@keyframes shelf-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card{display:flex;flex-direction:column;min-height:0;padding:0;background:var(--surface);border:1px solid var(--hair);border-radius:16px;overflow:hidden}.card-head{display:flex;align-items:center;gap:6px;flex:none;padding:11px 14px;border-bottom:1px solid var(--hair)}.card-title{flex:1;min-width:0;font-size:13.5px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-body{display:flex;flex-direction:column;min-height:0;padding:8px}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:10px 14px;border-top:1px solid var(--hair);font-size:12px;color:var(--soft)}.card-head+.card-foot{border-top:none}.view-toggle{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:6;display:inline-flex;gap:3px;padding:3px;background:var(--fill);border:1px solid var(--hair);border-radius:13px;box-shadow:0 6px 20px var(--shadow)}.view-opt{border:none;background:none;font:inherit;font-size:13px;letter-spacing:inherit;color:var(--mid);padding:5px 15px;border-radius:10px;cursor:pointer;transition:color .14s ease,background .14s ease,box-shadow .14s ease}.view-opt:hover{color:var(--ink)}.view-opt.is-on{background:var(--raised);color:var(--ink);font-weight:500;box-shadow:0 1px 4px var(--shadow)}.world-rule{padding:8px 10px 2px;font-size:12px;color:var(--soft)}.world-source{margin-left:auto;padding:3px 7px;border-radius:999px;background:var(--fill);color:var(--soft);font-size:10px;font-weight:500;white-space:nowrap}.world-source.is-live{color:var(--ink)}.world-loading{position:absolute;top:50%;left:50%;z-index:2;padding:8px 11px;border-radius:10px;background:var(--fill);color:var(--soft);font-size:12px;transform:translate(-50%,-50%)}.period-track{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:3px;margin-bottom:5px;background:var(--fill);border-radius:11px}.period-opt{height:28px;border:none;border-radius:8px;background:none;color:var(--mid);font:inherit;font-size:12px;letter-spacing:inherit;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .14s ease}.period-opt:hover{background:var(--fill-hover);color:var(--ink)}.period-opt.is-on{background:var(--raised);color:var(--ink);font-weight:500;box-shadow:0 1px 4px var(--shadow)}.line-name.is-quiet{color:var(--soft)}.train{pointer-events:none}.info-rows{gap:6px;padding:10px 14px}.info-row{display:flex;justify-content:space-between;gap:14px;font-size:12.5px}.info-row-label{color:var(--mid)}.info-row-value{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.dock{position:absolute;left:50%;bottom:18px;transform:translate(calc(-50% + var(--dock-shift, 0px)));z-index:6;display:flex;align-items:center;gap:10px}.bar-btn[data-tip]:after,.tool-btn[data-tip]:after,.cycle-opt[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);z-index:1;padding:4px 8px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:500;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.bar-btn:hover:not(:disabled)[data-tip]:after,.tool-btn:hover:not(:disabled)[data-tip]:after,.cycle-opt:hover[data-tip]:after{opacity:1}[data-tip][data-tip-below]:after{bottom:auto;top:calc(100% + 8px)}.bar-btn:hover{z-index:2}.bar{display:inline-flex;align-items:center;height:44px;padding:4px;background:var(--fill);border:1px solid var(--hair);border-radius:15px;box-shadow:0 6px 20px var(--shadow);animation:pill-in .22s cubic-bezier(.2,.85,.25,1)}.bar-seg{display:inline-flex;align-items:center;gap:4px}.bar-tools{display:inline-flex;align-items:center;animation:tools-in .2s cubic-bezier(.2,.85,.25,1)}@keyframes tools-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.bar-div{width:1px;height:20px;margin:0 5px;background:var(--hair);flex:none}.bar-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border:none;border-radius:10px;background:none;color:var(--mid);font:inherit;letter-spacing:inherit;cursor:pointer;transition:color .14s ease,background .14s ease,box-shadow .14s ease,transform .12s ease}.bar-btn:hover:not(:disabled){color:var(--ink);background:var(--fill-hover)}.bar-btn:active:not(:disabled){transform:translateY(.5px)}.bar-btn:disabled{opacity:.32;cursor:default}.bar-btn.is-on{color:var(--ink);background:var(--raised);box-shadow:0 1px 4px var(--shadow)}.bar-btn.is-cta{gap:6px;padding:0 15px 0 12px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:500}.bar-btn.is-cta:hover:not(:disabled){background:var(--ink-hover);color:var(--paper)}.bar-grip{min-width:30px;padding:0 7px;color:var(--soft)}.bar-grip.is-on{background:none;box-shadow:none;color:var(--ink)}.bar-zoom{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:34px;padding:0 4px;color:var(--mid);font-size:12.5px;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.bar-account{width:34px;min-width:34px;padding:0;background:var(--raised);box-shadow:0 1px 4px var(--shadow)}.bar-account:hover:not(:disabled){background:var(--surface)}.account-anchor{position:relative;display:inline-flex}.account-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;overflow:hidden;border-radius:8px;color:var(--ink);font-size:11px;font-weight:650;line-height:1}.account-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.account-state{position:absolute;right:3px;bottom:3px;width:6px;height:6px;border:1.5px solid var(--fill);border-radius:50%;background:var(--ink)}.bar-account.has-attention .account-state{background:var(--wanted)}.bar-account.is-working .account-state{background:var(--mid)}.account-menu{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:7;width:min(280px,calc(100vw - 24px));padding:5px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;box-shadow:0 10px 34px var(--shadow);transform:translate(-50%);animation:account-in .16s cubic-bezier(.2,.85,.25,1)}@keyframes account-in{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.98)}to{opacity:1;transform:translate(-50%)}}.account-menu-row{display:flex;align-items:center;gap:4px;min-width:0;height:32px}.account-email{flex:1;min-width:0;overflow:hidden;padding:0;color:var(--ink);font-size:13px;font-weight:500;text-align:center;text-overflow:ellipsis;white-space:nowrap}.account-provider{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none}.account-alert{flex:none;color:var(--wanted);font-size:11px;white-space:nowrap}.account-action{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;padding:0;border:0;border-radius:8px;background:none;color:var(--mid);cursor:pointer;transition:color .12s ease,background .12s ease}.account-action:hover{background:var(--fill);color:var(--ink)}.account-action[data-tip]:after{content:attr(data-tip);position:absolute;right:0;bottom:calc(100% + 8px);padding:4px 8px;border-radius:6px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.account-action:hover[data-tip]:after{opacity:1}.account-sign-in{display:block;width:100%;height:32px;padding:0 9px;border:0;border-radius:8px;background:none;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.account-sign-in:hover{background:var(--fill)}.account-unavailable{display:block;padding:8px;color:var(--mid);font-size:11px}.account-sep{height:1px;margin:5px 7px;background:var(--hair)}.account-note,.account-error{margin:0;padding:3px 9px 5px;color:var(--soft);font-size:11px;line-height:1.4}.account-error{color:var(--danger)}.account-delete{display:block;width:100%;min-height:34px;padding:6px 9px;border:0;border-radius:8px;background:none;color:var(--mid);font:inherit;font-size:12px;text-align:left;cursor:pointer}.account-delete:hover:not(:disabled){background:var(--fill);color:var(--danger)}.account-delete.is-armed{background:#d65a4e26;color:var(--danger);font-weight:500}.account-delete:disabled{opacity:.55;cursor:wait}.account-legal{display:flex;gap:12px;padding:7px 9px 4px;border-top:1px solid var(--hair)}.account-legal a{color:var(--soft);font-size:11px;text-decoration:none}.account-legal a:hover{color:var(--ink);text-decoration:underline}@media(max-width:520px){.account-menu{width:min(280px,calc(100vw - 24px))}}@media(max-width:350px){.account-menu{left:calc(50% - 12px)}}@media(max-width:320px){.account-menu{left:calc(50% - 24px)}}.shelf{position:relative;display:flex;flex-direction:column;align-items:center}.shelf-tools.is-on-bar{background:var(--fill)}.pop-note{margin:0;padding:2px 8px 4px;font-size:11px;line-height:1.45;color:var(--soft)}.pop-sep{height:1px;margin:5px 8px;background:var(--hair)}.pop-row.is-armed{background:#d65a4e26;color:var(--danger);font-weight:500}.pop-row.is-armed:hover{background:#d65a4e3d}.pop-action{min-width:176px}.pop-world{width:min(300px,calc(100vw - 24px))}.pop-row:disabled{color:var(--soft);cursor:not-allowed}.pop-row:disabled:hover{background:none}.composer{position:relative;z-index:5}.composer-open{width:min(520px,calc(100vw - 24px));display:flex;flex-direction:column;align-items:center;animation:shelf-in .2s cubic-bezier(.2,.85,.25,1)}.composer-open.is-closing{animation:shelf-out .15s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}@keyframes shelf-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.97)}}.shelf-tools{display:inline-flex;align-items:center;gap:2px;max-width:100%;margin-bottom:-1px;padding:4px 5px;background:var(--surface);border:1px solid var(--hair);border-bottom:none;border-radius:11px 11px 0 0;position:relative;z-index:1;animation:facets-in .18s cubic-bezier(.2,.85,.25,1)}@keyframes facets-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.shelf-input{width:100%;display:flex;align-items:center;gap:8px;padding:8px;background:var(--surface);border:1px solid var(--hair);border-radius:16px;box-shadow:0 10px 40px #1414141f}.shelf-input .field-name{flex:1;min-width:0;background:none;border-radius:0;padding:6px;font-size:15px}.shelf-input .field-name:focus{background:none;box-shadow:none}.io-btn{flex:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;transition:background .14s ease,color .14s ease}.io-cancel{background:var(--fill);color:var(--mid)}.io-cancel:hover{background:var(--fill-hover);color:var(--ink)}.io-more{position:relative;background:none;color:var(--soft)}.io-more:hover{background:var(--fill);color:var(--ink)}.io-submit{background:var(--ink);color:var(--paper);transition:background .16s ease,color .16s ease,box-shadow .16s ease}.io-submit:hover{background:var(--ink-hover)}.io-submit.is-idle{background:var(--fill);color:var(--soft);box-shadow:inset 0 0 0 1px var(--hair)}.io-submit.is-idle:hover{background:var(--fill-hover);color:var(--mid)}.tool{position:relative}.tool-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:none;border-radius:8px;background:none;color:var(--mid);font-size:13px;cursor:pointer;transition:background .12s ease,color .12s ease}.tool-btn:hover{background:var(--fill);color:var(--ink)}.tool-btn.is-active,.shelf-tools.is-on-bar .tool-btn:hover{background:var(--fill-hover);color:var(--ink)}.tool-btn.is-on{background:var(--raised);color:var(--ink);box-shadow:0 1px 4px var(--shadow)}.tool-btn.is-action{color:var(--mid)}.tool-div{width:1px;height:18px;margin:0 6px;background:var(--hair);flex:none}.tool-btn svg{display:block}.tool-btn .dot{width:9px;height:9px;border-radius:50%}.pop{position:absolute;bottom:calc(100% + 8px);left:0;z-index:6;min-width:190px;padding:6px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;box-shadow:0 8px 28px #14141424;animation:pop-in .14s ease}.pop-label{font-size:11px;color:var(--soft);padding:4px 8px 6px}.pop-label-sub{padding-top:10px}.days-wide{display:flex;justify-content:space-between;gap:4px;padding:3px;background:var(--fill);border-radius:11px}.days-hint{font-size:11px;color:var(--soft);padding:5px 2px 0}.pop-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:none;border-radius:8px;background:none;color:var(--ink);font-size:13px;text-align:left;cursor:pointer;transition:background .12s ease}.pop-row:hover{background:var(--fill)}.pop-row.is-on{background:var(--fill-hover);font-weight:500}.pop-row .dot{width:9px;height:9px;border-radius:50%}.pop-line{max-height:46vh;overflow-y:auto}.pop-when{display:flex;flex-direction:column;gap:10px;padding:8px;min-width:232px}.pop-when .days{justify-content:space-between}.pop-when-row{display:flex;align-items:center;gap:8px}.time-to{flex:none;font-size:12px;color:var(--soft);transition:opacity .12s ease}.time-to.is-off{opacity:.4}.field-name,.field-sub,.field-time{font-family:inherit;letter-spacing:inherit;border:none;background:var(--fill);border-radius:10px;color:var(--ink);outline:none;transition:box-shadow .12s ease,background .12s ease}.field-name::placeholder,.field-sub::placeholder{color:var(--soft)}.field-sub{width:100%;font-size:13px;padding:8px 10px;margin-top:6px}.field-time{font-size:13px;padding:7px 9px;flex:1}.field-sub:focus,.field-time:focus{background:var(--surface);box-shadow:0 0 0 2px #29292924}.date-field{display:flex;flex-direction:column;gap:2px;padding:7px 8px 2px;color:var(--soft);font-size:11px}.date-field .field-sub{margin-top:2px}.days{display:inline-flex;gap:4px;transition:opacity .12s ease}.days.is-off{opacity:.4}.day{width:26px;height:28px;border:none;border-radius:8px;background:none;color:var(--mid);font-size:12px;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .14s ease}.day:hover:not(:disabled){background:var(--fill-hover);color:var(--ink)}.day.is-on{background:var(--raised);color:var(--ink);font-weight:500;box-shadow:0 1px 4px var(--shadow)}.day:disabled{cursor:default}.vibe{padding:7px 12px;border:none;border-radius:8px;background:var(--fill);color:var(--mid);font-size:13px;cursor:pointer;transition:background .12s ease,color .12s ease}.vibe.is-on{background:var(--fill-hover);color:var(--ink);font-weight:500;box-shadow:inset 0 1px 3px var(--shadow)}.vibe-wide{width:100%;text-align:center}.bulk{width:min(420px,calc(100vw - 32px));max-height:min(62vh,520px);box-shadow:0 12px 34px var(--shadow);animation:pill-in .22s cubic-bezier(.2,.85,.25,1)}.bulk-field{width:100%;min-height:108px;max-height:34vh;padding:8px 10px;border:none;border-radius:10px;background:var(--fill);color:var(--ink);font:inherit;font-size:13.5px;line-height:1.5;resize:none;overflow-y:auto}.bulk-field:focus{outline:none;background:var(--fill-hover)}.bulk-field::placeholder{color:var(--soft);white-space:pre-line}.bulk-note{margin:8px 2px 0;font-size:11px;line-height:1.45}.bulk-plan{gap:12px;overflow-y:auto}.bulk-line{display:flex;flex-direction:column;gap:2px}.bulk-line-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:2px 8px 4px}.bulk-line-name{font-size:12.5px;font-weight:500;color:var(--ink)}.bulk-line-days{font-size:11px;color:var(--soft)}.bulk-stop{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;padding:7px 8px;border:none;border-radius:8px;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .14s ease,opacity .14s ease}.bulk-stop:hover{background:var(--fill)}.bulk-stop-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-stop-time{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums;white-space:nowrap}.bulk-stop-source{grid-column:1 / -1;font-size:10.5px;line-height:1.4;color:var(--soft);opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-stop.is-off{opacity:.4}.bulk-stop.is-off .bulk-stop-name{text-decoration:line-through}.bulk-unread{margin:0;padding:5px 8px;font-size:11.5px;line-height:1.4;color:var(--soft);font-style:italic}.bulk-mic{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border:none;border-radius:9px;background:none;color:var(--mid);font:inherit;font-size:12px;cursor:pointer;transition:color .14s ease,background .14s ease,box-shadow .14s ease}.bulk-mic:hover{color:var(--ink);background:var(--fill)}.bulk-mic.is-on{color:var(--ink);background:var(--raised);box-shadow:0 1px 4px var(--shadow)}.bulk-mic.is-on svg{color:var(--danger);animation:mic-live 1.6s ease-in-out infinite}@keyframes mic-live{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.bulk-mic.is-on svg{animation:none}}.bulk-go{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border:1.5px solid var(--hair-strong, var(--hair));border-radius:50%;background:none;color:var(--soft);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.bulk-go.is-ready{border-color:var(--ink);background:var(--ink);color:var(--paper)}.bulk-go.is-ready:hover{background:var(--ink-hover);border-color:var(--ink-hover)}.panel{position:absolute;top:16px;right:16px;z-index:3;width:268px;max-height:calc(100vh - 32px);border-radius:18px;box-shadow:0 10px 34px var(--shadow)}.line-list{display:flex;flex-direction:column;gap:1px;flex:1;overflow-y:auto;min-height:0;padding:6px}.line-group{display:flex;flex-direction:column}.line-row{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:none;border-radius:12px;background:none;color:var(--ink);font:inherit;font-size:13px;letter-spacing:inherit;text-align:left;cursor:pointer;transition:background .14s ease}.line-row:hover{background:var(--fill)}.line-row.is-selected{background:var(--fill-hover);font-weight:500}.line-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-count{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums}.line-when{flex:none;font-size:12px;color:var(--soft)}.line-when.is-today{color:var(--ink);font-weight:500}.dot{width:8px;height:8px;border-radius:50%;flex:none}.stops{display:flex;flex-direction:column;padding:2px 0 8px 22px}.service-switch{display:flex;flex-wrap:wrap;gap:3px;align-self:flex-start;max-width:100%;margin:2px 0 4px;padding:3px;background:var(--fill);border-radius:11px}.service-opt{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:8px;background:none;color:var(--mid);font:inherit;font-size:12px;padding:4px 10px;cursor:pointer;transition:color .12s ease,background .12s ease,box-shadow .14s ease}.service-opt:hover{color:var(--ink)}.service-opt.is-on{background:var(--raised);color:var(--ink);font-weight:500;box-shadow:0 1px 4px var(--shadow)}.service-today{width:5px;height:5px;border-radius:50%;flex:none}.stop-row{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;font:inherit;font-size:13px;letter-spacing:inherit;color:var(--ink);text-align:left;border:none;border-radius:10px;background:none;cursor:pointer;transition:background .12s ease}button.stop-row:hover{background:var(--fill)}.stop-row.is-selected{background:var(--fill-hover)}.stop-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-time{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums}.stop-time.is-moved{color:var(--danger)}.stops::-webkit-scrollbar{width:6px}.stops::-webkit-scrollbar-thumb{background:var(--hair);border-radius:999px}.map-pop{position:absolute;z-index:7;display:flex;align-items:stretch;gap:8px;animation:map-pop-in .13s ease}.map-pop-col{position:relative;display:flex;flex-direction:column}.map-pop-leaf{flex:1;min-width:196px;max-width:min(92vw,340px);box-shadow:0 10px 30px var(--shadow)}.map-pop .card-body{flex:1;max-height:58vh;overflow-y:auto;gap:7px}@keyframes map-pop-in{0%{opacity:0}to{opacity:1}}.map-pop-side{flex:none;box-shadow:0 10px 30px var(--shadow)}.map-pop-side.is-right{animation:side-in-r .14s ease}.map-pop-side.is-left{animation:side-in-l .14s ease}@keyframes side-in-r{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes side-in-l{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.map-pop-acc{position:absolute;left:0;bottom:100%;margin-bottom:8px}.map-pop-acc.is-below{bottom:auto;top:100%;margin:8px 0 0}.map-pop.ins .map-pop-leaf{width:292px}.ins .card-head{gap:4px;padding:6px 8px;min-height:40px}.ins .card-title{font-size:14px;padding-left:6px}.ins .card-body{padding:8px}.ins .card-foot{padding:9px 14px}.ins-name,.ins-time{font-family:inherit;letter-spacing:inherit;border:none;background:none;border-radius:8px;outline:none;padding:5px 6px;transition:background .12s ease,box-shadow .12s ease}.ins-name{flex:1;min-width:0;color:var(--ink);font-size:14px;font-weight:500}.ins-time{flex:none;width:104px;color:var(--mid);font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right}.ins-name::placeholder,.ins-time::placeholder{color:var(--soft);font-weight:400}.ins-name:hover,.ins-time:hover:not(:disabled){background:var(--fill)}.ins-name:focus,.ins-time:focus{background:var(--fill);box-shadow:0 0 0 2px #29292924}.ins-time:disabled{color:var(--soft)}.ins-del{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:none;color:var(--soft);cursor:pointer;transition:background .12s ease,color .12s ease}.ins-del:hover{background:var(--fill);color:var(--danger)}.ins-row{display:flex;align-items:center;gap:4px}.ins-tag{flex:none;width:46px;padding-left:6px;font-size:12px;color:var(--mid)}.ins-time.is-wide{flex:1;width:auto;text-align:left}.ins-toggle{flex:none;border:none;border-radius:8px;background:none;color:var(--mid);font:inherit;font-size:12px;padding:5px 10px;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .14s ease}.ins-toggle:hover{background:var(--fill);color:var(--ink)}.ins-toggle.is-on{background:var(--fill-hover);color:var(--ink);font-weight:500;box-shadow:inset 0 1px 3px var(--shadow)}.ins-swatches{display:flex;gap:8px;padding:1px 6px 2px}.ins-swatch{width:20px;height:20px;padding:0;border:none;border-radius:50%;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.ins-swatch:hover{transform:scale(1.12)}.ins-swatch.is-on{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--ink)}.ins-label{font-size:12px;color:var(--soft);margin-top:2px;padding-left:6px}.service-date{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 6px;color:var(--mid);font-size:12px}.service-date input{min-width:0;padding:6px 8px;border:0;border-radius:8px;outline:none;background:var(--fill);color:var(--ink);font:inherit}.service-date input:focus{box-shadow:0 0 0 2px #29292924}.location-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:9px 14px;border-top:1px solid var(--hair)}.location-row>div{display:flex;flex:1 1 130px;flex-direction:column;min-width:0}.location-title{color:var(--mid);font-size:12px}.location-note,.location-error{color:var(--soft);font-size:10px;line-height:1.35}.location-error{flex-basis:100%;color:var(--wanted)}.location-row button{min-height:30px;padding:0 8px;border:0;border-radius:8px;background:var(--fill);color:var(--mid);font:inherit;font-size:11px;cursor:pointer}.location-row button:hover:not(:disabled){color:var(--ink);background:var(--fill-hover)}.location-row button:disabled{opacity:.55;cursor:wait}.ins .days-wide{display:grid;grid-template-columns:repeat(7,1fr)}.ins .day{width:auto;height:26px}.ins .days-hint{padding:2px 6px 0}.paths-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 12px;border:1px solid var(--hair);border-radius:11px;background:var(--surface);box-shadow:0 8px 24px var(--shadow);color:var(--mid);font:inherit;font-size:12px;letter-spacing:inherit;white-space:nowrap;cursor:pointer;transition:background .12s ease,color .12s ease}.paths-chip:hover{background:var(--fill);color:var(--ink)}.paths-chip-plus{display:inline-flex;color:var(--soft);transition:color .12s ease}.paths-chip:hover .paths-chip-plus{color:var(--ink)}.alt-row{display:flex;align-items:center;gap:8px;padding-left:6px}.alt-label{flex:none;font-size:13px;color:var(--mid)}.cycle-toggle{display:inline-flex;align-self:flex-start;gap:3px;padding:3px;background:var(--fill);border-radius:11px}.cycle-opt{position:relative;border:none;border-radius:8px;background:none;color:var(--mid);font:inherit;font-size:12px;letter-spacing:inherit;padding:5px 11px;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .14s ease}.cycle-opt:hover{color:var(--ink)}.cycle-opt.is-on{background:var(--raised);color:var(--ink);font-weight:500;box-shadow:0 1px 4px var(--shadow)}.cycle-opt.is-shut{color:var(--soft)}.cycle-opt.is-shut:hover{color:var(--mid)}.path-list{display:flex;flex-direction:column;gap:9px}.path{display:flex;flex-direction:column;gap:5px}.path-head{display:flex;align-items:center;gap:6px}.path-mark{flex:none;padding:3px 7px;border:none;border-radius:6px;background:var(--fill);color:var(--mid);font:inherit;font-size:12px;letter-spacing:inherit}button.path-mark{cursor:pointer;transition:background .12s ease,color .12s ease}button.path-mark:hover{background:var(--fill-hover);color:var(--ink)}.ins-open{width:100%;min-width:0;display:flex;align-items:center;gap:8px;padding:4px 6px;border:none;border-radius:8px;background:none;color:var(--ink);font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;transition:background .12s ease,box-shadow .14s ease}.ins-open:hover{background:var(--fill)}.ins-open.is-open{background:var(--fill-hover);box-shadow:inset 0 1px 3px var(--shadow)}.ins-open .ins-tag{width:auto;padding-left:0;white-space:nowrap;color:var(--ink)}.path-head .ins-open{flex:1;width:auto}.path-name{min-width:0;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-name.is-unnamed{color:var(--soft);font-weight:400}.ins-note{flex:1;text-align:right;font-size:12px;color:var(--soft);white-space:nowrap}.ins-caret{flex:none;display:inline-flex;color:var(--soft)}.ins-caret.is-left{transform:rotate(180deg)}.calls{display:flex;flex-direction:column}.call{position:relative;display:flex;align-items:center;gap:10px;height:30px;padding-right:6px;border:none;border-radius:8px;background:none;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.call:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--pc)}.call.is-first:before{top:50%}.call.is-last:before{bottom:50%}.call.is-skipped:before{opacity:.3}.call:hover{background:var(--fill)}.call-mk{position:relative;flex:none;width:30px;display:inline-flex;justify-content:center;align-items:center}.call.is-skipped .call-mk{opacity:.4}.call-name{min-width:0;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call.is-skipped .call-name{color:var(--soft)}.ins-back{flex:none;width:24px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:none;color:var(--soft);cursor:pointer;transition:background .12s ease,color .12s ease}.ins-back:hover{background:var(--fill);color:var(--ink)}.ins-back svg{transform:rotate(180deg)}.empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;max-width:min(86vw,424px);pointer-events:none}.empty-title{margin:0 0 15px;font-size:24px;font-weight:500;letter-spacing:-.4px;color:var(--ink)}.empty p{margin:0 0 13px;font-size:14px;line-height:1.55;color:var(--mid)}.empty p:last-child{margin-bottom:0}.empty b{font-weight:500;color:var(--ink)}@keyframes nudge{12%{transform:translate(-4px)}36%{transform:translate(4px)}62%{transform:translate(-2px)}84%{transform:translate(2px)}to{transform:none}}.is-refused{animation:nudge .26s cubic-bezier(.36,.07,.19,.97)}@keyframes want-in{0%{box-shadow:0 0 0 0 var(--wanted-wash)}60%{box-shadow:0 0 0 5px var(--wanted-wash)}to{box-shadow:0 0 0 2px var(--wanted)}}.is-wanted.is-wanted{box-shadow:0 0 0 2px var(--wanted);animation:want-in .3s cubic-bezier(.2,.85,.25,1)}.field-sub.is-wanted{background:var(--fill)}.is-wanted::placeholder{color:var(--wanted)}.shelf-input .field-name.is-wanted,.shelf-input .field-name.is-wanted:focus{box-shadow:none;animation:none}.is-refused[data-tip]:after{opacity:1;background:var(--wanted);color:var(--wanted-ink)}.ins-note.is-wanted.is-wanted,.is-wanted-text{color:var(--wanted);box-shadow:none;animation:none}.pop-row.is-refused{background:var(--wanted-wash);color:var(--wanted);font-weight:500}@keyframes settle{0%{transform:scale(.86)}60%{transform:scale(1.07)}to{transform:scale(1)}}.is-settling{animation:settle .26s cubic-bezier(.2,.85,.25,1)}@media(prefers-reduced-motion:reduce){.is-refused.is-refused{animation:none;box-shadow:0 0 0 2px var(--wanted)}.is-wanted.is-wanted,.is-settling{animation:none}}@keyframes net-in{0%{opacity:0}to{opacity:1}}.net-in{animation:net-in .46s ease both}@media(prefers-reduced-motion:reduce){*{transition:none!important}.net-in{animation:none}.train{display:none}.stop-selected-ring{animation:none;opacity:.9}}@media(max-width:560px){.panel{top:60px;width:calc(100vw - 32px);max-height:46vh}}:where(button,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--ink);outline-offset:2px}.map-line-hit:focus-visible{stroke:var(--ink);stroke-width:11px;opacity:.34;outline:none}.map-stop-hit:focus-visible{fill:var(--halo);fill-opacity:.7;stroke:var(--ink);stroke-width:2px;outline:none}@media(forced-colors:active){.map-line-hit:focus-visible,.map-stop-hit:focus-visible{stroke:Highlight}}@media(max-width:560px){.view-opt{min-height:40px;padding-inline:14px}.panel{left:16px;right:16px;width:auto;max-height:min(46dvh,380px)}.line-row,.stop-row{min-height:44px}.period-opt{min-height:38px}.dock{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 20px);transform:translate(-50%)}.bar{position:relative;height:50px;max-width:calc(100vw - 20px);padding:4px}.bar-btn,.bar-account{min-width:40px;width:auto;height:40px}.bar-account{width:40px}.bar-tools{position:absolute;left:50%;bottom:calc(100% + 8px);max-width:calc(100vw - 20px);min-height:48px;padding:3px;border:1px solid var(--hair);border-radius:15px;background:var(--fill);box-shadow:0 6px 20px var(--shadow);transform:translate(-50%);animation:none}.bar-tools>.bar-div:first-child{display:none}.bar-tools .bar-div{margin-inline:3px}.bar-zoom{min-width:39px;padding-inline:1px}.shelf-tools.is-on-bar{position:absolute;left:50%;bottom:calc(100% + 62px);display:flex;flex-wrap:wrap;justify-content:center;width:min(350px,calc(100vw - 20px));margin:0;border:1px solid var(--hair);border-radius:13px;box-shadow:0 6px 20px var(--shadow);transform:translate(-50%);animation:none}.shelf-tools.is-on-bar .tool-btn{min-height:38px}.shelf-tools.is-on-bar .tool-div{margin-inline:3px}.pop{position:fixed;left:12px;right:12px;bottom:calc(128px + env(safe-area-inset-bottom));width:auto;max-height:48dvh;overflow-y:auto}.day{min-width:36px;height:38px}.ins-del,.ins-back,.ins-toggle,.location-row button,.cycle-opt,.service-opt,.call{min-height:40px}.map-pop .card-body{max-height:48dvh}}@media(max-width:350px){.bar-btn.is-cta span,.bar-zoom{display:none}.bar-btn.is-cta{padding-inline:12px}}
