:root{--tw-ink:#1d2430;--tw-muted:#5c6474;--tw-surface:#fffffff5;--tw-accent:#1d3f73;--tw-line:#d6d9de;color:var(--tw-ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}html,body,#root{background:#b9d6e8;height:100%;margin:0;overflow:hidden}.tw-app{position:fixed;inset:0}.tw-map{position:absolute;inset:0}.tw-overlays{z-index:5;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute}.tw-overlays>*{pointer-events:auto}.tw-overlays--top{top:calc(8px + env(safe-area-inset-top,0px));flex-flow:wrap;align-items:flex-start;gap:6px;left:8px;right:8px}.tw-overlays--top>.tw-toolbar{flex:0 auto;min-width:0;max-width:100%}.tw-top-break{flex-basis:100%;height:0}.tw-overlays--top>.tw-layers{flex:0 auto}.tw-overlays--top>.tw-models{margin-left:auto}.tw-overlays--top>.tw-sync{flex:none}.tw-overlays--bottom{left:8px;right:8px;bottom:calc(var(--tw-panel-height,58px) + 8px);align-items:flex-start;gap:6px}.tw-overlay{background:var(--tw-surface);border-radius:10px;padding:6px;font-size:13px;box-shadow:0 1px 4px #0000002e}.tw-layers,.tw-models>div{flex-wrap:wrap;gap:4px;display:flex}.tw-models{align-items:center;gap:8px;display:flex}.tw-chip{border:1px solid var(--tw-line);color:var(--tw-ink);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-size:13px}.tw-chip--on{background:var(--tw-accent);border-color:var(--tw-accent);color:#fff}.tw-chip--small{padding:2px 8px;font-size:12px}.tw-muted{color:var(--tw-muted)}.tw-button{background:var(--tw-accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:6px 12px;font-size:13px}.tw-button:disabled{opacity:.6}.tw-sync__button{font:inherit;cursor:pointer;color:var(--tw-ink);background:0 0;border:0;align-items:center;gap:8px;display:flex}.tw-dot{background:#b0b6c0;border-radius:50%;width:9px;height:9px}.tw-dot--on{background:#2f9e5b}.tw-sync__sheet{z-index:20;top:calc(var(--tw-top-height,80px) + 16px + env(safe-area-inset-top,0px));box-sizing:border-box;width:min(100vw - 16px,520px);max-height:calc(100vh - var(--tw-top-height,80px) - var(--tw-panel-height,58px) - 40px);background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:fixed;right:8px;overflow:auto;box-shadow:0 2px 12px #00000040}.tw-sync__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tw-sync__error{color:#b3261e}.tw-sync__attribution{color:var(--tw-muted);font-size:11px}.tw-sync__attribution p{margin:4px 0}.tw-table{border-collapse:collapse;width:100%;font-size:12px}.tw-table th,.tw-table td{text-align:left;border-bottom:1px solid var(--tw-line);padding:3px 6px}.tw-legend{min-width:260px;padding:5px 8px}.tw-legend__row{align-items:center;gap:6px;display:flex}.tw-legend__row+.tw-legend__row{margin-top:4px}.tw-legend__title{min-width:64px;color:var(--tw-ink);white-space:nowrap;flex:none;font-size:11px}.tw-legend__unit{color:var(--tw-muted)}.tw-legend__ramp{border-radius:3px;flex:auto;height:16px;position:relative;overflow:hidden}.tw-legend__tick{color:#fff;text-shadow:0 0 2px #000000e6,0 0 1px #000,1px 1px #00000080;pointer-events:none;margin-top:-7px;font-size:10px;font-weight:600;line-height:14px;position:absolute;top:50%}.tw-point-marker{background:#fff;border:3px solid #0b1220;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 2px #ffffffb3}.tw-panel{z-index:6;background:var(--tw-surface);padding-bottom:env(safe-area-inset-bottom,0px);border-top-left-radius:14px;border-top-right-radius:14px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000002e}.tw-panel__bar{align-items:stretch;gap:8px;padding:6px 10px;display:flex}.tw-panel__fold{align-self:flex-start;margin-top:4px}.tw-panel__content{flex-direction:column;height:min(36vh,340px);padding:0 10px 10px;display:flex}.tw-panel__content--short{height:auto}.tw-panel__placeholder{color:var(--tw-muted);text-align:center;padding:2px 8px 6px;font-size:12px}.tw-panel__clear{color:var(--tw-accent);cursor:pointer;background:0 0;border:0;align-self:flex-end;font-size:12px}.tw-time-axis{flex:1;min-height:46px;font-size:11px;position:relative}.tw-time-axis--empty{color:var(--tw-muted);align-items:center;display:flex}.tw-time-axis__cursor{color:#c0392b;background:var(--tw-surface);z-index:1;padding:0 4px;font-size:12px;font-weight:600;position:absolute;top:-2px;right:0}.tw-time-axis__ticks{border-bottom:1px solid var(--tw-line);height:30px;margin:2px 8px 0;position:relative}.tw-tick{color:var(--tw-muted);white-space:nowrap;position:absolute;top:14px;transform:translate(-50%)}.tw-tick--major{color:var(--tw-ink);font-weight:600}.tw-step-mark{background:var(--tw-accent);width:1px;height:5px;position:absolute;bottom:-1px}.tw-tick--day{z-index:1;background:var(--tw-surface);padding:0 2px 0 1px}.tw-tick--day:empty{display:none}.tw-day-mark{background:var(--tw-line);width:1px;position:absolute;top:10px;bottom:-1px}.tw-play{align-self:flex-start;margin-top:4px}.tw-cursor-line{background:#c0392b;width:2px;margin-left:-1px;position:absolute;top:0;bottom:-4px}.tw-scrub{accent-color:#c0392b;width:100%;margin:2px 0 0}.tw-meteogram{flex-direction:column;flex:1;min-height:0;display:flex}.tw-meteogram__head{flex-wrap:wrap;gap:10px;padding-bottom:4px;font-size:12px;display:flex}.tw-meteogram__models span+span{margin-left:8px}.tw-meteogram__warn{color:#b3261e}.tw-meteogram__canvas{flex:1;width:100%;min-height:0}.maplibregl-ctrl-attrib{font-size:10px}@media (width<=600px){.tw-legend{width:220px;min-width:0;padding:4px 6px}.tw-legend__row+.tw-legend__row{margin-top:2px}}.tw-toolbar{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:4px;display:flex;overflow-x:auto}.tw-toolbar::-webkit-scrollbar{display:none}.tw-toolbar>*{flex:none}.tw-toolbar__passage{text-overflow:ellipsis;white-space:nowrap;max-width:180px;padding:0 4px;font-weight:600;overflow:hidden}.tw-badge{color:var(--tw-accent);background:#eef2f7;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.tw-badge--warn{color:#8a4b00;background:#fdecc8}.tw-badge--shown{color:#1f6b3a;background:#e3f3e8}.tw-overlay-host{z-index:8;position:absolute;inset:0}.tw-overlays--top{z-index:9}.tw-overlay-host__scrim{background:#0a142840;position:absolute;inset:0}.tw-overlay-host--folded{pointer-events:none}.tw-overlay-host--folded .tw-overlay-host__scrim,.tw-overlay-host--folded .tw-overlay-host__sheet{display:none}.tw-overlay-host__sheet{top:calc(var(--tw-top-height,80px) + 16px + env(safe-area-inset-top,0px));left:8px;right:8px;bottom:calc(var(--tw-panel-height,58px) + 8px);background:var(--tw-surface);border-radius:12px;max-width:1100px;margin:0 auto;padding:10px 12px 14px;font-size:13px;position:absolute;overflow:auto;box-shadow:0 2px 12px #00000040;background:#fbfcfd!important}.tw-overlay-host__close{float:right;z-index:2;border:1px solid var(--tw-line);cursor:pointer;background:#fff;border-radius:8px;padding:3px 8px;font-size:12px;position:sticky;top:0}.tw-sheet h2{margin:4px 0 8px;font-size:17px}.tw-sheet h3{margin:12px 0 4px;font-size:14px}.tw-sheet h4{margin:8px 0 4px;font-size:13px}.tw-sheet fieldset{border:1px solid var(--tw-line);border-radius:8px;min-width:0;margin:8px 0;padding:6px 10px 10px}.tw-sheet legend{color:var(--tw-muted);padding:0 4px;font-size:12px}.tw-sheet label{align-items:center;gap:6px;margin:3px 10px 3px 0;display:inline-flex}.tw-sheet input[type=text],.tw-sheet input[type=number],.tw-sheet input[type=datetime-local],.tw-sheet select{border:1px solid var(--tw-line);font:inherit;border-radius:6px;max-width:100%;padding:4px 6px}.tw-sheet input[type=number]{width:5.5em}.tw-sheet input[type=text]{min-width:10em}.tw-check{gap:4px}.tw-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 10px;display:grid}.tw-point-input__label{min-width:80px;font-weight:600}.tw-steps{color:var(--tw-muted);gap:14px;margin:0 0 10px;padding:0;list-style:inside decimal;display:flex}.tw-step--current{color:var(--tw-accent);font-weight:600}.tw-step--done{color:#1f6b3a}.tw-profile__head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tw-profile__scroll{max-width:100%;margin:8px 0;overflow:auto}.tw-profile__table th{vertical-align:top;min-width:150px}.tw-profile__table td:first-child,.tw-profile__table th:first-child{z-index:1;background:#fff;min-width:160px;position:sticky;left:0}.tw-profile__status td{color:var(--tw-muted);font-size:11px}.tw-profile__models td{background:#f6f8fb;font-size:11px}.tw-level-head{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.tw-level-head__actions{flex-wrap:wrap;gap:3px;display:flex}.tw-infeasible{color:#b3261e;font-weight:600}.tw-disagree{color:#8a4b00;cursor:pointer;background:#fdecc8;border:0;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.tw-editor{border:1px dashed var(--tw-line);border-radius:8px;margin:6px 0;padding:6px 10px}.tw-explanation{border-left:3px solid var(--tw-line);background:#f6f8fb;margin:4px 0;padding:6px 8px}.tw-explanation--level_infeasible{border-left-color:#b3261e}.tw-confidence{position:relative}.tw-confidence--high{color:#1f6b3a;border-color:#1f6b3a}.tw-confidence--medium{color:#8a4b00;border-color:#8a4b00}.tw-confidence--low{color:#b3261e;border-color:#b3261e}.tw-confidence__details{z-index:3;border:1px solid var(--tw-line);background:#fff;border-radius:8px;width:min(80vw,420px);padding:8px;font-size:12px;position:absolute;top:110%;left:0;box-shadow:0 2px 8px #0003}.tw-route-list{margin:0;padding:0;list-style:none}.tw-route-list li{border-bottom:1px solid var(--tw-line);flex-wrap:wrap;justify-content:space-between;gap:6px;padding:4px 0;display:flex}.tw-swatch{border-radius:3px;width:14px;height:6px;margin:0 6px;display:inline-block}.tw-transients{flex-direction:column;flex:1;min-height:0;display:flex}.tw-transients__routes span+span{margin-left:8px}.tw-transients__scroll{flex:1;min-height:0;overflow-y:auto}.tw-transients__canvas{width:100%;height:520px;display:block}.tw-transients__strips{padding:4px 0 0 44px}.tw-strip{align-items:center;gap:4px;height:12px;margin-top:2px;display:flex}.tw-strip__swatch{border-radius:2px;width:10px;height:6px;margin-left:-16px}.tw-strip__bar{background:#eef2f7;border-radius:2px;flex:1;height:10px;position:relative;overflow:hidden}.tw-strip__seg{position:absolute;top:0;bottom:0}.tw-strip__seg--motor{background:#9aa3b2}.tw-strip__seg--upwind{background:#c0392b}.tw-strip__seg--close{background:#e67e22}.tw-strip__seg--beam{background:#2f9e5b}.tw-strip__seg--broad{background:#1d3f73}.tw-strip__seg--down{background:#7a3b8f}.tw-strip__seg--night{opacity:.55}.tw-strip__seg--adverse{box-shadow:inset 0 -3px #f0b429}@media (width<=600px){.tw-overlay-host__sheet{left:4px;right:4px}.tw-steps{flex-wrap:wrap;gap:8px}}button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.tw-chevron{display:block}.tw-fold{border:1px solid var(--tw-line);min-width:40px;height:32px;color:var(--tw-ink);cursor:pointer;background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.tw-fold--inline{vertical-align:middle;min-width:28px;height:22px;padding:0 4px}.tw-help{width:18px;height:18px;color:var(--tw-accent);vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #9aa3b2;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:4px;padding:0;font:italic 600 11px/1 Georgia,Times New Roman,serif;display:inline-flex}.tw-help--on{background:var(--tw-accent);border-color:var(--tw-accent);color:#fff}.tw-help-bubble{z-index:60;box-sizing:border-box;color:#fff;background:#1d2430;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.35;position:fixed;box-shadow:0 4px 14px #0000004d}.tw-routing{color:var(--tw-muted);margin-left:6px;font-style:italic;font-weight:400}.tw-plan{box-sizing:border-box;width:min(100%,460px);padding:8px 10px;font-size:14px}.tw-plan__head{align-items:center;gap:8px;min-height:32px;display:flex}.tw-plan__title{white-space:nowrap;font-size:15px}.tw-plan__summary{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.tw-plan__head .tw-fold{margin-left:auto}.tw-plan__body{margin-top:4px}.tw-plan__row{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.tw-plan__point-row+.tw-plan__point-row{margin-top:-2px}.tw-pin{color:#fff;border:2px solid #fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 0 0 1px #00000026}.tw-pin--origin{background:#2f9e5b}.tw-pin--destination{background:#c0392b}.tw-plan__point{text-align:left;border:1px solid var(--tw-line);min-width:0;color:var(--tw-ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:#fff;border-radius:8px;flex:150px;padding:8px 10px}.tw-plan__point--empty{color:var(--tw-accent);border-style:dashed}.tw-plan__typed{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px 28px;display:flex}.tw-plan__typed input,.tw-plan__save input{border:1px solid var(--tw-line);font:inherit;border-radius:6px;width:9.5em;max-width:100%;padding:6px 8px}.tw-plan__save input{flex:160px}.tw-plan__window input[type=datetime-local],.tw-plan__window select{border:1px solid var(--tw-line);font:inherit;border-radius:6px;max-width:100%;padding:4px 6px;font-size:13px}.tw-plan__label{color:var(--tw-muted);font-size:12px}.tw-plan__actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.tw-plan__hint{font-size:12px}.tw-button--primary{border-radius:8px;padding:9px 26px;font-size:15px;font-weight:600}.tw-plan__line{margin:4px 0;font-size:13px}.tw-plan__state{font-weight:600}.tw-plan__state--blocked{background:#fff8e6;border-left:4px solid #f0b429;padding:4px 6px}.tw-plan__limits{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 10px;margin:6px 0;font-size:13px;display:grid}.tw-plan__limits label{justify-content:space-between;align-items:center;gap:6px;display:flex}.tw-plan__limits input[type=number]{border:1px solid var(--tw-line);width:4.5em;font:inherit;border-radius:6px;padding:4px 6px}.tw-plan__limits .tw-plan__actions{grid-column:1/-1}.tw-tap-strip{box-sizing:border-box;border:2px solid var(--tw-accent);align-items:center;gap:10px;width:min(100%,460px);padding:10px 12px;font-size:14px;display:flex}.tw-tap-strip__prompt{color:var(--tw-accent);flex:1;font-weight:600}.tw-layers__fold{height:28px;font:inherit;background:0 0;border:0}.tw-layers__title{font-weight:600}.tw-layers--folded{padding:2px 4px}.tw-layers__on{font-size:12px}.tw-table--narrow{table-layout:auto;width:100%}.tw-table--narrow th,.tw-table--narrow td{vertical-align:top;padding:4px}.tw-num{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right!important}.tw-packs td:nth-child(2){white-space:nowrap}.tw-packs__kind{color:var(--tw-muted);font-size:11px;display:block}.tw-settings fieldset{margin:10px 0}.tw-settings select{max-width:100%}.tw-settings__note{margin:4px 0;font-size:12px}.tw-settings__first{margin-bottom:6px!important}.tw-settings__levels{table-layout:fixed}.tw-settings__levels th[scope=row]{width:34%;color:var(--tw-muted);font-size:12px;font-weight:400}.tw-settings__levels td,.tw-settings__levels th{padding:3px 2px}.tw-sheet .tw-settings__levels input[type=number]{box-sizing:border-box;width:100%;padding:4px}.tw-sheet .tw-settings__motor input[type=number]{width:3.6em}.tw-settings__motor{margin-top:8px;line-height:2}.tw-settings__coords{flex-direction:column;gap:2px;margin-top:8px;display:flex}.tw-labs{border-top:1px dashed var(--tw-line);margin-top:8px;padding-top:4px}.tw-labs h3{font-size:13px}.tw-labs__dl{margin:0;font-size:12px}.tw-labs__dl dt{font-weight:600}.tw-labs__dl dd{color:var(--tw-muted);margin:0 0 6px}.tw-saved__text{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}@media (width<=600px){.tw-toolbar .tw-chip{padding:4px 8px;font-size:12.5px}.tw-layers__on{display:none}.tw-models .tw-chip{padding:4px 8px}.tw-overlay-host__sheet{bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:7}.tw-sync__sheet{width:auto;left:8px;right:8px}}.tw-saved li,.tw-saved .tw-level-head__actions{align-items:center}.tw-plan__zone{font-size:12px}.tw-sweep__starts h2{margin-top:0}.tw-sweep__start-list{font-variant-numeric:tabular-nums;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 14px;margin:4px 0 12px;padding:0;font-size:13px;list-style-position:inside;display:grid}.tw-icon{justify-content:center;align-items:center;line-height:0;display:inline-flex}.tw-chip--icon{justify-content:center;align-items:center;min-width:38px;padding:3px 8px;display:inline-flex}.tw-layers__title.tw-icon{color:var(--tw-ink)}.tw-plan__points{margin:2px 0 4px}.tw-plan__point-row{flex-wrap:nowrap}.tw-pin-button,.tw-icon-button{border:1px solid var(--tw-line);width:36px;height:36px;color:var(--tw-accent);cursor:pointer;background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tw-pin-button svg{width:24px;height:24px}.tw-icon-button:disabled{opacity:.5}.tw-plan__field{flex-direction:column;flex:auto;min-width:0;display:flex}.tw-plan__coord{box-sizing:border-box;border:1px solid var(--tw-line);width:100%;color:var(--tw-ink);font:inherit;font-variant-numeric:tabular-nums;background:#fff;border-radius:8px;padding:8px 10px;font-size:16px}.tw-plan__coord--empty{border-style:dashed}.tw-plan__coord:focus{outline:2px solid var(--tw-accent);outline-offset:-1px}.tw-plan__field .tw-sync__error{margin-top:2px;font-size:12px}.tw-plan__starts-line{margin:4px 0}.tw-plan__starts-toggle{border:1px solid var(--tw-line);min-width:0;color:var(--tw-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex:auto;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.tw-plan__starts-toggle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw-plan__starts-toggle .tw-chevron{flex:none;width:14px;height:9px}.tw-map-marker{cursor:grab;filter:drop-shadow(0 1px 2px #00000059);touch-action:none;line-height:0}.tw-map-marker:active{cursor:grabbing}.tw-map-menu{z-index:40;background:var(--tw-surface);border-radius:10px;flex-direction:column;gap:2px;min-width:200px;padding:6px;font-size:14px;display:flex;position:fixed;box-shadow:0 4px 16px #00000047}.tw-map-menu__head{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;padding:2px 6px 4px;font-size:12px;display:flex}.tw-map-menu button[role=menuitem]{text-align:left;color:var(--tw-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 10px}.tw-map-menu button[role=menuitem]:hover,.tw-map-menu button[role=menuitem]:focus-visible{background:#e8eef7;outline:none}.tw-map-menu button[role=menuitem]:disabled{opacity:.5}.tw-overlays--top>.tw-traffic{align-self:center;margin-left:auto;position:relative}.tw-traffic__sheet{position:absolute;top:calc(100% + 4px);right:0}.tw-traffic__chip{color:var(--tw-ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:#ffffffd9;border:0;border-radius:999px;padding:3px 9px;font-size:11px;box-shadow:0 1px 3px #0000002e}.tw-traffic__sheet{background:var(--tw-surface);border-radius:10px;min-width:190px;padding:8px 10px;font-size:12px;box-shadow:0 2px 10px #00000038}.tw-traffic__sheet .tw-table{width:100%;margin:4px 0 8px}.tw-traffic__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tw-labs .tw-models>div{gap:4px;display:flex}.tw-palette{z-index:6;right:8px;top:calc(var(--tw-top-height,80px) + 16px + env(safe-area-inset-top,0px));background:var(--tw-surface);max-height:calc(100% - var(--tw-top-height,80px) - var(--tw-panel-height,58px) - 40px);scrollbar-width:none;border-radius:12px;flex-direction:column;gap:3px;padding:4px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 1px 4px #0000002e}.tw-palette__tool{width:44px;height:42px;color:var(--tw-ink);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.tw-palette__tool:hover{background:#e8eef7}.tw-palette__tool--on,.tw-palette__tool--on:hover{background:var(--tw-accent);color:#fff}.tw-palette__tool--idle{color:#8a93a3}.tw-palette__tool:disabled{color:#b8bfca;cursor:default;background:0 0}.tw-palette__key{opacity:.6;font-size:9px;font-weight:700;position:absolute;bottom:1px;right:3px}.tw-palette__slot{display:flex}.tw-palette__tool:disabled{pointer-events:none}.tw-palette__tip{z-index:30;color:#fff;pointer-events:none;background:#1d2430;border-radius:8px;max-width:min(280px,100vw - 80px);padding:7px 10px;font-size:13px;line-height:1.35;position:fixed;transform:translateY(-50%);box-shadow:0 4px 14px #0000004d}.tw-palette__tip-key{white-space:nowrap;border:1px solid #ffffff80;border-radius:4px;margin-left:8px;padding:0 5px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.5;display:inline-block}.tw-palette__rule{background:var(--tw-line);flex:none;height:1px;margin:2px 6px}@media (width<=699px){.tw-palette{top:auto;bottom:calc(var(--tw-panel-height,58px) + 8px);max-height:calc(100% - var(--tw-top-height,80px) - var(--tw-panel-height,58px) - 32px)}.tw-palette__tool{width:42px;height:40px}.tw-palette__key{display:none}.tw-app[data-palette="1"] .tw-overlays--bottom{right:64px}}.tw-tool-strip{box-sizing:border-box;border:2px solid var(--tw-accent);width:min(100%,460px);padding:8px 10px;font-size:14px}.tw-tool-strip__head{align-items:flex-start;gap:8px;display:flex}.tw-tool-strip__prompt{color:var(--tw-accent);flex:1;font-weight:600;line-height:1.3}.tw-tool-strip__close{border:1px solid var(--tw-line);width:32px;height:28px;color:var(--tw-ink);cursor:pointer;background:#fff;border-radius:8px;flex:none;font-size:18px;line-height:1}.tw-tool-strip__row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.tw-tool-strip__line{margin:6px 0 0;font-size:13px}.tw-tool-strip__line--blocked{background:#fff8e6;border-left:4px solid #f0b429;padding:4px 6px;font-weight:600}.tw-side{align-items:center;gap:6px;padding:9px 12px;font-size:14px;font-weight:600;display:inline-flex}.tw-side__glyph{font-size:16px}.tw-zone-list{max-height:160px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;overflow-y:auto}.tw-zone-list li{border-top:1px solid var(--tw-line);justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.tw-zone-list label{align-items:center;gap:6px;display:flex}.tw-object strong{font-size:14px}.tw-route-strip{scrollbar-width:none;gap:4px;max-width:100%;display:flex;overflow-x:auto}.tw-route-chip{border:1px solid var(--tw-line);background:var(--tw-surface);color:var(--tw-ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:5px;padding:4px 9px 4px 6px;font-size:12.5px;display:inline-flex;box-shadow:0 1px 3px #0000002e}.tw-route-chip__swatch{background:var(--tw-route,var(--tw-accent));border-radius:2px;width:14px;height:4px}.tw-route-chip__label{font-weight:600}.tw-route-chip--selected{border-color:var(--tw-route,var(--tw-accent));box-shadow:0 0 0 2px var(--tw-route,var(--tw-accent))}.tw-route-chip--hidden{opacity:.55}.tw-route-chip--hidden .tw-route-chip__swatch{border:1px dashed var(--tw-route,var(--tw-accent));background:0 0;height:2px}.tw-panel__summary{font-variant-numeric:tabular-nums;color:var(--tw-ink);flex-wrap:wrap;align-items:center;gap:2px 10px;padding:4px 10px 0;font-size:12.5px;display:flex}.tw-panel__swatch{border-radius:2px;width:14px;height:4px}.tw-wp{cursor:grab;touch-action:none;filter:drop-shadow(0 1px 2px #00000059);flex-direction:column;align-items:center;display:flex}.tw-wp__dot{box-sizing:border-box;color:#1d3f73;background:#fff;border:3px solid #1d3f73;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font:700 10px/1 system-ui,sans-serif;display:flex}.tw-wp__stem{background:#1d3f73;width:2px;height:14px}.tw-wp__handle{box-sizing:border-box;background:#ffffffbf;border:2px solid #1d3f73;border-radius:50%;width:22px;height:22px}.tw-wp[data-selected="1"] .tw-wp__dot,.tw-wp[data-selected="1"] .tw-wp__handle{color:#fff;background:#1d3f73}.tw-wp[data-blocking="1"] .tw-wp__dot,.tw-mark[data-blocking="1"] .tw-mark__glyph{border-radius:50%;box-shadow:0 0 0 5px #f0b429}.tw-mark{cursor:grab;touch-action:none;flex-direction:column;align-items:center;display:flex}.tw-mark__glyph{filter:drop-shadow(0 1px 2px #00000059);width:40px;height:40px;line-height:0;display:block}.tw-mark__glyph--pending{box-sizing:border-box;background:#fffc;border:3px dashed #0b1220;border-radius:50%;width:22px;height:22px;margin:9px}.tw-mark__side{color:#fff;letter-spacing:.02em;background:#0b1220;border-radius:999px;margin-top:-2px;padding:0 6px;font:700 10px/16px system-ui,sans-serif}.tw-mark[data-selected="1"] .tw-mark__side{background:#1d3f73;box-shadow:0 0 0 2px #fff,0 0 0 4px #1d3f73}.tw-corner{box-sizing:border-box;pointer-events:none;background:#fff;border:2px solid #0b1220;width:10px;height:10px}.tw-corner--first{border-width:3px;border-radius:50%;width:20px;height:20px}.tw-radius-handle{box-sizing:border-box;cursor:ew-resize;touch-action:none;background:#fff;border:3px solid #1d3f73;border-radius:50%;width:22px;height:22px;box-shadow:0 1px 3px #00000059}.tw-blocking-label{color:#0b1220;pointer-events:none;background:#fff;border-left:4px solid #f0b429;border-radius:8px;max-width:220px;padding:5px 8px;font:600 12.5px/1.3 system-ui,sans-serif;box-shadow:0 2px 8px #0000004d}.tw-plan__endpoints{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:12.5px;overflow:hidden}.tw-toast{color:#fff;background:#1d2430;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:8px 12px;font-size:13px;display:flex;position:sticky;bottom:8px;box-shadow:0 2px 10px #0000004d}.tw-toast .tw-chip{background:#fff}.tw-overlays--bottom{max-height:calc(100% - var(--tw-top-height,80px) - var(--tw-panel-height,58px) - 32px - env(safe-area-inset-top,0px))}.tw-overlays--bottom>.tw-plan,.tw-overlays--bottom>.tw-tool-strip{flex-shrink:1;min-height:0;overflow-y:auto}.tw-overlays--bottom>.tw-route-strip,.tw-overlays--bottom>.tw-legend{flex-shrink:0}.tw-segment{display:inline-flex}.tw-segment>.tw-chip:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.tw-segment>.tw-chip+.tw-chip{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.tw-legend__barbs{color:#141c26;flex:auto;justify-content:space-between;align-items:center;gap:6px;height:16px;display:flex}.tw-legend__barb{align-items:center;gap:3px;display:inline-flex}.tw-legend__barb svg{display:block;overflow:visible}.tw-legend__barb-label{color:var(--tw-ink);font-size:10px;font-weight:600}
