/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.highlighted-map-stop{transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 5px #ff6b57);animation:1.05s ease-in-out infinite highlighted-stop-pulse}@keyframes highlighted-stop-pulse{0%,to{opacity:1;transform:scale(.82)}50%{opacity:.58;transform:scale(1.35)}}.telegram-blocked-gate{z-index:2147483647;color:#102a32;background:#eef4f2;place-items:center;padding:24px;font-family:Arial,Helvetica,sans-serif;display:grid;position:fixed;inset:0}.telegram-blocked-gate>div{text-align:center;background:#fff;border:1px solid #d5e3e0;border-radius:24px;flex-direction:column;align-items:center;width:min(100%,390px);padding:34px 26px;display:flex;box-shadow:0 24px 70px #173f3830}.telegram-blocked-gate span{color:#fff;background:#087f7a;border-radius:19px;place-items:center;width:62px;height:62px;font-size:31px;font-weight:900;display:grid}.telegram-blocked-gate h1{letter-spacing:-.035em;margin:22px 0 10px;font-size:26px}.telegram-blocked-gate p{color:#5f7378;margin:0;font-size:15px;line-height:1.55}.telegram-blocked-gate a{color:#fff;background:#087f7a;border-radius:13px;justify-content:center;align-items:center;width:100%;min-height:48px;margin-top:24px;font-size:14px;font-weight:850;text-decoration:none;display:flex}.telegram-blocked-gate small{color:#8a999c;margin-top:14px;font-size:11px}.tracked-stop-alert{background:#f3f8f7;border:1px solid #d8e7e4;border-radius:14px;align-items:center;gap:10px;margin:8px 0 4px;padding:10px 12px;display:flex}.tracked-stop-alert>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.tracked-stop-alert strong{font-size:11px;line-height:1.3}.tracked-stop-alert span{color:var(--brand);font-size:10px;font-weight:800}.tracked-stop-alert small{color:var(--muted);font-size:9px;line-height:1.3}.tracked-stop-alert>button{color:#81928f;background:#e5eeec;border:0;border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.tracked-stop-alert>button.active{color:var(--brand);background:#dcefed}.tracked-stop-alert.urgent{background:#fff2ed;border-color:#ff9d87;box-shadow:0 0 0 3px #ff6b5714}.tracked-stop-alert.urgent span{color:#c94c31}.tracked-stop-row{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf2f1}.tracked-stop-row.alert-target-stop{box-shadow:inset 4px 0 0 var(--brand)!important;background:#dff3ef!important}.tracked-stop-row.alert-target-stop .stop-timeline-marker{animation:1.05s ease-in-out infinite tracked-target-pulse;box-shadow:0 0 0 5px #ff6b5728;background:#ff6b57!important;border-color:#ff6b57!important}.tracked-stop-row.alert-target-stop .arrival-name strong{color:var(--brand-dark)}@keyframes tracked-target-pulse{0%,to{transform:scale(.86)}50%{transform:scale(1.28);box-shadow:0 0 0 9px #ff6b5710}}.journey-bus-map-marker{background:0 0!important;border:0!important}.bus-sprite-stage{width:76px;height:44px;position:relative}.journey-bus-map-marker.live-bus-marker .bus-sprite-stage:after{z-index:-1;border:2px solid var(--bus-color,#087f7a);content:"";opacity:.38;border-radius:50%;width:28px;height:28px;animation:1.6s ease-out infinite bus-live-halo;position:absolute;top:8px;left:24px}.bus-sprite{border:2px solid var(--bus-color);width:22px;height:38px;transform:rotate(var(--bus-bearing));transform-origin:50%;background:#f9fcfb;border-radius:7px 7px 5px 5px;flex-direction:column;align-items:center;transition:transform .3s linear;display:flex;position:absolute;top:3px;left:27px;box-shadow:0 3px 9px #163d3845}.bus-sprite:before,.bus-sprite:after{z-index:0;content:"";opacity:.9;background:#26373b;border-radius:1px;width:2px;height:6px;position:absolute;top:9px;box-shadow:0 14px #26373b}.bus-sprite:before{left:-2px}.bus-sprite:after{right:-2px}.bus-sprite .bus-windshield,.bus-sprite .bus-rear-window{z-index:1;background:#263b40;border-radius:3px 3px 1px 1px;width:14px;height:5px;display:block}.bus-sprite .bus-windshield{margin-top:3px}.bus-sprite .bus-rear-window{background:#809397;border-radius:1px 1px 3px 3px;margin-top:auto;margin-bottom:3px}.bus-sprite b{z-index:2;background:var(--bus-color);color:#fff;letter-spacing:-.02em;width:14px;height:12px;transform:rotate(var(--label-bearing));transform-origin:50%;border-radius:4px;place-items:center;font-size:8px;font-weight:900;line-height:1;display:grid;position:absolute;top:13px;left:2px}.journey-bus-map-marker>span{color:#23434a;text-overflow:ellipsis;white-space:nowrap;background:#fffffff2;border:1px solid #dce7e4;border-radius:5px;max-width:76px;padding:2px 5px;font-size:7px;font-weight:800;line-height:1.2;display:block;position:absolute;top:43px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 5px #173f3622}@keyframes bus-live-halo{0%{opacity:.45;transform:scale(.72)}75%,to{opacity:0;transform:scale(1.35)}}.boarding-notice-marker{background:0 0!important;border:0!important}.boarding-notice-marker>div{color:#fff;background:#087f7a;border:2px solid #fff;border-radius:14px;align-items:flex-start;gap:8px;width:174px;max-width:calc(100vw - 44px);padding:8px;display:flex;box-shadow:0 5px 16px #173f3850}.boarding-notice-marker>div>i{color:#087f7a;background:#fff;border-radius:8px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-style:normal;display:grid}.boarding-notice-marker span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.boarding-notice-marker b,.boarding-notice-marker small{overflow-wrap:anywhere;white-space:normal;max-width:100%;display:block}.boarding-notice-marker b{font-size:10px;line-height:1.2}.boarding-notice-marker small{opacity:.88;font-size:8px;font-weight:700;line-height:1.25}.boarding-session{background:#f2f8f7;border:1px solid #d7e6e3;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:calc(100% - 24px);max-width:100%;margin:8px 12px;padding:10px;display:grid;overflow:hidden}.boarding-session.urgent{background:#fff3ef;border-color:#f0ad9e}.boarding-session>div:first-child{align-items:flex-start;gap:8px;min-width:0;display:flex}.boarding-session>div:first-child>svg{color:var(--brand);flex:none;margin-top:1px}.boarding-session>div:first-child>span{flex-direction:column;gap:3px;min-width:0;display:flex}.boarding-session strong,.boarding-session small{overflow-wrap:anywhere;word-break:normal;max-width:100%}.boarding-session>div:last-child{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.boarding-session button{max-width:112px;color:var(--brand);white-space:normal;background:#fff;border:1px solid #c7ddda;border-radius:10px;padding:8px 9px;font-size:9px;font-weight:850;line-height:1.15}.boarding-session button.boarded{border-color:var(--brand);background:var(--brand);color:#fff}.boarding-session button.missed{color:#596d72}.boarding-session.compact{margin-top:4px}.boarding-session.compact>div:last-child{flex-wrap:wrap}@media (max-width:390px){.boarding-session{grid-template-columns:1fr}.boarding-session>div:last-child{justify-content:flex-start}.boarding-session button{flex:1;max-width:none}}.boarding-session>div:first-child>.boarding-route-badge{color:#fff;border-radius:10px;flex:none;place-items:center;min-width:34px;height:34px;padding:0 7px;font-size:12px;font-weight:900;line-height:1;display:grid;box-shadow:0 2px 7px #173f3822}.suburban-map-button{color:var(--brand);white-space:nowrap;background:#eaf5f3;border:1px solid #b8d8d5;border-radius:10px;padding:9px 10px;font-size:11px;font-weight:900}.suburban-map-button:disabled{color:#9aa9a8;background:#f4f7f6;border-color:#e0e8e7}.suburban-direction-switch{gap:8px;padding:0 16px 10px;display:flex;overflow-x:auto}.suburban-direction-switch button{color:#52676c;background:#fff;border:1px solid #d5e3e1;border-radius:11px;flex:none;min-width:135px;padding:9px 11px;font-size:10px;font-weight:800;line-height:1.3}.suburban-direction-switch button.active{border-color:var(--brand);color:var(--brand);background:#eaf5f3}.suburban-live-warning{color:#745d27;background:#fff8e8;border-radius:11px;flex-direction:column;gap:3px;margin:0 16px 8px;padding:9px 11px;display:flex}.suburban-live-warning b{font-size:11px}.suburban-live-warning span{font-size:9px;line-height:1.35}.suburban-stop-list{max-height:min(44vh,420px);overflow-y:auto}.suburban-sheet-heading small{color:#7a8d91}.suburban-notice{color:#745d27;background:#fff8e8;border-radius:13px;flex-direction:column;gap:3px;margin:0 16px 10px;padding:10px 12px;display:flex}.suburban-notice b{font-size:12px}.suburban-notice span{font-size:10px;line-height:1.35}.suburban-grid>div{align-items:center;gap:10px;display:flex!important}.suburban-number{background:var(--brand);color:#fff;border-radius:12px;flex:0 0 48px;place-items:center;min-height:44px;padding:0 5px;font-weight:900;display:grid}.suburban-direction{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.suburban-direction b{font-size:13px}.suburban-direction span{color:var(--muted);font-size:10px}.suburban-grid a{color:var(--brand);white-space:nowrap;border-radius:9px;padding:8px;font-size:11px;font-weight:800;text-decoration:none}.city-minibus-notice{color:#792b27;background:#fff1ef}.route-card-copy{flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;display:flex}.route-card-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.route-open .route-service-summary{color:#8b514c;white-space:normal;align-items:flex-start;gap:3px;max-width:100%;font-size:8px;font-style:normal;line-height:1.25;display:flex}.route-open .route-service-summary svg{flex:none;margin-top:1px}.route-service-strip{flex-wrap:wrap;gap:6px;margin:0 16px 9px;display:flex}.route-service-strip span{color:#8d302b;background:#fff1ef;border-radius:8px;align-items:center;gap:4px;padding:6px 8px;font-size:9px;font-weight:800;display:flex}.circular-route-heading strong{white-space:normal}.route-direction-arrow-marker{background:0 0!important;border:0!important}.route-direction-arrow-marker span{filter:drop-shadow(0 0 2px #fff)drop-shadow(0 0 2px #fff);transform-origin:50%;place-items:center;width:26px;height:26px;font-size:19px;font-weight:900;display:grid}.search-map-pick{color:var(--brand)!important;font-size:20px!important}.search-results-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:9px 12px 5px;font-size:10px;font-weight:800}.journey-plan{overflow:hidden}.journey-plan-main{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:flex}.journey-plan-main>div{flex:1;min-width:0}.follow-plan{background:var(--brand);color:#fff;border:0;border-radius:11px;width:calc(100% - 24px);margin:8px 12px 12px;padding:10px;font-size:11px;font-weight:800}.journey-plan.selected .route-hero{color:var(--brand)}.place-card-image{object-fit:cover;border-radius:14px;width:100%;max-height:180px;margin:0 0 10px;display:block}.place-card-actions{gap:8px;margin-top:10px;display:flex}.place-card-actions>button,.place-card-actions>a{background:var(--brand);color:#fff;text-align:center;border:0;border-radius:12px;flex:1;justify-content:center;align-items:center;min-height:42px;padding:9px 12px;font-size:11px;font-weight:850;text-decoration:none;display:flex}.place-card-actions>a{color:var(--brand);background:#edf7f5;border:1px solid #c9ddda}.promoted-place-card{padding-top:9px}:root{--ink:#102a32;--muted:#667b82;--brand:#087f7a;--line:#dce8e5}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#dce9e7;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.app-shell{background:#eef4f2;max-width:560px;height:100dvh;margin:auto;position:relative;overflow:hidden;box-shadow:0 0 60px #21484233}.topbar{z-index:1000;padding:calc(14px + env(safe-area-inset-top)) 18px 12px;background:linear-gradient(#fff 70%,#fff0);align-items:center;gap:11px;display:flex;position:absolute;top:0;left:0;right:0}.brand-mark{color:#fff;background:var(--brand);border-radius:14px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:grid;box-shadow:0 7px 18px #087f7a3d}.brand-copy{flex-direction:column;line-height:1.15;display:flex}.brand-copy span{color:var(--muted);margin-top:5px;font-size:12px}.brand-copy i{background:#20b56c;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.brand-copy i.offline{background:#e97755}.location-button{border:1px solid var(--line);width:42px;height:42px;color:var(--brand);background:#fff;border-radius:14px;margin-left:auto;font-size:25px;box-shadow:0 6px 20px #274f4712}.route-panel{z-index:999;top:calc(72px + env(safe-area-inset-top));padding:0 14px;position:absolute;left:0;right:0}.search-box{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:10px;height:48px;padding:0 16px;display:flex;box-shadow:0 7px 24px #173e3619}.search-box>span{color:var(--brand);font-size:25px;transform:rotate(-15deg)}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px}.search-box>button{color:#80918d;background:0 0;border:0;font-size:22px}.route-chips{scrollbar-width:none;gap:8px;margin-top:10px;padding-bottom:4px;display:flex;overflow-x:auto}.route-chips::-webkit-scrollbar{display:none}.route-chips button{color:#426068;background:#fff;border:1px solid #dbe5e3;border-radius:12px;flex:0 0 43px;height:38px;font-weight:800;box-shadow:0 4px 14px #234b4212}.route-chips button.active{border-color:var(--brand);background:var(--brand);color:#fff}.map,.leaflet-host{position:absolute;inset:0}.leaflet-control-attribution{margin-bottom:78px!important;font-size:8px!important}.leaflet-control-zoom{border:0!important;margin-bottom:245px!important;box-shadow:0 5px 18px #193c3530!important}.leaflet-control-zoom a{color:var(--ink)!important;border-color:#e1e9e7!important}.bus-marker-wrap{background:0 0!important;border:0!important}.bus-marker{background:#ff7855;border:3px solid #fff;border-radius:13px 13px 13px 4px;justify-content:center;align-items:center;width:42px;height:36px;font-size:19px;display:flex;position:relative;box-shadow:0 5px 14px #314a4550}.bus-marker span{color:#fff;white-space:nowrap;background:#173f38dd;border-radius:5px;padding:2px 5px;font-size:8px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.loading-card,.error-pill{z-index:1100;color:var(--muted);white-space:nowrap;background:#fff;border:0;border-radius:14px;padding:10px 15px;font-size:12px;position:absolute;top:170px;left:50%;transform:translate(-50%);box-shadow:0 7px 20px #173e3626}.error-pill{color:#a63f23;background:#fff2ed}.arrival-card{z-index:1001;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-radius:22px;max-height:190px;padding:8px 16px 15px;transition:max-height .25s;position:absolute;left:10px;box-shadow:0 12px 35px #173f3633}.drag-handle{background:#d8e2df;border:0;border-radius:3px;width:34px;height:4px;margin:0 auto 9px;padding:0;display:block}.arrival-heading,.arrival-heading>div,.arrival-row{align-items:center;display:flex}.arrival-heading{border-bottom:1px solid #edf1f0;justify-content:space-between;padding-bottom:12px}.arrival-heading>div:first-child{gap:10px}.arrival-heading div div{flex-direction:column;gap:3px;display:flex}.route-badge{background:var(--brand);color:#fff;border-radius:12px;place-items:center;min-width:38px;height:38px;padding:0 7px;font-weight:900;display:grid}.arrival-heading strong{font-size:15px}.arrival-heading small{color:var(--muted);font-size:11px}.heading-actions{display:flex;gap:2px!important}.heading-actions button{color:var(--brand);background:0 0;border:0;font-size:12px;font-weight:800}.heading-actions button:first-child{font-size:21px}.arrival-list{max-height:calc(62dvh - 75px);overflow-y:auto}.arrival-row{border-bottom:1px solid #f0f3f2;gap:10px;min-height:59px;padding:12px 0}.stop-dot{border:3px solid var(--brand);border-radius:50%;flex:0 0 12px;width:12px;height:12px}.arrival-name{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.arrival-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.arrival-name span{color:var(--muted);font-size:10px}.arrival-time{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.arrival-time strong{color:var(--brand);white-space:nowrap;font-size:17px}.arrival-time span{color:var(--muted);white-space:nowrap;font-size:9px}.empty-arrival{text-align:center;color:var(--muted);padding:20px;font-size:12px}.bottom-nav{z-index:1002;height:calc(74px + env(safe-area-inset-bottom));padding:8px 24px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e0e9e7;display:flex;position:absolute;bottom:0;left:0;right:0}.bottom-nav button{color:#84928f;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.bottom-nav button.active{color:var(--brand)}@media (min-width:700px){.app-shell{border-radius:26px;height:calc(100dvh - 36px);margin-top:18px}.topbar{padding-top:14px}.route-panel{top:72px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.bus-marker-wrap{position:relative!important}.bus-direction-arrow{z-index:-1;color:#ff7855;text-align:center;transform-origin:50% 31px;filter:drop-shadow(0 1px 1px #fff);width:16px;height:30px;font-size:17px;position:absolute;top:-13px;left:19px}.bus-marker{border-radius:13px;width:46px;height:38px}.bus-marker.status-2{background:#2878b8}.bus-marker small{color:#526b70;white-space:nowrap;background:#fff;border-radius:4px;padding:2px 4px;font-size:7px;font-weight:800;position:absolute;bottom:-14px;right:2px;box-shadow:0 2px 6px #173f3822}.arrival-card{max-height:216px}.arrival-heading,.stop-sheet-heading{padding-bottom:10px}.stop-sheet-heading,.stop-sheet-heading>div{align-items:center;display:flex}.stop-sheet-heading{border-bottom:1px solid #edf1f0;justify-content:space-between}.stop-sheet-heading>div{gap:10px}.stop-sheet-heading div div{flex-direction:column;gap:3px;display:flex}.stop-sheet-heading small{color:var(--muted);font-size:11px}.stop-sheet-heading>button{color:#718783;background:0 0;border:0;font-size:24px}.selected-stop-icon{color:#ff7855;background:#fff0eb;border-radius:12px;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.direction-legend{color:#587078;align-items:center;gap:12px;padding:8px 0 2px;font-size:9px;display:flex}.direction-legend span{align-items:center;gap:4px;display:flex}.direction-legend i{border-radius:50%;width:7px;height:7px}.direction-legend i.outbound{background:#ff7855}.direction-legend i.inbound{background:#2878b8}.direction-legend small{color:#8a9a97;margin-left:auto;font-size:8px}.arrival-list{max-height:calc(62dvh - 105px)}.arrival-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f3f2}.stop-row-button:hover{background:#f5faf8}.mini-route-badge{background:var(--brand);color:#fff;border-radius:10px;place-items:center;min-width:34px;height:34px;padding:0 7px;font-size:12px;font-weight:900;display:grid}.multi-route .arrival-name strong{font-size:12px}.direction-destinations{flex-wrap:wrap;align-items:flex-start;gap:5px 12px}.direction-destinations span{max-width:44%;line-height:1.2}.direction-destinations small{align-self:center}.trip-form{grid-template-columns:1fr 32px 1fr;align-items:end;gap:6px;padding:10px 0;display:grid}.trip-form label{color:var(--muted);flex-direction:column;gap:5px;font-size:10px;font-weight:700;display:flex}.trip-form select{border:1px solid var(--line);width:100%;height:38px;color:var(--ink);background:#f7faf9;border-radius:10px;padding:0 8px;font-size:11px}.swap-stops{height:38px;color:var(--brand);background:#e8f4f2;border:0;border-radius:10px;font-size:18px}.trip-results{max-height:calc(62dvh - 145px)}.trip-result{border-bottom:1px solid #edf1f0;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.trip-result>div,.stats-card{flex-direction:column;gap:4px;display:flex}.trip-result strong{color:var(--brand);font-size:16px}.trip-result span,.stats-card span,.tracked-actions span{color:var(--muted);font-size:9px}.trip-result button,.tracked-actions button{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:8px 11px;font-size:10px;font-weight:800}.stats-card{background:#edf7f5;border-radius:12px;margin-top:10px;padding:12px}.stats-card strong{font-size:12px}.tracked-actions{border-bottom:1px solid #edf1f0;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.bus-focus-icon{font-size:17px}.direction-arrow{width:27px;height:27px;color:var(--brand);background:#e7f4f2;border-radius:9px;flex:0 0 27px;place-items:center;font-weight:900;display:grid}@media (max-width:390px){.direction-destinations span{max-width:100%}.direction-destinations small{display:none}.trip-form{grid-template-columns:1fr 26px 1fr}.trip-form select{font-size:9px}}.search-results{border:1px solid var(--line);background:#fff;border-radius:16px;max-height:52dvh;padding:7px;position:absolute;top:54px;left:14px;right:14px;overflow-y:auto;box-shadow:0 14px 35px #173e3630}.search-results>button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #edf2f0;align-items:center;gap:10px;padding:9px;display:flex}.search-results>button:last-child{border:0}.search-results>button>div{flex-direction:column;gap:3px;min-width:0;display:flex}.search-results strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.search-results small{color:var(--muted);font-size:9px}.search-route-number{background:var(--brand);color:#fff;border-radius:10px;place-items:center;min-width:34px;height:34px;font-weight:900;display:grid}.search-stop-dot{min-width:34px;height:34px;color:var(--brand);background:#e9f6f4;border-radius:10px;place-items:center;font-size:16px;display:grid}.search-empty{text-align:center;color:var(--muted);padding:18px;font-size:11px}.map-choice-card{z-index:1200;background:#fff;border-radius:18px;padding:16px;position:absolute;bottom:92px;left:14px;right:14px;box-shadow:0 15px 42px #173e3640}.map-choice-card>strong,.map-choice-card>span{padding-right:25px;display:block}.map-choice-card>strong{font-size:14px}.map-choice-card>span{color:var(--muted);margin-top:4px;font-size:10px}.map-choice-card>div{gap:8px;margin-top:13px;display:flex}.map-choice-card>div button{background:var(--brand);color:#fff;border:0;border-radius:11px;flex:1;padding:10px;font-size:11px;font-weight:800}.map-choice-card>div button+button{background:#ff7855}.map-choice-close{color:#778b87;background:0 0;border:0;font-size:23px;position:absolute;top:8px;right:10px}.my-location-trip{width:100%;color:var(--brand);background:#edf8f6;border:1px solid #b8dcd7;border-radius:10px;margin-bottom:8px;padding:9px;font-size:10px;font-weight:800}.journey-plan{border-bottom:1px solid #edf2f0;align-items:center;gap:10px;padding:10px 0;display:flex}.journey-plan>div{flex-direction:column;gap:4px;min-width:0;display:flex}.journey-plan strong{font-size:11px}.journey-plan small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.plan-number{width:28px;height:28px;color:var(--brand);background:#e8f5f3;border-radius:9px;flex:0 0 28px;place-items:center;font-size:11px;font-weight:900;display:grid}.search-quick-results{overflow:hidden}.search-quick-results>.search-quick-map{border-bottom:1px solid #e7efed}.search-recent-result{border-bottom:1px solid #edf2f0;align-items:center;display:flex}.search-recent-result:last-child{border-bottom:0}.search-recent-main{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:9px;display:flex}.search-recent-main>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.search-recent-delete{width:34px;height:34px;color:var(--muted);background:#f4f7f6;border:0;border-radius:10px;flex:0 0 34px;place-items:center;margin-right:4px;padding:0;font-size:19px;display:grid}.search-recent-delete:active{background:#e7efed}.search-address-pin svg{display:block}.bus-compact{color:#fff;transform-origin:50%;background:#ff7855;border:3px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;line-height:1;display:grid;box-shadow:0 2px 9px #173e3660}.bus-compact.status-2{background:#2878b8}.journey-route-label{background:0 0!important;border:0!important}.journey-route-label span{color:#fff;border:3px solid #fff;border-radius:10px;place-items:center;min-width:34px;height:27px;padding:0 8px;font-size:12px;font-weight:900;display:grid;box-shadow:0 3px 10px #173e3640}.transfer-marker{background:0 0!important;border:0!important}.transfer-marker>div{color:#fff;background:#7a4bc4;border:4px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:18px;font-weight:900;display:grid;box-shadow:0 4px 12px #39205b50}.transfer-marker>span{color:#3e285f;background:#fff;border-radius:8px;min-width:95px;padding:5px 7px;font-size:8px;font-weight:800;line-height:1.2;position:absolute;top:-2px;left:41px;box-shadow:0 3px 10px #173e3630}.journey-plan{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #edf2f0}.journey-plan.selected{background:#edf8f6;border:1px solid #aad5cf;border-radius:11px;margin:3px 0;padding-left:7px;padding-right:7px}.journey-plan.selected .plan-number{background:var(--brand);color:#fff}.russian-street-label{pointer-events:none;background:0 0!important;border:0!important}.russian-street-label span{color:#425457;text-align:center;text-shadow:-1px -1px #fff,1px -1px #fff,-1px 1px #fff,1px 1px #fff,0 0 4px #fff;white-space:nowrap;font-size:9px;font-weight:700;display:block}.arrival-card.trip-collapsed{max-height:112px;padding-bottom:10px}.arrival-card.trip-planner-open{flex-direction:column;height:min(72dvh,640px);max-height:72dvh;display:flex;overflow:hidden}.arrival-card.trip-planner-open .stop-sheet-heading,.arrival-card.trip-planner-open .trip-form,.arrival-card.trip-planner-open .my-location-trip,.arrival-card.trip-planner-open .plan-sort,.arrival-card.trip-planner-open .clear-trip{flex:none}.arrival-card.trip-planner-open .trip-results{overscroll-behavior:contain;flex:auto;min-height:96px;max-height:none}.trip-heading-actions{align-items:center;gap:4px!important;display:flex!important}.trip-heading-actions button{color:var(--brand);background:0 0;border:0;font-size:11px;font-weight:800}.trip-heading-actions button:last-child{color:#718783;font-size:24px;font-weight:400}.selected-map-point{background:0 0!important;border:0!important}.selected-map-point div{color:#fff;background:#ff6847;border:4px solid #fff;border-radius:50% 50% 50% 5px;place-items:center;width:36px;height:36px;font-size:14px;display:grid;transform:rotate(-45deg);box-shadow:0 4px 14px #173e3650}.selected-map-point div:first-letter{transform:rotate(45deg)}.selected-map-point span{color:#263f45;white-space:nowrap;background:#fff;border-radius:8px;padding:5px 7px;font-size:9px;font-weight:800;position:absolute;top:7px;left:42px;box-shadow:0 3px 10px #173e3630}.journey-steps{flex-wrap:wrap;align-items:center;margin-top:4px;display:flex;gap:4px!important}.journey-steps span{background:#edf5f3;border-radius:7px;padding:4px 6px;font-weight:800;color:#345159!important;font-size:9px!important}.journey-steps b{color:#8aa09b}.transfer-note{margin-top:4px;display:block;color:#77549d!important}.plan-sort{gap:5px;padding:2px 0 8px;display:flex;overflow-x:auto}.plan-sort button{border:1px solid var(--line);color:#526b70;background:#fff;border-radius:9px;flex:none;padding:7px 9px;font-size:9px;font-weight:800}.plan-sort button.active{border-color:var(--brand);background:var(--brand);color:#fff}.clear-trip{color:#a94731;background:#fff7f4;border:1px solid #f0c5ba;border-radius:9px;width:100%;margin:0 0 7px;padding:8px;font-size:10px;font-weight:800}.arrival-card.tracked-collapsed{max-height:112px;padding-bottom:10px}.home-actions{gap:8px;margin-top:10px;display:flex}.home-actions button{border:0;border-radius:12px;height:38px;font-size:11px;font-weight:900;box-shadow:0 4px 14px #234b4212}.plan-trip-button{background:var(--brand);color:#fff;flex:1}.all-routes-button{color:var(--brand);background:#fff;padding:0 13px}.route-menu-backdrop{z-index:2000;background:#102a3266;align-items:flex-end;display:flex;position:absolute;inset:0}.route-menu{width:100%;max-height:78dvh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -15px 45px #102a3240}.route-menu header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.route-menu header>div{flex-direction:column;gap:4px;display:flex}.route-menu header strong{font-size:18px}.route-menu header span{color:var(--muted);font-size:10px}.route-menu header>button{color:#718783;background:0 0;border:0;font-size:26px}.route-menu-grid{grid-template-columns:1fr 1fr;gap:7px;max-height:calc(78dvh - 85px);display:grid;overflow-y:auto}.route-menu-grid>div{border:1px solid var(--line);background:#f9fbfa;border-radius:12px;align-items:center;display:flex}.route-menu-grid>div.selected{border-color:var(--brand);background:#eef8f6}.route-open{min-width:0;color:var(--ink);background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:9px;display:flex}.route-open b{font-size:14px}.route-open span{color:var(--muted);font-size:8px}.route-pin{color:#e39b2f;background:0 0;border:0;padding:9px;font-size:21px}.point-trip-form label>button{border:1px solid var(--line);width:100%;height:38px;color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#f7faf9;border-radius:10px;padding:0 9px;font-size:10px;overflow:hidden}.map-pick-hint{z-index:1300;top:calc(150px + env(safe-area-inset-top));color:#fff;background:#102a32eb;border-radius:14px;grid-template-columns:1fr auto;gap:3px 12px;padding:12px 14px;display:grid;position:absolute;left:14px;right:14px;box-shadow:0 8px 28px #102a3255}.map-pick-hint strong{font-size:12px}.map-pick-hint span{color:#d8e7e4;grid-column:1;font-size:9px}.map-pick-hint button{color:#8fe0d5;background:0 0;border:0;grid-area:1/2/3;font-size:10px;font-weight:800}.route-reset{color:#718783!important;font-size:25px!important;font-weight:400!important}.empty-map-sheet{flex-direction:column;gap:5px;padding:5px 0 2px;display:flex}.empty-map-sheet strong{font-size:14px}.empty-map-sheet span{color:var(--muted);font-size:10px}.app-shell{height:var(--tg-viewport-stable-height,100dvh);background:var(--tg-theme-bg-color,#eef4f2)}.topbar{padding-top:calc(14px + max(env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px)));padding-right:max(18px,var(--tg-content-safe-area-inset-right,0px));padding-left:max(18px,var(--tg-content-safe-area-inset-left,0px));background:linear-gradient(var(--tg-theme-bg-color,#fff) 70%,#fff0)}.bottom-nav{height:calc(74px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)));padding-bottom:calc(12px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)));background:var(--tg-theme-bg-color,#fff)}.arrival-card.map-picking{pointer-events:none;transform:translateY(calc(100% + 100px))}.route-menu-grid{grid-template-columns:1fr}.route-compare{border:1px solid var(--line);color:#526b70;background:#fff;border-radius:9px;flex:none;padding:8px;font-size:9px;font-weight:800}.route-compare.active{border-color:var(--brand);background:var(--brand);color:#fff}:root{--brand:#087f79;--brand-dark:#075e5b;--ink:#102a30;--muted:#708489;--line:#dde8e7;--soft:#eaf5f4;--coral:#ff6b57}.app-shell{background:#f6f8f8;max-width:480px;box-shadow:0 18px 60px #143b3826}.topbar{background:#fff;border-bottom:1px solid #edf2f1;min-height:70px;padding-bottom:10px}.brand-mark{width:38px;height:38px;box-shadow:none;border-radius:11px;font-size:19px}.brand-copy span{margin-top:4px;font-size:10px}.location-button{width:38px;height:38px;box-shadow:none;border:0;border-radius:11px;font-size:22px}.route-panel{top:calc(70px + max(env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px)));background:linear-gradient(#fff 78%,#fff0);padding:10px 12px 0}.search-box{border-radius:12px;height:44px;box-shadow:0 3px 14px #173e3612}.search-box>span{font-size:20px}.quick-actions{gap:7px;margin-top:8px;display:flex;overflow-x:auto}.quick-actions button{border:1px solid var(--line);min-width:67px;height:31px;color:var(--ink);background:#fff;border-radius:10px;flex:1;font-size:9px;font-weight:700}.pinned-chips{margin-top:7px}.route-chips button{height:32px;box-shadow:none;border-radius:9px;font-size:11px}.leaflet-control-zoom{margin-bottom:215px!important}.leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important}.arrival-card{right:8px;bottom:calc(68px + env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0;border-radius:20px;max-height:170px;padding:7px 14px 13px;left:8px;box-shadow:0 -4px 24px #173e3620}.arrival-card.expanded{max-height:72dvh}.drag-handle{margin-bottom:8px}.bottom-nav{height:calc(66px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)));padding:7px 18px calc(8px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)));border-top-color:#edf1f0}.bottom-nav button span{font-size:19px}.empty-map-sheet{padding:0}.empty-map-sheet>strong{font-size:12px}.nearby-routes{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px;display:grid}.nearby-routes button{background:var(--soft);color:var(--ink);text-align:left;border:0;border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:2px 6px;padding:8px;display:grid}.nearby-routes b{background:var(--brand);color:#fff;border-radius:7px;place-items:center;width:27px;height:24px;font-size:10px;display:grid}.nearby-routes span{color:var(--brand-dark);font-size:11px;font-weight:900}.nearby-routes small{color:var(--muted);grid-column:1/3;font-size:7px}.arrival-card.trip-planner-open{border-radius:24px 24px 0 0;height:min(78dvh,700px);max-height:78dvh}.stop-sheet-heading strong{font-size:14px}.trip-form{padding:12px 0}.point-trip-form label>button{background:#fff;height:42px}.plan-sort{padding:4px 0 10px}.plan-sort button{text-align:center;flex:1}.journey-plan{border-radius:13px;min-height:106px;margin-bottom:8px;border:1px solid var(--line)!important;background:#fff!important;padding:12px 8px!important}.journey-plan.selected{border-color:var(--brand)!important;background:#fbfefd!important}.plan-number{display:none}.journey-plan>div{width:100%}.trip-card-top{justify-content:space-between;align-items:center;display:flex}.trip-total{color:var(--ink)!important;font-size:22px!important}.trip-card-top small,.trip-clock{color:var(--muted);font-size:9px}.trip-clock{margin-top:4px;display:block}.journey-steps{margin-top:9px!important}.journey-steps span{background:#f4f7f7}.show-more-plans{border:1px solid var(--line);width:100%;color:var(--brand);background:#fff;border-radius:11px;padding:11px;font-size:10px;font-weight:800}.route-menu-backdrop{background:#102a3038}.route-menu{border-radius:24px 24px 0 0;max-height:82dvh;box-shadow:0 -8px 30px #102a3025}.route-menu-grid>div{background:#fff;border-color:#edf1f0}.route-menu-grid>div.selected{border-left:3px solid var(--brand);background:#fbfefd}.route-open b{background:var(--brand);color:#fff;border-radius:7px;place-items:center;min-width:29px;height:27px;padding:0 6px;display:grid}.route-compare{background:var(--soft);color:var(--brand);border:0}.bus-compact{background:var(--brand);border-radius:9px;width:30px;height:30px;font-size:13px}.russian-street-label span{font-size:8px}.stop-dot{border-width:2px;width:9px;height:9px}@media (min-width:700px){.app-shell{border-radius:24px;height:calc(100dvh - 24px);margin-top:12px}.route-panel{top:70px}}.bottom-nav{z-index:2200;align-items:center;padding-left:26px;padding-right:26px;box-shadow:0 -4px 20px #163b3610}.bottom-nav button{color:#859498;letter-spacing:.01em;justify-content:center;gap:5px}.bottom-nav .nav-icon{width:22px;height:22px;font-size:0;display:block;position:relative}.bottom-nav button.active{color:var(--brand);font-weight:800}.nav-map .nav-icon:before{content:"";border:1.8px solid;border-radius:50%;position:absolute;inset:4px}.nav-map .nav-icon:after{content:"";clip-path:polygon(0 0,100% 0,100% 35%,0 35%,0 65%,100% 65%,100% 100%,0 100%);background:currentColor;width:2px;height:20px;position:absolute;top:1px;left:10px;box-shadow:0 0}.nav-trip .nav-icon:before{content:"↗";font-size:22px;font-weight:300;line-height:22px;position:absolute;inset:0}.nav-routes .nav-icon:before{content:"";background:currentColor;border-radius:2px;width:14px;height:1.7px;position:absolute;top:5px;left:4px;box-shadow:0 5px,0 10px}.planning-view{background:#fff}.planning-view>.topbar,.planning-view>.route-panel,.planning-view>.map{visibility:hidden}.planning-view>.arrival-card{top:max(var(--tg-content-safe-area-inset-top,0px),env(safe-area-inset-top));right:0;bottom:calc(66px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)));width:100%;box-shadow:none;background:#fff;border-radius:0;padding:15px 16px 10px;left:0;transform:none;height:auto!important;max-height:none!important}.planning-view>.arrival-card .drag-handle{margin-top:-8px}.planning-view .trip-results{max-height:none;overflow-y:auto}.planning-view .stop-sheet-heading{min-height:52px}.planning-view .point-trip-form{grid-template-columns:1fr 34px 1fr;padding-top:14px}.planning-view .my-location-trip{background:var(--soft);border:0;height:38px}.planning-view .plan-sort{z-index:2;background:#fff;padding:8px 0;position:sticky;top:0}.planning-view .clear-trip{order:9}.routes-view>.topbar,.routes-view>.route-panel{visibility:hidden}.routes-view .route-menu-backdrop{top:0;bottom:calc(66px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)));background:#fff;align-items:stretch}.routes-view .route-menu{height:100%;max-height:none;padding:calc(16px + max(env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px))) 14px 14px;box-shadow:none;border-radius:0}.routes-view .route-menu header{min-height:46px;margin-bottom:8px}.routes-view .route-menu header strong{font-size:17px}.routes-view .route-menu-grid{gap:5px;max-height:calc(100% - 60px)}.routes-view .route-menu-grid>div{border:0;border-bottom:1px solid #edf1f0;border-radius:0;min-height:49px}.routes-view .route-menu-grid>div.selected{border-left:3px solid var(--brand);border-bottom-color:#edf1f0}.routes-view .route-open{flex-direction:row;align-items:center;gap:10px}.routes-view .route-card-title{font-size:9px}.routes-view .route-service-summary{font-size:8px}.routes-view .route-pin{font-size:19px}.arrival-heading{min-height:49px}.arrival-heading>div:first-child{min-width:0}.arrival-heading .route-badge{border-radius:9px;min-width:36px;height:34px}.heading-actions{align-items:center}.heading-actions button{padding:6px}.direction-legend{color:var(--muted);padding:7px 0}.arrival-card.expanded .arrival-list{overscroll-behavior:contain}.arrival-card.expanded .arrival-row{padding-left:4px;position:relative}.arrival-card.expanded .arrival-row:not(:last-child):before{content:"";background:#a9ceca;width:1px;height:20px;position:absolute;bottom:-10px;left:9px}.selected-stop-icon{background:var(--soft);color:var(--brand)}.stop-sheet-heading{border-bottom-color:#edf1f0}.stop-sheet-heading>button{border-radius:50%;width:34px;height:34px;background:#f5f7f7!important;font-size:19px!important}.map-choice-card{bottom:calc(78px + env(safe-area-inset-bottom));border-radius:18px;box-shadow:0 8px 28px #173e3628}.map-choice-card>div button{border-radius:10px;height:40px}@media (max-width:390px){.bottom-nav{padding-left:14px;padding-right:14px}.planning-view>.arrival-card{padding-left:12px;padding-right:12px}}.routes-view .route-menu header{grid-template-columns:32px 1fr 32px;display:grid}.routes-view .route-menu header>div{align-items:center}.routes-view .route-menu header .route-menu-back{font-size:20px}.routes-view .route-menu-grid{max-height:calc(100% - 154px)}.route-menu-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:9px;display:grid}.route-menu-tabs button{min-width:0;height:36px;color:var(--muted);white-space:nowrap;background:#fff;border:0;border-bottom:2px solid #0000;padding:0 2px;font-size:9px}.route-menu-tabs button.active{border-bottom-color:var(--brand);color:var(--brand);background:linear-gradient(#fff,#f8fcfb);font-weight:800}.route-menu-search{border:1px solid var(--line);background:#f9fbfb;border-radius:10px;align-items:center;gap:8px;height:39px;margin-bottom:8px;padding:0 12px;display:flex}.route-menu-search span{color:var(--brand);font-size:18px}.route-menu-search input{background:0 0;border:0;outline:0;width:100%;font-size:10px}.route-menu-empty{color:var(--muted);text-align:center;font-size:11px;border:0!important;grid-column:1/-1!important;padding:28px 18px!important}.attraction-filters{scrollbar-width:none;gap:5px;margin:-1px 0 8px;display:flex;overflow-x:auto}.attraction-filters::-webkit-scrollbar{display:none}.attraction-filters button{border:1px solid var(--line);height:28px;color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;padding:0 10px;font-size:8px}.attraction-filters button.active{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:800}.attractions-grid{flex-direction:column;gap:6px;max-height:calc(82dvh - 216px);display:flex;overflow:auto}.attractions-grid>button{min-height:62px;color:var(--ink);text-align:left;background:#fff;border:1px solid #edf1f0;border-radius:13px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;display:grid}.attractions-grid>button>span{background:var(--soft);border-radius:10px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.attractions-grid>button>div{flex-direction:column;gap:2px;min-width:0;display:flex}.attractions-grid small{color:var(--muted);font-size:8px;line-height:1.35}.attractions-grid i{color:var(--brand);font-size:8px;font-style:normal;font-weight:800}.attractions-grid strong{color:var(--brand);font-size:8px}button:focus{outline:none}button:focus-visible{outline-offset:2px;outline:2px solid #74bdb8}.bottom-nav button:focus-visible{background:var(--soft);border-radius:11px;outline:0}.planning-view .point-trip-form{flex-direction:column;gap:7px;position:relative;padding:12px 44px 8px 0!important;display:flex!important}.planning-view .point-trip-form label{width:100%}.planning-view .point-trip-form .swap-stops{width:35px;position:absolute;top:47px;right:0}.planning-view .my-location-trip{margin:0 0 13px}.recent-places{flex-direction:column;margin:2px 0 12px;display:flex}.recent-places>strong{margin-bottom:5px;font-size:11px}.recent-places>button{min-height:45px;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f0;align-items:center;gap:9px;padding:7px 2px;display:flex}.recent-places>button>span{background:var(--soft);width:28px;height:28px;color:var(--brand);border-radius:9px;place-items:center;display:grid}.recent-places>button>div{flex-direction:column;gap:3px;display:flex}.recent-places b{font-size:10px}.recent-places small{color:var(--muted);font-size:8px}html,body{background:#edf4f3}.bottom-nav{background:#fff}.app-shell{height:var(--app-visible-height,100dvh)}.keyboard-open{height:var(--app-visible-height,100dvh);margin-top:var(--app-viewport-top,0)}.keyboard-open>.bottom-nav,.keyboard-open:not(.planning-view)>.arrival-card{display:none}.keyboard-open .route-panel{top:calc(8px + env(safe-area-inset-top));z-index:2400}.keyboard-open .search-results{max-height:calc(var(--app-visible-height,100dvh) - 76px);overscroll-behavior:contain}.keyboard-open.planning-view>.arrival-card{padding-bottom:8px;top:0;bottom:0;max-height:var(--app-visible-height,100dvh)!important}.keyboard-open.planning-view .trip-results{min-height:0}.keyboard-open .trip-address-panel{z-index:5;position:sticky;top:0}.route-panel{padding-top:8px}.arrival-card.route-compact{max-height:124px;padding-bottom:9px}.route-compact .drag-handle{margin-bottom:5px}.route-compact .arrival-heading{min-height:45px;padding-bottom:7px}.route-compact .direction-legend{display:none}.route-compact .arrival-list{max-height:51px}.route-compact .arrival-row{min-height:49px;padding:6px 0}.route-compact .arrival-time strong{font-size:15px}.route-compact .arrival-name span{display:none}.route-compact .heading-actions button{font-size:10px}.route-compact .heading-actions .route-reset{font-size:22px!important}.trip-point-field{position:relative}.trip-point-field>span{display:none}.point-trip-form .trip-point-field>button:first-of-type{border-radius:13px;height:46px;padding:0 44px 0 15px;font-size:12px;font-weight:750}.point-trip-form .field-location-button{z-index:2;position:absolute;top:5px;right:5px;background:var(--soft)!important;width:36px!important;height:36px!important;color:var(--brand)!important;text-align:center!important;border:0!important;border-radius:9px!important;padding:0!important;font-size:20px!important}.planning-view .point-trip-form .swap-stops{height:38px;top:53px}.trip-card-top{gap:12px}.route-hero{color:var(--brand-dark);text-overflow:ellipsis;white-space:nowrap;font-weight:900;line-height:1.05;overflow:hidden;font-size:27px!important}.duration-badge{background:var(--soft);color:var(--brand-dark);border-radius:9px;flex:none;padding:6px 9px;font-size:12px;font-weight:900}.trip-route-kind{margin-top:5px;font-weight:750;display:block;color:var(--ink)!important;font-size:9px!important}.trip-clock{margin-top:3px}.trip-total{font-size:14px!important}.drag-handle{touch-action:none;cursor:ns-resize;background:0 0;width:64px;height:18px;margin-top:-4px;margin-bottom:2px;position:relative}.drag-handle:after{content:"";background:#d4dfdc;border-radius:4px;width:34px;height:4px;position:absolute;top:7px;left:15px}.arrival-card{transition:max-height .25s,transform .25s}.heading-actions button:first-child,.trip-heading-actions button:first-child{min-width:34px;font-weight:400;font-size:25px!important}.journey-route-label span{border-width:4px!important;border-radius:16px!important;width:54px!important;min-width:54px!important;height:54px!important;padding:0 7px!important;font-size:21px!important;line-height:1!important;box-shadow:0 5px 16px #173e3650!important}.journey-route-label.walking-label span{color:var(--brand)!important;background:#fff!important;border-color:#dce8e5!important;font-size:25px!important}.transfer-marker>div{border-radius:16px!important;width:54px!important;height:54px!important;font-size:25px!important}.transfer-marker>span{border-radius:10px!important;min-width:118px!important;padding:7px 9px!important;font-size:10px!important;top:4px!important;left:61px!important}.tracked-route-icon{padding:0 9px;background:var(--brand)!important;color:#fff!important;border-radius:13px!important;width:auto!important;min-width:46px!important;height:46px!important;font-size:18px!important;font-weight:900!important}.bot-pick-banner{z-index:1100;top:calc(145px + env(safe-area-inset-top));color:#fff;text-align:center;pointer-events:none;background:#102a32ef;border-radius:14px;flex-direction:column;gap:3px;width:min(88%,430px);padding:11px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #102a3240}.bot-pick-banner strong{font-size:13px}.bot-pick-banner span{color:#dce8e5;font-size:10px}.point-trip-form .trip-point-field>button:first-of-type{text-align:left;padding-right:82px!important}.point-trip-form .trip-point-field:not(.origin-field)>button:first-of-type{padding-right:48px!important}.point-trip-form .field-location-button,.point-trip-form .field-map-button{z-index:2;position:absolute;top:5px;background:var(--soft)!important;width:36px!important;height:36px!important;color:var(--brand)!important;text-align:center!important;border:0!important;border-radius:9px!important;padding:0!important;font-size:20px!important}.point-trip-form .field-location-button{right:43px!important}.point-trip-form .field-map-button{right:5px}.trip-address-panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 0 12px;overflow:hidden}.trip-address-panel form{align-items:center;gap:7px;padding:7px;display:flex}.trip-address-panel form>span{color:var(--brand);font-size:19px}.trip-address-panel input{border:0;outline:0;flex:1;min-width:0;font-size:12px}.trip-address-panel form button{background:var(--brand);color:#fff;border:0;border-radius:9px;height:32px;padding:0 10px;font-size:10px;font-weight:800}.trip-address-panel form button:last-child{width:30px;color:var(--muted);background:#f2f5f4;padding:0;font-size:17px}.trip-address-result{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-top:1px solid #edf1f0;align-items:center;gap:9px;padding:9px 11px;display:flex}.trip-address-result>span{color:var(--brand);font-size:18px}.trip-address-result>div{flex-direction:column;gap:2px;min-width:0;display:flex}.trip-address-result strong,.trip-address-result small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trip-address-result small{color:var(--muted);font-size:8px}.map-symbol{grid-template-columns:repeat(3,1fr);align-items:start;gap:0;width:22px;height:18px!important;display:inline-grid!important;transform:none!important}.map-symbol i{background:0 0;border:1.7px solid;border-right:0;height:16px;display:block;transform:skewY(-10deg)}.map-symbol i:nth-child(2){height:18px;transform:translateY(2px)skewY(10deg)}.map-symbol i:last-child{border-right:1.7px solid}.search-map-pick .map-symbol{width:19px;height:16px!important}.search-map-pick .map-symbol i{height:14px}.search-map-pick .map-symbol i:nth-child(2){height:16px}.attraction-layer-toggle{z-index:850;height:36px;color:var(--ink);background:#fffffff2;border:1px solid #dbe7e5;border-radius:12px;align-items:center;gap:6px;padding:0 12px;font-size:9px;font-weight:850;display:flex;position:absolute;top:132px;left:12px;box-shadow:0 5px 18px #173e3625}.attraction-layer-toggle>span{background:var(--soft);width:20px;height:20px;color:var(--brand);border-radius:7px;place-items:center;font-size:12px;display:grid}.attraction-layer-toggle.active{border-color:var(--brand);background:var(--brand);color:#fff}.attraction-layer-toggle.active>span{color:#fff;background:#ffffff24}.attraction-map-marker{background:0 0!important;border:0!important}.attraction-map-marker button{background:var(--brand);border:3px solid #fff;border-radius:50% 50% 50% 8px;place-items:center;width:36px;height:36px;padding:0;display:grid;position:relative;transform:rotate(-45deg);box-shadow:0 5px 15px #173e3650}.attraction-map-marker button span{font-size:17px;line-height:1;transform:rotate(45deg)}.attraction-map-marker.selected button{background:var(--coral);border-width:4px;width:44px;height:44px}.arrival-card.place-sheet{max-height:225px}.attraction-sheet-heading .selected-stop-icon{font-size:20px}.attraction-sheet-body{gap:8px;padding-top:10px;display:grid}.attraction-sheet-body p{color:var(--ink);margin:0;font-size:11px;line-height:1.45}.attraction-sheet-body>span{color:var(--muted);font-size:9px}.attraction-sheet-body>button{background:var(--brand);color:#fff;border:0;border-radius:11px;height:39px;font-size:11px;font-weight:850}.route-menu{touch-action:pan-y}.route-menu-tabs{position:relative}.route-menu-search{margin-top:8px}.point-trip-form .trip-point-field{display:block!important}.point-trip-form .trip-point-field>input{border:1px solid var(--line);width:100%;height:48px;color:var(--ink);text-overflow:ellipsis;background:#fff;border-radius:13px;outline:0;padding:0 88px 0 14px;font-size:12px;font-weight:750;display:block}.point-trip-form .origin-field>input{padding-right:126px}.point-trip-form .trip-point-field>input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #087f7912}.point-trip-form .trip-point-field>input::placeholder{color:#91a0a3;font-weight:600}.point-trip-form .field-actions{z-index:2;align-items:center;gap:4px;position:absolute;top:6px;right:6px;height:36px!important;display:flex!important}.point-trip-form .field-actions .field-location-button,.point-trip-form .field-actions .field-map-button,.point-trip-form .field-actions .field-clear-button{place-items:center;background:var(--soft)!important;width:34px!important;height:34px!important;color:var(--brand)!important;border:0!important;border-radius:9px!important;padding:0!important;font-size:18px!important;display:grid!important;position:static!important}.point-trip-form .field-actions .field-clear-button{color:var(--muted)!important;background:#f4f6f6!important;font-size:17px!important}.point-trip-form .field-actions .map-symbol{width:18px;height:15px!important}.point-trip-form .field-actions .map-symbol i{height:13px}.point-trip-form .field-actions .map-symbol i:nth-child(2){height:15px}.trip-address-panel{overscroll-behavior:contain;max-height:min(56dvh,520px);margin-top:-1px;overflow-y:auto;box-shadow:0 10px 25px #173e3614}.trip-address-panel-heading{z-index:2;min-height:38px;color:var(--muted);background:#f9fbfb;border-bottom:1px solid #edf1f0;justify-content:space-between;align-items:center;padding:6px 9px 6px 12px;font-size:9px;font-weight:750;display:flex;position:sticky;top:0}.trip-address-panel-heading button{width:26px;height:26px;color:var(--muted);background:#edf2f1;border:0;border-radius:8px;font-size:15px}.trip-address-result{min-height:48px}.trip-address-empty{color:var(--muted);text-align:center;padding:16px;font-size:10px}.keyboard-open .trip-address-panel{max-height:calc(var(--app-visible-height,100dvh) - 150px);position:relative;top:auto}.journey-plan{display:block!important}.journey-preview-map{border:1px solid var(--line);pointer-events:none;background:linear-gradient(135deg,#eef6f4,#e3efec);border-radius:11px;width:calc(100% - 16px);height:88px;margin:9px 8px 2px;position:relative;overflow:hidden}.journey-preview-map .leaflet-container{background:#e7f1ef}.journey-plan.not-catchable{box-shadow:none!important;background:#faf8f4!important;border-color:#dbcdb9!important}.journey-plan.not-catchable .duration-badge{display:none}.journey-plan .catchability-warning{text-overflow:clip;background:#f4eee3;border-radius:9px;margin-top:7px;padding:7px 9px;font-weight:800;display:block;overflow:visible;color:#865a28!important;white-space:normal!important;line-height:1.35!important}.journey-plan.not-catchable .follow-plan{color:#705f48;background:#f0ece4}@media (max-width:390px){.point-trip-form .origin-field>input{padding-right:116px}.point-trip-form .trip-point-field>input{font-size:11px}.point-trip-form .field-actions{gap:2px}.point-trip-form .field-actions .field-location-button,.point-trip-form .field-actions .field-map-button,.point-trip-form .field-actions .field-clear-button{width:32px!important}}.planning-view .trip-results{width:100%;padding-left:3px;padding-right:3px;overflow-x:hidden}.planning-view .trip-results>.journey-plan,.planning-view .trip-results>.show-more-plans,.planning-view .trip-results>.stats-card{width:100%;max-width:100%;margin-left:0;margin-right:0}.planning-view .journey-plan-main,.planning-view .trip-card-top{min-width:0}.planning-view .journey-preview-map{width:auto!important;margin:10px 4px 2px!important}.point-trip-form .trip-address-panel{z-index:80;border:1px solid var(--line);overscroll-behavior:contain;background:#fff;border-radius:14px;max-height:min(52dvh,470px);margin:0;position:absolute;left:0;right:44px;overflow:hidden auto;box-shadow:0 16px 38px #173e3630}.trip-address-panel-heading{box-shadow:0 1px #edf1f0}.trip-address-section-title{color:#81928f;text-transform:uppercase;letter-spacing:.08em;background:#f8fbfa;padding:8px 12px 5px;font-size:8px;font-weight:850}.trip-location-result>span,.trip-map-result>span{background:var(--soft);border-radius:10px;width:34px!important;height:34px!important;color:var(--brand)!important;flex:0 0 34px!important;place-items:center!important;display:grid!important}.trip-map-result .map-symbol{width:18px;height:15px!important}.trip-recent-result{border-top:1px solid #edf1f0;position:relative}.trip-recent-result>.trip-address-result{border-top:0;padding-right:45px}.trip-recent-delete{color:#71827f;background:#f2f5f4;border:0;border-radius:9px;width:29px;height:29px;font-size:17px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.live-status-banner{color:#5c4a27;background:#fff9ed;border:1px solid #f0d8a9;border-radius:12px;align-items:flex-start;gap:9px;margin:2px 0 9px;padding:10px;display:flex}.live-status-banner>span{color:#fff;background:#f4b94f;border-radius:8px;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:15px;font-weight:900;display:grid}.live-status-banner>div{flex-direction:column;gap:3px;min-width:0;display:flex}.live-status-banner small{color:#7a6844;font-size:8px;line-height:1.35}.transit-stop-group-result{align-items:flex-start!important}.transit-stop-group-result>.transit-stop-icon{background:var(--soft);border-radius:10px;width:34px!important;height:34px!important;color:var(--brand)!important;flex:0 0 34px!important;place-items:center!important;display:grid!important}.transit-stop-group-result>div{gap:3px!important}.transit-route-badges{flex-wrap:wrap;gap:4px;margin-top:3px;color:#fff!important;font-size:9px!important;display:flex!important}.transit-route-badges i{color:#fff;border-radius:7px;justify-content:center;align-items:center;min-width:25px;height:22px;padding:0 7px;font-size:9px;font-style:normal;font-weight:850;line-height:1;display:inline-flex}.transit-route-badges i.suburban{box-shadow:inset 0 0 0 1px #ffffff45}.keyboard-open .point-trip-form .trip-address-panel{max-height:calc(var(--app-visible-height,100dvh) - 170px);position:absolute}.keyboard-open .point-trip-form .trip-address-panel-from{top:62px}.keyboard-open .point-trip-form .trip-address-panel-to{top:117px}.topbar{padding-left:16px;padding-right:16px}.brand-mark{border-radius:13px;width:42px;height:42px;font-size:21px}.brand-copy strong{font-size:16px}.brand-copy span{font-size:11px}.location-button{border-radius:13px;width:42px;height:42px}.route-panel{padding-left:14px;padding-right:14px}.search-box{border:1px solid var(--line);border-radius:15px;height:50px}.search-box input{font-size:13px}.search-box .address-search-submit{border-radius:11px;height:38px;padding:0 13px;font-size:11px}.search-results{border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 18px 36px #173e3626;max-height:min(58dvh,520px)!important;left:14px!important;right:14px!important}.search-results button{min-height:52px}.search-results strong{font-size:12px}.search-results small{font-size:9px}.planning-view>.arrival-card{padding-left:18px;padding-right:18px}.planning-view .stop-sheet-heading strong{font-size:17px}.planning-view .stop-sheet-heading small{margin-top:3px;font-size:11px;line-height:1.35}.planning-view .point-trip-form{padding-right:46px!important}.point-trip-form .trip-point-field>input{border-radius:15px;height:52px;font-size:13px}.point-trip-form .field-actions{top:8px}.planning-view .point-trip-form .swap-stops{border-radius:12px;width:40px;height:40px;font-size:19px;top:59px}.point-trip-form .trip-address-panel-from{top:66px}.point-trip-form .trip-address-panel-to{top:125px}.trip-address-panel{border-radius:15px}.trip-address-panel-heading{min-height:42px;font-size:10px}.trip-address-result{min-height:54px;padding:10px 12px}.trip-address-result strong{font-size:12px}.trip-address-result small{font-size:9px;line-height:1.35}.trip-address-section-title{font-size:9px}.trip-recent-delete{width:32px;height:32px}.plan-sort{gap:7px}.plan-sort button{border-radius:12px;height:40px;font-size:11px}.journey-plan{min-height:0;margin-bottom:11px;box-shadow:0 7px 20px #173e3609;border-radius:17px!important;padding:14px 10px!important}.journey-plan.selected{box-shadow:0 8px 24px #087f7914}.journey-plan-main{text-align:left;padding:0!important}.trip-card-top{align-items:flex-start}.route-sequence{scrollbar-width:none;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.route-sequence::-webkit-scrollbar{display:none}.route-sequence-part{align-items:center;gap:4px;display:flex}.mode-arrow{color:#8ca09e;font-size:17px;font-weight:700}.mode-arrow.first{display:inline}.mode-badge{border-radius:12px;flex:none;place-items:center;min-width:42px;height:42px;padding:0 8px;font-size:16px;font-weight:900;line-height:1;display:grid}.mode-badge.city-mode,.mode-badge.minibus-mode{background:var(--brand);color:#fff}.mode-badge.suburban-mode{color:#fff;background:#7462d8}.mode-badge.walking-mode{border:1px solid var(--line);min-width:34px;color:var(--brand);background:#f7faf9;padding:0;font-size:17px}.duration-badge{white-space:nowrap;border-radius:10px;margin-left:auto;padding:7px 9px;font-size:11px}.trip-route-kind{margin-top:9px!important;font-size:11px!important}.trip-clock{margin-top:5px;font-size:10px!important}.journey-steps{scrollbar-width:none;gap:5px;overflow-x:auto;margin-top:10px!important;display:flex!important}.journey-steps::-webkit-scrollbar{display:none}.journey-steps span{border-radius:9px;flex:none;min-height:28px;padding:6px 8px!important;font-size:9px!important}.journey-steps b{align-self:center}.transfer-note{line-height:1.4;margin-top:8px!important;font-size:9px!important}.planning-view .journey-preview-map{border-radius:13px;height:104px;margin:12px 0 3px!important}.follow-plan{height:42px;border-radius:12px!important;margin-top:9px!important;font-size:11px!important}.clear-trip{min-height:42px;border-radius:12px!important;font-size:11px!important}.live-status-banner{padding:11px}.live-status-banner strong{font-size:11px}.live-status-banner small{font-size:9px}.route-menu{padding-left:18px!important;padding-right:18px!important}.route-menu-tabs{gap:3px}.route-menu-tabs button{height:40px;font-size:10px}.route-menu-search{border-radius:13px;height:44px}.route-menu-search input{font-size:11px}.route-menu-grid>div{min-height:56px!important}.route-open b,.suburban-number{border-radius:10px!important;min-width:38px!important;height:36px!important;font-size:13px!important}.route-open span,.suburban-direction span{font-size:9px!important}.route-compare,.suburban-map-button{min-height:34px;border-radius:10px!important;font-size:9px!important}.attractions-grid>button{border-radius:15px;min-height:70px;padding:11px}.attractions-grid b{font-size:11px}.attractions-grid small,.attractions-grid i,.attractions-grid strong{font-size:9px}.arrival-card{left:10px;right:10px}.arrival-card.expanded{padding-left:16px;padding-right:16px}.bottom-nav{height:calc(70px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)))}.bottom-nav button{font-size:10px}.bottom-nav .nav-icon{width:24px;height:24px}.map-choice-card{padding:14px!important;left:14px!important;right:14px!important}.map-choice-card strong{font-size:14px}.map-choice-card span{font-size:10px;line-height:1.4}.attraction-layer-toggle{border-radius:12px!important;font-size:10px!important}@media (max-width:390px){.planning-view>.arrival-card{padding-left:14px;padding-right:14px}.route-menu{padding-left:14px!important;padding-right:14px!important}.route-menu-tabs button{font-size:9px}.mode-badge{min-width:38px;height:38px;font-size:14px}.mode-badge.walking-mode{min-width:31px}.duration-badge{font-size:10px}}.route-panel{top:calc(8px + var(--geobus-telegram-controls-top,0px) + max(env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px)));background:0 0;padding-top:0}.route-panel:has(.search-box){background:0 0}.search-box{box-shadow:0 9px 28px #173e3628}.search-results{top:50px!important}.loading-card,.error-pill{top:76px}.attraction-layer-toggle{top:70px;left:14px}.map-location-control{z-index:850;width:36px;height:36px;color:var(--brand);background:#fff;border:1px solid #dce7e5;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;bottom:292px;right:10px;box-shadow:0 5px 18px #193c3530}.map-location-control span{border:2px solid;border-radius:50%;width:17px;height:17px;position:relative}.map-location-control span:before,.map-location-control span:after{content:"";background:currentColor;position:absolute}.map-location-control span:before{width:2px;top:-5px;bottom:-5px;left:6px}.map-location-control span:after{height:2px;top:6px;left:-5px;right:-5px}.map-location-control:active{background:var(--soft)}.bottom-nav{padding-top:6px}.bottom-nav button{gap:3px}.bottom-nav .nav-icon{border-radius:11px;place-items:center;width:34px;height:30px;transition:background .2s,color .2s;display:grid}.bottom-nav button.active .nav-icon{background:var(--soft)}.nav-map .nav-icon:before{border-width:2px;inset:7px}.nav-map .nav-icon:after{height:22px;top:4px;left:16px}.nav-trip .nav-icon:before{font-size:25px;line-height:25px;inset:2px 0 0}.nav-routes .nav-icon:before{width:17px;height:2px;top:8px;left:9px;box-shadow:0 6px,0 12px}.nav-routes .nav-icon:after{content:"";background:currentColor;border-radius:50%;width:2px;height:2px;position:absolute;top:7px;left:5px;box-shadow:0 6px,0 12px}@media (min-width:700px){.route-panel{top:calc(8px + var(--geobus-telegram-controls-top,0px) + max(env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px)))}}.attraction-map-marker.place-playground button{background:#ee8b35}.attraction-map-marker.place-animals button{background:#3f9b67}.attraction-map-marker.place-port button{background:#2878b8}.attraction-map-marker.place-theatre button{background:#7957a8}.attraction-map-marker.place-sculpture button{background:#d75f59}.attraction-map-marker.place-nature button{background:#438f70}.attraction-map-marker.place-museum button{background:#9a6a45}.attraction-map-marker.place-historic button{background:#8d765b}.attraction-map-marker.place-food button{background:#d66b3d}.attraction-map-marker.place-landmark button{background:#087f79}.attraction-map-marker.selected button{background:var(--coral)}.startup-screen{z-index:5000;padding:48px 34px calc(48px + env(safe-area-inset-bottom));text-align:center;color:#102f34;background:radial-gradient(circle at 18% 18%,#d4f1ed 0,#0000 30%),radial-gradient(circle at 86% 75%,#b9e4de 0,#0000 34%),linear-gradient(155deg,#f8fcfb 0%,#eef7f5 52%,#deefec 100%);flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:absolute;inset:0;overflow:hidden}.startup-screen:before,.startup-screen:after{content:"";pointer-events:none;border:1px solid #09898124;border-radius:50%;position:absolute}.startup-screen:before{width:340px;height:340px;top:-190px;right:-150px}.startup-screen:after{width:260px;height:260px;bottom:-145px;left:-120px}.startup-motion{width:112px;height:112px;position:relative}.startup-motion:before,.startup-motion:after,.startup-motion i{content:"";border:2px solid #0a898133;border-radius:50%;position:absolute}.startup-motion:before{inset:8px}.startup-motion:after{inset:24px}.startup-motion i:first-child{border-color:#0a898166;inset:40px}.startup-motion i:nth-child(2),.startup-motion i:nth-child(3){background:#07877f;border:3px solid #f8fcfb;width:10px;height:10px;box-shadow:0 4px 14px #087f7a44}.startup-motion i:nth-child(2){top:9px;left:51px}.startup-motion i:nth-child(3){bottom:23px;right:14px}.startup-motion span{background:#ff7455;border:4px solid #fff;border-radius:7px 7px 7px 2px;width:18px;height:18px;margin:-9px;animation:1.9s cubic-bezier(.45,.05,.55,.95) infinite startup-orbit;position:absolute;top:50%;left:50%;box-shadow:0 7px 18px #173e3640}.startup-copy{z-index:1;max-width:340px;position:relative}.startup-copy p{color:#176660;margin:0 0 8px;font-size:18px;font-weight:750}.startup-copy small{color:#688084;font-size:14px;line-height:1.45;display:block}.startup-loader{align-items:center;gap:8px;height:18px;display:flex}.startup-loader i{background:#07877f;border-radius:50%;width:7px;height:7px;animation:1.15s ease-in-out infinite startup-dot}.startup-loader i:nth-child(2){animation-delay:.16s}.startup-loader i:nth-child(3){animation-delay:.32s}.startup-failure-mark{color:#c8583e;background:#fff3ee;border-radius:20px;place-items:center;width:58px;height:58px;font-size:28px;font-weight:900;display:grid;box-shadow:0 12px 30px #9a49321c}.startup-retry{z-index:1;color:#fff;background:#07877f;border:0;border-radius:16px;min-width:180px;padding:14px 26px;font-size:16px;font-weight:800;position:relative;box-shadow:0 12px 28px #087e7630}@keyframes startup-orbit{0%{transform:rotate(0)translate(39px)rotate(0)}to{transform:rotate(360deg)translate(39px)rotate(-360deg)}}@keyframes startup-dot{0%,65%,to{opacity:.28;transform:translateY(0)}35%{opacity:1;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.startup-motion span,.startup-loader i{animation:none}.startup-loader i{opacity:.75}}.routes-view .route-menu{flex-direction:column;display:flex;overflow:hidden}.route-menu-content{flex:auto;min-height:0}.route-menu-footer{text-align:center;flex:none;justify-content:center;align-items:center;gap:8px;padding:10px 4px 2px;display:flex}.route-menu-footer a,.route-menu-footer button{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.route-menu-footer a:active,.route-menu-footer button:active{background:var(--soft);color:var(--brand)}.onboarding-backdrop{z-index:9000;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0b2d32b8;place-items:center;padding:18px;animation:.24s ease-out onboarding-fade;display:grid;position:fixed;inset:0}.onboarding-card{background:#fff;border:1px solid #ffffff85;border-radius:28px;width:min(100%,390px);animation:.32s cubic-bezier(.2,.8,.2,1) onboarding-rise;overflow:hidden;box-shadow:0 28px 80px #071f256e}.onboarding-card>header{justify-content:space-between;align-items:center;min-height:58px;padding:8px 18px;display:flex}.onboarding-card>header strong{color:var(--ink);font-size:14px}.onboarding-card>header button{color:var(--muted);background:0 0;border:0;padding:8px;font-size:11px;font-weight:750}.onboarding-card>header .onboarding-close{color:#69817e;background:#eef4f3;border-radius:11px;place-items:center;width:34px;height:34px;padding:0;display:grid}.onboarding-card>header .onboarding-close:active{transform:scale(.92)}.onboarding-visual{height:210px;color:var(--brand);background:linear-gradient(145deg,#dff4f1,#a9ddd8);border-radius:23px;margin:0 14px;transition:background .25s;position:relative;overflow:hidden}.onboarding-visual:before,.onboarding-visual:after{content:"";border:1px solid #ffffffa0;border-radius:50%;position:absolute}.onboarding-visual:before{width:190px;height:190px;top:-95px;right:-55px}.onboarding-visual:after{width:135px;height:135px;bottom:-74px;left:-42px}.onboarding-visual.step-1{background:linear-gradient(145deg,#e4f3f0,#c6ebe4)}.onboarding-main-icon{width:50px;height:50px;color:var(--brand);background:#fff;border-radius:16px;place-items:center;display:grid;position:absolute;top:21px;left:22px;box-shadow:0 10px 26px #174d4930}.onboarding-main-icon svg{width:24px;height:24px}.onboarding-search-demo,.onboarding-board-demo,.onboarding-track-demo,.onboarding-place-demo{z-index:1;background:#fff;position:absolute;bottom:27px;left:19px;right:19px;box-shadow:0 13px 30px #174d4930}.onboarding-search-demo{border-radius:17px;grid-template-columns:22px minmax(0,1fr) 37px;align-items:center;height:56px;padding:0 9px 0 15px;display:grid}.onboarding-search-demo i{font-size:20px;font-style:normal}.onboarding-search-demo span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.onboarding-search-demo b{background:var(--soft);border-radius:12px;place-items:center;width:37px;height:37px;display:grid}.onboarding-board-demo{border-radius:18px;grid-template-columns:50px minmax(0,1fr) 44px;align-items:center;gap:10px;min-height:72px;padding:10px;display:grid}.onboarding-board-demo>b,.onboarding-board-demo>em{background:var(--brand);color:#fff;border-radius:13px;place-items:center;height:46px;font-size:18px;font-style:normal;display:grid}.onboarding-board-demo span{flex-direction:column;gap:4px;min-width:0;display:flex}.onboarding-board-demo i{color:var(--ink);font-size:13px;font-style:normal;font-weight:850}.onboarding-board-demo small{color:var(--muted);font-size:10px}.onboarding-board-demo>em{background:#ff7659;height:38px;font-size:13px}.onboarding-track-demo{min-height:70px;color:var(--brand);border-radius:18px;align-items:center;gap:11px;padding:12px;display:flex}.onboarding-track-demo>svg{flex:none}.onboarding-track-demo span{flex-direction:column;gap:4px;min-width:0;display:flex}.onboarding-track-demo b{color:var(--ink);font-size:12px}.onboarding-track-demo small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.onboarding-place-demo{border-radius:19px;justify-content:space-around;align-items:center;height:74px;display:flex}.onboarding-place-demo i{background:var(--soft);border-radius:14px;place-items:center;width:43px;height:43px;font-size:21px;font-style:normal;display:grid}.onboarding-language-demo{z-index:1;background:#fff;border-radius:19px;justify-content:center;align-items:center;gap:8px;height:72px;display:flex;position:absolute;bottom:27px;left:19px;right:19px;box-shadow:0 13px 30px #174d4930}.onboarding-language-demo button{min-width:62px;height:42px;color:var(--brand);background:#eef7f5;border:1px solid #d5e6e3;border-radius:12px;place-items:center;padding:0 10px;font-size:11px;font-weight:850;transition:transform .16s,background .16s,color .16s;display:grid}.onboarding-language-demo button.active{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 7px 18px #087f7a35}.onboarding-language-demo button:active{transform:scale(.94)}.onboarding-visual.step-5{background:linear-gradient(145deg,#f0f6e5,#c9e9d2)}.onboarding-copy{min-height:164px;padding:22px 23px 12px}.onboarding-copy>span{background:var(--soft);color:var(--brand);border-radius:9px;padding:6px 9px;font-size:9px;font-weight:850;display:inline-flex}.onboarding-copy h2{color:var(--ink);letter-spacing:-.4px;margin:12px 0 8px;font-size:24px;line-height:1.08}.onboarding-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.onboarding-dots{justify-content:center;gap:6px;padding:2px 0 12px;display:flex}.onboarding-dots button{background:#c7d6d4;border:0;border-radius:9px;width:7px;height:7px;padding:0;transition:width .2s,background .2s}.onboarding-dots button.active{background:var(--brand);width:23px}.onboarding-card>footer{align-items:center;gap:9px;min-height:70px;padding:10px 16px 16px;display:flex}.onboarding-card>footer button{border:0;border-radius:14px;height:46px;font-size:12px;font-weight:850}.onboarding-back{color:var(--brand);background:#eef5f4;flex:0 0 46px}.onboarding-next{background:var(--brand);color:#fff;flex:1;box-shadow:0 9px 22px #07877f2e}@keyframes onboarding-fade{0%{opacity:0}to{opacity:1}}@keyframes onboarding-rise{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:none}}.onboarding-visual.step-2{background:linear-gradient(145deg,#d9eeee,#9fd8d3)}.onboarding-visual.step-3{background:linear-gradient(145deg,#e6effb,#b8d8ee)}.onboarding-visual.step-4{background:linear-gradient(145deg,#f0f6e5,#c9e9d2)}.onboarding-visual.step-5,.onboarding-visual.step-6{background:linear-gradient(145deg,#e6effb,#b8d8ee)}.onboarding-visual.step-7{background:linear-gradient(145deg,#f0f6e5,#c9e9d2)}.onboarding-map-demo,.onboarding-stop-demo{z-index:2;background:#e9f4ef;border:1px solid #ffffffa8;border-radius:19px;position:absolute;inset:12px;overflow:hidden;box-shadow:0 12px 28px #174d4930}.onboarding-map-surface{touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(18deg,#d5e6db 0 24%,#f4f0df 24% 29%,#d9ebdf 29% 100%);border:0;width:100%;padding:0;position:absolute;inset:0}.onboarding-road{background:#cbd2cf;border:3px solid #fff;border-radius:20px;height:12px;position:absolute;box-shadow:0 0 0 1px #b8c7c2}.onboarding-road.road-a{width:135%;top:48%;left:-16%;transform:rotate(-17deg)}.onboarding-road.road-b{width:92%;top:25%;left:31%;transform:rotate(54deg)}.onboarding-road.road-c{width:72%;bottom:12%;left:-8%;transform:rotate(38deg)}.onboarding-map-surface small{color:var(--brand-dark);background:#ffffffed;border-radius:11px;padding:7px 10px;font-size:10px;font-weight:850;position:absolute;bottom:17px;left:18px;right:18px;box-shadow:0 7px 18px #173e3622}.onboarding-hold-ring{background:#ffffff9c;border:3px solid #07877f;border-radius:50%;width:42px;height:42px;margin:-21px;transition:transform .18s;position:absolute;top:50%;left:50%;box-shadow:0 0 #07877f3d}.onboarding-map-demo.pressing .onboarding-hold-ring{animation:.65s linear forwards onboarding-hold}.onboarding-map-marker{color:#fff;opacity:0;background:#ff7455;border-radius:50% 50% 50% 10px;place-items:center;width:42px;height:42px;margin:-35px 0 0 -21px;transition:opacity .22s,transform .22s;display:grid;position:absolute;top:50%;left:50%;transform:translateY(-8px)rotate(-45deg)scale(.7);box-shadow:0 8px 18px #73312444}.onboarding-map-marker svg{transform:rotate(45deg)}.onboarding-map-demo.stage-1 .onboarding-map-marker,.onboarding-map-demo.stage-2 .onboarding-map-marker{opacity:1;transform:translateY(0)rotate(-45deg)scale(1)}.onboarding-map-demo.stage-1 .onboarding-hold-ring,.onboarding-map-demo.stage-2 .onboarding-hold-ring{opacity:0}.onboarding-point-actions{z-index:3;background:#fffffff2;border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;padding:6px;animation:.22s ease-out onboarding-pop;display:grid;position:absolute;bottom:9px;left:9px;right:9px;box-shadow:0 9px 25px #173e3633}.onboarding-point-actions button{min-height:37px;color:var(--brand);background:#e8f4f2;border:0;border-radius:10px;padding:0 7px;font-size:9px;font-weight:850}.onboarding-point-actions button:last-child{background:var(--brand);color:#fff}.onboarding-route-ready{z-index:3;color:#fff;background:#087f7af2;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:8px 12px;animation:.22s ease-out onboarding-pop;display:flex;position:absolute;bottom:14px;left:14px;right:14px;box-shadow:0 9px 25px #173e3633}.onboarding-route-ready b{font-size:10px}.onboarding-stop-demo{background:linear-gradient(135deg,#eff5f3,#d8ebe6)}.onboarding-stop-route{position:absolute;inset:26px 28px 24px}.onboarding-stop-route:before{content:"";background:#0b8b83;border:3px solid #fff;border-radius:20px;height:8px;position:absolute;top:50%;left:0;right:0;transform:rotate(-12deg)}.onboarding-stop-route span{z-index:1;background:#0b8b83;border:3px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translateY(-50%)}.onboarding-stop-route span:first-child{margin-top:16px;left:4%}.onboarding-stop-route span:nth-child(2){margin-top:7px;left:33%}.onboarding-stop-route span:nth-child(3){margin-top:-2px;left:66%}.onboarding-stop-route span:nth-child(4){margin-top:-11px;right:3%}.onboarding-demo-stop{z-index:2;color:#fff;background:#ff7455;border:3px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;animation:1.5s ease-in-out infinite onboarding-stop-pulse;display:grid;position:absolute;top:49%;left:66%;transform:translate(-50%,-50%);box-shadow:0 9px 22px #73312435}.onboarding-stop-demo.opened .onboarding-demo-stop{animation:none;top:29%}.onboarding-arrivals-demo{z-index:3;background:#fffffff5;border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;padding:8px;animation:.22s ease-out onboarding-pop;display:grid;position:absolute;bottom:9px;left:10px;right:10px;box-shadow:0 9px 25px #173e3630}.onboarding-arrivals-demo>strong{color:var(--ink);grid-column:1/-1;font-size:9px}.onboarding-arrivals-demo>div{align-items:center;gap:6px;min-width:0;display:flex}.onboarding-arrivals-demo b{background:var(--brand);color:#fff;border-radius:8px;place-items:center;min-width:30px;height:28px;font-size:11px;display:grid}.onboarding-arrivals-demo span{color:var(--muted);font-size:8px;font-weight:750;line-height:1.2}.onboarding-next:disabled{color:#edf4f3;box-shadow:none;cursor:not-allowed;background:#b9ccca}@keyframes onboarding-hold{0%{transform:scale(.9);box-shadow:0 0 #07877f52}to{transform:scale(1.18);box-shadow:0 0 0 24px #07877f00}}@keyframes onboarding-pop{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:none}}@keyframes onboarding-stop-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.06)}}.onboarding-trip-choice-demo{z-index:2;flex-direction:column;gap:7px;display:flex;position:absolute;bottom:16px;left:15px;right:15px}.onboarding-fake-search{background:#fff;border-radius:15px;grid-template-columns:20px minmax(0,1fr) 36px;align-items:center;height:49px;padding:0 8px 0 13px;display:grid;position:relative;box-shadow:0 10px 24px #174d4928}.onboarding-fake-search>i{font-size:18px;font-style:normal}.onboarding-fake-search>span{text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;font-size:10px;font-weight:800;overflow:hidden}.onboarding-search-placeholder{color:#8aa09d;animation:5s ease-in-out infinite onboarding-placeholder}.onboarding-search-typing{width:0;color:var(--ink);opacity:0;animation:5s steps(14,end) infinite onboarding-typing}.onboarding-fake-search>b{background:var(--soft);width:36px;height:36px;color:var(--brand);border-radius:11px;grid-area:1/3;place-items:center;animation:5s ease-in-out infinite onboarding-map-button;display:grid}.onboarding-address-result{opacity:0;background:#fff;border-radius:15px;grid-template-columns:22px minmax(0,1fr) 26px;align-items:center;gap:7px;min-height:56px;padding:8px 12px;animation:5s ease-in-out infinite onboarding-result;display:grid;position:relative;transform:translateY(-5px);box-shadow:0 10px 24px #174d4928}.onboarding-address-result>svg{color:var(--brand)}.onboarding-address-result>span{flex-direction:column;gap:2px;min-width:0;display:flex}.onboarding-address-result b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.onboarding-address-result small{color:var(--muted);font-size:8px}.onboarding-demo-hand{color:#e85c3d;background:#ffefe9;border-radius:9px;place-items:center;width:26px;height:26px;font-style:normal;animation:5s ease-in-out infinite onboarding-hand-tap;display:grid}.onboarding-hold-ring{color:var(--brand);place-items:center;display:grid}.onboarding-hold-ring svg{animation:1.2s ease-in-out infinite onboarding-finger-hold}.onboarding-point-actions button{position:relative}.onboarding-point-actions .onboarding-action-target{padding-right:27px;animation:1.25s ease-in-out infinite onboarding-action-pulse}.onboarding-action-target i{width:23px;height:23px;color:var(--coral);background:#fff;border-radius:8px;place-items:center;font-style:normal;animation:1.25s ease-in-out infinite onboarding-finger-tap;display:grid;position:absolute;bottom:-6px;right:7px;box-shadow:0 4px 10px #173e3638}.onboarding-demo-stop>i{width:25px;height:25px;color:var(--coral);background:#fff;border-radius:9px;place-items:center;font-style:normal;animation:1.25s ease-in-out infinite onboarding-finger-tap;display:grid;position:absolute;bottom:-9px;right:-10px;box-shadow:0 4px 10px #173e3638}.route-favourite{place-items:center;width:34px;height:34px;color:#8aa09c!important;border-radius:10px!important;padding:0!important;display:grid!important}.route-favourite.active{color:#ee9b19!important}.route-favourite svg{display:block}.route-compact .route-favourite{display:grid!important}@keyframes onboarding-placeholder{0%,12%,88%,to{opacity:1}20%,80%{opacity:0}}@keyframes onboarding-typing{0%,14%,88%,to{opacity:0;width:0}22%{opacity:1}42%,76%{opacity:1;width:100%}84%{opacity:0;width:100%}}@keyframes onboarding-result{0%,38%,88%,to{opacity:0;transform:translateY(-5px)}48%,78%{opacity:1;transform:none}}@keyframes onboarding-map-button{0%,78%,to{box-shadow:none;transform:scale(1)}84%,92%{transform:scale(1.08);box-shadow:0 0 0 6px #087f7a22}}@keyframes onboarding-hand-tap{0%,51%,to{opacity:0;transform:translate(8px,8px)scale(.8)}60%,70%{opacity:1;transform:none}75%{opacity:1;transform:scale(.86)}}@keyframes onboarding-finger-hold{0%,to{transform:translateY(0)}45%{transform:translateY(4px)scale(.9)}}@keyframes onboarding-finger-tap{0%,to{transform:translate(4px,4px)scale(.9)}50%{transform:none}}@keyframes onboarding-action-pulse{0%,to{box-shadow:0 0 #087f7a45}50%{box-shadow:0 0 0 7px #087f7a00}}@media (max-height:670px){.onboarding-visual{height:160px}.onboarding-copy{min-height:132px;padding-top:16px}.onboarding-copy h2{font-size:21px}.onboarding-card>footer{min-height:60px;padding-bottom:10px}}@media (prefers-reduced-motion:reduce){.onboarding-backdrop,.onboarding-card{animation:none}}.trip-time-breakdown{scrollbar-width:none;gap:5px;margin-top:8px;display:flex;overflow-x:auto}.trip-time-breakdown::-webkit-scrollbar{display:none}.trip-time-breakdown small{color:#557074;background:#f3f7f6;border-radius:8px;flex:none;padding:5px 7px;font-size:9px;font-weight:750}.trip-arrival-estimate{color:var(--brand-dark);background:#edf7f5;border-radius:10px;flex-direction:column;gap:2px;margin-top:7px;padding:8px 9px;display:flex}.trip-arrival-estimate strong{font-size:11px}.trip-arrival-estimate small{color:#627a7d;font-size:9px;line-height:1.35}.no-active-buses.offline-state,.no-active-buses.service-state{gap:9px}.no-active-buses.offline-state>span,.no-active-buses.service-state>span{background:var(--soft);width:32px;height:32px;color:var(--brand);border-radius:50%;place-items:center;font-size:18px;font-weight:900;display:grid}.no-active-buses.service-state>button{background:var(--brand);color:#fff;border:0;border-radius:11px;height:34px;padding:0 16px;font-weight:800}.places-menu-content{flex-direction:column;display:flex}.places-menu-content .attraction-filters{scrollbar-width:none;flex:0 0 38px;align-items:flex-start;min-height:38px;padding:2px 0 7px;display:flex;overflow:auto hidden}.places-menu-content .attraction-filters button{flex:none;min-width:max-content;height:29px;line-height:27px;display:block}.places-menu-content .attractions-grid{min-height:0;max-height:none;padding-bottom:calc(12px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;overflow:hidden auto}.map-attribution{z-index:700;right:8px;bottom:calc(72px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)));color:#6f8183;text-align:right;pointer-events:none;background:#ffffffc9;border-radius:5px;max-width:220px;padding:2px 5px;font-size:6px;line-height:1.25;position:absolute}.suburban-direction b{white-space:normal;word-break:normal;line-height:1.3;display:block;overflow:visible}.error-pill{color:#743b2b;text-align:left;white-space:normal;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf7f2;border:1px solid #efcdbf;border-radius:17px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;width:min(320px,100% - 40px);min-height:62px;padding:10px 13px;display:grid;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 36px #173e3630;top:42%!important}.error-pill-icon{color:#8f3d27;background:#f4c3ad;border-radius:11px;place-items:center;width:34px;height:34px;font-size:18px;font-weight:900;display:grid}.error-pill-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.error-pill-copy strong{font-size:12px;line-height:1.3}.error-pill-copy small{color:var(--brand);font-size:10px;font-weight:850}.planning-view .error-pill{top:32%!important}.routes-view .error-pill{display:none}.offline-status-pill{z-index:1180;top:calc(68px + env(safe-area-inset-top));color:#b54432;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff7f5f2;border:1px solid #efb8ad;border-radius:12px;align-items:center;gap:8px;min-height:38px;padding:6px 10px;display:flex;position:absolute;right:12px;box-shadow:0 8px 24px #6b2b2030}.offline-status-pill>span{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.offline-status-pill strong{font-size:10px;line-height:1.15}.offline-status-pill small{color:#7f5b55;font-size:8px;font-weight:800}.offline-status-pill svg{stroke-width:2.4px;flex:none}.routes-view .offline-status-pill{display:none}.offline-stop-board{flex-direction:column;display:flex}.offline-stop-notice{color:#a64331;text-align:left;background:#fff6f3;border:1px solid #efc5bd;border-radius:12px;align-items:center;gap:9px;margin:8px 5px 4px;padding:10px 11px;display:flex}.offline-stop-notice>svg{flex:none}.offline-stop-notice>span{flex-direction:column;gap:3px;min-width:0;display:flex}.offline-stop-notice strong{font-size:11px}.offline-stop-notice small{color:#745f5b;font-size:9px;line-height:1.35}.offline-schedule-list{flex-direction:column;display:flex}.offline-schedule-row{text-align:left;background:0 0;border:0;width:100%}.offline-schedule-times{flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.offline-schedule-times b{min-width:43px;color:var(--brand-dark);text-align:center;background:#edf6f4;border-radius:8px;padding:4px 6px;font-size:11px}.offline-schedule-row .arrival-name span{white-space:normal}.route-timeline-list,.tracked-stop-list{padding:5px 0 8px}.route-timeline-row,.tracked-stop-row{min-height:58px;color:var(--ink);text-align:left;background:0 0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;border:0!important;padding:10px 8px 10px 0!important;display:grid!important;position:relative!important}.route-timeline-row:before,.tracked-stop-row:before{z-index:0;content:""!important;background:#c9e4e1!important;width:2px!important;height:auto!important;position:absolute!important;top:0!important;bottom:0!important;left:16px!important}.route-timeline-row.first-stop:before{top:50%!important}.route-timeline-row.last-stop:before{bottom:50%!important}.route-timeline-row.first-stop.last-stop:before{display:none}.route-timeline-row .stop-dot,.tracked-stop-row .stop-timeline-marker{z-index:1;box-sizing:border-box;aspect-ratio:1;flex:none;justify-self:center;min-width:16px;min-height:16px;display:block;position:relative;box-shadow:0 0 0 3px #fff;background:#fff!important;border:3px solid #b9c8c7!important;border-radius:50%!important;width:16px!important;height:16px!important}.route-timeline-row.first-stop .stop-dot,.route-timeline-row.last-stop .stop-dot{border-color:var(--brand)!important}.route-timeline-row .arrival-name,.tracked-stop-row .arrival-name{gap:3px}.route-timeline-row .arrival-name strong,.tracked-stop-row .arrival-name strong{text-overflow:clip;white-space:normal;font-size:13px;line-height:1.3;overflow:visible}.route-timeline-row .arrival-name span,.tracked-stop-row .arrival-name span{font-size:9px;line-height:1.3}.connecting-route-list{flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:116px;display:flex}.connecting-route-list i{color:#fff;border-radius:7px;place-items:center;min-width:24px;height:22px;padding:0 5px;font-size:9px;font-style:normal;font-weight:900;line-height:1;display:grid;box-shadow:0 1px 4px #173e3624}.tracked-connections{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex!important}.tracked-connections i{color:#fff;border-radius:6px;place-items:center;min-width:23px;height:19px;padding:0 4px;font-size:8px;font-style:normal;font-weight:900;line-height:1;display:grid}.tracked-stop-list{margin:6px -16px -14px}.tracked-stop-row{grid-template-columns:42px minmax(0,1fr) auto;min-height:66px;padding:11px 16px 11px 4px!important}.tracked-stop-row:before{left:24px!important}.tracked-stop-row .stop-timeline-marker{min-width:17px;min-height:17px;width:17px!important;height:17px!important}.tracked-stop-row.next-stop .stop-timeline-marker{border-color:var(--brand)!important}.tracked-stop-row.current-stop{min-height:104px;color:var(--ink);background:#f2f4ff;border-top:1px solid #dfe5ec!important;border-bottom:1px solid #dfe5ec!important;padding-top:16px!important;padding-bottom:16px!important}.tracked-stop-row.current-stop .stop-timeline-marker{box-shadow:0 0 0 2px #ffb8aa;background:var(--coral)!important;border:2px solid #fff!important}.tracked-stop-row.current-stop .arrival-name strong{font-size:18px;line-height:1.18}.tracked-stop-row.current-stop .arrival-name span{color:var(--brand-dark);font-size:11px;font-weight:750}.tracked-stop-row .arrival-time strong{font-size:12px}.tracked-stop-row.current-stop .arrival-time strong{background:var(--brand-dark);color:#fff;text-align:center;white-space:normal;border-radius:7px;place-items:center;min-width:58px;min-height:48px;padding:7px;font-size:12px;line-height:1.15;display:grid}@media (max-width:390px){.tracked-stop-list{margin-left:-14px;margin-right:-14px}.tracked-stop-row{grid-template-columns:38px minmax(0,1fr) auto;padding-right:12px!important}.tracked-stop-row:before{left:22px!important}.tracked-stop-row.current-stop .arrival-name strong{font-size:16px}}.privacy-modal-backdrop{z-index:9200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b2d3285;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.privacy-modal-card{background:#fff;border:1px solid #d3e5e2;border-radius:24px;flex-direction:column;width:min(100%,620px);max-height:min(86dvh,760px);display:flex;overflow:hidden;box-shadow:0 28px 80px #071f255e}.privacy-modal-card>header{border-bottom:1px solid #e7efed;flex:none;justify-content:space-between;align-items:center;gap:14px;padding:16px 17px;display:flex}.privacy-modal-card>header>div{align-items:center;gap:10px;min-width:0;display:flex}.privacy-modal-card>header span{background:var(--soft);width:38px;height:38px;color:var(--brand);border-radius:12px;flex:0 0 38px;place-items:center;font-weight:900;display:grid}.privacy-modal-card h2{margin:0;font-size:17px;line-height:1.2}.privacy-modal-card>header button{width:36px;height:36px;color:var(--muted);background:#f1f5f4;border:0;border-radius:11px;flex:0 0 36px;place-items:center;padding:0;display:grid}.privacy-modal-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:16px 18px 24px;overflow:hidden auto}.privacy-modal-intro{color:#244a4e;background:#edf7f5;border-radius:13px;margin:0 0 15px;padding:13px;font-size:12px;font-weight:700;line-height:1.55}.privacy-modal-content section{border-bottom:1px solid #edf2f1;margin:0;padding:12px 1px}.privacy-modal-content h3{margin:0 0 5px;font-size:13px}.privacy-modal-content section p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.privacy-modal-content>a{color:var(--brand);margin-top:17px;font-size:11px;font-weight:850;text-decoration:none;display:inline-flex}.tracked-stop-eta{color:var(--brand-dark);align-items:center;gap:5px;margin-top:3px;font-size:10px;font-style:normal;font-weight:750;line-height:1.3;display:flex!important}.tracked-stop-eta b{font-size:11px}.tracked-stop-eta small{color:var(--muted);margin-left:2px;font-size:9px;font-weight:700}@media (max-width:560px){.privacy-modal-backdrop{place-items:end center;padding:0}.privacy-modal-card{border-width:1px 0 0;border-radius:24px 24px 0 0;width:100%;max-height:88dvh}.privacy-modal-content{padding-bottom:calc(26px + env(safe-area-inset-bottom))}}.search-box>button{flex:none}.search-box .address-search-submit{background:var(--brand);color:#fff;border-radius:11px;height:34px;padding:0 12px;font-size:11px;font-weight:800}.search-box .address-search-submit:disabled{opacity:.55}.search-address-pin{width:34px;height:34px;color:var(--brand);background:#e8f5f3;border-radius:11px;flex:0 0 34px;place-items:center;font-size:20px;display:grid}.search-suburban-number,.suburban-trip-result>span{color:#fff;background:#7b61ff;border-radius:10px;flex:0 0 38px;place-items:center;min-width:38px;height:34px;padding:0 5px;font-size:12px;font-weight:900;display:grid}.journey-steps .suburban-step{color:#5944c7;background:#f0edff}.app-shell .map-location-control{place-items:center!important;display:grid!important}.app-shell .map-location-control span{display:none!important}.app-shell .map-location-control svg{width:20px;height:20px}.app-shell .map-language-control{z-index:999;right:14px;top:calc(70px + var(--geobus-telegram-controls-top,0px) + max(env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px)));color:#176d69;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #d6e5e2;border-radius:12px;place-items:center;width:auto;min-width:42px;height:38px;padding:0 10px;font-size:11px;font-weight:900;display:grid;position:absolute;box-shadow:0 5px 16px #173e3620}.app-shell .attraction-layer-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#3f6467!important;background:#fffffff0!important;border:1px solid #d6e5e2!important;align-items:center!important;gap:7px!important;min-width:0!important;padding:8px 11px!important;display:flex!important;box-shadow:0 5px 16px #173e361b!important}.app-shell .attraction-layer-toggle.active{color:var(--brand)!important;background:#eef8f6f2!important;border-color:#9ccbc6!important}.app-shell .attraction-layer-toggle b{font-size:11px}.app-shell .places-glyph{color:var(--brand);align-items:center;gap:1px;display:flex!important}.app-shell .map-places-control{z-index:999;top:calc(70px + var(--geobus-telegram-controls-top,0px) + max(env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px)));position:absolute;left:14px}.app-shell .places-trigger-group{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #d6e5e2;border-radius:12px;align-items:stretch;display:flex;overflow:hidden;box-shadow:0 6px 18px #173e3621}.app-shell .map-places-control .attraction-layer-toggle{height:38px!important;box-shadow:none!important;border:0!important;border-radius:0!important;position:static!important}.app-shell .map-places-control .places-glyph{background:0 0!important;width:auto!important;min-width:48px!important;height:22px!important;padding:0 3px!important;display:flex!important}.app-shell .map-places-control .places-glyph i{font-size:14px;font-style:normal;line-height:1}.app-shell .map-places-control .places-glyph i+i{margin-left:-4px}.app-shell .attraction-filter-toggle{width:36px;height:38px;color:var(--brand);background:0 0;border:0;border-left:1px solid #d6e5e2;place-items:center;padding:0;display:grid}.app-shell .map-places-control.expanded .places-trigger-group{background:#eef8f6f4;border-color:#8fc7c0}.app-shell .map-places-control.expanded .attraction-filter-toggle svg{transform:rotate(180deg)}.app-shell .attraction-category-popover{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff8;border:1px solid #dbe7e5;border-radius:15px;gap:4px;width:218px;padding:9px;display:grid;position:absolute;top:46px;left:0;box-shadow:0 15px 38px #173e3632}.app-shell .attraction-category-popover header{justify-content:space-between;align-items:center;padding:3px 5px 6px;display:flex}.app-shell .attraction-category-popover header strong{font-size:11px}.app-shell .attraction-category-popover header button{color:#6d827e;background:#eef3f2;border:0;border-radius:8px;width:25px;height:25px;font-size:16px}.app-shell .attraction-category-popover>button{color:#60767a;text-align:left;background:#f7faf9;border:1px solid #0000;border-radius:11px;grid-template-columns:28px 1fr 28px;align-items:center;min-height:38px;padding:5px 8px;display:grid}.app-shell .attraction-category-popover>button.active{color:var(--brand);background:#eaf5f3;border-color:#b9dbd7;box-shadow:0 2px 7px #173e3610}.app-shell .attraction-category-popover>button span{font-size:15px}.app-shell .attraction-category-popover>button b{font-size:10px}.app-shell .attraction-category-popover>button i{color:#6c8582;background:#fff;border-radius:8px;place-items:center;width:24px;height:24px;font-size:10px;font-style:normal;font-weight:900;display:grid}.app-shell .attraction-category-popover>button.active i{background:var(--brand);color:#fff}.app-shell .map-active-routes{z-index:998;top:calc(116px + var(--geobus-telegram-controls-top,0px) + max(env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px)));scrollbar-width:none;gap:6px;padding:2px 2px 4px;display:flex;position:absolute;left:14px;right:14px;overflow-x:auto}.app-shell .map-active-routes::-webkit-scrollbar{display:none}.app-shell .map-active-route{height:34px;color:var(--brand);isolation:isolate;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #cce1dd;border-radius:12px;flex:none;align-items:center;display:flex;overflow:hidden;box-shadow:0 7px 20px #173e3617}.app-shell .map-active-route>span{color:#fff;flex:0 0 30px;place-items:center;height:100%;display:grid}.app-shell .map-active-route>b{text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:118px;height:100%;padding:0 7px;font-size:10px;line-height:1;display:flex;overflow:hidden}.app-shell .map-active-route .active-route-label-part{align-items:center;height:100%;display:inline-flex}.app-shell .map-active-route .active-route-label-part i{color:#829994;place-items:center;height:100%;margin:0 5px;font-size:16px;font-style:normal;line-height:1;display:inline-grid;transform:translateY(-1px)}.app-shell .map-active-route>button{color:#718783;background:0 0;border:0;border-left:1px solid #dce8e5;flex:0 0 29px;place-items:center;width:29px;height:100%;padding:0;display:grid}.app-shell .map-active-route.trip>b{max-width:190px}.app-shell .pinned-stop-board{z-index:997;top:var(--pinned-stop-y,calc(158px + var(--geobus-telegram-controls-top,0px) + max(env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px))));left:var(--pinned-stop-x,14px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fffffff4;border:1px solid #b9d8d3;border-radius:14px;width:min(258px,100% - 88px);display:flex;position:absolute;overflow:hidden;box-shadow:0 9px 26px #173e362c}.app-shell .pinned-stop-board:active{cursor:grabbing}.app-shell .pinned-stop-open{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;flex-direction:column;flex:1;gap:6px;padding:8px 9px;display:flex}.app-shell .pinned-stop-open>span{min-width:0;color:var(--brand);align-items:center;gap:6px;display:flex}.app-shell .pinned-stop-open>span b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.app-shell .pinned-stop-open>i{grid-template-columns:32px auto 1fr;align-items:center;gap:6px;font-style:normal;display:grid}.app-shell .pinned-stop-open>i strong{color:#fff;border-radius:7px;place-items:center;height:24px;padding:0 5px;font-size:10px;display:grid}.app-shell .pinned-stop-open>i em{color:#405b61;font-size:9px;font-style:normal;font-weight:800}.app-shell .pinned-stop-open>i small,.app-shell .pinned-stop-open>small{color:#6d8387;font-size:8px;font-weight:700}.app-shell .pinned-stop-close{color:#718783;background:#f7faf9;border:0;border-left:1px solid #dbe7e5;flex:0 0 34px;place-items:center;width:34px;padding:0;display:grid}.app-shell .pinned-stop-close:active{background:#edf5f3}.stop-heading-actions{align-items:center;gap:3px!important;display:flex!important}.stop-heading-actions button{color:#718783;background:#f1f6f5;border:0;border-radius:11px;place-items:center;width:36px;height:36px;padding:0;display:grid}.stop-heading-actions button:first-child{color:var(--brand)}.stop-heading-actions button:first-child.active{color:#087f7a;background:#def0ed;box-shadow:inset 0 0 0 1px #9bcfc8}.stop-heading-actions button:active{transform:scale(.94)}.app-shell{--app-bottom-nav-height:calc(70px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)))}.app-shell .bottom-nav{height:var(--app-bottom-nav-height)!important;padding:6px 18px calc(8px + max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px)))!important;box-shadow:none!important;border-top:1px solid #edf2f1!important}.app-shell .bottom-nav button{justify-content:center;gap:3px!important}.app-shell .bottom-nav .nav-icon{border-radius:13px;place-items:center;width:44px;height:32px;transition:background .2s,color .2s,transform .2s;display:grid!important}.app-shell .bottom-nav .nav-icon:before,.app-shell .bottom-nav .nav-icon:after{display:none!important}.app-shell .bottom-nav .nav-icon svg{fill:none!important;stroke:currentColor!important;stroke-width:1.9px!important;opacity:1!important;width:23px!important;height:23px!important;display:block!important}.app-shell .bottom-nav button.active .nav-icon{color:var(--brand);background:#e8f4f2;transform:translateY(-1px)}.app-shell>.arrival-card{right:0!important;bottom:var(--app-bottom-nav-height)!important;border-radius:23px 23px 0 0!important;left:0!important;box-shadow:0 -12px 34px #173f3624!important}.app-shell>.arrival-card .drag-handle{margin-top:1px}.app-shell>.arrival-card.nearby-sheet{right:10px!important;bottom:calc(var(--app-bottom-nav-height) + 9px)!important;border:1px solid #e3ecea!important;border-radius:20px!important;max-height:none!important;padding:11px 14px 12px!important;left:10px!important;box-shadow:0 10px 28px #173f361f!important}.app-shell>.arrival-card.nearby-sheet .drag-handle{display:none!important}.app-shell>.arrival-card.nearby-sheet .empty-map-sheet{padding:0!important;display:block!important}.app-shell>.arrival-card.nearby-sheet .nearby-heading{min-width:0;margin-bottom:9px}.app-shell>.arrival-card.nearby-sheet .nearby-heading>span{border-radius:11px;flex-basis:34px;width:34px;height:34px}.app-shell>.arrival-card.nearby-sheet .nearby-heading strong{font-size:13px!important}.app-shell>.arrival-card.nearby-sheet .nearby-heading small{max-width:none;font-size:9px}.app-shell>.arrival-card.nearby-sheet .nearby-routes{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;overflow:visible;gap:8px!important;display:grid!important}.app-shell>.arrival-card.nearby-sheet .nearby-routes button{background:#eef6f4!important;border:0!important;border-radius:12px!important;grid-template-columns:auto minmax(0,1fr)!important;gap:6px!important;min-width:0!important;height:42px!important;padding:6px 8px!important;display:grid!important}.app-shell>.arrival-card.nearby-sheet .nearby-routes button b{min-width:31px;height:30px;font-size:12px}.app-shell>.arrival-card.nearby-sheet .nearby-routes button span{text-overflow:ellipsis;white-space:nowrap;font-weight:800;line-height:1.1;overflow:hidden;color:#49676b!important;font-size:9px!important}.app-shell>.arrival-card.nearby-sheet .nearby-routes button:active{transform:translateY(1px);background:#e1efec!important}.app-shell .arrival-card{transition:max-height .28s cubic-bezier(.22,.8,.28,1),height .28s cubic-bezier(.22,.8,.28,1),transform .24s cubic-bezier(.22,.8,.28,1)!important}.app-shell .arrival-card.sheet-dragging{transition:none!important}.app-shell .drag-handle{touch-action:none;width:46px!important;height:5px!important;margin-bottom:10px!important}.app-shell .trip-heading-actions button{width:38px!important;height:38px!important;color:var(--brand)!important;background:#f1f6f5!important;border-radius:12px!important;place-items:center!important;display:grid!important}.app-shell .trip-heading-actions button svg{display:block}.app-shell.planning-view>.map{display:block!important}.app-shell.planning-view>.route-panel{display:none!important}.app-shell.planning-view>.arrival-card.trip-planner-open{top:auto!important;right:0!important;bottom:var(--app-bottom-nav-height)!important;border-radius:24px 24px 0 0!important;width:auto!important;height:min(82dvh,760px)!important;max-height:min(82dvh,760px)!important;left:0!important;box-shadow:0 -14px 42px #143b3430!important}.app-shell.planning-view>.arrival-card.trip-planner-open .trip-results{max-height:calc(min(82dvh,760px) - 260px)!important}.app-shell.planning-view>.arrival-card.trip-form-compact .trip-results{max-height:calc(min(82dvh,760px) - 180px)!important}.app-shell.planning-view .leaflet-control-zoom{margin-bottom:calc(82dvh + 20px)!important}.app-shell .point-trip-form.compact{padding-top:4px!important}.app-shell .point-trip-form.compact .origin-field,.app-shell .point-trip-form.compact .swap-stops{display:none!important}.app-shell .point-trip-form.compact .destination-field{width:100%!important}.app-shell .point-trip-form.compact .trip-address-panel-to{top:58px!important}.app-shell .journey-preview-button{width:100%;text-align:inherit;cursor:pointer;background:0 0;border:0;border-radius:13px;padding:0;display:block}.app-shell .journey-preview-button:focus-visible{outline-offset:2px;outline:3px solid #087f7938}.app-shell .journey-preview-button .journey-preview-map{pointer-events:none}.app-shell .journey-steps span{align-items:center;gap:4px;display:inline-flex}.app-shell .journey-steps span svg{color:currentColor;stroke-width:2.2px;flex:none}.app-shell .live-user-location{z-index:1000!important;background:0 0!important;border:0!important;width:36px!important;height:36px!important;margin:0!important}.app-shell .live-user-location span,.app-shell .live-user-location i{border-radius:50%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app-shell .live-user-location span{background:#2878ff35;width:26px;height:26px;animation:1.9s ease-out infinite user-location-pulse}.app-shell .live-user-location i{background:#2878ff;border:4px solid #fff;width:14px;height:14px;box-shadow:0 3px 12px #173e3655}.app-shell .leaflet-userLocationPane-pane{z-index:950!important}@keyframes user-location-pulse{0%{opacity:.9;transform:translate(-50%,-50%)scale(.65)}75%,to{opacity:0;transform:translate(-50%,-50%)scale(1.65)}}.app-shell .empty-map-sheet{align-items:center;gap:12px;padding:4px 0 0!important;display:flex!important}.app-shell .nearby-heading{align-items:center;gap:9px;min-width:120px;display:flex}.app-shell .nearby-heading>span{width:38px;height:38px;color:var(--brand);background:#e9f5f3;border-radius:12px;flex:0 0 38px;place-items:center;display:grid}.app-shell .nearby-heading>div{flex-direction:column;gap:2px;display:flex}.app-shell .nearby-heading strong{white-space:nowrap;font-size:13px!important}.app-shell .nearby-heading small{max-width:135px;color:var(--muted);font-size:8px;line-height:1.25}.app-shell .nearby-routes{flex:1;min-width:0;overflow-x:auto;gap:7px!important;display:flex!important}.app-shell .nearby-routes button{min-width:66px!important;box-shadow:none!important;background:#fff!important;border:1px solid #d8e7e4!important;border-radius:12px!important;flex:none!important;align-items:center!important;padding:6px 8px!important;display:flex!important}.app-shell .nearby-routes button b{background:var(--brand);color:#fff;border-radius:9px;place-items:center;min-width:30px;height:28px;padding:0 5px;font-size:12px;display:grid}.app-shell .nearby-routes button span{color:#60777c!important;font-size:8px!important}.app-shell .nearby-routes button small{display:none!important}.app-shell .trip-address-result svg,.app-shell .field-actions svg,.app-shell .search-map-pick svg{display:block}.app-shell .field-location-button,.app-shell .field-map-button{place-items:center!important;display:grid!important}.app-shell .stop-arrival-list .arrival-row{padding-left:0!important}.app-shell .stop-arrival-list .arrival-row:before{content:none!important;display:none!important}.app-shell .stop-arrival-list .multi-route{gap:11px}.app-shell .stop-arrival-list .mini-route-badge{border-radius:12px;flex:none;min-width:42px;height:42px;font-size:14px}.app-shell .stop-arrival-list .no-active-buses{text-align:center;color:#6f8589;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px 24px;display:flex}.app-shell .stop-arrival-list .no-active-buses svg{color:#0b8982}.app-shell .stop-arrival-list .no-active-buses strong{max-width:330px;font-size:14px;font-weight:700;line-height:1.45}.app-shell .leaflet-control-zoom{background:#fff!important;border:1px solid #dce7e5!important;border-radius:12px!important;overflow:hidden!important;box-shadow:0 5px 18px #193c3530!important}.app-shell .leaflet-control-zoom a{width:36px!important;height:36px!important;color:var(--brand)!important;background:#fff!important;border:0!important;place-items:center!important;padding:0!important;font-size:22px!important;line-height:1!important;display:grid!important}.app-shell .leaflet-control-zoom a+a{border-top:1px solid #dce7e5!important}.app-shell .leaflet-control-zoom a:hover,.app-shell .leaflet-control-zoom a:active{background:#e8f4f2!important}.app-shell .map-location-control{width:36px!important;height:36px!important;color:var(--brand)!important;background:#fff!important;border-radius:12px!important}.app-shell .tracked-stop-list .tracked-stop-row:before{display:block!important}.app-shell .tracked-stop-row{border-radius:0;margin:0}.app-shell .tracked-stop-row.next-stop{background:#f8fbfa}.app-shell .tracked-stop-row.current-stop{box-shadow:none;background:#f2f4ff}.app-shell .tracked-stop-row.current-stop .arrival-name strong{color:var(--ink)}.app-shell .tracked-stop-row.next-stop .arrival-name strong{font-weight:900}.app-shell .route-stops-summary{color:var(--brand);background:#f2f8f7;border:1px solid #dce9e7;border-radius:15px;align-items:center;gap:11px;margin:10px 0 2px;padding:12px 13px;display:flex}.app-shell .route-stops-summary>svg{flex:none}.app-shell .route-stops-summary>div{flex-direction:column;gap:2px;min-width:0;display:flex}.app-shell .route-stops-summary strong{font-size:12px}.app-shell .route-stops-summary span{color:#6d8285;font-size:9px;line-height:1.25}.app-shell .route-stop-list{max-height:min(52dvh,440px);overflow-y:auto}.app-shell .route-stop-list .arrival-row{min-height:58px}.app-shell .route-stop-list .arrival-row:before{display:block!important}.app-shell .route-stop-list .stop-dot{border-color:#b9c8c7!important}.app-shell .route-stop-list .first-stop .stop-dot,.app-shell .route-stop-list .last-stop .stop-dot{border-color:var(--brand)!important}.app-shell>.arrival-card.route-compact{overflow:hidden;max-height:178px!important;padding-bottom:12px!important}.app-shell>.arrival-card.route-compact .route-stops-summary{text-align:left;cursor:pointer;width:100%;min-height:56px;margin-top:8px}.app-shell>.arrival-card.route-compact .route-stops-summary:active{background:#e5f2ef;transform:translateY(1px)}.app-shell .live-route-status:before{content:"";background:#20b86a;border-radius:50%;width:6px;height:6px;margin-right:5px;animation:1.8s infinite live-data-pulse;display:inline-block;box-shadow:0 0 #20b86a66}.app-shell .live-data-dot{animation:1.8s infinite live-data-fade;color:#20a968!important}@keyframes live-data-pulse{0%{box-shadow:0 0 #20b86a66}70%{box-shadow:0 0 0 6px #20b86a00}to{box-shadow:0 0 #20b86a00}}@keyframes live-data-fade{0%,to{opacity:1}50%{opacity:.52}}@media (max-width:390px){.app-shell>.arrival-card.nearby-sheet{padding-left:10px!important;padding-right:10px!important}.app-shell>.arrival-card.nearby-sheet .nearby-routes{gap:5px!important}.app-shell>.arrival-card.nearby-sheet .nearby-routes button{padding-left:5px!important;padding-right:5px!important}}@media (max-height:690px){.app-shell.planning-view>.arrival-card.trip-planner-open{height:78dvh!important;max-height:78dvh!important}.app-shell.planning-view>.arrival-card.trip-planner-open .trip-results{max-height:calc(78dvh - 250px)!important}.app-shell.planning-view>.arrival-card.trip-form-compact .trip-results{max-height:calc(78dvh - 175px)!important}.app-shell.planning-view .leaflet-control-zoom{margin-bottom:calc(78dvh + 20px)!important}}.app-shell .direction-destinations i{background:var(--brand)!important;border-radius:999px!important;width:13px!important;height:3px!important}.app-shell .direction-destinations i.inbound{opacity:.45}.app-shell{--map-edge-gutter:14px}.app-shell .map-language-control{right:var(--map-edge-gutter)!important}.app-shell .map-places-control{left:var(--map-edge-gutter)!important}.app-shell .map-location-control{right:var(--map-edge-gutter)!important;bottom:calc(50dvh + 22px)!important}.app-shell .leaflet-control-zoom{margin-right:var(--map-edge-gutter)!important;margin-bottom:calc(50dvh - 58px)!important}.app-shell>.arrival-card.nearby-sheet{right:var(--map-edge-gutter)!important;left:var(--map-edge-gutter)!important}.app-shell>.arrival-card.trip-collapsed.trip-active{max-height:238px!important}.boarding-session{color:#173b3d;background:#eef8f6;border:1px solid #b9dcd7;border-radius:14px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:9px;margin:9px 0 2px;padding:11px;display:grid}.boarding-session>div{align-items:center;gap:9px;min-width:0;display:flex}.boarding-session>div:first-child>svg{color:var(--brand);flex:none}.boarding-session>div:first-child>span{flex:1;min-width:0}.boarding-session span{flex-direction:column;gap:2px;min-width:0;display:flex}.boarding-session strong,.boarding-session small{overflow-wrap:normal;word-break:normal}.boarding-session strong{font-size:11px;line-height:1.25}.boarding-session small{color:#657d80;font-size:9px;line-height:1.25}.boarding-session>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;display:grid}.boarding-session button{background:var(--brand);color:#fff;border:0;border-radius:10px;width:100%;max-width:none;min-height:34px;padding:7px 9px;font-size:9px;font-weight:850}.boarding-session button.missed{color:#526b70;background:#fff;box-shadow:inset 0 0 0 1px #cbdedb}.boarding-session.urgent,.boarding-session.passed{background:#fff5f1;border-color:#f0b4a6}.boarding-session.urgent>div:first-child>svg,.boarding-session.passed>div:first-child>svg{color:#d7593d}.boarding-session.onboard{background:#ebf9f1;border-color:#8cccb5}.boarding-session.onboard>div:last-child{grid-template-columns:1fr}.boarding-session.compact{margin:8px 0 0}.boarding-session button:disabled{color:#6c807f;cursor:default;background:#dce9e7}.journey-bus-map-marker.target-bus-marker .bus-sprite-stage:after{opacity:.8;border-width:3px;border-color:currentColor;width:38px;height:38px;animation:1.15s ease-out infinite target-bus-pulse;top:3px;left:19px}.journey-bus-map-marker.target-bus-marker .bus-sprite{filter:drop-shadow(0 4px 7px #173e3666)}.target-bus-connector{animation:.75s linear infinite target-route-dash}@keyframes target-bus-pulse{0%{opacity:.88;transform:scale(.62)}80%,to{opacity:0;transform:scale(1.28)}}@keyframes target-route-dash{to{stroke-dashoffset:-12px}}.app-shell .journey-bus-map-marker{width:72px!important;height:64px!important}.app-shell .bus-sprite-stage{width:72px!important;height:52px!important}.app-shell .bus-sprite{box-sizing:border-box;background:linear-gradient(180deg,var(--bus-color) 0 7px,#f8fbfa 7px 37px,var(--bus-color) 37px 100%)!important;width:26px!important;height:44px!important;box-shadow:0 3px 10px #173e3655,0 0 0 2px var(--bus-color)!important;border:2px solid #fff!important;border-radius:8px!important;top:2px!important;left:23px!important}.app-shell .bus-sprite:before,.app-shell .bus-sprite:after{z-index:1!important;background:#26393e!important;border:0!important;border-radius:1px!important;width:2px!important;height:5px!important;top:12px!important;box-shadow:0 16px #26393e!important}.app-shell .bus-sprite:before{left:0!important}.app-shell .bus-sprite:after{right:0!important}.app-shell .bus-sprite .bus-windshield{z-index:2;position:relative;background:linear-gradient(135deg,#53696e,#1e3035 68%)!important;border:0!important;border-radius:4px 4px 2px 2px!important;width:18px!important;height:7px!important;margin-top:3px!important;box-shadow:inset 0 1px #ffffff38!important}.app-shell .bus-sprite .bus-rear-window{z-index:2;position:relative;background:#43585d!important;border:0!important;border-radius:2px!important;width:12px!important;height:4px!important;margin-bottom:3px!important}.app-shell .bus-sprite b{z-index:3!important;background:var(--bus-color)!important;color:#fff!important;width:16px!important;height:12px!important;text-shadow:none!important;border-radius:4px!important;font-size:10px!important;font-weight:950!important;line-height:1!important;top:16px!important;left:3px!important}.app-shell .journey-bus-map-marker.live-bus-marker .bus-sprite-stage:after{border-color:currentColor!important;width:38px!important;height:38px!important;top:7px!important;left:17px!important}.app-shell .journey-bus-map-marker.target-bus-marker .bus-sprite-stage:after{width:44px!important;height:44px!important;top:4px!important;left:14px!important}.app-shell .journey-bus-map-marker>span{max-width:72px!important;font-size:7px!important;top:50px!important}.app-shell.tracked-bus-view>.topbar,.app-shell.tracked-bus-view>.route-panel{display:none!important}.app-shell.tracked-bus-view>.map{inset:0 0 70dvh!important}.app-shell.tracked-bus-view>.arrival-card{flex-direction:column;top:30dvh!important;right:0!important;bottom:var(--app-bottom-nav-height)!important;border-radius:24px 24px 0 0!important;width:auto!important;height:auto!important;max-height:none!important;padding:7px 16px 0!important;display:flex!important;left:0!important;transform:none!important;box-shadow:0 -10px 30px #173e3629!important}.app-shell.tracked-bus-view>.arrival-card .stop-sheet-heading{flex:none}.app-shell.tracked-bus-view>.arrival-card .tracked-stop-list{scroll-snap-type:y proximity;overscroll-behavior:contain;flex:auto;min-height:0;margin-left:-16px;margin-right:-16px;padding-bottom:20px;padding-left:0;padding-right:0;overflow-y:auto;max-height:none!important}.app-shell.tracked-bus-view .tracked-stop-row{scroll-snap-align:center;transition:background .18s,box-shadow .18s}.app-shell.tracked-bus-view .tracked-stop-row.browsed-stop:not(.current-stop){box-shadow:inset 3px 0 0 var(--brand);background:#e9f5f3!important}.app-shell.tracked-bus-view .leaflet-control-zoom{margin-right:var(--map-edge-gutter)!important;margin-bottom:16px!important}.app-shell.tracked-bus-view .map-location-control{right:var(--map-edge-gutter)!important;bottom:98px!important}.app-shell.tracked-bus-view .map-language-control{display:none!important}.app-shell.map-panel-open:not(.planning-view):not(.tracked-bus-view) .map-location-control{bottom:min(calc(var(--app-bottom-nav-height) + 72dvh + 14px),calc(100dvh - 150px))!important}.app-shell.map-panel-open:not(.planning-view):not(.tracked-bus-view) .leaflet-control-zoom{margin-bottom:min(calc(var(--app-bottom-nav-height) + 72dvh - 66px),calc(100dvh - 230px))!important}.app-shell .map-active-route{width:fit-content;max-width:100%;height:40px}.app-shell .map-active-route>.active-route-focus{text-align:left;flex-direction:column;flex:86px;justify-content:center;align-items:flex-start;gap:2px;width:auto;min-width:0;max-width:min(220px,100vw - 112px);height:100%;padding:4px 8px;display:flex;color:var(--brand)!important;background:0 0!important;border:0!important}.app-shell .map-active-route>.active-route-focus b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;line-height:1;display:flex;overflow:hidden}.app-shell .map-active-route>.active-route-focus small{color:#6e8580;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8px;font-weight:750;line-height:1;display:block;overflow:hidden}.app-shell .map-active-route>.active-route-close{z-index:2;color:#df3028;background:#fff0ee;border:0;border-left:1px solid #dce8e5;place-items:center;min-width:34px;height:100%;position:relative;overflow:visible;flex:0 0 34px!important;width:34px!important;padding:0!important;display:grid!important}.app-shell .map-active-route>.active-route-close svg{flex:none;display:block;overflow:visible}.app-shell .map-active-route.trip{border-width:2px;box-shadow:0 8px 22px #087f7928}.app-shell .map-active-route.trip>.active-route-focus{width:auto;max-width:min(240px,100vw - 112px)}.app-shell.tracked-bus-view .map-places-control,.app-shell.tracked-bus-view .map-active-routes,.app-shell.tracked-bus-view .map-attribution{display:none!important}.native-map-shell{--native-motion:cubic-bezier(.2,.82,.28,1)}.native-map-shell.planning-view>.arrival-card.trip-planner-open,.native-map-shell.map-panel-open>.arrival-card.expanded,.native-map-shell.tracked-bus-view>.arrival-card{animation:native-sheet-enter .34s var(--native-motion) both}.native-map-shell .route-menu-backdrop{animation:.2s ease-out both native-backdrop-enter}.native-map-shell .route-menu{animation:native-sheet-enter .32s var(--native-motion) both}.native-map-shell .trip-address-panel,.native-map-shell .search-results{animation:native-drop-enter .24s var(--native-motion) both;transform-origin:top}.native-map-shell .map-choice-card,.native-map-shell .attraction-category-popover{animation:native-pop-enter .24s var(--native-motion) both}.native-map-shell .map-active-route{animation:native-chip-enter .24s var(--native-motion) both}.native-map-shell .journey-plan{animation:native-card-enter .28s var(--native-motion) both}.native-map-shell .journey-plan:nth-child(2){animation-delay:35ms}.native-map-shell .journey-plan:nth-child(3){animation-delay:70ms}.native-map-shell .journey-plan:nth-child(4){animation-delay:.105s}.native-map-shell .bottom-nav button:active .nav-icon,.native-map-shell .field-actions button:active,.native-map-shell .trip-heading-actions button:active,.native-map-shell .map-choice-card button:active,.native-map-shell .follow-plan:active{transform:scale(.92)!important}.native-map-shell .bottom-nav button.active .nav-icon svg{animation:native-nav-select .24s var(--native-motion)}.native-map-shell .attraction-filter-toggle svg{transition:transform .24s var(--native-motion)}@keyframes native-sheet-enter{0%{opacity:.25;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}@keyframes native-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes native-drop-enter{0%{opacity:0;transform:translateY(-9px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes native-pop-enter{0%{opacity:0;transform:translateY(7px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes native-chip-enter{0%{opacity:0;transform:translate(-10px)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes native-card-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes native-nav-select{0%{transform:scale(.82)}70%{transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.native-map-shell *{scroll-behavior:auto!important}.native-map-shell .arrival-card,.native-map-shell .route-menu-backdrop,.native-map-shell .route-menu,.native-map-shell .trip-address-panel,.native-map-shell .search-results,.native-map-shell .map-choice-card,.native-map-shell .attraction-category-popover,.native-map-shell .map-active-route,.native-map-shell .journey-plan,.native-map-shell .bottom-nav button.active .nav-icon svg{transition-duration:.01ms!important;animation:none!important}}.app-shell.pinned-stop-collapsed .pinned-stop-board{display:none!important}.app-shell .pinned-stop-board{padding-right:0}.app-shell .pinned-stop-open{cursor:inherit}.app-shell .pinned-stop-open>span{padding-right:58px}.app-shell .pinned-stop-close{display:none!important}.app-shell .pinned-stop-restore-control{z-index:1000;right:var(--map-edge-gutter);color:#61777a;width:36px;height:36px;box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f9f9f2;border:1px solid #d7e5e2;border-radius:12px;place-items:center;padding:0;display:grid;position:absolute;bottom:calc(50dvh - 184px)}.app-shell .stop-pin-button.active{color:#42575a!important;background:#dfe6e5!important;box-shadow:inset 0 0 0 1px #c3cecc!important}.app-shell .stop-arrival-list{scrollbar-width:thin;overflow-y:auto;max-height:224px!important}.app-shell .stop-arrival-list:has(.arrival-row:nth-of-type(4)){padding-bottom:24px;-webkit-mask-image:linear-gradient(#000 0 calc(100% - 30px),#0008 calc(100% - 12px),#0000 100%);mask-image:linear-gradient(#000 0 calc(100% - 30px),#0008 calc(100% - 12px),#0000 100%)}.app-shell .pinned-stop-toolbar{z-index:2;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;touch-action:manipulation;background:#f3f6f5e8;border:1px solid #dce4e3;border-radius:10px;gap:2px;padding:2px;display:flex;position:absolute;top:5px;right:5px}.app-shell .pinned-stop-toolbar button{color:#697c7f;width:24px;height:24px;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid;position:static}.app-shell .pinned-stop-toolbar button:active{background:#e3e9e8}.app-shell .pinned-stop-pip-control{color:var(--brand)!important}.app-shell .pinned-stop-unpin-control{color:#526b6e!important}.app-shell .pinned-stop-unpin-control svg{fill:#dfe6e5}.app-shell .trip-pip-control{color:var(--brand)!important}@media (min-width:1200px){.app-shell.browser-map-shell .pinned-stop-restore-control{inset:78px auto auto 466px;box-shadow:0 5px 18px #193c3530}}.app-shell .suburban-sheet-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid!important}.app-shell .suburban-sheet-heading>div:first-child{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid!important}.app-shell .suburban-sheet-heading>div:first-child>div{min-width:0}.app-shell .suburban-sheet-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.25;display:block;overflow:hidden}.app-shell .suburban-sheet-heading small{font-size:9px;line-height:1.3}.app-shell .suburban-sheet-heading .heading-actions{align-items:center;gap:4px!important;display:flex!important}.app-shell .suburban-sheet-heading .heading-actions button{color:#667c7f;background:#f1f6f5;border:0;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;padding:0!important;font-size:0!important;display:grid!important}.app-shell .suburban-sheet-heading .heading-actions button:active{transform:scale(.94)}.app-shell .suburban-sheet-heading .heading-actions .suburban-stops-toggle{color:var(--brand)}.app-shell .suburban-direction-switch{scrollbar-width:none;gap:7px;margin-top:8px;padding:0 0 2px!important;display:flex!important;overflow-x:auto!important}.app-shell .suburban-direction-switch::-webkit-scrollbar{display:none}.app-shell .suburban-direction-switch button{text-align:left;text-overflow:ellipsis;white-space:normal;border-radius:11px;flex:0 0 min(218px,78%);justify-content:flex-start;align-items:center;min-height:38px;padding:7px 10px;font-size:9px;line-height:1.25;display:flex;overflow:hidden;min-width:0!important}.app-shell .suburban-direction-switch button.active{box-shadow:inset 0 0 0 1px var(--brand)}.app-shell .suburban-live-warning{z-index:0;border:1px solid #f0dfb8;flex:none;position:relative;border-radius:13px!important;margin:9px 0 0!important;padding:10px 12px!important}.app-shell .suburban-live-warning b{font-size:11px;line-height:1.25}.app-shell .suburban-live-warning span{font-size:9px;line-height:1.45}@media (max-width:699px){.app-shell .suburban-sheet-heading strong{white-space:normal;font-size:13px}.app-shell .suburban-live-warning{margin-top:8px!important}}.app-shell>.arrival-card.tracked-hidden{display:none!important}.app-shell .map-active-route.tracked{border-width:2px;box-shadow:0 8px 22px #087f7928}.app-shell .map-active-route.tracked>.active-route-focus{max-width:230px}.native-map-shell>.crowding-panel{z-index:2100;right:12px;bottom:calc(var(--app-bottom-nav-height) + 10px);animation:native-sheet-enter .28s var(--native-motion) both;margin:0;position:absolute;left:12px;box-shadow:0 12px 34px #173e3645}.browser-map-shell>.crowding-panel{z-index:2100;width:min(390px,100% - 36px);margin:0;position:absolute;bottom:18px;right:18px;box-shadow:0 12px 34px #173e3635}.native-map-shell.stop-board-view>.route-panel,.native-map-shell.stop-board-view .map-places-control,.native-map-shell.stop-board-view .map-language-control{display:none!important}.native-map-shell.stop-board-view>.arrival-card,.browser-map-shell.stop-board-view>.arrival-card{flex-direction:column;max-height:calc(50dvh - var(--app-bottom-nav-height))!important;display:flex!important;overflow:hidden!important}.native-map-shell.stop-board-view>.arrival-card .stop-arrival-list,.browser-map-shell.stop-board-view>.arrival-card .stop-arrival-list{overscroll-behavior:contain;flex:auto;min-height:0;max-height:none!important;overflow-y:auto!important}.native-map-shell.stop-board-view .map-location-control{bottom:calc(50dvh + 12px)!important}.native-map-shell.stop-board-view .leaflet-control-zoom{margin-bottom:calc(50dvh + 12px)!important}@media (max-width:999px){.browser-map-shell.stop-board-view>.route-panel,.browser-map-shell.stop-board-view .map-places-control,.browser-map-shell.stop-board-view .map-language-control{display:none!important}.browser-map-shell.stop-board-view .map-location-control{bottom:calc(50dvh + 12px)!important}.browser-map-shell.stop-board-view .leaflet-control-zoom{margin-bottom:calc(50dvh + 12px)!important}}.app-shell.native-map-shell .nearby-toggle{width:32px;height:32px;color:var(--brand);background:#edf6f4;border:0;border-radius:10px;flex:0 0 32px;place-items:center;margin-left:auto;padding:0;display:grid}.app-shell.native-map-shell .nearby-toggle svg{transition:transform .2s}.app-shell .map-help-control{display:none}.app-shell.native-map-shell .map-help-control{z-index:999;right:var(--map-edge-gutter);width:36px;height:36px;color:var(--brand);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #dce7e5;border-radius:12px;place-items:center;padding:0;display:grid;position:absolute;bottom:calc(50dvh - 100px);box-shadow:0 5px 18px #193c3530}.app-shell.native-map-shell>.arrival-card.nearby-collapsed{right:var(--map-edge-gutter)!important;width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:12px!important;padding:0!important;bottom:calc(50dvh - 142px)!important;left:auto!important;overflow:visible!important}.app-shell.native-map-shell>.arrival-card.nearby-collapsed>.drag-handle{display:none!important}.app-shell.native-map-shell>.arrival-card.nearby-collapsed .nearby-restore{width:36px;height:36px;color:var(--brand);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #dce7e5;border-radius:12px;place-items:center;padding:0;display:grid;box-shadow:0 5px 18px #193c3530}.app-shell.native-map-shell>.arrival-card.nearby-collapsed .nearby-restore:active,.app-shell.native-map-shell .map-help-control:active{transform:scale(.92)}@media (max-width:699px){.app-shell>.arrival-card.nearby-collapsed{right:var(--map-edge-gutter)!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:12px!important;padding:0!important;position:absolute!important;bottom:calc(50dvh - 142px)!important;left:auto!important;overflow:visible!important;transform:none!important}.app-shell>.arrival-card.nearby-collapsed>.drag-handle{display:none!important}.app-shell>.arrival-card.nearby-collapsed .nearby-restore{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;width:36px!important;height:36px!important;color:var(--brand)!important;background:#fffffff2!important;border:1px solid #dce7e5!important;border-radius:12px!important;padding:0!important;display:grid!important;box-shadow:0 5px 18px #193c3530!important}.app-shell>.arrival-card.nearby-collapsed .nearby-restore:active{transform:scale(.92)}}.leaflet-host{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.location-help-backdrop{z-index:3200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#102a326b;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.location-help-card{text-align:center;background:#fff;border:1px solid #dce8e5;border-radius:22px;flex-direction:column;align-items:center;width:min(100%,360px);padding:24px 20px 18px;display:flex;position:relative;box-shadow:0 22px 60px #102a3245}.location-help-close{color:#6d817e;background:#f1f5f4;border:0;border-radius:11px;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:10px;right:10px}.location-help-icon{width:54px;height:54px;color:var(--brand);background:#e8f5f2;border-radius:17px;place-items:center;margin-bottom:12px;display:grid}.location-help-card strong{color:var(--ink);padding:0 24px;font-size:17px;line-height:1.2}.location-help-card p{color:#687d81;margin:10px 0 16px;font-size:11px;line-height:1.55}.location-help-retry,.location-help-map{border-radius:13px;width:100%;height:44px;font-size:11px;font-weight:850}.location-help-retry{background:var(--brand);color:#fff;border:0}.location-help-map{color:var(--brand);background:#fff;border:1px solid #d5e5e2;margin-top:7px}@media (min-width:700px){.app-shell.browser-map-shell{width:100vw!important;max-width:none!important;height:100dvh!important;box-shadow:none!important;border-radius:0!important;margin:0!important}.app-shell.browser-map-shell>.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border-radius:0 0 22px;width:460px;box-shadow:0 10px 32px #173e3619;right:auto!important}.app-shell.browser-map-shell>.route-panel{width:460px;right:auto!important}.app-shell.browser-map-shell>.arrival-card{width:min(440px,100vw - 36px)!important;left:auto!important;right:18px!important}.app-shell.browser-map-shell>.bottom-nav{border:1px solid #dce8e5;border-radius:22px;width:430px;transform:none;box-shadow:0 12px 36px #173e3630;height:68px!important;padding-bottom:10px!important;bottom:18px!important;left:18px!important;right:auto!important}.app-shell.browser-map-shell.tracked-bus-view>.map{bottom:0!important;right:0!important}.app-shell.browser-map-shell.tracked-bus-view>.arrival-card{border-radius:24px!important;height:auto!important;inset:18px 18px 18px auto!important}.app-shell.browser-map-shell.routes-view>.route-menu{border-radius:24px!important;height:auto!important;max-height:none!important;inset:18px 18px 18px auto!important}}.offscreen-bus-pointer{z-index:1200;background:var(--pointer-color,#087f7a);color:#fff;opacity:0;pointer-events:none;cursor:pointer;border:2px solid #fff;border-radius:16px;align-items:center;gap:4px;min-width:42px;height:30px;padding:0 5px 0 8px;transition:opacity .16s,transform .16s;display:flex;position:absolute;transform:translate(-50%,-50%)scale(.84);box-shadow:0 3px 12px #102f2b55}.offscreen-bus-pointer.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.offscreen-bus-pointer i{width:20px;height:20px;transform:rotate(calc(var(--pointer-angle,0deg) - 90deg));transform-origin:50%;place-items:center;font-style:normal;line-height:1;display:grid}.offscreen-bus-pointer i svg{fill:none;stroke:currentColor;stroke-width:2.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;overflow:visible}.offscreen-bus-pointer b{white-space:nowrap;font-size:13px;line-height:1}.desktop-map-brand,.desktop-only-nav{display:none}@media (min-width:1000px){.app-shell.browser-map-shell{background:#f7faf9!important}.app-shell.browser-map-shell:before{z-index:900;content:"";background:#fff;border-right:1px solid #dfe9e7;width:448px;position:absolute;inset:0 auto 0 0}.desktop-map-brand{z-index:1250;align-items:center;gap:10px;width:410px;height:46px;display:flex;position:absolute;top:18px;left:18px}.desktop-map-brand>span{background:var(--brand);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:900;display:grid;box-shadow:0 6px 18px #087f7a2c}.desktop-map-brand>div{flex-direction:column;gap:3px;min-width:0;display:flex}.desktop-map-brand strong{font-size:15px}.desktop-map-brand small{color:#74898d;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.app-shell.browser-map-shell>.route-panel{visibility:visible!important;width:278px!important;padding:0!important;top:78px!important;left:154px!important;right:auto!important}.app-shell.browser-map-shell .search-box{height:46px;box-shadow:none;border-radius:12px;padding:0 10px 0 13px}.app-shell.browser-map-shell .search-box input{font-size:11px}.app-shell.browser-map-shell .address-search-submit{border-radius:9px;min-width:64px;height:34px}.app-shell.browser-map-shell .search-results{border-radius:12px;max-height:calc(100dvh - 145px);box-shadow:0 12px 34px #173e3626}.app-shell.browser-map-shell>.map{border:1px solid #d7e4e1;border-radius:18px;transition:right .24s;overflow:hidden;box-shadow:0 14px 42px #173e3618;inset:16px 16px 16px 448px!important}.app-shell.browser-map-shell.routes-view>.map{right:374px!important}.app-shell.browser-map-shell>.bottom-nav{flex-direction:column;gap:5px;width:124px!important;height:auto!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;display:flex!important;inset:78px auto auto 16px!important}.app-shell.browser-map-shell>.bottom-nav button{color:#60777b;text-align:left;border-radius:11px;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%;height:46px;padding:0 12px;font-size:10px;flex:0 0 46px!important;display:flex!important}.app-shell.browser-map-shell>.bottom-nav button:hover{background:#f2f7f6}.app-shell.browser-map-shell>.bottom-nav button.active{color:var(--brand);background:#e6f3f1}.app-shell.browser-map-shell>.bottom-nav .nav-icon{place-items:center;width:24px;display:grid}.app-shell.browser-map-shell>.bottom-nav .desktop-only-nav{display:flex!important}.app-shell.browser-map-shell>.arrival-card{overflow:hidden;border-radius:16px!important;width:278px!important;max-height:none!important;padding:10px 12px 12px!important;inset:138px auto 18px 154px!important;transform:none!important;box-shadow:0 8px 26px #173e3618!important}.app-shell.browser-map-shell>.arrival-card .drag-handle{display:none}.app-shell.browser-map-shell>.arrival-card .arrival-list{max-height:calc(100dvh - 245px)}.app-shell.browser-map-shell>.arrival-card.nearby-sheet{width:278px!important;inset:auto auto 18px 154px!important}.app-shell.browser-map-shell .map-places-control{top:18px!important;left:18px!important}.app-shell.browser-map-shell .map-active-routes{max-width:calc(100% - 36px);top:66px!important;left:18px!important;right:auto!important}.app-shell.browser-map-shell .pinned-stop-board{width:252px;top:var(--pinned-stop-y,108px)!important;left:var(--pinned-stop-x,18px)!important}.app-shell.browser-map-shell .route-menu-backdrop{z-index:2000!important;background:0 0!important;align-items:stretch!important;width:342px!important;position:absolute!important;inset:16px 16px 16px auto!important}.app-shell.browser-map-shell .route-menu{border:1px solid #d8e5e2!important;border-radius:18px!important;width:100%!important;height:100%!important;max-height:none!important;padding:16px!important;box-shadow:0 16px 42px #173e362b!important}.app-shell.browser-map-shell .route-menu header{min-height:48px}.app-shell.browser-map-shell .route-menu header>div{align-items:flex-start!important}.app-shell.browser-map-shell .route-menu header strong{font-size:16px}.app-shell.browser-map-shell .route-menu-tabs button{font-size:9px}.app-shell.browser-map-shell .route-menu-grid{max-height:none!important}.app-shell.browser-map-shell .route-menu-content{overflow:auto}.app-shell.browser-map-shell.routes-view>.topbar,.app-shell.browser-map-shell.routes-view>.route-panel{visibility:visible!important}.app-shell.browser-map-shell .map-language-control{top:18px;right:18px}.app-shell.browser-map-shell .map-location-control{right:18px!important}}@media (max-width:999px){.app-shell.keyboard-open{height:calc(var(--app-visible-height,100dvh) + var(--app-viewport-top,0px))!important}.app-shell .point-trip-form .trip-point-field input{font-size:16px!important}.app-shell.keyboard-open.planning-view>.arrival-card.trip-planner-open{top:var(--app-viewport-top,0px)!important;height:var(--app-visible-height,100dvh)!important;max-height:var(--app-visible-height,100dvh)!important;border-radius:0!important;padding-bottom:8px!important;transition:none!important;position:absolute!important;bottom:auto!important;left:0!important;right:0!important;overflow:hidden!important;transform:none!important}.app-shell.keyboard-open.planning-view>.arrival-card.trip-planner-open .drag-handle{display:none!important}.app-shell.keyboard-open.planning-view>.arrival-card.trip-planner-open .stop-sheet-heading{margin-top:max(4px,env(safe-area-inset-top))}.app-shell.keyboard-open .point-trip-form.address-from-active .destination-field,.app-shell.keyboard-open .point-trip-form.address-to-active .origin-field,.app-shell.keyboard-open .point-trip-form.address-from-active .swap-stops,.app-shell.keyboard-open .point-trip-form.address-to-active .swap-stops{display:none!important}.app-shell.keyboard-open .point-trip-form.address-from-active .origin-field,.app-shell.keyboard-open .point-trip-form.address-to-active .destination-field{width:100%!important;display:flex!important}.app-shell.keyboard-open .point-trip-form.address-from-active .trip-address-panel,.app-shell.keyboard-open .point-trip-form.address-to-active .trip-address-panel{max-height:calc(var(--app-visible-height,100dvh) - 150px)!important;top:62px!important;left:0!important;right:0!important}.app-shell.keyboard-open.planning-view .plan-sort,.app-shell.keyboard-open.planning-view .trip-results,.app-shell.keyboard-open.planning-view .live-status-banner{visibility:hidden!important;pointer-events:none!important}}.app-shell.native-map-shell .point-trip-form .trip-point-field input{font-size:16px!important}.geobus-home{--home-ink:#0b2930;--home-brand:#087f7a;--home-soft:#e8f5f2;min-height:100dvh;color:var(--home-ink);background:radial-gradient(circle at 78% 12%,#aee4dd55,#0000 28%),linear-gradient(#f8fbfa,#edf6f4);font-family:Arial,Helvetica,sans-serif;overflow:hidden auto}.geobus-home-nav{z-index:20;justify-content:space-between;align-items:center;max-width:1180px;margin:auto;padding:24px 34px;display:flex;position:relative}.geobus-wordmark{color:var(--home-ink);align-items:center;gap:10px;font-size:20px;text-decoration:none;display:flex}.geobus-wordmark span{background:var(--home-brand);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:21px;font-weight:950;display:grid}.desktop-home-nav{align-items:center;gap:25px;margin-left:auto;display:flex}.desktop-home-nav>a{color:#50686d;font-size:14px;font-weight:700;text-decoration:none;transition:color .18s}.desktop-home-nav>a:hover{color:var(--home-brand)}.mobile-home-menu{display:none}.geobus-hero{grid-template-columns:minmax(0,1fr) minmax(360px,490px);align-items:center;gap:80px;max-width:1180px;min-height:620px;margin:auto;padding:60px 34px 82px;display:grid}.geobus-hero-copy{max-width:620px}.hero-kicker{color:var(--home-brand);letter-spacing:.03em;background:#dff2ee;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:850;display:inline-flex}.geobus-hero h1{letter-spacing:-.055em;margin:21px 0 20px;font-size:clamp(46px,5.7vw,78px);line-height:.98}.geobus-hero h1 em{color:var(--home-brand);font-style:normal}.geobus-hero-copy>p{color:#587076;max-width:570px;margin:0;font-size:18px;line-height:1.6}.hero-actions{align-items:center;gap:13px;margin-top:30px;display:flex}.hero-actions a{border-radius:15px;justify-content:center;align-items:center;gap:9px;height:52px;padding:0 21px;font-size:14px;font-weight:850;text-decoration:none;display:inline-flex}.hero-primary{background:var(--home-brand);color:#fff;box-shadow:0 12px 28px #087f7947}.hero-secondary{color:#375158;background:#fff;border:1px solid #cadbd8}.geobus-hero-copy>small{color:#809195;letter-spacing:.08em;margin-top:20px;font-size:11px;font-weight:750;display:block}.geobus-map-card{color:var(--home-ink);background:#fff;border:1px solid #fffc;border-radius:30px;text-decoration:none;transition:transform .25s;display:block;overflow:hidden;transform:rotate(1.5deg);box-shadow:0 28px 80px #173e3638}.geobus-map-card:hover{transform:rotate(0)translateY(-5px)}.map-card-surface{background-color:#dceeea;background-image:linear-gradient(25deg,#0000 46%,#fff 47% 51%,#0000 52%),linear-gradient(110deg,#0000 45%,#fff 46% 50%,#0000 51%),linear-gradient(#b8d9cc99 1px,#0000 1px),linear-gradient(90deg,#b8d9cc99 1px,#0000 1px);background-size:180px 150px,220px 210px,44px 44px,44px 44px;height:430px;position:relative;overflow:hidden}.mock-route{background:var(--home-brand);transform-origin:0;border:3px solid #fff;border-radius:999px;height:11px;position:absolute;box-shadow:0 3px 8px #244d4755}.route-a{width:430px;top:315px;left:22px;transform:rotate(-27deg)}.route-b{background:#e96852;width:245px;top:335px;left:250px;transform:rotate(-72deg)}.mock-stop{background:var(--home-brand);border:4px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;box-shadow:0 2px 8px #244d4745}.stop-a{top:303px;left:110px}.stop-b{top:250px;left:220px}.stop-c{top:198px;left:326px}.mock-bus{background:var(--home-brand);color:#fff;border:3px solid #fff;border-radius:13px;align-items:center;gap:7px;padding:9px 10px;display:flex;position:absolute;top:208px;left:268px;box-shadow:0 8px 18px #173e3650}.mock-bus b{font-size:12px}.mock-location{background:#2b83dd;border:5px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;bottom:52px;right:64px;box-shadow:0 0 0 8px #2b83dd25}.map-card-footer{justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.map-card-footer>span{flex-direction:column;gap:5px;display:flex}.map-card-footer strong{font-size:16px}.map-card-footer small{color:#71868b;font-size:11px}.map-card-footer>i{background:var(--home-soft);width:42px;height:42px;color:var(--home-brand);border-radius:14px;place-items:center;display:grid}.geobus-features{background:#fff;padding:82px max(34px,50vw - 556px)}.feature-heading span{color:var(--home-brand);letter-spacing:.18em;font-size:11px;font-weight:900}.feature-heading h2{letter-spacing:-.035em;max-width:650px;margin:12px 0 34px;font-size:clamp(30px,4vw,48px);line-height:1.05}.feature-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.feature-grid article{background:#f8fbfa;border:1px solid #deebe8;border-radius:22px;flex-direction:column;min-height:210px;padding:25px;display:flex}.feature-grid article>i{background:var(--home-soft);width:45px;height:45px;color:var(--home-brand);border-radius:14px;place-items:center;margin-bottom:28px;display:grid}.feature-grid strong{font-size:18px}.feature-grid p{color:#667b80;margin:10px 0 0;font-size:14px;line-height:1.55}.arrival-demo{background:var(--home-ink);color:#fff;border-radius:22px;justify-content:center;align-items:center;gap:28px;margin-top:17px;padding:24px 28px;display:flex}.arrival-demo>div{align-items:center;gap:12px;display:flex}.arrival-demo span{flex-direction:column;gap:4px;display:flex}.arrival-demo small{color:#a9c0c3;font-size:10px}.arrival-demo strong{font-size:16px}.arrival-demo>b{color:#5c7b80}.arrival-result{background:var(--home-brand);border-radius:14px;padding:12px 18px}.geobus-home-footer{color:#73868b;background:#fff;gap:22px;padding:28px max(34px,50vw - 556px);font-size:12px;display:flex}.geobus-home-footer span{margin-right:auto}.geobus-home-footer a{color:#526a70;text-decoration:none}@media (max-width:800px){.geobus-home-nav{padding:16px 20px}.desktop-home-nav{display:none}.mobile-home-menu{display:block;position:relative}.mobile-home-menu>summary{cursor:pointer;background:#fff;border:1px solid #d6e4e1;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;list-style:none;display:flex;box-shadow:0 7px 22px #174d461a}.mobile-home-menu>summary::-webkit-details-marker{display:none}.mobile-home-menu>summary i{background:#315158;border-radius:4px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.mobile-home-menu[open]>summary i:first-child{transform:translateY(7px)rotate(45deg)}.mobile-home-menu[open]>summary i:nth-child(2){opacity:0}.mobile-home-menu[open]>summary i:last-child{transform:translateY(-7px)rotate(-45deg)}.mobile-home-menu-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border:1px solid #d5e4e1;border-radius:20px;flex-direction:column;width:min(340px,100vw - 40px);padding:13px;display:flex;position:absolute;top:54px;right:0;box-shadow:0 22px 55px #173d3540}.mobile-home-menu-panel>span{color:#829397;letter-spacing:.12em;text-transform:uppercase;padding:8px 10px 11px;font-size:10px;font-weight:900}.mobile-home-menu-panel>a{min-height:58px;color:var(--home-ink);border-radius:12px;grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-items:center;column-gap:11px;padding:10px;text-decoration:none;display:grid}.mobile-home-menu-panel>a:hover{background:#edf6f4}.mobile-home-menu-panel>a>svg{color:var(--home-brand);grid-area:1/1/3;justify-self:center}.mobile-home-menu-panel b{font-size:13px}.mobile-home-menu-panel small{color:#73878b;font-size:10px}.mobile-home-menu-panel .mobile-map-link{background:var(--home-brand);color:#fff;grid-template-rows:1fr;grid-template-columns:32px 1fr 22px;margin-top:8px;display:grid}.mobile-home-menu-panel .mobile-map-link:hover{background:#076f6a}.mobile-home-menu-panel .mobile-map-link>svg{color:#fff;grid-row:1}.mobile-home-menu-panel .mobile-map-link>svg:last-child{grid-column:3}.geobus-hero{grid-template-columns:1fr;gap:45px;min-height:auto;padding:42px 20px 60px}.geobus-hero h1{font-size:48px}.geobus-hero-copy>p{font-size:16px}.geobus-map-card{max-width:520px;transform:none}.map-card-surface{height:340px}.geobus-features{padding:60px 20px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:170px}.feature-grid article>i{margin-bottom:20px}.arrival-demo{flex-direction:column;align-items:stretch;gap:14px}.arrival-demo>b{display:none}.arrival-demo>div{justify-content:flex-start}.geobus-home-footer{padding:25px 20px}}@media (max-width:460px){.geobus-wordmark strong{font-size:17px}.geobus-hero{padding-top:30px}.geobus-hero h1{font-size:41px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions a{width:100%}.map-card-surface{height:290px}}.home-guides-preview{background:#edf6f4;grid-template-columns:.8fr 1.2fr;gap:70px;padding:85px max(34px,50vw - 556px);display:grid}.home-guides-preview>div:first-child>span{color:var(--home-brand);letter-spacing:.18em;font-size:11px;font-weight:900}.home-guides-preview h2{letter-spacing:-.04em;margin:12px 0 17px;font-size:42px;line-height:1.05}.home-guides-preview p{color:#627a7f;margin:0;font-size:15px;line-height:1.65}.home-guide-links{flex-direction:column;display:flex}.home-guide-links>a{color:var(--home-ink);border-bottom:1px solid #cadeda;grid-template-columns:1fr auto;gap:6px 20px;padding:20px 4px;text-decoration:none;display:grid}.home-guide-links small{color:var(--home-brand);letter-spacing:.12em;grid-column:1;font-size:9px;font-weight:900}.home-guide-links strong{grid-column:1;font-size:17px}.home-guide-links svg{color:var(--home-brand);grid-area:1/2/3;align-self:center}.guides-page{color:#0b2930;background:#f5faf8;min-height:100dvh;overflow-y:auto}.guides-page>header{justify-content:space-between;align-items:center;max-width:1120px;margin:auto;padding:24px 28px;display:flex}.guides-page>header a{color:#416068;align-items:center;gap:8px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.guides-page>header .guides-map-button{color:#fff;background:#087f7a;border-radius:12px;padding:11px 15px}.guides-intro{max-width:1120px;margin:auto;padding:75px 28px 55px}.guides-intro>span{color:#087f7a;letter-spacing:.18em;font-size:11px;font-weight:900}.guides-intro h1{letter-spacing:-.055em;max-width:850px;margin:14px 0 20px;font-size:clamp(42px,6vw,72px);line-height:1}.guides-intro p{color:#627a7f;max-width:650px;margin:0;font-size:17px;line-height:1.6}.guides-grid{grid-template-columns:repeat(3,1fr);gap:16px;max-width:1120px;margin:auto;padding:15px 28px 70px;display:grid}.guides-grid article{background:#fff;border:1px solid #dbe9e6;border-radius:23px;flex-direction:column;min-height:330px;padding:25px;display:flex}.guides-grid article>i{color:#087f7a;background:#e5f3f0;border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:28px;display:grid}.guides-grid article>small{color:#087f7a;letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:900}.guides-grid h2{margin:9px 0 10px;font-size:23px;line-height:1.15}.guides-grid p{color:#667d82;margin:0;font-size:13px;line-height:1.55}.guides-grid a{color:#087f7a;align-items:center;gap:8px;margin-top:auto;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.guides-coming{color:#fff;background:#0b2930;padding:60px max(28px,50vw - 532px)}.guides-coming strong{font-size:23px}.guides-coming p{color:#a9bec2;max-width:720px;margin:10px 0 0;font-size:14px;line-height:1.6}@media (max-width:900px){.geobus-hero{grid-template-columns:1fr;gap:45px;min-height:auto;padding:42px 20px 60px}.geobus-map-card{max-width:520px;transform:none}.home-guides-preview{grid-template-columns:1fr;gap:30px;padding:60px 20px}.home-guides-preview h2{font-size:34px}.guides-grid{grid-template-columns:1fr}.guides-grid article{min-height:260px}}@media (max-width:460px){.guides-intro{padding-top:45px}.guides-intro h1{font-size:39px}.guides-page>header{padding:16px 18px}.guides-grid{padding-left:18px;padding-right:18px}.geobus-home-footer{flex-wrap:wrap}.geobus-home-footer span{width:100%}}.portal-page{color:#0b2930;background:#f3f8f6;min-height:100dvh;font-family:Arial,Helvetica,sans-serif;overflow-y:auto}.portal-header{justify-content:space-between;align-items:center;max-width:1160px;margin:auto;padding:23px 30px;display:flex}.portal-logo{color:#0b2930;align-items:center;gap:10px;text-decoration:none;display:flex}.portal-logo b{color:#fff;background:#087f7a;border-radius:12px;place-items:center;width:39px;height:39px;font-size:21px;display:grid}.portal-logo strong{font-size:19px}.portal-header nav{align-items:center;gap:24px;display:flex}.portal-header nav>a{color:#526a70;font-size:13px;font-weight:750;text-decoration:none}.portal-map-button{border-radius:11px;padding:11px 15px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex;color:#fff!important;background:#087f7a!important}.portal-intro{max-width:1100px;margin:auto;padding:82px 30px 52px}.portal-intro>span{color:#087f7a;letter-spacing:.17em;font-size:10px;font-weight:900}.portal-intro h1{letter-spacing:-.055em;margin:13px 0 19px;font-size:clamp(44px,6vw,76px);line-height:.98}.portal-intro p{color:#61787d;max-width:680px;margin:0;font-size:17px;line-height:1.65}.city-cards{grid-template-columns:1.5fr .7fr;gap:17px;max-width:1100px;margin:auto;padding:0 30px 90px;display:grid}.city-card{color:#0b2930;background:#fff;border:1px solid #d6e6e2;border-radius:25px;text-decoration:none;overflow:hidden}.city-map-art{background-color:#cee5e0;background-image:linear-gradient(24deg,#0000 46%,#fff 47% 51%,#0000 52%),linear-gradient(100deg,#0000 46%,#fff 47% 51%,#0000 52%),linear-gradient(#a7cbc455 1px,#0000 1px),linear-gradient(90deg,#a7cbc455 1px,#0000 1px);background-size:200px 150px,220px 190px,45px 45px,45px 45px;height:310px;position:relative;overflow:hidden}.city-map-art:after{content:"";background:#087f7a;border:3px solid #fff;border-radius:99px;width:86%;height:10px;position:absolute;top:55%;left:7%;transform:rotate(-12deg)}.city-map-art>i{z-index:2;background:#087f7a;border:4px solid #fff;border-radius:50%;width:17px;height:17px;position:absolute;top:58%;left:31%}.city-map-art>b{z-index:3;color:#fff;background:#087f7a;border:3px solid #fff;border-radius:12px;align-items:center;gap:7px;padding:9px 11px;display:flex;position:absolute;top:39%;left:58%;box-shadow:0 8px 18px #23483f45}.city-map-art>em{z-index:3;color:#fff;background:#2e83da;border:4px solid #fff;border-radius:50%;place-items:center;width:39px;height:39px;display:grid;position:absolute;bottom:17%;right:11%}.city-card-copy{justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 25px 18px;display:flex}.city-card-copy>span{display:block}.city-card-copy small,.city-card.coming small{color:#087f7a;letter-spacing:.13em;font-size:9px;font-weight:900}.city-card h2{margin:7px 0 8px;font-size:25px}.city-card p{color:#657c81;max-width:560px;margin:0;font-size:13px;line-height:1.55}.city-card-copy>strong{color:#087f7a;white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.city-meta{color:#6c8185;gap:17px;padding:14px 25px 22px;font-size:10px;display:flex}.city-meta span{align-items:center;gap:6px;display:flex}.city-card.coming{opacity:.8;background:linear-gradient(145deg,#e6efed,#f8fbfa);align-items:flex-end;min-height:310px;padding:28px;display:flex}.blog-intro{padding-bottom:65px}.article-grid{grid-template-columns:repeat(3,1fr);gap:14px;max-width:1100px;margin:auto;padding:0 30px 90px;display:grid}.article-card{color:#0b2930;background:#fff;border:1px solid #dae7e4;border-radius:22px;flex-direction:column;min-height:330px;padding:25px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.article-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px #173d351b}.article-card.featured{color:#fff;background:linear-gradient(130deg,#0b716c,#0a9189);grid-column:span 2}.article-number{color:#a7babd;align-self:flex-end;font-size:34px;font-weight:300}.article-card.featured .article-number{color:#fff5}.article-card>small{color:#087f7a;letter-spacing:.12em;text-transform:uppercase;margin-top:auto;font-size:9px;font-weight:900}.article-card.featured>small{color:#a9ebe5}.article-card h2{margin:10px 0;font-size:23px;line-height:1.12}.article-card p{color:#677d82;margin:0;font-size:13px;line-height:1.55}.article-card.featured p{color:#d4efec}.article-card>span{color:#087f7a;align-items:center;gap:7px;margin-top:23px;font-size:11px;font-weight:850;display:flex}.article-card.featured>span{color:#fff}.article-page{background:#fff}.article-content{max-width:850px;margin:auto;padding:70px 30px 110px}.article-back{color:#5a7277;align-items:center;gap:8px;margin-bottom:58px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.article-content>small{color:#087f7a;letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:900}.article-content>h1{letter-spacing:-.055em;margin:14px 0 23px;font-size:clamp(42px,6vw,70px);line-height:1}.article-lead{color:#5d757a;max-width:720px;margin:0;font-size:19px;line-height:1.6}.article-route-box{color:#087f7a;background:#e8f5f2;border-radius:18px;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;margin:44px 0;padding:21px;display:grid}.article-route-box>svg{justify-self:center}.article-route-box div{flex-direction:column;display:flex}.article-route-box strong{font-size:14px}.article-route-box span{color:#5a7577;margin-top:4px;font-size:11px}.article-route-box a{color:#fff;background:#087f7a;border-radius:10px;align-items:center;gap:6px;padding:11px 14px;font-size:11px;font-weight:800;text-decoration:none;display:flex}.article-content section{max-width:700px}.article-content section h2{margin:0 0 18px;font-size:29px}.article-content section>p{color:#415d63;font-size:16px;line-height:1.75}.article-tip{background:#f3f8f7;border-left:4px solid #087f7a;gap:14px;margin-top:27px;padding:20px;display:flex}.article-tip p{color:#526b70;flex-direction:column;gap:5px;margin:0;font-size:13px;line-height:1.5;display:flex}.article-tip strong{color:#0b2930}.home-sections{background:#f3f8f6;padding:82px 30px 90px}.home-sections>.feature-heading,.home-section-grid{max-width:1160px;margin-left:auto;margin-right:auto}.home-section-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:31px;display:grid}.home-section-grid>a{color:#0b2930;background:#fff;border:1px solid #d6e6e2;border-radius:19px;grid-template-columns:48px 1fr 24px;align-items:center;gap:15px;padding:23px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:grid}.home-section-grid>a:hover{transform:translateY(-3px);box-shadow:0 16px 38px #173d3515}.home-section-grid>a>i{color:#087f7a;background:#e6f4f1;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.home-section-grid>a>span{flex-direction:column;min-width:0;display:flex}.home-section-grid small{color:#087f7a;letter-spacing:.13em;font-size:8px;font-weight:900}.home-section-grid strong{margin-top:5px;font-size:17px}.home-section-grid p{color:#677d82;margin:5px 0 0;font-size:12px;line-height:1.45}.home-section-grid>a>svg{color:#7e9296}.admin-gateway{color:#0b2930;background:radial-gradient(circle at 82% 7%,#c8ebe4 0,#0000 28%),#f3f8f6;min-height:100dvh;font-family:Arial,Helvetica,sans-serif;overflow-y:auto}.admin-gateway>header{justify-content:space-between;align-items:center;max-width:1160px;margin:auto;padding:24px 30px;display:flex}.admin-gateway>header>a{color:#5c7378;align-items:center;gap:7px;font-size:12px;font-weight:750;text-decoration:none;display:flex}.admin-gateway>header>span{align-items:center;gap:9px;display:flex}.admin-gateway>header b{color:#fff;background:#087f7a;border-radius:11px;place-items:center;width:37px;height:37px;display:grid}.admin-hero{grid-template-columns:1fr .86fr;align-items:center;gap:70px;max-width:1160px;margin:auto;padding:90px 30px 65px;display:grid}.admin-kicker{color:#087f7a;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:900;display:inline-flex}.admin-hero h1{letter-spacing:-.06em;margin:15px 0 22px;font-size:clamp(48px,6vw,76px);line-height:.95}.admin-hero>div>p{color:#60777c;max-width:620px;font-size:16px;line-height:1.65}.admin-actions{gap:10px;margin-top:29px;display:flex}.admin-actions>a{border-radius:12px;align-items:center;gap:8px;padding:13px 17px;font-size:12px;font-weight:850;text-decoration:none;display:inline-flex}.admin-primary{color:#fff;background:#087f7a}.admin-secondary{color:#29444a;background:#fff;border:1px solid #cadbd8}.admin-preview{background:#fff;border:1px solid #d3e2df;border-radius:24px;overflow:hidden;transform:rotate(1.2deg);box-shadow:0 28px 70px #153e3422}.admin-preview-top{border-bottom:1px solid #e3ecea;align-items:center;gap:9px;padding:17px 19px;display:flex}.admin-preview-top>i{background:#25b46e;border-radius:50%;width:8px;height:8px;margin-left:auto}.admin-preview-body{grid-template-columns:112px 1fr;min-height:330px;display:grid}.admin-preview-nav{background:#0c292f;flex-direction:column;gap:7px;padding:18px 12px;display:flex}.admin-preview-nav b{color:#a9bebf;border-radius:8px;padding:9px 10px;font-size:9px}.admin-preview-nav b:first-child{color:#fff;background:#17434a}.admin-preview-body>div{color:#fff;background:linear-gradient(135deg,#087f7a,#11a49a);border-radius:17px;align-self:start;margin:27px 22px;padding:27px}.admin-preview-body small{background:#ffffff20;border-radius:99px;padding:6px 8px;font-size:8px;font-weight:800;display:inline-flex}.admin-preview-body h2{margin:16px 0 10px;font-size:25px;line-height:1.05}.admin-preview-body p{color:#d5f1ed;margin:0;font-size:11px;line-height:1.5}.admin-capabilities{grid-template-columns:repeat(3,1fr);gap:11px;max-width:1160px;margin:auto;padding:0 30px 40px;display:grid}.admin-capabilities article{background:#fff;border:1px solid #d9e6e3;border-radius:17px;padding:20px}.admin-capabilities i{color:#087f7a;background:#e7f4f2;border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.admin-capabilities strong{margin-top:15px;font-size:14px;display:block}.admin-capabilities p{color:#6a7f83;margin:7px 0 0;font-size:11px;line-height:1.5}.admin-help{color:#718589;text-align:center;max-width:1100px;margin:0 auto;padding:0 30px 70px;font-size:11px;line-height:1.5}@media (max-width:800px){.portal-header{padding:17px 20px}.portal-header nav>a:not(.portal-map-button){display:none}.portal-intro{padding:55px 20px 40px}.portal-intro p{font-size:15px}.city-cards,.article-grid{grid-template-columns:1fr;padding:0 20px 70px}.article-card.featured{grid-column:auto}.city-card.coming{min-height:190px}.city-map-art{height:260px}.city-card-copy{flex-direction:column;align-items:flex-start}.article-content{padding:45px 20px 90px}.article-back{margin-bottom:40px}.article-lead{font-size:17px}.article-route-box{grid-template-columns:38px 1fr}.article-route-box a{grid-column:1/3;justify-content:center}.home-sections{padding:60px 20px 70px}.home-section-grid{grid-template-columns:1fr}.admin-gateway>header{padding:18px 20px}.admin-hero{grid-template-columns:1fr;gap:35px;padding:55px 20px 45px}.admin-preview{transform:none}.admin-capabilities{grid-template-columns:1fr 1fr;padding:0 20px 30px}.admin-help{padding:0 20px 50px}.admin-actions{flex-direction:column;align-items:stretch}.admin-actions>a{justify-content:center}}.desktop-sidebar-language{display:none}@media (min-width:1000px){html body .app-shell.browser-map-shell:before{width:154px!important}html body .app-shell.browser-map-shell .desktop-map-brand{gap:8px!important;width:124px!important}html body .app-shell.browser-map-shell .desktop-map-brand>span{flex:0 0 36px!important;width:36px!important;height:36px!important}html body .app-shell.browser-map-shell .desktop-map-brand strong{font-size:12px!important;line-height:1.1!important}html body .app-shell.browser-map-shell .desktop-map-brand small{max-width:80px!important;font-size:7px!important}html body .app-shell.browser-map-shell>.map{left:154px!important;right:16px!important}html body .app-shell.browser-map-shell.desktop-detail-open>.map,html body .app-shell.browser-map-shell.routes-view>.map{right:16px!important}html body .app-shell.browser-map-shell>.route-panel,html body .app-shell.browser-map-shell.planning-view>.route-panel{z-index:1450!important;width:min(540px,100vw - 460px)!important;padding:0!important;top:26px!important;left:350px!important;right:auto!important;transform:none!important}html body .app-shell.browser-map-shell>.route-panel .search-box{border-color:#d8e6e3!important;border-radius:15px!important;height:50px!important;padding:0 8px 0 15px!important;box-shadow:0 10px 30px #173e3629!important}html body .app-shell.browser-map-shell>.route-panel .search-box input{font-size:13px!important}html body .app-shell.browser-map-shell>.route-panel .search-results{width:100%!important;max-height:min(560px,100dvh - 110px)!important;top:57px!important}html body .app-shell.browser-map-shell.routes-view>.route-panel,html body .app-shell.browser-map-shell>.bottom-nav .nav-trip{display:none!important}html body .app-shell.browser-map-shell>.bottom-nav{gap:7px!important}html body .app-shell.browser-map-shell .map-language-control{display:none!important}html body .app-shell.browser-map-shell>.desktop-sidebar-language{z-index:3100!important;width:124px!important;height:44px!important;color:var(--brand)!important;box-shadow:none!important;background:#fff!important;border:1px solid #d8e6e3!important;border-radius:11px!important;place-items:center!important;font-size:11px!important;font-weight:900!important;display:grid!important;position:absolute!important;inset:auto auto 18px 16px!important}html body .app-shell.browser-map-shell .map-attribution{border-radius:6px!important;max-width:260px!important;padding:3px 6px!important;font-size:7px!important;bottom:8px!important;right:10px!important}html body .app-shell.browser-map-shell .map-choice-card{border:1px solid #d8e6e3!important;border-radius:15px!important;width:min(420px,100vw - 210px)!important;padding:13px 14px!important;inset:50% auto auto calc(50% + 77px)!important;transform:translate(-50%,-50%)!important;box-shadow:0 12px 34px #173e3626!important}html body .app-shell.browser-map-shell .map-choice-card>strong{font-size:13px!important}html body .app-shell.browser-map-shell .map-choice-card>span{font-size:9px!important}html body .app-shell.browser-map-shell .map-choice-card>div{gap:7px!important;margin-top:10px!important}html body .app-shell.browser-map-shell .map-choice-card>div button{border-radius:9px!important;height:36px!important;padding:0 12px!important;font-size:9px!important}html body .app-shell.browser-map-shell .map-location-control{border-radius:12px!important;width:40px!important;height:40px!important;bottom:calc(50% + 72px)!important;right:18px!important}html body .app-shell.browser-map-shell .leaflet-control-zoom{border-radius:12px!important;width:40px!important;margin-bottom:calc(50dvh - 48px)!important;margin-right:18px!important}html body .app-shell.browser-map-shell .leaflet-control-zoom a{width:38px!important;height:38px!important}html body .app-shell.browser-map-shell.planning-view>.map,html body .app-shell.browser-map-shell.planning-view>.route-panel{visibility:visible!important}html body .app-shell.browser-map-shell>aside.arrival-card:not(.nearby-sheet){background:#fff!important;border:1px solid #dce8e5!important;border-radius:17px!important;flex-direction:column!important;width:358px!important;min-width:358px!important;max-width:358px!important;height:auto!important;max-height:calc(100dvh - 114px)!important;padding:11px 13px 13px!important;display:flex!important;position:absolute!important;inset:96px 80px auto auto!important;overflow:hidden!important;transform:none!important;box-shadow:0 12px 34px #173e3621!important}html body .app-shell.browser-map-shell>aside.arrival-card:not(.nearby-sheet) .arrival-list{flex:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important}html body .app-shell.browser-map-shell>aside.arrival-card.route-compact,html body .app-shell.browser-map-shell>aside.arrival-card.place-sheet,html body .app-shell.browser-map-shell>aside.arrival-card.tracked-collapsed,html body .app-shell.browser-map-shell>aside.arrival-card.trip-collapsed{height:auto!important;max-height:min(440px,100dvh - 114px)!important;inset:96px 80px auto auto!important}html body .app-shell.browser-map-shell>aside.arrival-card.place-sheet .attraction-sheet-body{overflow-y:auto!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card.trip-planner-open{width:358px!important;min-width:358px!important;max-width:358px!important;height:auto!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;flex-direction:column!important;padding:0!important;display:flex!important;position:absolute!important;inset:96px 80px 18px auto!important;overflow:hidden!important;transform:none!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .stop-sheet-heading{background:#fff!important;border:1px solid #dce8e5!important;border-radius:15px!important;min-height:42px!important;padding:10px 11px!important;box-shadow:0 7px 22px #173e3612!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .stop-sheet-heading strong{font-size:14px!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .stop-sheet-heading small{font-size:9px!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .point-trip-form{background:#fff!important;border:1px solid #dce8e5!important;border-radius:15px!important;gap:6px!important;margin-top:8px!important;padding:10px 48px 10px 10px!important;box-shadow:0 7px 22px #173e360e!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .trip-point-field>input{border-radius:11px!important;height:42px!important;padding-left:11px!important;font-size:10px!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .point-trip-form .swap-stops{border-radius:10px!important;width:32px!important;height:34px!important;top:50%!important;right:8px!important;transform:translateY(-50%)!important}html body .app-shell.browser-map-shell .point-trip-form .field-actions{height:32px!important;top:50%!important;right:6px!important;transform:translateY(-50%)!important}html body .app-shell.browser-map-shell .point-trip-form .field-actions button{width:30px!important;height:30px!important}html body .app-shell.browser-map-shell .point-trip-form .origin-field>input{padding-right:110px!important}html body .app-shell.browser-map-shell .point-trip-form .destination-field>input{padding-right:76px!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .plan-sort{background:#fff!important;border:1px solid #dce8e5!important;border-radius:13px!important;gap:4px!important;margin-top:8px!important;padding:5px!important;position:static!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .plan-sort button{border-radius:9px!important;min-width:0!important;height:32px!important;padding:0 5px!important;font-size:8px!important}html body .app-shell.browser-map-shell.planning-view>aside.arrival-card .trip-results{overscroll-behavior:contain;flex:auto!important;min-height:0!important;max-height:none!important;margin-top:8px!important;padding:0 2px 4px!important;overflow:hidden auto!important}html body .app-shell.browser-map-shell.planning-view .journey-plan{border-radius:14px!important;width:100%!important;margin:0 0 9px!important;padding:10px 8px!important;box-shadow:0 5px 16px #173e360b!important}html body .app-shell.browser-map-shell.planning-view .journey-plan-main{width:100%!important}html body .app-shell.browser-map-shell.planning-view .route-sequence{gap:2px!important}html body .app-shell.browser-map-shell.planning-view .mode-badge{border-radius:10px!important;min-width:34px!important;height:34px!important;padding:0 7px!important;font-size:14px!important}html body .app-shell.browser-map-shell.planning-view .walking-mode{min-width:30px!important;padding:0!important;font-size:13px!important}html body .app-shell.browser-map-shell.planning-view .duration-badge{padding:5px 7px!important;font-size:10px!important}html body .app-shell.browser-map-shell.planning-view .trip-arrival-estimate{padding:7px 8px!important}html body .app-shell.browser-map-shell.planning-view .trip-arrival-estimate small{line-height:1.3!important}html body .app-shell.browser-map-shell.planning-view .journey-preview-button{border-radius:12px!important;width:100%!important;margin-top:8px!important;overflow:hidden!important}html body .app-shell.browser-map-shell.planning-view .journey-preview-map{aspect-ratio:4/3!important;border-radius:12px!important;width:100%!important;height:auto!important;margin:0!important}html body .app-shell.browser-map-shell.planning-view .follow-plan{border-radius:10px!important;min-height:36px!important;margin-top:7px!important;font-size:9px!important}html body .app-shell.browser-map-shell>aside.arrival-card.nearby-sheet,html body .app-shell.browser-map-shell>aside.arrival-card.idle-hidden,html body .app-shell.browser-map-shell>aside.arrival-card.tracked-hidden,html body .app-shell.browser-map-shell.routes-view>aside.arrival-card{display:none!important}html body .app-shell.browser-map-shell .route-menu-backdrop{background:0 0!important;align-items:stretch!important;width:358px!important;height:auto!important;max-height:min(620px,100dvh - 64px)!important;position:absolute!important;inset:32px 80px auto auto!important}html body .app-shell.browser-map-shell .route-menu{border:1px solid #d8d2cd!important;border-radius:17px!important;width:100%!important;height:auto!important;min-height:0!important;max-height:min(620px,100dvh - 64px)!important;overflow:hidden!important;box-shadow:0 12px 34px #24161621!important}html body .app-shell.browser-map-shell .route-menu-content,html body .app-shell.browser-map-shell .route-menu-grid{overscroll-behavior:contain;flex:0 auto!important;min-height:0!important;overflow-y:auto!important}html body .app-shell.browser-map-shell .route-menu>header,html body .app-shell.browser-map-shell .route-menu-tabs,html body .app-shell.browser-map-shell .route-menu-search{flex-shrink:0!important}html body .app-shell.browser-map-shell.planning-view>.route-panel{display:none!important}html body .app-shell.browser-map-shell>aside.arrival-card:not(.nearby-sheet) .arrival-list.stop-arrival-list{flex:0 auto!important;max-height:224px!important;overflow-y:auto!important}}.boarding-session.auto-detected{border-color:#4bb69c;box-shadow:0 0 0 3px #4bb69c18}.crowding-panel{color:var(--ink);background:#f7fbfa;border:1px solid #cae3df;border-radius:14px;gap:8px;margin:8px 12px;padding:11px;display:grid}.crowding-panel>div:first-child{flex-direction:column;gap:2px;display:flex}.crowding-panel strong{font-size:11px}.crowding-panel small{color:var(--muted);font-size:9px}.crowding-choices{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.crowding-choices button,.crowding-skip,.crowding-summary{color:#31565a;background:#fff;border:1px solid #c9dfdc;border-radius:10px;min-height:35px;padding:7px;font-size:9px;font-weight:800}.crowding-choices button:first-child{color:#148059}.crowding-choices button:nth-child(2){color:#b27617}.crowding-choices button:nth-child(3){color:#c84f3b}.crowding-skip{min-height:28px;color:var(--muted);background:0 0;border:0}.crowding-summary{text-align:left;align-items:center;gap:7px;width:100%;display:flex}.crowding-summary small{margin-left:auto}.crowding-summary.seats span,.arrival-crowding.seats{color:#148059}.crowding-summary.standing span,.arrival-crowding.standing{color:#b27617}.crowding-summary.crowded span,.arrival-crowding.crowded{color:#c84f3b}.arrival-crowding{font-size:9px;font-style:normal;font-weight:800}@media (min-width:1000px){.crowding-panel{margin-inline:0}.crowding-choices button{font-size:10px}}.place-card-gallery{scroll-snap-type:x mandatory;gap:8px;display:flex;overflow-x:auto}.place-card-gallery .place-card-image{scroll-snap-align:start;flex:0 0 88%}.place-sponsor-label{color:#875f0f;background:#fff4d9;border-radius:8px;margin-bottom:8px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.place-promo-code{color:#76520e;background:#fff9ea;border:1px dashed #e1a943;border-radius:11px;width:100%;margin-top:9px;padding:10px;font-size:10px}:root{--brand:#df3028;--brand-dark:#9f1718;--ink:#191a1e;--muted:#74747b;--line:#e5e1df;--soft:#fff0ee}html,body{height:auto;min-height:100%;color:var(--ink);background:#ece9e6;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden auto}body:has(.app-shell){height:100%;overflow:hidden}.geobus-home{--home-ink:#17171a;--home-brand:#df3028;--home-soft:#fff0ee;background:linear-gradient(#f7f5f2,#ece8e3);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{background:#f2f0ee}.geobus-home-nav,.portal-header{border-bottom:1px solid #d8d2cd}.geobus-wordmark span,.portal-logo b{background:var(--home-brand,#df3028)!important;box-shadow:none!important;border-radius:4px!important}.desktop-home-nav>a,.portal-header nav>a{letter-spacing:.015em}.geobus-home-nav .home-map-link,.portal-map-button,.guides-map-button{color:#fff!important;box-shadow:none!important;background:#17171a!important;border-radius:5px!important}.geobus-hero{border-bottom:1px solid #d8d2cd;min-height:690px;padding-top:80px;position:relative}.geobus-hero:before{background:var(--home-brand);content:"";width:5px;position:absolute;top:78px;bottom:82px;left:0}.hero-kicker{text-transform:uppercase;color:var(--home-brand)!important;letter-spacing:.14em!important;background:0 0!important;border-radius:0!important;padding:0!important}.geobus-hero h1{letter-spacing:-.065em;max-width:760px;font-weight:850}.geobus-hero-copy>p{color:#5f5e62}.hero-actions a{box-shadow:none!important;border-radius:5px!important}.hero-primary{background:var(--home-brand)!important}.hero-secondary{color:#27272b!important;background:0 0!important;border-color:#bdb6b0!important}.geobus-map-card{color:#fff!important;background:#17171a!important;border:1px solid #26262a!important;border-radius:8px!important;transform:rotate(-1deg)!important;box-shadow:16px 16px #df3028!important}.geobus-map-card:hover{transform:rotate(0)translate(-4px,-4px)!important;box-shadow:20px 20px #df3028!important}.map-card-surface{background-color:#ddd7d0!important;background-image:linear-gradient(25deg,#0000 46%,#f7f5f2 47% 51%,#0000 52%),linear-gradient(110deg,#0000 45%,#f7f5f2 46% 50%,#0000 51%),linear-gradient(#b0aaa355 1px,#0000 1px),linear-gradient(90deg,#b0aaa355 1px,#0000 1px)!important}.map-card-surface>img{object-fit:cover;width:100%;height:100%;display:block}.map-card-footer small{color:#aaa6a3!important}.map-card-footer>i{color:#fff!important;background:#df3028!important;border-radius:4px!important}.geobus-features{border-bottom:1px solid #d8d2cd;background:#f7f5f2!important}.home-live-strip{color:#fff;background:#df3028;border-bottom:1px solid #d8d2cd;grid-template-columns:repeat(4,1fr);padding:0 max(34px,50vw - 556px);display:grid}.home-live-strip span{border-right:1px solid #ffffff38;align-items:center;gap:12px;min-height:92px;padding:20px;font-size:12px;font-weight:800;line-height:1.25;display:flex}.home-live-strip span:last-child{border-right:0}.home-live-strip b{opacity:.62;font-size:10px;font-weight:900}.feature-heading span,.home-guides-preview>div:first-child>span{color:#df3028!important}.feature-grid{border-top:1px solid #bdb6b0;border-bottom:1px solid #bdb6b0;gap:0!important}.feature-grid article{min-height:240px;background:0 0!important;border:0!important;border-right:1px solid #bdb6b0!important;border-radius:0!important;padding:30px!important}.feature-grid article:last-child{border-right:0!important}.feature-grid article>i{color:#fff!important;background:#df3028!important;border-radius:4px!important}.arrival-demo{background:#17171a!important;border-radius:6px!important}.arrival-result{background:#df3028!important;border-radius:3px!important}.home-sections{border-bottom:1px solid #d8d2cd;background:#ece8e3!important}.home-section-grid{border-top:1px solid #bdb6b0;gap:0!important}.home-section-grid>a{box-shadow:none!important;background:0 0!important;border:0!important;border-bottom:1px solid #bdb6b0!important;border-radius:0!important;padding:26px 12px!important}.home-section-grid>a:hover{box-shadow:none!important;background:#f7f5f2!important;transform:none!important}.home-section-grid>a>i{color:#fff!important;background:#df3028!important;border-radius:4px!important}.home-guides-preview{border-bottom:1px solid #d8d2cd;background:#f7f5f2!important}.home-guide-links>a{border-bottom-color:#bdb6b0!important}.home-guide-links small,.home-guide-links svg{color:#df3028!important}.geobus-home-footer{color:#aaa6a3!important;background:#17171a!important}.geobus-home-footer a{color:#fff!important}.portal-page,.guides-page,.admin-gateway{color:#191a1e!important;background:#f7f5f2!important;height:auto!important;min-height:100dvh!important;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;overflow:hidden auto!important}.portal-intro,.guides-intro{border-left:5px solid #df3028}.portal-intro>span,.guides-intro>span,.city-card-copy small,.city-card.coming small,.article-card>small,.article-content>small,.guides-grid article>small{color:#df3028!important}.portal-intro h1,.guides-intro h1,.article-content>h1{font-weight:850}.city-cards,.article-grid,.guides-grid{gap:0!important}.city-card,.article-card,.guides-grid article{box-shadow:none!important;background:#fff!important;border:1px solid #cfc9c3!important;border-radius:0!important}.article-card:hover{box-shadow:none!important;background:#fff7f5!important;transform:none!important}.article-card.featured{color:#fff!important;background:#191a1e!important}.article-card.featured>small,.article-card.featured>span{color:#ff8a7f!important}.city-map-art:after,.city-map-art>i,.city-map-art>b{background:#df3028!important}.city-card-copy>strong,.article-card>span,.guides-grid a,.article-content .article-back{color:#df3028!important}.guides-grid article>i{color:#fff!important;background:#df3028!important;border-radius:4px!important}.guides-coming{background:#191a1e!important}.article-route-box{color:#9f1718!important;background:#fff0ee!important;border-radius:0!important}.article-route-box a{background:#df3028!important;border-radius:4px!important}.article-tip{background:#fff7f5!important;border-left-color:#df3028!important}.admin-gateway{color:#fff!important;background:#191a1e!important}.admin-gateway>header{border-bottom:1px solid #3c3938}.admin-gateway>header>a{color:#bbb5b0!important}.admin-gateway>header b{background:#df3028!important;border-radius:4px!important}.admin-kicker{color:#ff8a7f!important}.admin-hero>div>p,.admin-help{color:#aaa6a3!important}.admin-actions>a{border-radius:4px!important}.admin-primary{background:#df3028!important}.admin-secondary{color:#fff!important;background:0 0!important;border-color:#55504d!important}.admin-preview{background:#272629!important;border-color:#4b4643!important;border-radius:6px!important;transform:none!important;box-shadow:18px 18px #df3028!important}.admin-preview-top{border-bottom-color:#484446!important}.admin-preview-nav{background:#111114!important}.admin-preview-nav b{border-radius:2px!important}.admin-preview-body>div{background:#df3028!important;border-radius:3px!important}.admin-capabilities article{background:#242326!important;border-color:#484446!important;border-radius:0!important}.admin-capabilities i{color:#fff!important;background:#df3028!important;border-radius:4px!important}.admin-capabilities p{color:#aaa6a3!important}.app-shell .brand-mark,.app-shell .address-search-submit,.app-shell .follow-plan,.app-shell .location-help-retry,.app-shell .boarding-notice-marker>div{background:#df3028!important}.app-shell .boarding-notice-marker>div>i{color:#df3028!important}.app-shell .search-box,.app-shell>.arrival-card,.app-shell .route-menu,.app-shell .search-results,.app-shell .trip-address-panel{border-color:#d8d2cd!important;box-shadow:0 8px 24px #2416161a!important}.app-shell .search-box,.app-shell .route-menu-search,.app-shell .trip-point-field>input{border-radius:8px!important}.app-shell>.arrival-card,.app-shell .route-menu{border-radius:16px 16px 0 0!important}.app-shell .bottom-nav button.active,.app-shell .heading-actions button,.app-shell .search-map-pick{color:#df3028!important}.app-shell .bottom-nav button.active .nav-icon{background:#fff0ee!important}.app-shell .selected-stop-icon,.app-shell .field-actions button,.app-shell .nearby-routes button{color:#df3028!important;background:#fff0ee!important}.app-shell .map-location-control,.app-shell .map-help-control,.app-shell .map-language-control{border-radius:7px!important;box-shadow:0 4px 12px #2416161a!important}.app-shell .map-language-control{color:#fff!important;background:#df3028!important;border-color:#df3028!important}.app-shell .attractions-grid>button{grid-template-columns:34px minmax(0,1fr)!important}.app-shell .attraction-layer-toggle.active{color:#8f2926!important;background:#fff8f6!important;border-color:#ead5d1!important;box-shadow:inset 3px 0 #df3028!important}.app-shell .journey-plan.selected{background:snow!important;border-color:#df3028!important}.app-shell .point-trip-form .trip-point-field>input:focus{border-color:#df3028!important;box-shadow:0 0 0 3px #df302814!important}.app-shell>.arrival-card.idle-hidden{display:none!important}.pinned-map-stop{background:0 0;border:0}.pinned-map-stop-dot,.pinned-map-stop-halo{box-sizing:border-box;pointer-events:none;border-radius:50%;position:absolute;top:43px;left:50%;transform:translate(-50%,-50%)}.pinned-map-stop-dot{background:#df3028;border:3px solid #fff;width:14px;height:14px;box-shadow:0 1px 5px #43221f38}.pinned-map-stop-halo{background:#df30281a;border:1px solid #df30284d;width:28px;height:28px;animation:2.8s ease-in-out infinite pinned-stop-soft-pulse}.pinned-map-stop-badge{box-sizing:border-box;color:#c7352f;pointer-events:none;background:#fff;border:1px solid #e9c7c2;border-radius:8px;place-items:center;width:25px;height:25px;animation:3.2s ease-in-out infinite pinned-stop-float;display:grid;position:absolute;top:6px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #43221f1a}@keyframes pinned-stop-soft-pulse{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(.85)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.18)}}@keyframes pinned-stop-float{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-3px)}}@media (prefers-reduced-motion:reduce){.pinned-map-stop-halo,.pinned-map-stop-badge{animation:none}}.app-shell.idle-map-view .map-location-control{bottom:210px!important}.app-shell.idle-map-view .leaflet-control-zoom{margin-bottom:126px!important}.app-shell.native-map-shell.idle-map-view .map-help-control{bottom:84px!important}.app-shell .map-location-control.unavailable{color:#df3028!important;background:#fff0ee!important;border-color:#df3028!important}.app-shell .service-status-control{z-index:1200;top:calc(116px + env(safe-area-inset-top));right:var(--map-edge-gutter,14px);color:#df3028;background:#fff0ee;border:1px solid #df3028;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;box-shadow:0 4px 12px #2416161a}.app-shell .service-status-popover{z-index:1210;top:calc(158px + env(safe-area-inset-top));right:var(--map-edge-gutter,14px);color:#322628;background:#fff;border:1px solid #e4b5b0;border-radius:10px;flex-direction:column;gap:7px;width:min(290px,100% - 28px);padding:14px;display:flex;position:absolute;box-shadow:0 14px 36px #2416162e}.app-shell .service-status-popover>button:first-child{color:#776968;background:#f4efed;border:0;border-radius:7px;place-items:center;width:27px;height:27px;padding:0;display:grid;position:absolute;top:7px;right:7px}.app-shell .service-status-popover strong{padding-right:24px;font-size:12px}.app-shell .service-status-popover span{color:#766866;font-size:10px;line-height:1.45}.app-shell .service-status-popover .service-status-retry{color:#fff;background:#df3028;border:0;border-radius:6px;align-self:flex-start;min-height:32px;padding:0 12px;font-size:10px;font-weight:850}.app-shell .stop-trip-button{color:#fff!important;background:#df3028!important}.app-shell .stop-pin-button{color:#df3028!important;background:#fff!important;border-radius:8px!important;box-shadow:inset 0 0 0 1px #df3028!important}.app-shell .stop-pin-button.active{color:#fff!important;box-shadow:none!important;background:#df3028!important}.app-shell .route-pin{place-items:center;min-width:36px;height:36px;padding:0;display:grid}.app-shell button:is(.route-pin,.route-favourite),.app-shell button:is(.route-pin,.route-favourite):is(.active,:hover,:active){box-shadow:none!important;color:#df3028!important;background:0 0!important;border:0!important}.app-shell button:is(.route-pin,.route-favourite):focus-visible{outline-offset:2px;outline:2px solid #df3028}.app-shell .unified-route-grid>div{align-items:center!important;display:flex!important}.app-shell .unified-route-grid .route-open>.route-card-copy,.app-shell .suburban-favourite .route-open>.route-card-copy{white-space:normal;max-width:190px;overflow:visible}.app-shell .unified-route-grid .route-card-title,.app-shell .suburban-favourite .route-card-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.app-shell .unified-route-grid .route-service-summary,.app-shell .suburban-favourite .route-service-summary{text-overflow:clip;white-space:normal;max-width:100%;overflow:visible}.app-shell .route-open:disabled,.app-shell .route-compare:disabled{opacity:.55;cursor:default}.app-shell .onboarding-about{color:#776c69;background:0 0;border:0;align-self:center;margin:2px 16px 0;padding:5px 8px;font-size:9px;font-weight:750}.arrival-list,.route-menu-content,.route-menu-grid,.trip-address-panel,.search-results,.attractions-grid,.route-stop-list,.tracked-stop-list,.suburban-stop-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#c7beba transparent;min-height:0;overflow-y:auto!important}@media (max-width:800px){.geobus-hero:before{display:none}.geobus-map-card{box-shadow:8px 8px #df3028!important}.home-live-strip{grid-template-columns:1fr 1fr;padding:0}.home-live-strip span{border-bottom:1px solid #ffffff38;min-height:72px}.feature-grid article{border-bottom:1px solid #bdb6b0!important;border-right:0!important}.feature-grid article:last-child{border-bottom:0!important}.portal-intro,.guides-intro{margin-left:20px;padding-left:20px!important}.admin-preview{box-shadow:8px 8px #df3028!important}}.app-shell .point-trip-form .field-actions button,.app-shell .point-trip-form .field-actions .field-clear-button,.app-shell .point-trip-form .swap-stops,.app-shell .trip-heading-actions button,.app-shell .stop-heading-actions button:not(.stop-pin-button),.app-shell .heading-actions .route-reset,.app-shell .suburban-sheet-heading .heading-actions .route-reset,.app-shell .route-menu header>button,.app-shell .location-help-close,.app-shell .map-choice-close,.app-shell .onboarding-close,.app-shell .active-route-close,.app-shell .trip-address-panel-heading button,.app-shell .search-box>button:not(.address-search-submit){color:#df3028!important;box-shadow:none!important;background:#fff0ee!important;place-items:center!important;padding:0!important;display:grid!important}.app-shell .route-menu header>button{border-radius:8px;width:32px;height:32px}.app-shell .search-box>button:not(.address-search-submit){border-radius:8px!important;width:34px!important;height:34px!important}.app-shell .point-trip-form .field-actions button svg,.app-shell .swap-stops svg,.app-shell .route-menu header>button svg,.app-shell .search-box>button svg{flex-shrink:0;display:block}.app-shell .onboarding-card{overscroll-behavior:contain;max-height:calc(100dvh - 36px);overflow-y:auto}.app-shell .onboarding-visual.stop-tools-visual{color:#242326;background:#f5f3f2;height:auto;min-height:250px}.stop-tools-visual .onboarding-main-icon,.stop-tools-visual:before,.stop-tools-visual:after{display:none}.stop-tools-tutorial{flex-direction:column;gap:9px;min-height:250px;padding:12px;font-size:11px;display:flex;position:relative}.stop-tools-tutorial>header,.tutorial-pip-launch>header{align-items:center;gap:6px;min-height:37px;display:flex}.stop-tools-tutorial>header>strong,.tutorial-pip-launch>header>b{overflow-wrap:anywhere;flex:1;min-width:0;font-size:11px;line-height:1.3}.stop-tools-tutorial>header>svg{color:#df3028;flex-shrink:0}.stop-tools-tutorial>header>div{gap:5px;display:flex}.stop-tools-tutorial button{color:#c7352f;background:#fff;border:1px solid #e9d2ce;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:34px;min-height:34px;padding:6px;font-size:10px;font-weight:750;display:flex;position:relative}.stop-tools-tutorial button:disabled{opacity:.35;cursor:default}.stop-tools-tutorial button.active{color:#fff;background:#df3028}.stop-tools-tutorial button:focus-visible{outline-offset:3px;outline:2px solid #242326}.tutorial-action-target{animation:1.8s ease-in-out infinite tutorial-target-glow}.tutorial-hand{color:#df3028;background:#fff;border-radius:5px;width:20px;height:20px;padding:2px;animation:1.8s ease-in-out infinite tutorial-hand-tap;position:absolute;bottom:-8px;right:-5px}.tutorial-arrival-rows{gap:5px;display:grid}.tutorial-arrival-rows>div{background:#fff;border-radius:7px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:32px;padding:4px 7px;display:grid}.tutorial-arrival-rows b{color:#fff;background:#df3028;border-radius:6px;place-items:center;min-height:26px;font-size:12px;display:grid}.tutorial-arrival-rows span{color:#696569;white-space:nowrap;font-size:11px}.tutorial-arrival-rows strong{color:#242326;white-space:nowrap;font-size:12px}.tutorial-example-note{color:#766d6b;text-align:center;margin-top:auto;font-size:9px;line-height:1.3;display:block}.onboarding-real-example{color:#766d6b;grid-column:1/-1;font-size:8px}.tutorial-destination{gap:7px;display:grid}.tutorial-destination>span{color:#797174;background:#fff;border:1px solid #e5d8d5;border-radius:9px;flex-direction:column;gap:3px;padding:9px 11px;display:flex}.tutorial-destination>span>b{color:#242326}.tutorial-destination>p{margin:0;font-size:10px;line-height:1.4}.tutorial-pinned-result{background:#fff0ee;border-radius:9px;align-items:center;gap:8px;padding:6px;display:flex}.tutorial-pinned-result>span:nth-child(2){flex:1;font-size:9px;line-height:1.35}.tutorial-floating-pin{color:#df3028;background:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:27px;height:27px;animation:2.8s ease-in-out infinite tutorial-pin-float;display:grid}.stop-tools-tutorial .tutorial-restore{flex-direction:column;align-self:center;width:65px;height:65px;margin:auto}.tutorial-platform{color:#766d6b;font-size:9px}.stop-tools-tutorial .tutorial-launch{align-self:center;margin:auto;padding:12px}.tutorial-notification{background:#fff;border:1px solid #e2dcda;border-radius:14px;padding:9px}.tutorial-notification>header{align-items:center;gap:5px;margin-bottom:6px;font-size:10px;line-height:1.3;display:flex}.tutorial-notification>header>svg{color:#df3028;flex-shrink:0}.tutorial-notification .tutorial-arrival-rows>div{background:#f8f7f6;min-height:27px;padding:2px 4px}.tutorial-notification .tutorial-arrival-rows b{min-height:23px;font-size:11px}.tutorial-notification>footer{gap:12px;margin-top:6px;display:flex}.tutorial-notification>footer>button{background:0 0;border:0;min-height:25px;padding:3px}.tutorial-pip-launch{background:#fff;border:1px solid #e1d6d2;border-radius:12px;padding:8px}.tutorial-pip-launch .tutorial-arrival-rows>div{background:#f7f6f5}.tutorial-other-app{background:#eae7e5;border:1px solid #dfd9d6;border-radius:12px;flex:1;min-height:170px;padding:10px;position:relative}.tutorial-other-app>span{color:#8b8381;font-size:11px;display:block}.tutorial-pip-window{background:#fff;border:1px solid #e0dad7;border-radius:9px;width:min(220px,100% - 18px);padding:7px;animation:.35s ease-out tutorial-pip-enter;position:absolute;bottom:9px;right:9px;box-shadow:0 7px 20px #32242326}.tutorial-pip-window .tutorial-arrival-rows>div{background:#f7f7f8}@keyframes tutorial-target-glow{50%{box-shadow:0 0 0 5px #df30281a}}@keyframes tutorial-hand-tap{50%{transform:translate(-2px,-2px)}}@keyframes tutorial-pin-float{50%{transform:translateY(-3px);box-shadow:0 0 0 5px #df302814}}@keyframes tutorial-pip-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.tutorial-action-target,.tutorial-hand,.tutorial-floating-pin,.tutorial-pip-window{animation:none}}.app-shell .map-tool-area{z-index:1000;pointer-events:none;position:absolute;inset:0}.app-shell .map-places-control{display:none!important}.app-shell .map-tool-rail{top:50%;right:var(--map-edge-gutter,14px);scrollbar-width:none;pointer-events:auto;flex-direction:column;gap:8px;width:40px;max-height:calc(100% - 24px);display:flex;position:absolute;overflow-y:auto;transform:translateY(calc(48px - 50%))}.map-tool-rail::-webkit-scrollbar{display:none}.map-zoom-slot{flex-shrink:0;min-height:80px}.map-board-slot{flex-shrink:0;height:40px}html body .app-shell .map-tool-rail :is(.map-location-control,.map-places-rail-control,.map-settings-control,.map-help-control,.pinned-stop-restore-control){flex-shrink:0;width:40px!important;height:40px!important;color:var(--brand)!important;box-shadow:none!important;background:#fff!important;border:1px solid #ded8d4!important;border-radius:7px!important;place-items:center!important;margin:0!important;padding:0!important;display:grid!important;position:static!important;inset:auto!important;transform:none!important}html body .app-shell .map-tool-rail :is(.map-places-rail-control,.map-settings-control).active{color:#df3028!important;background:#fff0ee!important;border-color:#edaaa6!important}html body .app-shell .map-tool-rail button svg{width:20px;height:20px}html body .app-shell .map-tool-area .map-tool-rail .map-zoom-slot .leaflet-control-zoom{float:none!important;width:40px!important;box-shadow:none!important;border:1px solid #ded8d4!important;border-radius:7px!important;margin:0!important;overflow:hidden!important}html body .app-shell .map-tool-rail .leaflet-control-zoom a{width:38px!important;height:39px!important;color:var(--brand)!important;background:#fff!important}html body .app-shell .map-tool-rail .leaflet-control-zoom a+a{border-top:1px solid #ded8d4!important}html body .app-shell .map-tool-rail .leaflet-control-zoom a.leaflet-disabled{color:#aaa!important}html body .app-shell .map-tool-rail :is(button,a):focus-visible{outline:2px solid var(--brand);outline-offset:-3px}html body .app-shell .map-tool-rail :is(button,a):active{background:#fff0ee!important}html body .app-shell .map-tool-rail .map-location-control.unavailable{color:#df3028!important;background:#fff0ee!important;border-color:#df3028!important}.app-shell .map-settings-popover{top:50%;right:calc(var(--map-edge-gutter,14px) + 52px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#fffdfbf7;border:1px solid #ded8d4;border-radius:14px;gap:4px;width:min(310px,100% - 86px);padding:10px;display:grid;position:absolute;transform:translateY(-20%);box-shadow:0 14px 38px #24161626}.app-shell .map-settings-popover header{justify-content:space-between;align-items:center;padding:2px 4px 7px 8px;display:flex}.app-shell .map-settings-popover header strong{font-size:14px}.app-shell .map-settings-popover header button{color:#6e7778;background:#f5efeb;border:0;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;display:grid}.app-shell .map-settings-popover label{color:#262627;background:#f8f5f2;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:7px 8px;font-size:12px;font-weight:700;line-height:1.3;display:flex}.app-shell .map-settings-popover label.disabled{opacity:.48}.app-shell .map-settings-popover input{width:38px;height:22px;accent-color:var(--brand);flex:none}.app-shell.native-map-shell.stop-board-view .map-tool-area{height:50dvh;max-height:100%;bottom:auto}@media (max-width:999px){.app-shell.browser-map-shell.stop-board-view .map-tool-area{height:50dvh;max-height:100%;bottom:auto}.app-shell .map-settings-popover{right:calc(var(--map-edge-gutter,14px) + 50px);transform:translateY(12%)}}@media (min-width:1000px){.app-shell.browser-map-shell .map-tool-rail{right:18px}}.activity-indicator{max-width:100%;color:inherit;vertical-align:middle;align-items:center;gap:8px;font-size:12px;line-height:1.4;display:inline-flex}.activity-indicator>span:last-child{overflow-wrap:anywhere;min-width:0}.activity-spinner{will-change:transform;border:2px solid;border-right-color:#0000;border-radius:50%;flex:0 0 17px;width:17px;height:17px;animation:.8s linear infinite geobus-activity-spin;display:block}.activity-indicator.compact{font-size:inherit;gap:6px}.activity-indicator.compact .activity-spinner{flex-basis:13px;width:13px;height:13px}.app-shell .trip-activity{color:#a52b25;background:#fff8f6;border:1px solid #eed7d3;border-radius:8px;margin:8px 0;padding:10px 12px}.app-shell .empty-arrival .activity-indicator{justify-content:center}.app-shell .address-search-submit .activity-indicator{font-size:inherit}@keyframes geobus-activity-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.activity-spinner{will-change:auto;animation:none}}.seo-home{--seo-red:#e33b3f;color:#151517;background:#fff}.seo-nav{max-width:1320px;padding:20px 34px}.seo-nav .geobus-wordmark{gap:9px}.seo-nav .geobus-wordmark small{color:#8a837e;letter-spacing:.18em;margin-left:3px;font-size:8px;font-weight:900}.seo-mobile-map-link,.seo-mobile-tools{display:none}.seo-language-switcher{align-items:center;gap:7px;display:inline-flex}.seo-language-switcher a,.seo-language-switcher b{color:#8a837e;letter-spacing:.09em;font-size:8px;font-weight:900;text-decoration:none}.seo-language-switcher b{color:#fff;background:#df3028;border-radius:2px;padding:5px 6px}.seo-language-switcher a:hover{color:#df3028}.seo-hero{background:var(--seo-red);color:#fff;grid-template-columns:minmax(0,.86fr) minmax(460px,1.14fr);align-items:center;gap:82px;max-width:none;min-height:720px;margin:0;padding:78px max(34px,50vw - 626px) 92px;display:grid}.seo-hero-copy{z-index:1;position:relative}.seo-eyebrow{color:#fff;letter-spacing:.17em;align-items:center;gap:9px;font-size:11px;font-weight:900;display:flex}.seo-eyebrow i{background:#fff;width:30px;height:2px}.seo-hero h1{letter-spacing:-.07em;margin:24px 0 23px;font-size:clamp(56px,6.2vw,94px);font-weight:900;line-height:.9}.seo-hero h1 em{color:#fff;font-style:normal}.seo-hero-copy>p{color:#ffe9e8;max-width:600px;margin:0;font-size:18px;line-height:1.6}.seo-hero-actions{align-items:center;gap:23px;margin-top:32px;display:flex}.seo-primary-cta{color:#c9252a;letter-spacing:.025em;white-space:nowrap;background:#fff;border:1px solid #fff;border-radius:8px;flex-shrink:0;align-items:center;gap:10px;min-height:56px;padding:0 20px;font-size:13px;font-weight:900;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:7px 7px #171719}.seo-primary-cta:hover{transform:translate(3px,3px);box-shadow:4px 4px #171719}.seo-text-link{color:#fff;white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;font-size:13px;font-weight:850;text-decoration:none;display:inline-flex}.seo-checks{flex-wrap:wrap;gap:10px 22px;margin:30px 0 0;padding:0;list-style:none;display:flex}.seo-checks li{color:#fff;align-items:center;gap:5px;font-size:11px;font-weight:750;display:flex}.seo-checks svg{color:#fff}.seo-hero-visual{background:var(--seo-red);color:#fff;border:4px solid #fff;border-radius:48px;padding:14px;text-decoration:none;display:block;position:relative;overflow:hidden}.seo-hero-visual img{aspect-ratio:1.42;object-fit:cover;object-position:78% center;border-radius:32px;width:100%;height:auto;display:block}.seo-visual-status{color:#26262a;letter-spacing:.12em;background:#fff;border-radius:8px;align-items:center;gap:7px;padding:10px 13px;font-size:9px;font-weight:900;display:flex;position:absolute;top:32px;left:32px}.seo-visual-status i{background:var(--seo-red);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #e33b3f35}.seo-visual-cta{background:var(--seo-red);color:#fff;letter-spacing:.08em;white-space:nowrap;border-radius:8px;align-items:center;gap:9px;padding:13px 15px;font-size:10px;font-weight:900;display:flex;position:absolute;bottom:32px;right:32px}.seo-ticker{background:#fff;border-top:1px solid #c8c1bb;border-bottom:1px solid #c8c1bb;grid-template-columns:repeat(4,1fr);padding:0 max(34px,50vw - 626px);display:grid}.seo-ticker span{color:#df3028;border-right:1px solid #d8d2cd;align-items:center;gap:13px;min-height:82px;padding:20px;font-size:9px;font-weight:900;display:flex}.seo-ticker span:last-child{border-right:0}.seo-ticker b{color:#29282a;letter-spacing:.07em;font-size:10px}.seo-features{background:#fff;padding:112px max(34px,50vw - 626px)}.seo-section-heading{grid-template-columns:.75fr 1.25fr;align-items:start;gap:45px;margin-bottom:52px;display:grid}.seo-section-heading>span,.seo-explainer-title>span,.seo-final-cta>span{color:var(--seo-red);letter-spacing:.18em;font-size:10px;font-weight:900}.seo-section-heading h2,.seo-explainer h2{letter-spacing:-.055em;margin:0;font-size:clamp(42px,5vw,68px);font-weight:880;line-height:.98}.seo-section-heading>p{color:#68676a;max-width:450px;margin:6px 0 0;font-size:15px;line-height:1.65}.seo-feature-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.seo-feature-grid article{background:#f1f1f1;border:0;border-radius:18px;flex-direction:column;min-height:310px;padding:28px;display:flex}.seo-feature-grid article>small{color:#999;letter-spacing:.12em;font-size:9px;font-weight:900}.seo-feature-grid article>i{background:var(--seo-red);color:#fff;border-radius:12px;place-items:center;width:50px;height:50px;margin:48px 0 28px;display:grid}.seo-feature-grid h3{margin:0;font-size:20px}.seo-feature-grid p{color:#68676a;margin:10px 0 0;font-size:13px;line-height:1.6}.seo-explainer{color:#171719;background:#f4f4f4;border-top:1px solid #ddd;grid-template-columns:.9fr 1.1fr;gap:90px;padding:110px max(34px,50vw - 626px);display:grid}.seo-explainer-title>span{color:var(--seo-red)}.seo-explainer h2{margin-top:17px}.seo-explainer-copy{padding-top:20px}.seo-explainer-copy p{color:#626166;margin:0 0 20px;font-size:15px;line-height:1.75}.seo-explainer-copy a{color:var(--seo-red);align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.seo-how{background:var(--seo-red);color:#fff;padding:110px max(34px,50vw - 626px)}.seo-how .seo-section-heading>span{color:#fff}.seo-how .seo-section-heading{grid-template-columns:.75fr 1.25fr}.seo-how ol{border-top:2px solid #fff;border-left:2px solid #fff;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.seo-how li{border-bottom:2px solid #fff;border-right:2px solid #fff;gap:20px;min-height:270px;padding:32px;display:flex}.seo-how li>i{width:50px;height:50px;color:var(--seo-red);background:#fff;border-radius:12px;flex:0 0 50px;place-items:center;display:grid}.seo-how li>span{flex-direction:column;display:flex}.seo-how small{color:#fff;letter-spacing:.14em;font-size:9px;font-weight:900}.seo-how h3{margin:28px 0 10px;font-size:21px;line-height:1.15}.seo-how p{color:#ffe9e8;margin:0;font-size:13px;line-height:1.6}.seo-audience{background:#fff;grid-template-columns:repeat(3,1fr);padding:0 max(34px,50vw - 626px);display:grid}.seo-audience>div{border-right:1px solid #d0c9c3;grid-template-columns:36px 1fr;align-content:center;gap:7px 15px;min-height:170px;padding:33px;display:grid}.seo-audience>div:last-child{border-right:0}.seo-audience svg{color:#df3028;grid-row:1/3}.seo-audience strong{font-size:16px}.seo-audience p{color:#716b67;margin:0;font-size:12px;line-height:1.5}.seo-faq{background:#f8f6f3;grid-template-columns:.72fr 1.28fr;gap:80px;padding:105px max(34px,50vw - 626px);display:grid}.seo-faq .seo-section-heading{margin:0;display:block}.seo-faq .seo-section-heading h2{margin-top:14px}.seo-faq details{border-top:1px solid #bbb3ad}.seo-faq details:last-child{border-bottom:1px solid #bbb3ad}.seo-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:24px 4px;font-size:16px;font-weight:850;list-style:none;display:flex}.seo-faq summary::-webkit-details-marker{display:none}.seo-faq summary b{color:#fff;background:#171719;border-radius:2px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.seo-faq details[open] summary b{background:#df3028;transform:rotate(45deg)}.seo-faq details p{color:#6d6763;max-width:700px;margin:-6px 55px 23px 4px;font-size:14px;line-height:1.7}.seo-final-cta{text-align:center;background:#fff;padding:100px 34px}.seo-final-cta h2{letter-spacing:-.055em;margin:15px 0 12px;font-size:clamp(40px,5vw,68px)}.seo-final-cta p{color:#706a66;margin:0 0 28px;font-size:16px}.seo-final-cta a{color:#fff;letter-spacing:.03em;background:#df3028;border-radius:4px;align-items:center;gap:10px;min-height:56px;padding:0 22px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:7px 7px #171719}.seo-footer{grid-template-columns:1fr 1fr;align-items:end;gap:18px 40px;padding-top:45px!important;padding-bottom:45px!important;display:grid!important}.seo-footer .geobus-wordmark{color:#fff}.seo-footer .geobus-wordmark span{width:34px;height:34px}.seo-footer p{color:#aaa6a3;margin:0;font-size:12px}.seo-footer nav{flex-wrap:wrap;grid-column:1/3;gap:20px;display:flex}.seo-footer small{text-align:right;color:#74706d;grid-area:1/2}@media (max-width:900px){.seo-nav{padding:15px 20px}.seo-nav .desktop-home-nav{display:none}.seo-mobile-tools{align-items:center;gap:10px;display:flex}.seo-mobile-map-link{color:#fff;letter-spacing:.08em;background:#171719;border-radius:3px;align-items:center;gap:6px;padding:9px 11px;font-size:9px;font-weight:900;text-decoration:none;display:flex}.seo-hero{grid-template-columns:1fr;gap:52px;min-height:auto;padding:62px 20px 74px}.seo-hero h1{font-size:clamp(49px,13vw,76px)}.seo-hero-visual{border-radius:34px;max-width:720px;padding:10px}.seo-hero-visual img{border-radius:23px}.seo-visual-status{top:23px;left:23px}.seo-visual-cta{bottom:23px;right:23px}.seo-ticker{grid-template-columns:1fr 1fr;padding:0}.seo-ticker span{border-bottom:1px solid #d8d2cd;min-height:64px}.seo-features,.seo-how{padding:72px 20px}.seo-section-heading{display:block}.seo-section-heading h2{margin-top:13px}.seo-section-heading>p{margin-top:18px}.seo-feature-grid{grid-template-columns:1fr 1fr}.seo-feature-grid article{min-height:250px}.seo-feature-grid article>i{margin:30px 0 22px}.seo-explainer{grid-template-columns:1fr;gap:34px;padding:72px 20px}.seo-how .seo-section-heading{display:block}.seo-how ol{grid-template-columns:1fr}.seo-how li{min-height:190px}.seo-audience{grid-template-columns:1fr;padding:0 20px}.seo-audience>div{border-bottom:1px solid #d0c9c3;border-right:0;min-height:130px}.seo-faq{grid-template-columns:1fr;gap:38px;padding:72px 20px}.seo-final-cta{padding:72px 20px}.seo-footer{grid-template-columns:1fr!important}.seo-footer nav{grid-column:1}.seo-footer small{text-align:left;grid-area:auto/1}}@media (max-width:1180px) and (min-width:901px){.seo-hero{grid-template-columns:1fr;gap:58px;min-height:auto;padding-top:70px}.seo-hero-copy{max-width:850px}.seo-hero-copy>p{max-width:720px}.seo-hero-visual{width:min(100%,980px)}.seo-hero-visual img{aspect-ratio:1.72;object-position:72% center}}@media (max-width:540px){.seo-nav .geobus-wordmark small{display:none}.seo-mobile-tools{gap:6px}.seo-language-switcher{gap:4px}.seo-language-switcher a,.seo-language-switcher b{font-size:7px}.seo-hero{padding-top:42px}.seo-hero-copy>p{font-size:16px}.seo-hero-actions{flex-direction:column;align-items:stretch}.seo-primary-cta{text-align:center;justify-content:center}.seo-text-link,.seo-checks{justify-content:center}.seo-visual-status{top:10px;left:10px}.seo-visual-cta{bottom:10px;right:10px}.seo-feature-grid{grid-template-columns:1fr}.seo-feature-grid article{min-height:225px}.seo-how li{padding:24px 20px}.seo-faq summary{font-size:14px}.seo-footer nav{flex-direction:column;align-items:flex-start}}.analytics-admin{color:#f5f3f1;background:#111114;min-height:100dvh;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-y:auto}.analytics-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#111114e8;border-bottom:1px solid #343237;justify-content:space-between;align-items:center;padding:18px max(24px,50vw - 600px);display:flex;position:sticky;top:0}.analytics-header>div{align-items:center;gap:18px;display:flex}.analytics-header a{color:#aaa6a3;align-items:center;gap:7px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.analytics-header>div>span{border-left:1px solid #444147;padding-left:18px;font-weight:850}.analytics-periods{background:#1d1c20;border:1px solid #3b383d;border-radius:8px;padding:4px}.analytics-periods button{color:#aaa6a3;background:0 0;border:0;border-radius:5px;min-height:36px;padding:0 13px;font-size:13px;font-weight:750}.analytics-periods button.active{color:#fff;background:#df3028}.analytics-periods button.refresh{place-items:center;min-width:36px;padding:0;display:grid}.analytics-title{justify-content:space-between;align-items:flex-end;max-width:1200px;margin:auto;padding:54px 24px 28px;display:flex}.analytics-title small{color:#ff887f;text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.analytics-title h1{letter-spacing:-.055em;margin:12px 0 8px;font-size:clamp(36px,5vw,64px)}.analytics-title p{color:#aaa6a3;margin:0;font-size:16px}.analytics-title time{color:#817d7a;font-size:13px}.analytics-state{color:#aaa6a3;text-align:center;max-width:1200px;margin:20px auto;padding:40px 24px}.analytics-state.error{color:#ff887f}.analytics-kpis{grid-template-columns:repeat(4,1fr);gap:12px;max-width:1200px;margin:auto;padding:0 24px 16px;display:grid}.analytics-kpis article,.analytics-card{background:#1c1b1f;border:1px solid #373439}.analytics-kpis article{min-height:170px;padding:20px;position:relative;overflow:hidden}.analytics-kpis article>i{color:#6d6868;position:absolute;top:18px;right:18px}.analytics-kpis article>i svg{width:20px}.analytics-kpis article>span{color:#aaa6a3;font-size:13px;display:block}.analytics-kpis article>strong{letter-spacing:-.05em;margin:25px 0 6px;font-size:42px;line-height:1;display:block}.analytics-kpis article>strong em{letter-spacing:0;font-size:17px;font-style:normal}.analytics-kpis article>small{color:#817d7a;font-size:12px}.analytics-grid{grid-template-columns:1.45fr 1fr;gap:12px;max-width:1200px;margin:auto;padding:0 24px 16px;display:grid}.analytics-card{padding:22px}.card-heading{justify-content:space-between;align-items:center;display:flex}.card-heading>div{align-items:center;gap:11px;display:flex}.card-heading svg{color:#df3028}.card-heading span{flex-direction:column;gap:3px;display:flex}.card-heading strong{font-size:16px}.card-heading small{color:#817d7a;font-size:12px}.daily-chart{align-items:stretch;gap:8px;height:220px;margin-top:27px;display:flex}.daily-column{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.daily-column .bars{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:170px;display:flex}.daily-column .bars i,.daily-column .bars b{border-radius:3px 3px 0 0;width:min(14px,38%);display:block}.daily-column .bars i{background:#f4f0ec}.daily-column .bars b{background:#df3028}.daily-column>span{color:#817d7a;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.daily-column>small{color:#d8d3cf;font-size:11px;font-weight:800}.chart-legend{color:#817d7a;justify-content:flex-end;gap:15px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.chart-legend i,.chart-legend b{background:#f4f0ec;border-radius:2px;width:8px;height:8px;display:block}.chart-legend b{background:#df3028}.split-lists{grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;display:grid}.split-lists h3{color:#817d7a;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;font-size:11px}.split-lists p{border-bottom:1px solid #302e32;justify-content:space-between;align-items:center;margin:0;padding:11px 0;font-size:13px;display:flex}.split-lists p strong{color:#fff}.funnel-card{max-width:1152px;margin:0 auto 16px}.funnel{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:24px;display:grid}.funnel>div{background:#262429;min-height:125px;padding:14px;position:relative;overflow:hidden}.funnel>div>span{color:#aaa6a3;background:#3a373c;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.funnel>div>strong{margin:17px 0 4px;font-size:29px;display:block}.funnel>div>small{color:#aaa6a3;font-size:12px}.funnel>div>i{background:#df3028;height:4px;position:absolute;bottom:0;left:0}.rankings{grid-template-columns:1fr 1fr}.ranking-list{margin-top:20px}.ranking-list>div{border-bottom:1px solid #302e32;gap:12px;padding:12px 0;display:flex}.ranking-list>div>b{color:#817d7a;border:1px solid #454147;flex:0 0 28px;place-items:center;height:28px;font-size:11px;display:grid}.ranking-list>div>span{flex-direction:column;flex:1;gap:4px;min-width:0;padding-bottom:6px;display:flex;position:relative}.ranking-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.ranking-list small{color:#817d7a;font-size:11px}.ranking-list i{background:#df3028;height:2px;position:absolute;bottom:0;left:0}.stop-ranking strong{white-space:normal;line-height:1.3}.empty-analytics{color:#817d7a;text-align:center;padding:55px 10px;font-size:13px}.action-card{max-width:1152px;margin:0 auto 16px}.action-table{margin-top:18px}.action-table>div{border-bottom:1px solid #302e32;grid-template-columns:1fr 110px 80px;align-items:center;padding:12px 8px;display:grid}.action-table>div:first-child{color:#817d7a;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.action-table span{font-size:13px}.action-table strong{text-align:right;font-size:13px}.analytics-note{color:#6f6a69;max-width:1152px;margin:0 auto;padding:3px 0 55px;font-size:12px;line-height:1.55}:is(.analytics-admin button:focus-visible,.analytics-admin a:focus-visible){outline-offset:2px;outline:2px solid #ff887f}@media (max-width:850px){.analytics-header{flex-direction:column;align-items:flex-start;gap:13px;padding:14px 16px}.analytics-header>div:first-child{justify-content:space-between;width:100%}.analytics-header>div>span{border:0}.analytics-periods{width:100%;overflow-x:auto}.analytics-periods button{white-space:nowrap;flex:1}.analytics-title{flex-direction:column;align-items:flex-start;gap:12px;padding:35px 16px 22px}.analytics-title p{font-size:14px}.analytics-kpis{grid-template-columns:1fr 1fr;padding:0 16px 12px}.analytics-grid{grid-template-columns:1fr;padding:0 16px 12px}.funnel-card,.action-card{margin:0 16px 12px}.funnel{grid-template-columns:1fr 1fr}.analytics-note{padding:3px 16px 40px}.daily-chart{overflow-x:auto}.daily-column{min-width:42px}.analytics-kpis article{min-height:150px;padding:16px}.analytics-kpis article>strong{font-size:34px}}@media (max-width:470px){.analytics-kpis{grid-template-columns:1fr}.analytics-kpis article{min-height:135px}.split-lists,.funnel{grid-template-columns:1fr}.funnel>div{min-height:100px}.action-table>div{grid-template-columns:1fr 68px 48px}.analytics-periods button{padding:0 10px;font-size:12px}}.daily-column{cursor:default;outline:none;position:relative}.daily-column:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #ff887f}.daily-tooltip{z-index:5;pointer-events:none;opacity:0;color:#d8d3cf;background:#111114f5;border:1px solid #4b474d;border-radius:8px;flex-direction:column;gap:7px;width:184px;padding:12px;font-size:12px;transition:opacity .15s,transform .15s;display:flex;position:absolute;bottom:55px;left:50%;transform:translate(-50%,8px);box-shadow:0 10px 28px #0008}.daily-tooltip>strong{color:#fff;text-transform:capitalize;margin-bottom:2px;font-size:12px}.daily-tooltip>span{grid-template-columns:8px 1fr auto;align-items:center;gap:7px;display:grid}.daily-tooltip>span>b{color:#fff}.daily-tooltip .tooltip-dot{background:#f4f0ec;border-radius:2px;width:7px;height:7px;display:block}.daily-tooltip .tooltip-dot.sessions{background:#817d7a}.daily-tooltip .tooltip-dot.actions{background:#df3028}.daily-column:hover .daily-tooltip,.daily-column:focus .daily-tooltip{opacity:1;transform:translate(-50%)}.heatmap-card,.telegram-card,.feedback-card{max-width:1152px;margin:0 auto 16px}.heatmap-scroll{margin-top:24px;padding:2px 2px 8px;overflow-x:auto}.activity-heatmap{flex-direction:column;gap:5px;min-width:820px;display:flex}.heatmap-hours,.heatmap-row{grid-template-columns:34px repeat(24,1fr);gap:4px;display:grid}.heatmap-hours b{color:#6f6a69;font-size:8px;font-weight:650}.heatmap-row>strong{color:#aaa6a3;align-self:center;font-size:10px}.heatmap-row>i{height:22px;opacity:var(--heat);background:#df3028;border-radius:3px;outline:none;transition:opacity .15s,transform .15s;display:block}.heatmap-row>i:hover,.heatmap-row>i:focus{z-index:1;opacity:1;outline-offset:1px;outline:2px solid #fff;transform:scale(1.16)}.telegram-metrics{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:22px;display:grid}.telegram-metrics>div{background:#252328;border:1px solid #343137;min-height:130px;padding:16px;display:grid;position:relative}.telegram-metrics svg{color:#6f6a69;width:18px;position:absolute;top:15px;right:15px}.telegram-metrics strong{font-size:31px}.telegram-metrics span{color:#eee9e5;align-self:end;font-size:12px;font-weight:750}.telegram-metrics small{color:#817d7a;margin-top:5px;font-size:10px}.feedback-list{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:20px;display:grid}.feedback-list article{background:#252328;border:1px solid #343137;padding:16px}.feedback-list header{justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-list header strong{color:#ff887f;font-size:11px}.feedback-list time,.feedback-list article>small{color:#817d7a;font-size:10px}.feedback-list p{color:#eee9e5;white-space:pre-wrap;overflow-wrap:anywhere;margin:13px 0;font-size:13px;line-height:1.5}@media (max-width:850px){.heatmap-card,.telegram-card,.feedback-card{margin:0 16px 12px}.telegram-metrics{grid-template-columns:1fr 1fr}.feedback-list{grid-template-columns:1fr}}@media (max-width:470px){.telegram-metrics{grid-template-columns:1fr}.telegram-metrics>div{min-height:105px}}.split-lists p>span{flex-direction:column;gap:3px;min-width:0;display:flex}.split-lists p>span>small{color:#6f6a69;font-size:9px}.split-lists p>strong{white-space:nowrap}
