*{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}@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}.map-section.nav-mode{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;width:100vw;max-width:100vw;height:100dvh;border-bottom:0;background:#e2e8f0}.map-wrapper.map-nav{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;height:100%;max-height:none;touch-action:none}.map-wrapper.map-nav .map-badge,.map-wrapper.map-nav .map-marker-picker-btn{top:calc(.55rem + env(safe-area-inset-top,0px))}.map-wrapper.map-nav .map-marker-picker-btn{right:auto;left:.55rem}.nav-recenter-btn{position:absolute;right:.7rem;bottom:calc(var(--nav-card-h, 15rem) / var(--site-zoom, 1) + .7rem);z-index:8;padding:.55rem .9rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#1d4ed8;font-size:.85rem;font-weight:800;box-shadow:0 2px 8px #0f172a40;cursor:pointer}.nav-recenter-btn.following{background:#1d4ed8;color:#fff;border-color:#1e40af}.nav-turn-marker{width:2.1rem;height:2.1rem;border-radius:50%;background:#f59e0b;color:#fff;border:3px solid #ffffff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:900;box-shadow:0 0 0 4px #f59e0b59}.nav-card{position:fixed;left:0;right:0;bottom:0;z-index:95;max-width:640px;margin:0 auto;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom,0px));background:#fff;border-radius:1rem 1rem 0 0;box-shadow:0 -4px 18px #0f172a47;display:flex;flex-direction:column;gap:.6rem}.nav-card-turn{display:flex;align-items:center;gap:.7rem}.nav-card-turn-icon{flex:0 0 auto;width:2.8rem;height:2.8rem;border-radius:.8rem;background:#1d4ed8;color:#fff;font-size:1.6rem;display:flex;align-items:center;justify-content:center}.nav-card-turn-text{display:flex;flex-direction:column;min-width:0}.nav-card-turn-text strong{font-size:1.05rem;line-height:1.3;word-break:keep-all}.nav-card-turn-dist{font-size:.95rem;font-weight:800;color:#1d4ed8}.nav-card-remain{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.85rem;color:#475569}.nav-card-remain strong{color:#0f172a}.nav-card-bus{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.45rem .55rem;background:#eff6ff;border-radius:.6rem;font-size:.82rem}.nav-card-bus-title{font-weight:800;color:#1e3a8a}.nav-card-bus-chip{padding:.15rem .5rem;border-radius:999px;background:#fff;border:1px solid #bfdbfe;font-weight:700}.nav-card-actions{display:flex;gap:.5rem}.nav-end-btn{flex:1;padding:.85rem 1rem;border:0;border-radius:.7rem;background:#dc2626;color:#fff;font-size:1.05rem;font-weight:800;cursor:pointer}.main-tabs-5{overflow-x:auto;scrollbar-width:none}.main-tabs-5::-webkit-scrollbar{display:none}@media(max-width:400px){.main-tabs-5 .tab-btn{font-size:.66rem;padding:.65rem 0;letter-spacing:-.03em;min-width:0}}.dest-input-wrap{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center}.dest-input-wrap .dest-input{width:100%;padding-right:4.4rem}.dest-clear-btn,.voice-mic-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;line-height:1}.dest-clear-btn{right:2.5rem;padding:.35rem;font-size:.85rem;color:#64748b}.voice-mic-btn{right:.25rem;width:2.1rem;height:2.1rem;border-radius:50%;font-size:1.05rem}.voice-mic-btn.listening{background:#fee2e2;animation:voice-pulse 1.1s ease-in-out infinite}@keyframes voice-pulse{0%,to{box-shadow:0 0 #dc262673}50%{box-shadow:0 0 0 7px #dc262600}}.voice-status{color:#b91c1c;font-weight:700}.voice-kakao-hint{position:absolute;top:100%;right:0;margin-top:.2rem;font-size:.75rem;font-weight:700;color:#1d4ed8}.pwa-install{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem 1rem;background:#eff6ff;border-bottom:1px solid #bfdbfe;font-size:.8rem;color:#1e3a8a}.pwa-install-menu{border:0;border-radius:.6rem;margin-bottom:.6rem}.pwa-dismiss-btn{border:0;background:transparent;color:#64748b;font-size:.9rem;cursor:pointer;padding:.25rem .4rem}body{word-break:keep-all;overflow-wrap:anywhere}.sheet-close-btn,.mode-pill,.mode-switch-btn,.marker-tab-btn,.leg-badge,.step-minutes,.map-ctl-btn,.secondary-btn,.primary-btn,.active-leg-pill,.step-stops,.tab-btn{white-space:nowrap;flex-shrink:0}.preview-title-line,.marker-preview-card{flex-wrap:wrap}.marker-preview-info{min-width:12rem}.marker-sheet-sub{word-break:keep-all}.mode-switch-btn{white-space:normal;line-height:1.25}.step-body strong{word-break:keep-all;font-size:.9rem;line-height:1.35}.step-left{min-width:3.6rem;flex-shrink:0}.map-controls-bar{flex-wrap:wrap;gap:.3rem}.map-controls-bar .map-ctl-btn{font-size:.7rem;padding:.28rem .5rem}.steps-toggle-btn{width:100%;padding:.55rem;border-radius:.5rem;border:1px solid #cbd5e1;background:#f8fafc;font-weight:700;font-size:.82rem;color:#1d4ed8;cursor:pointer}.steps-compact .step-card{padding:.45rem .55rem;gap:.5rem}.steps-compact .step-detail{display:none}@media(max-width:640px){.map-controls-bar{bottom:3rem}.marker-options-grid{grid-template-columns:repeat(3,1fr)}}body:has(.map-wrapper.map-nav) #site-zoom-ctl,body:has(.marker-sheet-backdrop) #site-zoom-ctl{display:none!important}.map-gesture-hint{background:#ffffffeb!important;color:#475569!important;font-size:.7rem!important;font-weight:500!important;white-space:nowrap;border:1px solid #e2e8f0;box-shadow:0 1px 4px #0f172a1f!important;padding:.22rem .6rem!important}.arrival-item{flex-wrap:wrap;gap:.4rem .6rem;align-items:flex-start}.arrival-left{flex:1 1 11rem;min-width:0}.arrival-right{flex:0 1 auto}.arrival-route-row{flex-wrap:wrap}.arrival-route-name,.arrival-route-btn,.route-type-tag,.low-plate-tag{white-space:nowrap}.arrival-meta{white-space:normal}.arrival-route-btn{font-size:1rem;font-weight:800;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.45rem;padding:.15rem .5rem;cursor:pointer}.line-stops-box{margin-top:.4rem;width:100%;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.45rem .55rem}.line-stops-head{font-size:.78rem;font-weight:700;color:#334155;margin-bottom:.3rem}.line-stops-list{list-style:none;max-height:14rem;overflow-y:auto;font-size:.78rem;color:#475569}.line-stops-list li{padding:.18rem 0 .18rem .9rem;border-left:2px solid #cbd5e1}.line-stops-list li.line-stop-past{color:#94a3b8}.line-stops-list li.line-stop-cur{color:#dc2626;font-weight:800;border-left-color:#dc2626}.line-stops-list em{font-style:normal;font-size:.7rem}.map-expanded-sheet-header{flex-wrap:wrap;padding:.5rem .75rem}.map-expanded-title-group{min-width:0;flex:1 1 8rem}.map-expanded-sheet-header .map-ctl-btn,.map-expanded-sheet-header button{flex-shrink:0;white-space:nowrap;margin-left:auto}.handoff-box>summary{cursor:pointer;font-size:.82rem;font-weight:700;color:#334155;list-style:none;padding:.2rem 0}.handoff-box>summary::-webkit-details-marker{display:none}.handoff-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.handoff-btn{padding:.3rem .55rem;font-size:.74rem}.line-bus-pos{color:#16a34a;font-size:.72rem}.line-stops-list li:has(.line-bus-pos){border-left-color:#16a34a;background:#f0fdf4}.arrivals-filter-bar{display:flex;flex-direction:column;gap:.35rem;margin:.4rem 0}.filter-chip-row{display:flex;flex-wrap:wrap;gap:.3rem}.nav3d-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147482000;background:#e2e8f0}.nav3d-map{position:absolute;top:0;right:0;bottom:0;left:0}.nav3d-me{width:34px;height:34px;border-radius:50%;background:#2563eb;color:#fff;font-size:18px;line-height:34px;text-align:center;border:3px solid #fff;box-shadow:0 2px 8px #0006}.nav3d-card{position:absolute;left:.6rem;right:.6rem;bottom:.8rem;background:#fff;border-radius:1rem;padding:.8rem .9rem;box-shadow:0 6px 24px #0f172a4d;display:flex;flex-direction:column;gap:.3rem}.nav3d-instr{font-size:1rem;line-height:1.3;word-break:keep-all}.nav3d-sub{font-size:.8rem;color:#475569}.nav3d-close{margin-top:.3rem;padding:.55rem;border-radius:.6rem;border:1px solid #cbd5e1;background:#f1f5f9;font-weight:700;cursor:pointer}.nav3d-fail{position:absolute;top:.8rem;left:.8rem;right:.8rem;background:#fef2f2;color:#991b1b;padding:.6rem;border-radius:.6rem;font-size:.82rem}body:has(.nav3d-overlay) #site-zoom-ctl,body:has(.nav3d-overlay) .nav-card{display:none!important}.map-section.nav-mode,.map-wrapper.map-expanded{width:calc(100vw / var(--site-zoom, 1));max-width:calc(100vw / var(--site-zoom, 1));height:calc(100dvh / var(--site-zoom, 1));max-height:calc(100dvh / var(--site-zoom, 1))}.marker-sheet{max-height:calc(84dvh / var(--site-zoom, 1))}.stop-selector-row{flex-wrap:wrap}.stop-selector-row>*{min-width:0}.stop-selector-row .text-input,.stop-selector-row select{flex:1 1 9rem;min-width:0;max-width:100%}.stop-selector-row .field-label{flex:0 0 auto}.panel-card,.panel-header,.alert-config-bar,.calc-inputs-row{min-width:0;max-width:100%}.panel-header{flex-wrap:wrap;gap:.4rem}.calc-inputs-row{flex-wrap:wrap}.calc-inputs-row>*{min-width:6rem;flex:1 1 6rem}.ladder-badge,.estimate-badge,.mock-pill,.star-toggle-btn{white-space:nowrap}.estimate-badge{white-space:normal}.tab-btn{white-space:nowrap}.tabs-bar,.tab-bar{overflow-x:auto}html,body{overflow-x:hidden}.arrival-item{cursor:pointer}@keyframes busPulse{0%,to{opacity:1}50%{opacity:.25}}.line-bus-pos{animation:busPulse 1s ease-in-out infinite;display:inline-block}@media(prefers-reduced-motion:reduce){.line-bus-pos{animation:none}}.bus-map-marker{white-space:nowrap;font-size:11px;font-weight:700;line-height:1;padding:2px 5px;border-radius:10px;background:#fff;color:#1d4ed8;border:1px solid #2563eb;box-shadow:0 1px 3px #0000004d;opacity:.8;pointer-events:none}.bus-map-marker-active{animation:bus-map-pulse .9s ease-in-out infinite;background:#1d4ed8;color:#fff;opacity:1;font-size:12px;z-index:9}@keyframes bus-map-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.bus-map-marker-active{animation:none}}.my-loc-dom-marker{position:relative}.heading-arrow{position:absolute;left:50%;top:-14px;font-size:13px;line-height:1;color:#2563eb;text-shadow:0 0 3px #fff,0 0 3px #fff;transform-origin:50% 20px;pointer-events:none}.nav3d-me{position:relative;width:34px;height:34px;border-radius:50%;background:#fff;border:3px solid #2563eb;line-height:28px}.nav3d-walker{font-size:18px}.nav3d-arrow{position:absolute;left:50%;top:-16px;transform:translate(-50%);color:#2563eb;font-size:14px;line-height:1;text-shadow:0 0 3px #fff}.map-zoom-btns{position:absolute;right:.55rem;top:3rem;z-index:8;display:flex;flex-direction:column;gap:.3rem}.map-zoom-btns button{width:2.4rem;height:2.4rem;border-radius:.6rem;border:1px solid #cbd5e1;background:#fffffff5;font-size:1.3rem;font-weight:700;line-height:1;color:#0f172a;box-shadow:0 2px 6px #0f172a33;cursor:pointer}.map-wrapper.map-nav .map-zoom-btns{top:calc(3rem + env(safe-area-inset-top,0px))}.countdown-range{font-size:.66rem;color:#94a3b8}.line-stops-list li.line-stop-more{border-left-color:transparent;padding-left:.2rem}.line-stop-more button{background:none;border:1px dashed #94a3b8;border-radius:.4rem;padding:.25rem .5rem;font-size:.74rem;color:#1d4ed8;cursor:pointer;white-space:nowrap}.origin-candidates{list-style:none;display:flex;flex-direction:column;gap:.25rem;margin:.3rem 0}.origin-candidates button{width:100%;text-align:left;padding:.4rem .6rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;display:flex;flex-direction:column;cursor:pointer}.origin-candidates strong{font-size:.85rem;word-break:keep-all}.origin-candidates span{font-size:.72rem;color:#64748b;word-break:keep-all}.dest-input-wrap .voice-mic-btn{width:2.1rem;height:2.1rem;min-width:2.1rem;padding:0;font-size:1.05rem}.dest-input-wrap .text-input{height:2.6rem;box-sizing:border-box}.search-panel .field-row>.secondary-btn,.search-panel .field-row>.primary-btn{min-width:4.6rem;height:2.6rem;padding-top:0;padding-bottom:0;white-space:nowrap}.bike-section{margin:.5rem 0 0;min-width:0}.bike-wait{font-size:.8rem;font-weight:600;color:#9a3412;white-space:nowrap;word-break:keep-all}.bike-cards{display:flex;gap:.4rem;min-width:0}.bike-card{flex:1 1 0;min-width:0;display:grid;justify-items:center;gap:.1rem;padding:.4rem .5rem;border-radius:10px;border:1px solid #fdba74;background:#fff7ed;color:#9a3412;font-size:.78rem;font-weight:700;white-space:nowrap;word-break:keep-all;cursor:pointer;overflow:hidden}.bike-card-label{overflow:hidden;text-overflow:ellipsis;max-width:100%}.bike-card-sub{display:inline-flex;gap:.35rem;align-items:baseline}.bike-card-time{font-size:.95rem}.bike-card-km{font-weight:600;opacity:.85}.bike-card.active{background:#ea580c;border-color:#ea580c;color:#fff}.bike-start-row{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;min-width:0}.bike-start-btn{white-space:nowrap;word-break:keep-all}.nav-accuracy-warn{display:block;font-size:.75rem;font-weight:600;color:#b45309;white-space:nowrap;word-break:keep-all;margin-top:.2rem}.osm-credit{display:block;font-size:.68rem;color:#64748b;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis}.bike-start-row .osm-credit{display:inline;flex-shrink:0}.nav-card .osm-credit{margin-top:.2rem}.leg-badge-bike{background:#ea580c;white-space:nowrap}.stop-find{margin:0 0 .4rem}.stop-find>summary{cursor:pointer;font-size:.8rem;font-weight:600;color:#475569;white-space:nowrap;word-break:keep-all;padding:.2rem 0}.nav-zoom-ctl{position:absolute;right:.55rem;top:42%;transform:translateY(-50%);z-index:9;display:flex;flex-direction:column;gap:.3rem}.nav-zoom-ctl button{width:2.5rem;height:2.4rem;border-radius:.6rem;border:1px solid #cbd5e1;background:#fffffff5;color:#0f172a;font-size:1.3rem;font-weight:800;line-height:1;padding:0;white-space:nowrap;word-break:keep-all;box-shadow:0 2px 6px #0f172a33;cursor:pointer}.nav-zoom-ctl .nav-zoom-auto{font-size:.72rem;font-weight:800;color:#64748b}.nav-zoom-ctl .nav-zoom-auto.on{background:#1d4ed8;border-color:#1e40af;color:#fff}.transit-guide-start-btn{width:100%;margin:.5rem 0 .2rem;white-space:nowrap;word-break:keep-all}.step-direction{font-size:.78rem;font-weight:700;color:#1d4ed8;margin:.1rem 0;word-break:keep-all}.guide-sub{font-size:.88rem;font-weight:700;color:#1d4ed8;word-break:keep-all}.guide-live{font-size:.8rem;font-weight:700;color:#15803d;word-break:keep-all}.guide-progress{font-size:.72rem;color:#64748b;word-break:keep-all}.guide-actions{flex-wrap:wrap}.guide-actions>button{white-space:nowrap;word-break:keep-all;flex:0 0 auto}.guide-actions>.nav-end-btn{flex:1 1 5rem}.alight-banner{position:fixed;left:.6rem;right:.6rem;top:calc(3rem + env(safe-area-inset-top,0px));z-index:97;max-width:620px;margin:0 auto;padding:.8rem 1rem;border-radius:1rem;background:#dc2626;color:#fff;box-shadow:0 6px 24px #0f172a59;display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center;animation:alightPulse 1.1s ease-in-out infinite}.alight-banner strong{font-size:1.45rem;line-height:1.2;word-break:keep-all;overflow-wrap:normal}.alight-banner span{font-size:.95rem;font-weight:700;word-break:keep-all}.nav3d-overlay .alight-banner{position:absolute;z-index:3}.map-wrapper.map-nav .nav-zoom-ctl{top:auto;transform:none;bottom:calc(var(--nav-card-h, 15rem) / var(--site-zoom, 1) + 3.4rem)}@keyframes alightPulse{0%,to{opacity:1}50%{opacity:.82}}@media(prefers-reduced-motion:reduce){.alight-banner{animation:none}}.bus-src-tag{display:inline-block;font-size:.66rem;font-weight:700;padding:.05rem .4rem;border-radius:999px;background:#e2e8f0;color:#475569;white-space:nowrap}.bus-src-tag.live{background:#dcfce7;color:#15803d}.bus-src-inline{font-style:normal;font-size:.68rem;font-weight:700;color:#15803d;white-space:nowrap}.weather-chip{flex-wrap:nowrap;white-space:nowrap;overflow:hidden;min-width:0}.weather-chip .weather-metrics{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.weather-chip .weather-tip-badge,.weather-chip .weather-mock-dot{flex:0 0 auto}.weather-chip-tap{cursor:pointer}.weather-more{flex:0 0 auto;font-size:.8rem;color:#1d4ed8;padding-left:.1rem}.weather-warn-line{padding:.2rem 1rem;background:#fffbeb;border-bottom:1px solid #fde68a;color:#92400e;font-size:.74rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.wx-sheet,.voice-sheet{word-break:keep-all;overflow-x:hidden}.wx-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.wx-sheet .marker-sheet-header{min-width:0}.wx-warn-banner{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:.5rem;padding:.35rem .6rem;font-size:.8rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-tabs .mode-switch-btn{white-space:nowrap}.wx-now{display:flex;flex-direction:column;gap:.15rem}.wx-now-main{font-size:1.15rem;font-weight:800;color:#0f172a}.wx-now-sub{font-size:.8rem;color:#475569}.wx-hourly{display:flex;gap:.3rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin;max-width:100%}.wx-hour{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:2.9rem;padding:.3rem .2rem;border-radius:.5rem;background:#f1f5f9;font-size:.74rem;white-space:nowrap}.wx-hour-t{color:#64748b}.wx-hour-pop{color:#2563eb;font-size:.68rem;min-height:.8rem}.wx-daily{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.wx-daily li{display:flex;gap:.5rem;align-items:center;font-size:.84rem;white-space:nowrap}.wx-day{min-width:2.6rem;font-weight:700;flex:0 0 auto;white-space:nowrap}.wx-minmax{margin-left:auto;font-weight:700}.wx-block{display:flex;flex-direction:column;gap:.25rem;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:.6rem}.wx-row{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline;font-size:.86rem}.wx-row>span{white-space:nowrap}.wx-small{font-size:.74rem;color:#64748b}.wx-note{font-size:.82rem;color:#475569}.wx-src{font-size:.68rem;color:#94a3b8;font-weight:400}.wx-kp-bars{display:flex;align-items:flex-end;gap:3px;height:1.6rem}.wx-kp-bar{flex:1 1 0;background:#93c5fd;border-radius:2px 2px 0 0;min-height:2px}.wx-kp-bar.active{background:#f59e0b}.wx-kp-bar.storm{background:#dc2626}.wx-tide{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem .9rem}.wx-tide li{display:flex;gap:.3rem;align-items:baseline;white-space:nowrap;font-size:.86rem}.wx-high{color:#1d4ed8;font-weight:700}.wx-low{color:#0f766e;font-weight:700}.wx-other{display:flex;flex-direction:column;gap:.4rem;border-top:1px dashed #e2e8f0;padding-top:.55rem}.wx-search-row{display:flex;gap:.4rem;min-width:0}.wx-search-row .dest-input-wrap{flex:1 1 auto;min-width:0}.wx-search-row .primary-btn{flex:0 0 auto;white-space:nowrap}.wx-link-row{display:flex;flex-wrap:wrap;gap:.3rem 1rem}.wx-link-row .link-btn{white-space:nowrap}.wx-minimap{width:100%;height:calc(220px / var(--site-zoom, 1));min-height:160px;border-radius:.6rem;overflow:hidden;background:#e2e8f0}.voice-row{display:flex;gap:.5rem;align-items:center;font-size:.88rem}.voice-label{font-size:.78rem;font-weight:700;color:#475569}.voice-list{display:flex;flex-wrap:wrap;gap:.35rem}.voice-list .threshold-chip{white-space:nowrap}.arrival-item.arrival-passed{opacity:.45}.outside-note{display:flex;align-items:center;gap:.5rem;margin:.5rem .75rem 0;padding:.45rem .65rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.8rem;color:#334155;word-break:keep-all}.outside-note>span{flex:1 1 auto;min-width:0}.outside-note-x{flex:0 0 auto;border:none;background:transparent;cursor:pointer;font-size:.85rem;color:#64748b}.about-page{word-break:keep-all}.about-lead{font-size:.92rem;font-weight:700;color:#0f172a}.about-list,.about-sources{list-style:none;margin:.4rem 0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.86rem}.about-list li{display:flex;gap:.5rem}.about-sources{font-size:.78rem;color:#475569}.about-note{font-size:.8rem;color:#64748b}.nav-card-actions .secondary-btn{white-space:nowrap}.marker-mode-switch.wx-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.wx-sheet>*,.voice-sheet>*{flex-shrink:0}.wx-pin{display:flex;flex-direction:column;align-items:center;pointer-events:none}.wx-pin-label{background:#dc2626;color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:10px;white-space:nowrap;box-shadow:0 1px 4px #00000059}.wx-pin-dot{font-size:26px;line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4));animation:wxPinDrop .35s ease-out}@keyframes wxPinDrop{0%{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}.wx-date{font-size:.7rem;color:#64748b;font-weight:500;white-space:nowrap}.wx-kpf{margin-top:.4rem;display:flex;flex-direction:column;gap:.2rem}.wx-kpf-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.wx-kpf-day{min-width:4.5rem;font-size:.8rem;white-space:nowrap}.wx-kpf-row.active strong{color:#d97706}.wx-kpf-row.storm strong{color:#dc2626}.wx-map-popup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147482500;background:#fff;display:flex;flex-direction:column;gap:.5rem;padding:.6rem;width:calc(100vw / var(--site-zoom, 1));height:calc(100dvh / var(--site-zoom, 1));box-sizing:border-box}.wx-map-popup-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.wx-map-popup-head strong{font-size:.95rem;word-break:keep-all}.wx-minimap-big{flex:1 1 auto;height:auto;min-height:0;border-radius:.6rem}.wx-map-popup-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.wx-map-popup-name{display:flex;flex-direction:column;min-width:0}.wx-map-popup-name strong{font-size:.95rem;word-break:keep-all}.wx-map-popup-foot .primary-btn{white-space:nowrap;flex-shrink:0}.wx-kpf-btn{width:100%;background:none;border:0;border-bottom:1px dashed #e2e8f0;padding:.3rem 0;text-align:left;cursor:pointer;font:inherit}.wx-kpf-hours{display:flex;align-items:flex-end;gap:.35rem;height:5.2rem;padding:.3rem 0 .2rem}.wx-kpf-hour{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:.1rem}.wx-kpf-val{font-size:.72rem;font-weight:700;white-space:nowrap}.wx-kpf-bar{width:70%;background:#93c5fd;border-radius:3px 3px 0 0;min-height:4px}.wx-kpf-bar.active{background:#f59e0b}.wx-kpf-bar.storm{background:#dc2626}.catch-summary{font-size:.78rem;color:#334155;margin:.2rem 0 .35rem;word-break:keep-all;overflow-wrap:anywhere}.catch-chip{align-self:flex-end;display:inline-block;max-width:100%;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:.3rem;word-break:keep-all}.catch-ok{background:#dcfce7;color:#166534}.catch-tight{background:#fef3c7;color:#92400e}.catch-missed{background:#fee2e2;color:#991b1b}.weather-chip{flex-wrap:wrap;white-space:normal;overflow:visible;max-width:100%;box-sizing:border-box;word-break:keep-all;padding-left:.7rem;padding-right:.7rem}.weather-chip .weather-metrics{overflow:visible;text-overflow:clip;flex:1 1 10rem;min-width:0}.weather-chip .weather-tip-badge{white-space:normal;max-width:100%}.weather-warn-line{white-space:normal;overflow:visible;text-overflow:clip;word-break:keep-all;padding-left:.7rem;padding-right:.7rem}.calc-inputs-row{grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr))}.calc-inputs-row>*{min-width:0;flex:none}.calc-inputs-row label{min-width:0;word-break:keep-all}.calc-inputs-row input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.transfer-calc-box,.transfer-risk-banner{min-width:0;max-width:100%;box-sizing:border-box}.transfer-risk-header{flex-wrap:wrap;gap:.25rem .5rem;min-width:0}.transfer-risk-header>*{min-width:0}.risk-badge{white-space:normal;word-break:keep-all}.transfer-alt-text,.slack-text{word-break:keep-all;overflow-wrap:anywhere;min-width:0}.shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr))}.shortcut-card,.shortcut-top{min-width:0;max-width:100%;box-sizing:border-box}.shortcut-top{flex-wrap:wrap}.shortcut-card button,.shortcut-card .status-text{max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.shortcut-card .status-text,.shortcut-place-name{overflow-wrap:anywhere;word-break:keep-all}.fav-item-card,.fav-item-actions{min-width:0;max-width:100%;flex-wrap:wrap}.fav-item-card>*{min-width:0}.threshold-chip,.filter-chip-row button{white-space:nowrap}.alert-threshold-group,.alert-config-bar{flex-wrap:wrap}
