*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Pretendard,Malgun Gothic,sans-serif;background-color:#f8fafc;color:#0f172a}.app-shell{display:flex;flex-direction:column;min-height:100dvh;width:100%;max-width:800px;margin:0 auto;overflow-x:hidden;background:#fff;box-shadow:0 0 24px #0f172a14}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:#1d4ed8;color:#fff}.brand{display:flex;align-items:center;gap:.5rem}.brand-badge{font-size:.72rem;font-weight:700;background:#ffffff38;padding:.2rem .5rem;border-radius:999px}.brand-title{font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.city-selector select{background:#1e40af;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:.5rem;padding:.35rem .6rem;font-size:.85rem}.search-panel{position:relative;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;background:#fff;display:flex;flex-direction:column;gap:.45rem;z-index:10}.field-row{display:flex;align-items:center;gap:.5rem}.field-label{font-size:.82rem;font-weight:700;color:#334155;min-width:2.3rem}.text-input{flex:1;padding:.5rem .7rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.9rem}.text-input:focus{outline:2px solid #2563eb;border-color:transparent}.primary-btn,.secondary-btn{padding:.5rem .8rem;border-radius:.5rem;font-size:.82rem;font-weight:600;cursor:pointer;border:none;white-space:nowrap}.primary-btn{background:#1d4ed8;color:#fff}.secondary-btn{background:#e2e8f0;color:#1e293b}.link-btn{margin-top:.35rem;background:none;border:none;color:#2563eb;font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:underline}.status-text{font-size:.78rem;color:#64748b;line-height:1.4}.places-list{list-style:none;border:1px solid #cbd5e1;border-radius:.5rem;max-height:190px;overflow-y:auto;background:#f8fafc}.autocomplete-header{font-size:.72rem;font-weight:600;color:#475569;padding:.35rem .75rem;background:#e2e8f0}.place-item{width:100%;text-align:left;padding:.55rem .75rem;border:none;border-bottom:1px solid #e2e8f0;background:transparent;display:flex;flex-direction:column;gap:.15rem;cursor:pointer}.place-item:hover{background:#eff6ff}.place-title-line{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.place-item strong{font-size:.88rem;color:#0f172a}.place-cat{font-size:.7rem;color:#1d4ed8;background:#dbeafe;padding:.1rem .4rem;border-radius:999px}.place-item span{font-size:.76rem;color:#64748b}.selected-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem;background:#eff6ff;color:#1e3a8a;padding:.4rem .65rem;border-radius:.45rem}.clear-dest-btn{padding:.2rem .5rem;border-radius:.35rem;border:1px solid #93c5fd;background:#fff;color:#1e40af;font-size:.72rem;font-weight:700;cursor:pointer;white-space:nowrap}.map-section{position:relative;width:100%;max-width:100%;overflow:hidden;border-bottom:1px solid #e2e8f0}.map-wrapper{position:relative;width:100%;max-width:100%;height:clamp(260px,38vh,420px);overflow:hidden;isolation:isolate;z-index:1;touch-action:pan-y;background:#e2e8f0;outline:none}.map-wrapper:focus-visible{box-shadow:inset 0 0 0 2px #2563eb}.map-wrapper.map-interactive-active{touch-action:none}@media(max-width:640px){.map-wrapper{height:clamp(220px,36vh,360px);max-height:360px}}.map-wrapper.map-expanded{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;z-index:80;touch-action:none;background:#fff;display:flex;flex-direction:column}.map-expanded-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem 1rem;background:#0f172a;color:#fff;z-index:10}.map-expanded-title-group{display:flex;flex-direction:column;gap:.1rem}.map-expanded-title-group strong{font-size:.92rem}.map-expanded-sub{font-size:.72rem;color:#cbd5e1}.map-canvas{position:relative;width:100%;max-width:100%;height:100%;max-height:100%;flex:1;overflow:hidden}.map-badge{position:absolute;top:.55rem;right:.55rem;z-index:6;background:#0f172ac7;color:#fff;font-size:.7rem;padding:.2rem .5rem;border-radius:999px;pointer-events:none}.map-Expanded .map-badge,.map-wrapper.map-expanded .map-badge,.map-wrapper.map-expanded .map-marker-picker-btn{top:3.6rem}.map-gesture-hint{position:absolute;top:2.5rem;left:50%;transform:translate(-50%);z-index:7;max-width:92%;background:#0f172adb;color:#fff;font-size:.72rem;font-weight:600;padding:.32rem .68rem;border-radius:999px;text-align:center;pointer-events:none;box-shadow:0 2px 8px #0f172a47}.map-notice{position:absolute;bottom:2.6rem;left:.5rem;right:.5rem;z-index:6;background:#fffffff0;color:#334155;border:1px solid #cbd5e1;font-size:.72rem;padding:.3rem .55rem;border-radius:.45rem;pointer-events:none}.map-controls-bar{position:absolute;bottom:.5rem;left:.55rem;right:.55rem;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:.45rem;pointer-events:none}.map-ctl-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:.28rem;padding:.32rem .64rem;border-radius:999px;background:#fffffff2;color:#0f172a;border:1px solid #cbd5e1;box-shadow:0 2px 6px #0f172a2e;font-size:.74rem;font-weight:700;cursor:pointer}.map-ctl-btn:hover{background:#eff6ff;border-color:#2563eb}.map-ctl-btn.active{background:#1d4ed8;color:#fff;border-color:#1e40af}.main-tabs{position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);background:#f1f5f9;border-bottom:1px solid #cbd5e1}.tab-btn{padding:.65rem .3rem;font-size:.82rem;font-weight:700;color:#475569;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer}.tab-btn.active{color:#1d4ed8;background:#fff;border-bottom-color:#1d4ed8}.content-scroll{position:relative;z-index:5;flex:1;padding:.85rem 1rem 3.8rem;background:#f8fafc}.panel-card{position:relative;z-index:5;background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;padding:.85rem;display:flex;flex-direction:column;gap:.75rem}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.panel-title{font-size:.98rem;font-weight:800;color:#0f172a}.mock-pill{font-size:.7rem;font-weight:700;background:#fef3c7;color:#92400e;border:1px solid #fde68a;padding:.18rem .45rem;border-radius:999px;white-space:nowrap}.estimate-badge{display:inline-block;margin-top:.15rem;font-size:.73rem;font-weight:600;color:#0369a1}.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.candidate-tab{display:flex;flex-direction:column;align-items:flex-start;gap:.18rem;padding:.55rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#f8fafc;cursor:pointer;text-align:left}.candidate-tab.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.cand-category{font-size:.72rem;font-weight:700;color:#1d4ed8}.cand-time{font-size:1.05rem;font-weight:800;color:#0f172a}.cand-meta{font-size:.7rem;color:#475569}.route-detail-box{display:flex;flex-direction:column;gap:.65rem}.route-summary-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0}.transfer-risk-banner{padding:.6rem .7rem;border-radius:.5rem;display:flex;flex-direction:column;gap:.25rem}.risk-bg-safe{background:#f0fdf4;border:1px solid #bbf7d0}.risk-bg-tight{background:#fffbeb;border:1px solid #fde68a}.risk-bg-risky{background:#fef2f2;border:1px solid #fecaca}.transfer-risk-header{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;font-weight:700}.risk-badge,.risk-inline{font-size:.7rem;font-weight:700;padding:.12rem .4rem;border-radius:999px}.risk-safe{background:#dcfce7;color:#166534}.risk-tight{background:#fef3c7;color:#92400e}.risk-risky{background:#fee2e2;color:#991b1b}.slack-text{font-size:.76rem;color:#334155}.transfer-alt-text{font-size:.76rem;color:#1e293b}.steps-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}.step-card{display:flex;gap:.65rem;padding:.6rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff}.step-left{display:flex;flex-direction:column;align-items:center;min-width:3.4rem;gap:.2rem}.leg-badge{font-size:.7rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;color:#fff}.leg-badge-walk{background:#475569}.leg-badge-bus{background:#2563eb}.leg-badge-subway{background:#009088}.step-minutes{font-size:.76rem;font-weight:700;color:#334155}.step-body{flex:1;display:flex;flex-direction:column;gap:.15rem}.step-title-row{display:flex;align-items:center;justify-content:space-between}.step-stops{font-size:.72rem;color:#1d4ed8;font-weight:600}.step-from-to{font-size:.8rem;color:#1e293b}.step-detail{font-size:.74rem;color:#64748b}.walk-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.metric-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.5rem;display:flex;flex-direction:column;gap:.15rem}.metric-label{font-size:.7rem;color:#64748b}.metric-value{font-size:.9rem;color:#0f172a}.text-danger{color:#dc2626}.next-turn-banner{background:#eff6ff;border:1px solid #bfdbfe;padding:.6rem .7rem;border-radius:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.84rem;color:#1e3a8a}.turn-badge{background:#1d4ed8;color:#fff;font-size:.7rem;font-weight:700;padding:.18rem .45rem;border-radius:.35rem;white-space:nowrap}.walk-actions{display:flex;flex-wrap:wrap;gap:.5rem}.stop-selector-row{display:flex;align-items:center;gap:.45rem}.arrivals-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}.arrival-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .7rem;border:1px solid #e2e8f0;border-radius:.5rem}.arrival-route-row{display:flex;align-items:center;gap:.35rem}.arrival-route-name{font-size:.98rem;color:#0f172a}.route-type-tag{font-size:.68rem;background:#dbeafe;color:#1e40af;padding:.1rem .38rem;border-radius:.3rem;font-weight:600}.low-plate-tag{font-size:.68rem;background:#dcfce7;color:#166534;padding:.1rem .38rem;border-radius:.3rem;font-weight:600}.arrival-dir{font-size:.74rem;color:#64748b}.arrival-right{text-align:right;display:flex;flex-direction:column;gap:.12rem}.countdown-live{font-size:.95rem;color:#dc2626;font-variant-numeric:tabular-nums}.arrival-meta{font-size:.72rem;color:#475569}.transfer-calc-box{border-top:1px solid #e2e8f0;padding-top:.65rem;display:flex;flex-direction:column;gap:.5rem}.sub-title{font-size:.85rem;font-weight:700;color:#1e293b}.calc-inputs-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.calc-inputs-row label{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:#475569}.calc-inputs-row input{padding:.35rem .45rem;border:1px solid #cbd5e1;border-radius:.35rem;font-size:.82rem}.subway-title-group{display:flex;align-items:center;gap:.4rem}.subway-line-dot{width:.75rem;height:.75rem;border-radius:999px}.subway-next-train-box{background:#f0fdfa;border:1px solid #99f6e4;border-radius:.55rem;padding:.65rem;display:flex;flex-direction:column;gap:.55rem}.subway-station-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.station-code-badge{display:inline-block;background:#009088;color:#fff;font-size:.7rem;font-weight:700;padding:.12rem .42rem;border-radius:999px;margin-right:.35rem}.station-name-lg{font-size:.98rem;color:#0f172a}.next-train-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem}.train-card{background:#fff;border:1px solid #ccfbf1;border-radius:.45rem;padding:.5rem;display:flex;flex-direction:column;gap:.15rem}.train-dir{font-size:.72rem;font-weight:700;color:#0f766e}.train-eta{font-size:.82rem;color:#0f172a}.train-sub{font-size:.7rem;color:#64748b}.stations-list{list-style:none;max-height:240px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:.5rem}.station-item{width:100%;padding:.5rem .65rem;background:#fff;border:none;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left}.station-item.active{background:#f0fdfa}.station-item-left{display:flex;align-items:center}.station-note{font-size:.74rem;color:#64748b}.weather-chip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem;padding:.38rem 1rem;background:#eff6ff;border-bottom:1px solid #dbeafe;font-size:.76rem;color:#1e3a8a}.weather-metrics strong{font-weight:800;color:#0f172a}.weather-tip-badge{background:#1d4ed8;color:#fff;font-size:.7rem;font-weight:700;padding:.14rem .48rem;border-radius:999px}.weather-mock-dot{font-size:.66rem;color:#92400e;background:#fef3c7;padding:.08rem .35rem;border-radius:999px;font-weight:700}.my-loc-dom-marker{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fffffff0;border:2px solid #0f172a;box-shadow:0 0 0 2px #ffffffd9,0 2px 6px #0f172a73;-webkit-user-select:none;user-select:none;pointer-events:none;transition:transform .15s ease-out}.my-loc-dom-marker.kind-blue-dot{width:22px;height:22px;background:#2563eb38;border:1.5px solid rgba(255,255,255,.95);box-shadow:0 1px 5px #0f172a66}.blue-dot-core{width:12px;height:12px;border-radius:999px;background:#2563eb;border:2px solid #ffffff;box-shadow:0 0 4px #2563ebe6}.my-loc-dom-marker.kind-triangle .marker-glyph{font-size:14px;line-height:1;color:#1d4ed8;font-weight:900;text-shadow:0 0 2px #ffffff}.my-loc-dom-marker.kind-emoji .marker-glyph{font-size:16px;line-height:1}.map-marker-picker-btn{position:absolute;top:.55rem;left:.55rem;z-index:6;display:inline-flex;align-items:center;gap:.32rem;padding:.28rem .58rem;border-radius:999px;background:#fffffff0;color:#0f172a;border:1px solid #cbd5e1;box-shadow:0 2px 6px #0f172a2e;font-size:.74rem;font-weight:700;cursor:pointer}.map-marker-picker-btn:hover{background:#eff6ff;border-color:#2563eb}.picker-btn-icon{font-size:.9rem;line-height:1}.marker-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a7a;display:flex;align-items:flex-end;justify-content:center}.marker-sheet{width:100%;max-width:640px;max-height:84dvh;overflow-y:auto;background:#fff;border-radius:1rem 1rem 0 0;padding:1rem 1rem 3.6rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 -8px 28px #0f172a38}.marker-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.marker-sheet-title{font-size:1rem;font-weight:800;color:#0f172a}.marker-sheet-sub{font-size:.75rem;color:#64748b}.sheet-close-btn{padding:.35rem .65rem;border-radius:.45rem;border:1px solid #cbd5e1;background:#f8fafc;font-size:.78rem;font-weight:700;cursor:pointer}.marker-preview-card{display:flex;align-items:center;gap:.75rem;padding:.6rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem}.marker-preview-samples{display:flex;gap:.4rem}.preview-map-box{width:58px;height:52px;border-radius:.45rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border:1px solid #cbd5e1}.preview-light{background:#e2e8f0;color:#334155}.preview-dark{background:#0f172a;color:#cbd5e1}.preview-caption{font-size:.62rem;font-weight:600}.marker-preview-info{flex:1;display:flex;flex-direction:column;gap:.2rem}.preview-title-line{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.84rem}.mode-pill{font-size:.68rem;font-weight:700;background:#dbeafe;color:#1e40af;padding:.12rem .42rem;border-radius:999px}.marker-mode-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;background:#f1f5f9;padding:.25rem;border-radius:.55rem}.mode-switch-btn{padding:.48rem .5rem;border:none;border-radius:.4rem;background:transparent;font-size:.78rem;font-weight:700;color:#475569;cursor:pointer}.mode-switch-btn.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 3px #0f172a1a}.marker-tabs-bar{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.15rem}.marker-tab-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.42rem .65rem;border-radius:999px;border:1px solid #cbd5e1;background:#f8fafc;font-size:.76rem;font-weight:700;color:#334155;white-space:nowrap;cursor:pointer}.marker-tab-btn.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.tab-saved-icon{font-size:.82rem}.marker-options-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.marker-option-btn{min-height:74px;padding:.5rem .35rem;border-radius:.55rem;border:1px solid #cbd5e1;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;cursor:pointer}.marker-option-btn.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.marker-opt-label{font-size:.72rem;font-weight:700;color:#0f172a;text-align:center}.marker-opt-tag{font-size:.62rem;color:#0369a1;background:#e0f2fe;padding:.06rem .32rem;border-radius:999px;font-weight:600}.step-card{cursor:pointer}.step-card-active{border-color:#2563eb;background:#f8fafc;box-shadow:0 0 0 1px #93c5fd}.step-badges-right{display:flex;align-items:center;gap:.3rem}.active-leg-pill{font-size:.66rem;font-weight:700;background:#dbeafe;color:#1d4ed8;padding:.08rem .38rem;border-radius:999px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.top-bar-actions{display:flex;align-items:center;gap:.45rem}.top-share-btn{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:.5rem;padding:.35rem .62rem;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}.top-share-btn:hover{background:#ffffff47}.route-summary-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.share-qr-box{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.85rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.65rem}.qr-svg-frame{padding:.45rem;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;display:inline-flex;box-shadow:0 2px 6px #0f172a0f}.share-qr-caption{display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center}.share-qr-caption strong{font-size:.86rem;color:#0f172a}.share-qr-caption span{font-size:.74rem;color:#64748b}.share-url-preview{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.45rem;padding:.45rem .6rem;font-size:.72rem;color:#334155;overflow-x:auto;white-space:nowrap}.share-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.share-toast{background:#0f172a;color:#fff;font-size:.78rem;font-weight:600;padding:.5rem .75rem;border-radius:.5rem;text-align:center}@media(max-width:640px){#site-zoom-ctl{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}}.main-tabs-5{grid-template-columns:repeat(5,1fr)}.quick-shortcuts-bar{display:flex;flex-wrap:wrap;gap:.38rem}.shortcut-chip{padding:.28rem .6rem;border-radius:999px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;font-size:.74rem;font-weight:700;cursor:pointer}.shortcut-chip.configured{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.star-toggle-btn{padding:.38rem .65rem;border-radius:.45rem;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}.star-toggle-btn.active{background:#fef3c7;border-color:#f59e0b;color:#92400e}.fav-sync-banner{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.55rem;padding:.65rem .75rem}.fav-sync-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.55rem}.fav-login-btns{display:flex;flex-wrap:wrap;gap:.4rem}.oauth-stack{display:flex;flex-direction:column;gap:.45rem;margin-top:.4rem}.oauth-btn{display:inline-flex;align-items:center;justify-content:center;padding:.48rem .8rem;border-radius:.48rem;font-size:.8rem;font-weight:700;text-decoration:none;cursor:pointer}.oauth-google{background:#fff;color:#0f172a;border:1px solid #cbd5e1}.oauth-kakao{background:#fee500;color:#191919;border:1px solid #eab308}.fav-section{display:flex;flex-direction:column;gap:.45rem;border-top:1px solid #e2e8f0;padding-top:.65rem}.fav-section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.shortcut-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media(max-width:480px){.shortcut-grid{grid-template-columns:1fr}}.shortcut-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.55rem;padding:.6rem;display:flex;flex-direction:column;gap:.35rem}.shortcut-top{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.shortcut-badge{font-size:.74rem;font-weight:800;color:#1e3a8a}.shortcut-place-name{font-size:.9rem;color:#0f172a}.fav-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}.fav-item-card{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.6rem .7rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff}.fav-item-main{display:flex;flex-direction:column;gap:.2rem}.fav-item-title-row,.fav-live-arrival{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.fav-bus-badge{background:#1d4ed8;color:#fff;font-size:.72rem;font-weight:700;padding:.12rem .42rem;border-radius:.3rem}.fav-item-actions{display:flex;align-items:center;gap:.38rem}.alert-config-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.45rem;padding:.5rem .65rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.alert-threshold-group{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.alert-bar-label{font-size:.76rem;font-weight:700;color:#334155}.threshold-chip{padding:.24rem .55rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;font-size:.74rem;font-weight:700;color:#475569;cursor:pointer}.threshold-chip.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.alert-quota-badge{font-size:.72rem;color:#475569;font-weight:600}.arrival-alert-action{margin-top:.22rem}.alert-btn{padding:.24rem .52rem;border-radius:.38rem;border:1px solid #cbd5e1;background:#f8fafc;color:#1e293b;font-size:.72rem;font-weight:700;cursor:pointer}.alert-btn.active{background:#dbeafe;border-color:#2563eb;color:#1e40af}.active-alerts-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;padding:.6rem;display:flex;flex-direction:column;gap:.4rem}.active-alerts-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}.active-alert-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem;font-size:.76rem;color:#1e3a8a;background:#fff;padding:.4rem .55rem;border-radius:.4rem;border:1px solid #dbeafe}.fired-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem 1rem;background:#fef3c7;border-bottom:2px solid #f59e0b;color:#92400e;font-size:.82rem;font-weight:800}.account-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.75rem;display:flex;flex-direction:column;gap:.6rem}.account-user-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.account-name{display:block;margin-top:.2rem;font-size:.95rem;color:#0f172a}.account-actions-row{display:flex;flex-wrap:wrap;gap:.45rem}.danger-outline-btn{padding:.45rem .7rem;border-radius:.45rem;border:1px solid #fca5a5;background:#fef2f2;color:#b91c1c;font-size:.76rem;font-weight:700;cursor:pointer}.danger-btn{padding:.48rem .75rem;border-radius:.45rem;border:none;background:#dc2626;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer}.delete-confirm-box{background:#fef2f2;border:1px solid #fecaca;border-radius:.48rem;padding:.55rem;display:flex;flex-direction:column;gap:.45rem}.account-footer-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.owner-cookie-btn{padding:.3rem .55rem;border-radius:.4rem;border:1px solid #cbd5e1;background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:600;cursor:pointer}.privacy-page-card{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.privacy-section{border-top:1px solid #e2e8f0;padding-top:.7rem;display:flex;flex-direction:column;gap:.45rem}.privacy-list{padding-left:1.1rem;display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;color:#334155;line-height:1.45}.privacy-delete-box{margin-top:.35rem;padding:.65rem;border-radius:.5rem;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.8rem}.app-footer{background:#f1f5f9;border-top:1px solid #cbd5e1;padding:.65rem 1rem 3.8rem;display:flex;flex-direction:column;gap:.38rem;font-size:.74rem;color:#475569}.footer-stats-row,.footer-links-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem}.api-usage-pill{background:#e2e8f0;color:#1e293b;padding:.14rem .48rem;border-radius:999px;font-weight:700;font-size:.7rem}.owner-excluded-tag{font-style:normal;color:#0369a1;font-weight:600}.quota-alert-bar{padding:.4rem .6rem;border-radius:.42rem;font-size:.73rem}.quota-warn-80{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.quota-cache-only{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.footer-privacy-link{color:#1d4ed8;font-weight:700;text-decoration:underline}.ladder-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.14rem .44rem;border-radius:999px;white-space:nowrap}.ladder-badge-approx{background:#ffedd5;color:#9a3412;border:1px solid #fed7aa}.ladder-badge-stale{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.ladder-badge-fallback{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.ladder-badge-cache{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}.top-bar{flex-wrap:wrap;gap:.4rem .6rem}.brand{flex-shrink:0;min-width:max-content}.brand-title,.brand-badge{white-space:nowrap;flex-shrink:0;min-width:max-content}.top-bar-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}.top-share-btn,.city-selector,.primary-btn,.secondary-btn,.shortcut-chip,.clear-dest-btn,.star-toggle-btn,.threshold-chip{white-space:nowrap;flex-shrink:0}.field-row .text-input{flex:1 1 0;min-width:0}.tab-btn{white-space:nowrap}@media(max-width:400px){.brand-badge{display:none}.tab-btn{font-size:.7rem;padding:.65rem .1rem}}.route-summary-actions{flex-wrap:wrap}.coords-detail{font-size:.72rem;color:#64748b;margin:.15rem 0 .2rem 2.8rem}.coords-detail summary{cursor:pointer;width:max-content}.walk-no-dest{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .65rem;margin-bottom:.5rem;border-radius:.5rem;background:#fef9c3;color:#713f12;font-size:.8rem}.handoff-box{margin:.6rem 0;padding:.6rem .7rem;border:1px solid #cbd5e1;border-radius:.6rem;background:#f8fafc}.handoff-title{display:block;font-size:.85rem;margin-bottom:.35rem}.handoff-group{margin-top:.35rem}.handoff-group-label{display:block;font-size:.76rem;font-weight:700;color:#475569;margin-bottom:.25rem}.handoff-btn-row{display:flex;flex-wrap:wrap;gap:.4rem}.handoff-credit{margin-top:.45rem;font-size:.68rem;color:#64748b}.handoff-notice{font-weight:700;color:#b45309}.map-wrapper:not(.map-interactive-active) .map-canvas,.map-wrapper:not(.map-interactive-active) .map-canvas *{touch-action:pan-y!important}.map-scroll-shield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:transparent;touch-action:pan-y!important;pointer-events:auto}@media(hover:hover)and (pointer:fine){.map-scroll-shield{display:none}}.brand-title{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;writing-mode:horizontal-tb;flex:0 0 auto;min-width:max-content;width:max-content}.top-bar>.brand{flex:0 0 auto}
