.app{flex-direction:column;min-height:100dvh;display:flex}.app-main{flex-direction:column;flex:1;min-height:100dvh;display:flex}.app-route .app-main{height:100dvh;overflow:hidden}.app-route .map-area{border:0}.app-route .top{display:none}.app-route .map-area,.app-home .map-area{flex:1;height:auto;min-height:240px}.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)}.text-button-glyph{align-items:center;gap:var(--s-1);display:inline-flex}.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{top:var(--vv-top,0px);height:var(--vv-height,100dvh);z-index:10;animation:sheet-in var(--sheet-motion);position:fixed;left:0;right:0;overflow:hidden}.search-open .field{margin:var(--s-2) var(--gutter) calc(var(--s-3) + var(--safe-bottom));order:3}.search-open .top-hits{padding:0 var(--gutter) var(--s-2);order:2}.search-open .search-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:calc(var(--s-4) + var(--safe-top)) var(--gutter) var(--s-2);flex-direction:column-reverse;order:1;justify-content:flex-start;display:flex;overflow-y:auto}.search-open .results{flex-direction:column-reverse;display:flex}.search-open .search-prompt{margin:0 var(--gutter) var(--s-2);order:0}@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}.chips-loading,.empty{color:var(--muted);padding:var(--s-3) 0}.home-foot{gap:var(--s-3);padding:var(--s-4) var(--gutter) calc(var(--s-4) + var(--safe-bottom));background:var(--paper);border-top:1px solid var(--hairline);display:grid}.note-field{gap:var(--s-1);font-size:var(--text-label);color:var(--muted);display:grid}.note-field input{min-height:var(--target);padding:0 var(--s-3);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:var(--text-body)}.search-prompt{margin:var(--s-4) var(--gutter) 0;font-size:var(--text-step);font-weight:600;line-height:var(--leading-tight)}.return-actions{gap:var(--s-3);margin-top:var(--s-4);display:grid}.sheet-note{margin-top:var(--s-1);font-size:var(--text-secondary);color:var(--amber-text)}.plan-lede{margin:var(--s-4) var(--gutter) 0;color:var(--muted)}.plan-block{margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius);background:var(--green-tint)}.plan-where{font-weight:600}.plan-links{gap:var(--s-2) var(--s-4);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.plan-link{min-height:40px;color:var(--green);text-underline-offset:3px;align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.plan-note{margin-top:var(--s-2);font-size:var(--text-label);color:var(--muted)}.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(--s-4) 0 var(--s-2);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.search-open .section-label{margin:var(--s-4) 0 var(--s-1)}.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-control{top:calc(var(--s-3) + var(--safe-top));right:var(--s-3);position:absolute;box-shadow:0 1px 3px #14201a1f}.map-close{top:calc(var(--s-3) + var(--safe-top));left:var(--s-3);border:1.5px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 1px 3px #14201a1f}.segmented{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper);gap:2px;padding:3px;display:inline-flex}.segmented-option{min-height:36px;padding:0 var(--s-4);font-size:var(--text-secondary);color:var(--muted);white-space:nowrap;border-radius:8px;font-weight:600}.segmented-option[aria-pressed=true]{background:var(--green-tint);color:var(--green)}.segmented-sm .segmented-option{min-height:31px;padding:0 var(--s-3)}.anchor-marker{padding:var(--s-1) var(--s-3);border:1.5px solid var(--ink);border-radius:var(--radius-chip);background:var(--paper);color:var(--ink);font:600 var(--text-secondary) / 1.2 var(--font);white-space:nowrap;box-shadow:0 1px 3px #14201a33}.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%}html.route-open,html.route-open body{overscroll-behavior:none;overflow:hidden}.sheet-route{z-index:5;background:var(--paper);border-radius:var(--radius) var(--radius) 0 0;max-height:100dvh;box-shadow:var(--shadow-sheet);transition:height var(--sheet-motion);contain:layout paint;position:fixed;bottom:0;left:0;right:0}.sheet-route.dragging{transition:none}.sheet-static{height:auto;padding:var(--s-4) var(--gutter) calc(var(--s-6) + var(--safe-bottom))}.sheet-inner{flex-direction:column;height:100%;display:flex}.sheet-drag{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:none}.sheet-handle{place-items:center;width:100%;height:28px;display:grid}.sheet-handle:focus-visible{outline-offset:-3px}.sheet-handle-bar{background:var(--line);border-radius:2px;width:40px;height:4px;display:block}.sheet-head{padding:0 var(--gutter) var(--s-2)}.sheet-title-row{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.sheet-title{font-size:var(--text-step);font-weight:600;line-height:var(--leading-tight);min-width:0;margin:0}.sheet-change{min-height:40px;margin-top:calc((var(--text-step) * var(--leading-tight) - 40px) / 2);flex:none}.sheet-summary{margin:var(--s-1) 0 0;font-size:var(--text-secondary);color:var(--muted);font-variant-numeric:tabular-nums}.link-button{color:var(--green);text-underline-offset:3px;font-weight:600;text-decoration:underline}.sheet-stepping .sheet-summary,.sheet-stepping .sheet-tools,.sheet-stepping .plan-block{display:none}.sheet-tools{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:44px;padding:0 var(--gutter) var(--s-2);border-bottom:1px solid var(--hairline);flex:none;display:flex}.sheet-tools .switch,.sheet-tools .text-button{min-height:40px}.switch-compact{gap:var(--s-2)}.switch-compact .switch-track{width:44px;height:28px}.switch-compact .switch-thumb{width:20px;height:20px;top:2.5px;left:2.5px}.switch-compact input:checked+.switch-track .switch-thumb{transform:translate(16px)}.sheet-scroll{touch-action:none;min-height:0;padding:var(--s-2) var(--gutter) var(--s-4);flex:1;overflow:hidden}.sheet-full .sheet-scroll{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-y:auto}.sheet-state{gap:var(--s-3);padding:var(--s-2) 0;justify-items:start;display:grid}.sheet-foot{gap:var(--s-3);padding:var(--s-3) var(--gutter) calc(var(--s-3) + var(--safe-bottom));border-top:1px solid var(--hairline);background:var(--paper);flex-wrap:wrap;flex:none;display:flex}.sheet-foot .button-block{flex-basis:100%}.sheet-list-label{margin:var(--s-4) 0 0;font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.share-text{width:100%;min-height:12rem;padding:var(--s-3);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-secondary);resize:vertical;line-height:1.4}.share-status{min-height:1.4em;font-size:var(--text-secondary);color:var(--muted)}.switch{align-items:center;gap:var(--s-3);cursor:pointer;min-height:40px;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-text{line-height:var(--leading-tight);flex-direction:column;display:flex}.switch-label{font-weight:600}.switch-sub{font-size:var(--text-label);color:var(--muted);white-space:nowrap}.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:last-child .step-button{border-bottom:0}.step-glyph{width:28px;height:28px;color:var(--ink);flex:none;place-items:center;display:grid}.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;line-height:1.3}.step-detail{font-size:var(--text-secondary);color:var(--muted);font-variant-numeric:tabular-nums}.step-card{padding:var(--s-3) 0 var(--s-5);border-bottom:1px solid var(--hairline);touch-action:pan-y;-webkit-user-select:none;user-select:none}.step-card-count{font-size:var(--text-secondary);color:var(--muted);font-variant-numeric:tabular-nums}.step-card-body{align-items:flex-start;gap:var(--s-4);margin-top:var(--s-2);display:flex}.step-card-glyph{background:var(--green-tint);width:64px;height:64px;color:var(--green);border-radius:50%;flex:none;place-items:center;display:grid}.step-card-action{font-size:var(--text-step);padding-top:var(--s-2);outline:none;font-weight:600;line-height:1.25}.step-card-detail{margin-top:var(--s-2);padding-left:calc(64px + var(--s-4));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-wide{flex:1}.button:disabled{opacity:.45;cursor:default}.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}.picker-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.picker-title{font-size:var(--text-title);font-weight:600;line-height:var(--leading-tight);outline:none}.picker-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)}.app-kiosk{--text-title:2.125rem;--text-step:1.75rem;--text-body:1.375rem;--text-secondary:1.125rem;--text-label:.9375rem;--target:64px;--field:72px;--row:72px;--row-entrance:80px;grid-template-columns:minmax(420px,36%) 1fr;height:100dvh;min-height:0;display:grid}.kiosk-left{border-right:1px solid var(--hairline);background:var(--paper);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.kiosk-right{min-height:0;position:relative}.kiosk-right .map-area{border:0;height:auto;position:absolute;inset:0}.app-kiosk .strip{padding-top:var(--s-4);padding-bottom:var(--s-4)}.app-kiosk .search-inline{flex:1}.app-kiosk .search-inline .field{margin:var(--s-5) var(--gutter) 0}.app-kiosk .search-inline .search-body{padding:var(--s-4) var(--gutter) var(--s-8)}.app-kiosk .chip{min-height:56px;padding:0 var(--s-5);font-size:var(--text-secondary)}.app-kiosk .row-logo,.app-kiosk .row-glyph{width:40px;height:40px}.app-kiosk .floor-control{top:var(--s-5);right:var(--s-5)}.app-kiosk .segmented-option{min-height:56px;font-size:var(--text-secondary)}.app-kiosk .segmented-sm .segmented-option{min-height:40px}.kiosk-route{gap:var(--s-4);padding:var(--s-5) var(--gutter) var(--s-8);flex-direction:column;display:flex}.kiosk-head .sheet-tools{border-bottom:0;padding:0}.kiosk-state{padding:var(--s-5) var(--gutter)}.app-kiosk .step-action{font-size:var(--text-body)}.app-kiosk .step-glyph,.app-kiosk .step-number{width:36px;height:36px}.take-it{align-items:center;gap:var(--s-5);padding:var(--s-5);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper);display:flex}.take-it-qr,.take-it-qr svg{flex:none;width:220px;height:220px;display:block}.take-it-qr svg{shape-rendering:crispedges}.take-it-title{font-size:var(--text-step);font-weight:600;line-height:var(--leading-tight)}.take-it-lede{margin-top:var(--s-2);font-size:var(--text-body);color:var(--muted)}
