/* Google Maps inspired shell; Google's map and attribution remain native. */
:root{--concrete:#fff;--plate:#fff;--ink:#202124;--line:#e0e3e7;--sign:#e8f0fe;--on-sign:#174ea6;--route:#1a73e8;--muted:#5f6368;--board:#202124;--field:#fff;--btn-bg:#1a73e8;--btn-fg:#fff;--shell:#f8fafd;--dot-off:#dadce0;--alarm:#b3261e}
body{padding:0;background:#fff}
.w-app{max-width:none;font-family:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif;background:#f8fafd;isolation:isolate;height:100dvh}
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
.w-overview-map{position:absolute;inset:0 0 0 472px;background:#e8eef1;z-index:0}
.w-overview-error{position:absolute;left:calc(472px + 24px);right:24px;top:80px;max-width:420px;padding:16px 20px;border-radius:16px;background:white;box-shadow:0 2px 12px #20212426;z-index:1;color:#5f6368;font-size:14px}
.w-map-actions{position:absolute;top:16px;left:492px;right:90px;display:flex;gap:8px;z-index:3;pointer-events:none}
.w-map-actions button{display:flex;align-items:center;gap:7px;height:36px;padding:0 16px;white-space:nowrap;border:1px solid #dadce0;border-radius:24px;background:white;color:#3c4043;box-shadow:0 1px 4px #20212426;font-size:13px;font-weight:600;pointer-events:auto}
.w-map-actions .material-symbols-outlined{font-size:19px}
body[data-navigation=active] .w-map-actions{display:none}
.w-head{position:absolute;left:80px;top:0;width:392px;height:76px;padding:14px 16px;gap:10px;border:0;border-bottom:1px solid #eee;background:white;z-index:5}
.w-logo{display:flex;align-items:center;gap:4px;border:0;padding:0;background:none;font-size:19px;font-weight:600;letter-spacing:0;white-space:nowrap;color:#3c4043}
.w-logo .material-symbols-outlined{color:#1a73e8;font-size:29px}
.w-plate{background:none;box-shadow:none;padding:0;min-width:0}
.w-plate b{font-size:12px;letter-spacing:0;color:#5f6368;font-weight:500}.w-plate small{display:none}
.w-iconbtn{border:0;background:#f1f3f4;border-radius:50%;padding:0 7px;font-size:13px;min-width:34px;height:34px;font-weight:500}
.w-main{margin-left:80px;padding-top:76px;position:relative;z-index:2;pointer-events:none}
.w-pane{width:392px;max-width:100%;pointer-events:auto;background:white;box-shadow:3px 0 7px #20212412}
.w-tabs{position:absolute;left:0;top:0;bottom:0;width:80px;display:flex;flex-direction:column;gap:6px;padding:18px 4px;background:#f8fafd;border:0;border-right:1px solid #e8eaed;z-index:6}
.w-tab{padding:14px 2px 10px;border-radius:16px;color:#5f6368;gap:7px;font-size:11px;line-height:1.1;min-height:66px}
.w-tab.on{color:#1967d2;font-weight:600}.w-tab.on::before{display:none}
.w-tab.on .material-symbols-outlined{background:#d3e3fd;border-radius:24px;width:56px;padding:4px 0;margin-top:-4px;margin-bottom:-4px}
.w-tabs .w-tab>.material-symbols-outlined{font-size:24px}
.w-count{background:#1a73e8;color:white;top:6px;left:auto;right:8px}
.w-pad{padding:16px 20px 24px}.w-hero{font-size:21px;font-weight:500;line-height:1.4;margin:24px 0 8px}.w-h1,.w-h2{font-weight:600}.w-lead{font-size:13px;margin-bottom:16px;line-height:1.6}
.w-search{height:52px;border:0;border-radius:28px;box-shadow:0 1px 6px #20212440;padding:0 6px 0 16px;gap:12px;background:#fff}
.w-search>.material-symbols-outlined{color:#5f6368;font-size:23px}.w-search input{font-size:15px}.w-go{width:40px;height:40px;padding:0;border-radius:50%;display:grid;place-items:center;background:#e8f0fe;color:#1a73e8}
.w-quick-search{gap:7px;margin-top:16px}.w-quick-search .w-chip{display:flex;align-items:center;gap:5px}.w-chip{border:1px solid #dadce0;background:#fff;color:#3c4043;padding:6px 13px;font-size:12px}.w-chip .material-symbols-outlined{font-size:17px}
.w-navigation-modes{background:#f1f3f4;padding:4px;border-radius:24px;gap:2px}.w-navigation-modes button{border:0;border-radius:20px;background:transparent;font-size:12px;padding:8px}.w-navigation-modes button[aria-pressed=true]{background:white;color:#1a73e8;box-shadow:0 1px 3px #20212426;font-weight:600}
.w-navigation-description{line-height:1.6;font-size:12px;margin:10px 3px}.w-locrow{gap:8px;margin-top:16px}.w-locrow .w-muted{width:100%;font-size:11px;line-height:1.5}
.w-btn,.w-round{border:0;border-radius:22px;background:#1a73e8;color:#fff;font-weight:500}.w-btn.ghost{border:1px solid #dadce0;background:#fff;color:#1a73e8}.w-round{border-radius:50%;background:#f1f3f4;color:#5f6368}.w-round.primary{background:#1a73e8;color:#fff}
.w-fl{border:0;border-radius:6px;background:#e8f0fe;color:#1967d2;font-family:inherit;font-size:13px;font-weight:600;padding:5px 7px}.w-fl.g{background:#f1f3f4;color:#5f6368}
.w-row{padding:16px 0;border-color:#e8eaed}.w-row.click:hover{background:#f8fafd}.w-row-main b{font-size:15px;font-weight:500}.w-row-main small{font-size:12px;margin-top:5px;line-height:1.6}
.w-target{border:0;border-bottom:1px solid #e8eaed;padding:12px 16px;gap:10px;background:white;min-height:88px}.w-target-name b{font-size:18px;font-weight:600;line-height:1.4;margin:5px 0}.w-target-name small{font-size:11px;color:#5f6368}.w-target-name small:first-child{color:#1a73e8}.w-target>.w-fl{align-self:flex-start;margin-top:6px}
.w-nav-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff}
.w-navigation-switch{padding:12px 16px 6px;border:0}.w-navigation-switch .w-navigation-description{font-size:11px;margin:7px 3px}
.w-nav-stage{padding:10px 16px;border:0;background:#f8fafd;color:#1a73e8;font-weight:500;font-size:12px}.w-nav-stage>span small{font-size:11px}
.w-route-launch{margin:10px 16px 4px;padding:12px 16px;background:#1a73e8;border:0;border-radius:12px}.w-route-launch b{font-size:14px;font-weight:500}.w-route-launch small{font-size:11px}
.w-landmark-legend{margin:6px 16px 0;padding:10px 12px;border:1px solid #d2e3fc;border-radius:12px;max-height:140px;background:#f8fafd}.w-landmark-after{border-color:#1a73e8}.w-landmark-legend .w-btn{margin-top:5px}
#pane-nav .w-media{position:fixed;top:0;left:472px;right:0;bottom:0;z-index:0;padding:0;pointer-events:auto}
#pane-nav .w-media-body{height:100%;border:0;border-radius:0;background:#e8eef1}
#pane-nav .w-seg{position:absolute;top:16px;left:20px;z-index:3;display:flex;gap:0;border-radius:22px;overflow:hidden;box-shadow:0 1px 6px #20212433;margin:0;background:#fff}
#pane-nav .w-seg button{border:0;border-radius:0;padding:0 22px;height:38px;background:white;color:#5f6368;font-size:13px;font-weight:500}
#pane-nav .w-seg button.on{color:#1a73e8;background:#e8f0fe}.w-sv-empty{background:#f1f3f4;color:#5f6368}
.w-chat{padding:14px 16px;gap:14px}.w-ai{max-width:100%;border:0;border-radius:16px;background:#f8fafd;font-size:13px;line-height:1.7;padding:14px}.w-user{background:#e8f0fe;color:#174ea6;border-radius:16px;font-size:13px;line-height:1.6;padding:10px 14px}
.w-nav-goal{border:0;padding:0 0 10px;margin-bottom:10px;border-bottom:1px solid #e8eaed;background:transparent}.w-nav-goal b{font-size:14px}.w-src{font-size:10px}.w-chips{padding:8px 16px 4px}.w-compose{padding:8px 12px 14px;gap:8px;border-top:1px solid #f1f3f4;background:white}.w-compose input[type=text]{border:1px solid #dadce0;border-radius:24px;font-size:14px;height:44px}
.w-choice{background:#fff;border-color:#dadce0;color:#202124;border-radius:12px}.w-choice span{color:#1a73e8}.w-handoff{border-color:#dadce0;border-style:solid;border-radius:12px}.w-picked{color:#1a73e8}.w-pin{background:#1a73e8;color:#fff;border:2px solid #fff;border-radius:16px;padding:3px 10px;box-shadow:0 1px 4px #2021244d}.w-pin.lm{background:#fff;color:#3c4043;border:1px solid #dadce0}.w-pin.me{background:#1a73e8}.w-pin.w-observed-pin{background:#fef7e0;color:#7c4a03;border:1px solid #f9ab00}
.w-sheet-bg{position:fixed;background:#20212466}.w-sheet{max-width:600px;margin:auto;border:0;border-radius:24px;padding:24px;max-height:88vh;box-shadow:0 6px 36px #20212433}.w-sheet-x{border:0;border-radius:50%;background:#f1f3f4}.w-sheet h2{font-size:20px;font-weight:500}.w-label textarea{border-color:#dadce0;border-radius:12px}
.f-page{padding:20px 16px 40px}.f-page h1{font-size:22px;font-weight:500}.f-card{border-color:#dadce0;color:#202124;box-shadow:none}.f-card input:not([type=checkbox]),.f-card select,.f-card textarea{border-color:#dadce0;color:#202124}.f-actions button,.f-card button,.f-page>button{background:#1a73e8;border-radius:20px}.f-actions button.secondary,.f-card button.secondary{background:#e8f0fe;color:#1967d2}.f-tag{background:#e8f0fe}.f-status{color:#1a73e8}.f-muted{color:#5f6368}.f-toast{background:#323232}.w-note{border-color:#f9ab00;background:#fef7e0}.w-direction-note{border-color:#d2e3fc;background:#e8f0fe}
.f-companion{font-family:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif;background:#fff}.f-companion>header{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:600;color:#3c4043;padding:20px;border-bottom:1px solid #e8eaed}.f-companion>header .material-symbols-outlined{color:#1a73e8;font-size:28px}
@media(max-width:850px){
  .w-head{left:0;right:0;width:100%;height:62px;padding:10px 16px;box-shadow:0 1px 6px #2021241f;background:white}.w-logo{font-size:18px}.w-plate b{font-size:12px}
  .w-main{margin:0;padding-top:62px;padding-bottom:64px}.w-pane{width:100%;box-shadow:none}.w-tabs{top:auto;left:0;right:0;bottom:0;width:100%;height:64px;flex-direction:row;gap:0;padding:5px 3px max(5px,env(safe-area-inset-bottom));border:0;border-top:1px solid #e8eaed;background:#fff;justify-content:space-around}.w-tab{flex:1;min-width:0;min-height:0;padding:5px 0;gap:5px;font-size:10px}.w-tab.on .material-symbols-outlined{width:42px;padding:3px 0;margin-top:-3px;margin-bottom:-3px}.w-tabs .w-tab>.material-symbols-outlined{font-size:22px}.w-count{right:1px;top:0}
  .w-overview-map{inset:62px 0 64px}.w-overview-error{left:16px;right:16px;top:124px}.w-map-actions{top:76px;left:16px;right:16px;overflow-x:auto;scrollbar-width:none}.w-map-actions button{height:34px;padding:0 12px;font-size:12px}
  #pane-nav{background:transparent;position:relative;pointer-events:none}
  #pane-nav>.w-scroll{flex:none;position:absolute;left:0;right:0;bottom:0;max-height:58%;background:white;border-radius:24px 24px 0 0;box-shadow:0 -2px 12px #20212426;pointer-events:auto}
  #pane-nav>.w-scroll .w-pad{padding:18px 16px 20px}.w-hero{font-size:18px;margin-top:18px}.w-lead{font-size:12px;margin-bottom:12px}.w-locrow{margin-top:12px}.w-quick-search{margin-top:12px}
  .w-target{position:absolute;top:10px;left:12px;right:12px;min-height:0;padding:10px 12px;border:0;border-radius:16px;box-shadow:0 2px 8px #20212433;z-index:3;pointer-events:auto}.w-target-name b{font-size:15px;margin:4px 0}.w-target-name small{font-size:10px}.w-target>.w-fl{margin-top:3px}.w-target .w-round.sm{width:30px;height:30px}
  #pane-nav .w-media{position:absolute;inset:0 0 54%;z-index:0}
  #pane-nav .w-media-body{height:100%}#pane-nav .w-seg{left:12px;top:100px}#pane-nav .w-seg button{height:32px;padding:0 14px;font-size:12px}
  .w-nav-panel{position:absolute;left:0;right:0;bottom:0;height:54%;max-height:65%;border-radius:22px 22px 0 0;box-shadow:0 -2px 12px #20212426;overflow-y:auto;z-index:2;pointer-events:auto;padding-top:4px}
  .w-navigation-switch{padding:8px 12px 2px}.w-navigation-switch .w-navigation-description{display:none}.w-navigation-modes button{padding:6px;font-size:12px}
  .w-nav-stage{padding:7px 14px}.w-nav-stage>span small{font-size:10px}.w-nav-stage>small{font-size:10px}
  .w-route-launch{margin:6px 12px 2px;padding:8px 12px}.w-route-launch small{display:none}.w-route-launch b{font-size:12px}
  .w-landmark-legend{margin:4px 12px 0;padding:7px 9px;max-height:72px;font-size:11px;flex-shrink:0}.w-landmark-points b{font-size:10px}
  .w-nav-panel #chatScroll{min-height:100px;flex:1 0 100px}.w-chat{padding:8px 12px;gap:8px}.w-ai{padding:10px;font-size:12px}.w-user{font-size:12px}.w-chips{padding:5px 12px 3px;min-height:33px}.w-chip{padding:4px 10px;font-size:11px}.w-compose{padding:6px 10px 8px;position:sticky;bottom:0}.w-compose input[type=text]{font-size:13px;height:38px}.w-compose .w-round{width:36px;height:36px}
  .w-sheet{margin:0;max-width:none;border-radius:24px 24px 0 0;padding:20px;max-height:90dvh}.w-sheet-bg{align-items:flex-end}
  .w-pane:not(#pane-nav){background:white}.f-page{padding-bottom:24px}.w-loading{background:white}
}
@media(max-width:390px){.w-logo{font-size:16px}.w-plate{display:none}.w-head{gap:8px}.w-iconbtn{margin-left:auto}.w-iconbtn+ .w-iconbtn{margin-left:0}.w-target-name small:last-child{max-width:210px}.w-map-actions{gap:6px}.w-map-actions button{padding:0 10px}}
