.app{flex-direction:column;min-height:100dvh;display:flex}.app-main{flex-direction:column;flex:1;display:flex}.strip{align-items:center;gap:var(--s-2) var(--s-4);min-height:var(--target);padding:calc(var(--s-2) + var(--safe-top)) var(--gutter) var(--s-2);background:var(--surface);border-bottom:1px solid var(--hairline);flex-wrap:wrap;display:flex}.strip-here,.strip-ask{align-items:center;gap:var(--s-2);min-height:var(--target);flex:1;display:flex}.strip-ask{color:var(--green);font-weight:600}.strip-glyph{color:var(--green);flex:none}.strip-change,.text-button{min-height:var(--target);padding:0 var(--s-2);color:var(--green);font-weight:600}.strip-change:active,.text-button:active{color:var(--green-pressed)}.strip-note{flex-basis:100%}.note-amber{padding:var(--s-1) var(--s-3);border-radius:var(--radius-chip);background:var(--amber-tint);color:var(--amber-text);font-size:var(--text-secondary);font-weight:600;display:inline-block}.search{background:var(--paper);flex-direction:column;display:flex}.search-open{z-index:10;padding-top:var(--safe-top);animation:sheet-in var(--sheet-motion);position:fixed;inset:0;overflow:hidden}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.field{align-items:center;gap:var(--s-3);margin:var(--s-4) var(--gutter) 0;min-height:var(--field);padding:0 var(--s-4);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper);display:flex}.field:focus-within{border-color:var(--green)}.field-glyph{color:var(--muted);flex:none}.field-input{min-width:0;min-height:calc(var(--field) - 3px);appearance:none;background:0 0;border:0;outline:none;flex:1}.field-input::-webkit-search-decoration{-webkit-appearance:none}.field-input::-webkit-search-cancel-button{-webkit-appearance:none}.field-input::placeholder{color:var(--muted);opacity:1}.field-close{min-height:var(--target);padding:0 var(--s-2);margin-right:calc(-1 * var(--s-2));color:var(--green);flex:none;font-weight:600}.top-hits{gap:var(--s-2);padding:var(--s-3) var(--gutter) 0;flex-wrap:wrap;display:flex}.search-body{min-height:0;padding:var(--s-3) var(--gutter) var(--s-4);flex:1}.search-open .search-body{padding-bottom:calc(var(--s-6) + var(--safe-bottom));-webkit-overflow-scrolling:touch;overflow-y:auto}.chips-loading,.empty{color:var(--muted);padding:var(--s-3) 0}.chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.chips-scroll{gap:var(--s-2);margin:0 calc(-1 * var(--gutter));padding:var(--s-1) var(--gutter);scroll-snap-type:x proximity;scrollbar-width:none;grid-template-rows:repeat(2,auto);grid-auto-columns:max-content;grid-auto-flow:column;display:grid;overflow-x:auto}.chips-scroll::-webkit-scrollbar{display:none}.chips-scroll .chip{scroll-snap-align:start}.chip{align-items:center;gap:var(--s-1);min-height:40px;padding:0 var(--s-4);border-radius:var(--radius-chip);background:var(--chip);font-size:var(--text-secondary);white-space:nowrap;font-weight:600;display:inline-flex}.chip:active{background:var(--hairline)}.chip-top{background:var(--green);color:var(--paper);min-height:var(--target);font-size:var(--text-body)}.chip-top:active{background:var(--green-pressed)}.chip-quiet{background:var(--paper);border:1.5px solid var(--line);min-height:var(--target)}.section-label{margin:var(--section-gap) 0 var(--s-2);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.search-body>.section-label:first-child,.search-body>div>.section-label:first-child{margin-top:var(--s-2)}.rows{flex-direction:column;display:flex}.row{align-items:center;gap:var(--s-3);width:100%;min-height:var(--row);padding:var(--s-2) 0;border-bottom:1px solid var(--hairline);display:flex}.row:active{background:var(--surface)}.row-logo,.row-glyph{border-radius:var(--radius-logo);object-fit:contain;flex:none;width:28px;height:28px}.row-initial{background:var(--surface);font-size:var(--text-secondary);color:var(--muted);place-items:center;font-weight:600;display:grid}.row-glyph{color:var(--green);place-items:center;display:grid}.row-main{flex-direction:column;min-width:0;display:flex}.row-name{font-weight:600}.row-sub{font-size:var(--text-secondary);color:var(--muted)}.group-head{align-items:center;gap:var(--s-2);margin-left:calc(-1 * var(--s-2));display:flex}.group-title{font-size:var(--text-step);font-weight:600;line-height:var(--leading-tight)}.group-sub{margin:var(--s-1) 0 var(--s-3);font-size:var(--text-secondary);color:var(--muted)}.icon-button{width:var(--target);height:var(--target);border-radius:var(--radius);color:var(--ink);place-items:center;display:grid}.map-area{height:var(--map-height);background:var(--surface);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);min-height:240px;position:relative}.map-host,.map-canvas{position:absolute;inset:0}.map-placeholder{align-content:center;justify-items:start;gap:var(--s-3);padding:var(--gutter);color:var(--muted);display:grid;position:absolute;inset:0}.map-failure{padding:var(--gutter);background:var(--surface);color:var(--ink);place-content:center;display:grid;position:absolute;inset:0}.floor-pill{top:var(--s-3);right:var(--s-3);min-height:40px;padding:0 var(--s-4);border:1.5px solid var(--line);border-radius:var(--radius-chip);background:var(--paper);font-size:var(--text-secondary);font-weight:600;position:absolute}.start-marker{background:var(--green);border:3px solid var(--paper);width:18px;height:18px;box-shadow:0 0 0 2px var(--green);border-radius:50%}.route-head{padding:var(--s-4) var(--gutter) var(--s-3)}.route-title-row{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.route-title{font-size:var(--text-title);font-weight:600;line-height:var(--leading-tight)}.route-detail{margin-top:var(--s-1);font-size:var(--text-secondary);color:var(--muted);font-variant-numeric:tabular-nums}.route-tools{justify-content:space-between;align-items:center;gap:var(--s-3);margin-top:var(--s-3);display:flex}.switch{align-items:center;gap:var(--s-3);min-height:var(--target);cursor:pointer;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{border-radius:var(--radius-chip);border:1.5px solid var(--line);background:var(--paper);width:52px;height:32px;transition:background var(--sheet-motion);flex:none;position:relative}.switch-thumb{background:var(--line);width:23px;height:23px;transition:transform var(--sheet-motion), background var(--sheet-motion);border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--green);border-color:var(--green)}.switch input:checked+.switch-track .switch-thumb{background:var(--paper);transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--green);outline-offset:2px}.switch-label{font-weight:600}.steps-area{padding:var(--s-4) var(--gutter) calc(var(--s-8) + var(--safe-bottom))}.steps{flex-direction:column;display:flex}.step-button{align-items:center;gap:var(--s-3);width:100%;min-height:var(--row);padding:var(--s-3) 0;border-bottom:1px solid var(--hairline);display:flex}.step-glyph{color:var(--ink);flex:none}.step-number{background:var(--surface);width:28px;height:28px;font-size:var(--text-secondary);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.step-current .step-number{background:var(--green);color:var(--paper)}.step-text{flex-direction:column;min-width:0;display:flex}.step-action{font-size:1.125rem;font-weight:600}.step-detail{font-size:var(--text-secondary);color:var(--muted);font-variant-numeric:tabular-nums}.detail-mono{font-family:var(--font-mono);font-size:var(--text-label);color:var(--muted);word-break:break-word}.button{min-height:var(--target);padding:0 var(--s-5);border-radius:var(--radius);background:var(--green);color:var(--paper);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.button:active{background:var(--green-pressed)}.button-secondary{background:var(--paper);color:var(--green);border:1.5px solid var(--line)}.button-secondary:active{background:var(--surface)}.sheet{z-index:20;padding:calc(var(--s-4) + var(--safe-top)) var(--gutter) calc(var(--s-6) + var(--safe-bottom));background:var(--paper);animation:sheet-in var(--sheet-motion);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.sheet-title{font-size:var(--text-title);font-weight:600;line-height:var(--leading-tight);outline:none}.sheet-lede{margin:var(--s-2) 0 var(--section-gap);color:var(--muted)}.entrances{gap:var(--row-gap);flex-direction:column;display:flex}.entrance{width:100%;min-height:var(--row-entrance);padding:var(--s-2) var(--s-4);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-direction:column;justify-content:center;display:flex}.entrance:active{background:var(--surface)}.entrance[aria-current=true]{border-color:var(--green);background:var(--green-tint)}.entrance-name{font-weight:600}.entrance-floor{font-size:var(--text-secondary);color:var(--muted)}
