:root{color:#111827;background:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}.tour-shell{min-height:100vh;position:relative;overflow:hidden}.showcase-frame{position:fixed;inset:0;width:100%;height:100%;border:0;background:#111827}.editor-shell{min-height:100vh;overflow:hidden;background:#111827;color:#111827}.editor-frame{position:fixed;inset:0 340px 0 300px;width:calc(100% - 640px);height:100%;border:0;background:#111827}.editor-left,.editor-right{position:fixed;top:0;bottom:0;z-index:8;display:grid;align-content:start;grid-gap:14px;gap:14px;overflow:auto;border-color:rgba(17,24,39,.1);background:rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(0,0,0,.2)}.editor-left{left:0;width:300px;border-right:1px solid rgba(17,24,39,.1);padding:18px}.editor-right{right:0;width:340px;border-left:1px solid rgba(17,24,39,.1);padding:18px}.editor-left header{display:grid;grid-gap:5px;gap:5px}.editor-left header strong{font-size:18px}.editor-card dd,.editor-card p,.editor-left header span,.editor-list p,.editor-list small{color:#6b7280;line-height:1.4}.editor-tabs{display:grid;grid-gap:6px;gap:6px}.editor-card .editor-file-button,.editor-card button,.editor-list button,.editor-tabs button{min-height:38px;border:1px solid rgba(17,24,39,.1);border-radius:8px;padding:8px 10px;background:#ffffff;color:#111827;cursor:pointer;text-align:left}.editor-card .editor-primary,.editor-tabs button[data-active=true]{border-color:#1f2937;background:#1f2937;color:#ffffff}.editor-card .editor-danger{border-color:rgba(220,38,38,.35);background:#fef2f2;color:#991b1b}.editor-card button:disabled,.editor-tabs button:disabled{cursor:not-allowed;opacity:.48}.editor-card,.editor-list{display:grid;grid-gap:10px;gap:10px}.editor-list-title{display:flex;justify-content:space-between;font-weight:700}.editor-list button{display:grid;grid-gap:4px;gap:4px}.editor-list-search{box-sizing:border-box;width:100%;height:34px;padding:0 8px;border:1px solid rgba(17,24,39,.15);border-radius:6px;background:#ffffff;color:#111827;font-size:13px;font-family:inherit}.editor-list-search:focus{outline:none;border-color:#1f2937}.editor-color-row{display:flex;gap:8px;align-items:center}.editor-color-row input[type=color]{width:40px;height:34px;padding:2px 3px;border:1px solid rgba(17,24,39,.15);border-radius:6px;background:#ffffff;cursor:pointer;flex-shrink:0}.editor-color-row button{flex:1 1}.editor-list button[data-active=true]{border-color:#1d4ed8;background:#eff6ff}.editor-zone-row{display:grid;grid-template-columns:1fr 38px;grid-gap:6px;gap:6px;align-items:stretch}.editor-zone-row[data-active=true] .editor-zone-select{border-color:#ef4444;background:#fef2f2}.editor-zone-select{min-width:0}.editor-zone-delete{display:grid!important;place-items:center;padding:0!important;color:#991b1b}.editor-icon-button svg{width:18px;height:18px;fill:currentColor}.editor-card{border:1px solid rgba(17,24,39,.08);border-radius:10px;padding:14px;background:rgba(249,250,251,.9)}.editor-tool-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.editor-tool-toggle button{text-align:center}.editor-tool-toggle button[data-active=true]{border-color:#1f2937;background:#1f2937;color:#ffffff}.editor-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(17,24,39,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.editor-overlay-card{background:#ffffff;border-radius:14px;padding:28px 32px;min-width:320px;max-width:480px;box-shadow:0 24px 64px rgba(0,0,0,.28);display:grid;grid-gap:18px;gap:18px}.editor-overlay-card h2{margin:0;font-size:17px;font-weight:700}.editor-export-summary{display:grid;grid-gap:8px;gap:8px;margin:0}.editor-export-summary div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(17,24,39,.07)}.editor-export-summary dt{font-weight:600;color:#374151}.editor-export-summary dd{margin:0;color:#6b7280;text-align:right}.editor-overlay-actions{display:flex;gap:10px;justify-content:flex-end}.editor-overlay-actions button{min-height:38px;padding:0 18px;border:1px solid rgba(17,24,39,.1);border-radius:8px;background:#ffffff;cursor:pointer;font:inherit;font-size:14px}.editor-overlay-actions button.editor-primary{background:#1f2937;color:#ffffff;border-color:#1f2937}.editor-unreachable-badge{color:#b45309;font-size:12px}.editor-warning{border:1px solid rgba(180,83,9,.25);border-radius:8px;padding:8px 10px;background:#fffbeb;color:#b45309!important;font-weight:650;margin:0}.editor-instruction{border:1px solid rgba(15,118,110,.18);border-radius:8px;padding:9px 10px;background:#f0fdfa;color:#0f766e!important;font-weight:650}.editor-card dl,.editor-card h1,.editor-card h2,.editor-card p{margin:0}.editor-card h1{font-size:22px}.editor-card h2{font-size:15px}.editor-card dl{display:grid;grid-gap:8px;gap:8px}.editor-card dl div{display:flex;justify-content:space-between;gap:10px}.editor-card dt{font-weight:700}.editor-card dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editor-field{display:grid;grid-gap:4px;gap:4px}.editor-field label{font-size:12px;font-weight:600;color:#374151}.editor-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.editor-card input[type=datetime-local],.editor-card input[type=number],.editor-card input[type=text],.editor-card select{box-sizing:border-box;width:100%;height:34px;padding:0 8px;border:1px solid rgba(17,24,39,.15);border-radius:6px;background:#ffffff;color:#111827;font-size:13px;font-family:inherit}.editor-card input:focus,.editor-card select:focus{outline:none;border-color:#1f2937}.editor-checkbox{display:flex;gap:8px;align-items:center;font-size:13px;color:#374151;cursor:pointer}.editor-checkbox input[type=checkbox]{width:15px;height:15px;cursor:pointer}.marker-label-overlay{position:fixed;top:0;left:0;z-index:4;max-width:min(240px,calc(100vw - 32px));padding:7px 11px 7px 7px;border:1px solid rgba(0,115,190,.1);border-radius:999px;background:white;color:#0a2a44;box-shadow:0 8px 24px rgba(0,48,96,.22);font-size:13px;font-weight:600;line-height:1.2;pointer-events:none;white-space:nowrap;display:flex;align-items:center;gap:6px}.marker-label-overlay:before{content:"";width:16px;height:16px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle,white 0,white 4px,#0073BE 0,#0073BE 100%)}.marker-label-overlay[data-visible=false]{opacity:0}.tour-status{position:fixed;top:16px;right:16px;z-index:2;width:min(360px,calc(100vw - 32px));padding:16px;border:1px solid rgba(0,0,0,.06);border-radius:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 20px 45px rgba(0,0,0,.18)}.tour-status h1{margin:0 0 8px;font-size:20px;line-height:1.2}.tour-status p{margin:0;color:#6b6b6b;line-height:1.5}.nav-trigger{position:fixed;top:18px;right:18px;z-index:5;display:flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 12px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer}.nav-trigger[data-state=idle]{background:#0073BE;color:#ffffff;border:none;box-shadow:0 12px 32px rgba(0,115,190,.4);animation:nav-trigger-pulse 1.8s ease-out 1}.nav-trigger[data-state=navigating]{background:rgba(255,255,255,.97);color:#0a2a44;border:1px solid rgba(0,115,190,.14);box-shadow:0 10px 28px rgba(0,48,96,.18)}.nav-trigger:disabled{cursor:wait;opacity:.64}.nav-trigger-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.nav-trigger-label{white-space:nowrap}.nav-category svg,.nav-search-input svg,.nav-trigger-icon svg,.route-card button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.language-picker{position:fixed;top:82px;right:18px;z-index:5}.language-picker-trigger{min-width:48px;min-height:38px;padding:0 14px;border:1px solid rgba(0,115,190,.14);border-radius:999px;background:rgba(255,255,255,.97);color:#0a2a44;box-shadow:0 8px 22px rgba(0,48,96,.14);cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.06em}.language-picker-menu{position:absolute;top:44px;right:0;display:grid;min-width:172px;overflow:hidden;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 18px 42px rgba(0,0,0,.18);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.language-picker-menu button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;border:0;border-bottom:1px solid rgba(0,0,0,.06);padding:9px 12px;background:transparent;color:#111827;cursor:pointer;text-align:left}.language-picker-menu button:last-child{border-bottom:0}.language-picker-menu button[aria-checked=true]{background:rgba(0,115,190,.07);color:#0073BE}.language-picker-menu small{color:#6b7280;font-weight:700;letter-spacing:.04em}.nav-panel-layer{position:fixed;inset:0;z-index:4;background:rgba(0,0,0,.18)}.nav-search-panel{position:fixed;top:0;right:0;display:flex;flex-direction:column;width:360px;max-width:calc(100vw - 24px);height:100vh;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:-18px 0 44px rgba(0,48,96,.18)}.nav-search-spectrum{display:flex;height:3px;flex-shrink:0}.nav-search-spectrum span{flex:1 1}.nav-search-brand{display:flex;align-items:center;gap:10px;padding:18px 20px 14px;border-bottom:1px solid rgba(0,0,0,.05);flex-shrink:0}.nav-search-brand-name{flex:1 1;font-size:11px;font-weight:700;color:#0073BE;letter-spacing:.08em;text-transform:uppercase}.nav-search-brand button{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border:none;border-radius:999px;background:rgba(0,0,0,.04);color:#0a2a44;cursor:pointer;padding:7px}.nav-search-brand button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.nav-search-header{padding:16px 20px 10px;flex-shrink:0}.nav-search-header h2,.route-preview h2{margin:0;font-size:22px;font-weight:700;color:#0a2a44;letter-spacing:-.01em;line-height:1.2}.route-card-actions button{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(0,0,0,.08);border-radius:999px;background:transparent;color:#16181c;cursor:pointer}.nav-search-input{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:8px;gap:8px;height:48px;margin:14px 20px 8px;border:1.5px solid rgba(0,115,190,.14);border-radius:12px;padding:0 14px;background:rgba(0,115,190,.06);color:#0073BE;flex-shrink:0}.nav-search-input input{min-width:0;border:0;outline:0;background:transparent;color:#16181c}.nav-category-list{display:grid;align-content:start;grid-gap:6px;gap:6px;padding:8px 20px 20px;overflow:auto;flex:1 1}.nav-search-empty{margin:0;border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:12px;color:#6b6b6b;background:rgba(0,0,0,.03)}.nav-category{display:grid;grid-gap:8px;gap:8px}.nav-category-toggle{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;border:1px solid rgba(0,115,190,.14);border-radius:12px;padding:10px 14px;background:white;color:#0a2a44;cursor:pointer;font-size:14px;font-weight:600;text-align:left}.nav-category-toggle:focus-visible,.nav-category-toggle:hover{background:rgba(0,115,190,.04)}.nav-category-icon-wrap{width:32px;height:32px;border-radius:8px;background:rgba(0,115,190,.08);color:#0073BE;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-category-icon-wrap svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.nav-category-meta,.nav-category-name{display:flex;min-width:0;align-items:center;gap:8px}.nav-category-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-category-meta{flex:0 0 auto;color:#8a8f98}.nav-category-meta svg{width:16px;height:16px;transition:transform .16s ease}.nav-category[data-open=true] .nav-category-meta svg{transform:rotate(180deg)}.nav-destination-list{display:grid;grid-gap:8px;gap:8px;padding-bottom:10px}.nav-destination-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border:none;border-left:2px solid rgba(0,115,190,.2);border-radius:0;padding:9px 11px;background:transparent;color:#0a2a44;text-align:left;cursor:pointer;font-size:14px}.nav-destination-list button:focus-visible,.nav-destination-list button:hover{background:rgba(0,115,190,.04)}.nav-destination-list small{color:#5d7a93;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:600;white-space:nowrap}.route-preview-layer{position:fixed;inset:0;z-index:6;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.26)}.route-preview{display:grid;grid-gap:0;gap:0;width:min(380px,calc(100vw - 32px));border:1px solid rgba(0,115,190,.1);border-radius:18px;overflow:hidden;background:white;box-shadow:0 24px 60px rgba(0,48,96,.32)}.route-preview-spectrum{display:flex;height:3px}.route-preview-spectrum span{flex:1 1}.route-preview-body{padding:22px 24px 8px}.route-preview-eyebrow{display:block;font-size:11px;font-weight:700;color:#0073BE;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.route-preview-lift-chip{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:5px 10px 5px 7px;background:rgba(0,115,190,.08);color:#0073BE;border-radius:999px;font-size:12px;font-weight:600}.route-preview-lift-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.route-card p,.route-preview p{margin:0;color:#6b6b6b;line-height:1.35}.route-arrival-actions,.route-preview-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 22px}.route-arrival-actions button,.route-card-actions button,.route-preview-actions button{flex:1 1;min-height:48px;border:1.5px solid rgba(0,115,190,.14);border-radius:12px;padding:0 16px;background:transparent;color:#0a2a44;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .12s ease,border-color .12s ease}.route-arrival-actions button:focus-visible,.route-arrival-actions button:hover,.route-preview-actions button:focus-visible,.route-preview-actions button:hover{background:rgba(0,115,190,.04)}.route-arrival-actions button:last-child,.route-preview-actions .primary-action{background:#0073BE;border-color:#0073BE;color:#ffffff;box-shadow:0 6px 18px rgba(0,115,190,.4);display:flex;align-items:center;justify-content:center;gap:8px}.route-arrival-actions button:last-child:focus-visible,.route-arrival-actions button:last-child:hover,.route-preview-actions .primary-action:focus-visible,.route-preview-actions .primary-action:hover{background:#005a96;border-color:#005a96}.route-preview-actions .primary-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.route-card{position:fixed;right:16px;bottom:16px;left:16px;z-index:50;display:grid;grid-gap:0;gap:0;width:min(720px,calc(100vw - 32px));margin:0 auto;overflow:hidden;border:1px solid rgba(0,115,190,.14);border-radius:16px;padding:0;background:rgba(255,255,255,.97);color:#0a2a44;box-shadow:0 12px 36px rgba(0,48,96,.22),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.route-card-spectrum{display:flex;height:3px}.route-card-spectrum span{flex:1 1}.route-card-main{display:flex;align-items:stretch;min-width:0}.route-card-token{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:132px;padding:14px 18px;background:linear-gradient(180deg,rgba(0,115,190,.07),rgba(0,115,190,0));border-right:1px solid rgba(0,115,190,.14);text-align:center}.route-card-token[data-arrived]{background:#0073BE}.route-card-token-text{display:flex;flex-direction:column;align-items:center;line-height:1.1}.route-card-step,.route-card-token-text span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#0073BE}.route-card-token[data-arrived] .route-card-token-text span{color:rgba(255,255,255,.8)}.route-card-token-text strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:700;color:#0a2a44;letter-spacing:.08em;line-height:1}.route-card-token[data-arrived] .route-card-token-text strong{color:white}.route-card-body{display:flex;flex:1 1;min-width:0;flex-direction:column;justify-content:center;padding:13px 18px}.route-card-body strong{display:block;overflow:hidden;color:#0a2a44;font-size:15.5px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.route-card-meta{margin-top:2px;color:#4b5563;font-size:12px;line-height:1.25}.route-card-step{display:flex;align-items:center;gap:6px;margin-bottom:3px}.route-card-step svg{width:13px;height:13px;color:#0073BE;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.route-card-step svg circle{fill:currentColor;stroke:none}.route-card-actions{display:flex;align-items:center;gap:8px;padding:10px;border-left:1px solid rgba(0,115,190,.14)}.route-card-actions .route-auto-button{width:44px;height:44px;border:none;border-radius:12px;background:#0073BE;color:#ffffff;box-shadow:0 4px 12px rgba(0,115,190,.35);transition:transform .12s ease,filter .12s ease}.route-card-actions .route-auto-button[aria-pressed=true]{background:#005a96}.route-card-actions .route-auto-button:hover{filter:brightness(1.08)}.route-card-actions .route-auto-button svg{width:20px;height:20px}.route-card-actions .route-auto-button svg path:first-child{fill:currentColor;stroke:none}.route-card-actions .route-auto-button[aria-pressed=true] svg path{fill:none;stroke:currentColor}.route-card-actions .route-cancel-button{width:44px;height:44px;border:1px solid rgba(0,115,190,.14);border-radius:12px;background:transparent;color:#0a2a44}.route-card-actions .route-cancel-button:focus-visible,.route-card-actions .route-cancel-button:hover{background:rgba(0,115,190,.04)}.route-card .route-arrival-actions{padding:0 14px 12px}.route-lift-confirm{align-self:center;height:44px;margin:10px;border:none;border-radius:12px;padding:0 20px;background:#0073BE;color:#ffffff;cursor:pointer;font-size:14px;font-weight:700;box-shadow:0 4px 12px rgba(0,115,190,.35);transition:background-color .12s ease}.route-lift-confirm:hover{background:#005a96}.waiting-indicator{display:inline-flex;gap:4px;align-items:center;justify-content:center;width:54px;padding:10px;border-left:1px solid rgba(0,115,190,.14)}.waiting-indicator span{width:6px;height:6px;border-radius:999px;background:#0073BE;animation:waiting-dot 1s ease-in-out infinite}.waiting-indicator span:nth-child(2){animation-delay:.16s}.waiting-indicator span:nth-child(3){animation-delay:.32s}@keyframes waiting-dot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes nav-trigger-pulse{0%{box-shadow:0 0 0 0 rgba(0,115,190,.45)}to{box-shadow:0 0 0 18px rgba(0,115,190,0)}}@media (max-width:640px){.nav-trigger{top:auto;left:16px;right:16px;bottom:18px;justify-content:center}.nav-trigger[data-state=navigating]{display:none}.language-picker{top:16px;right:16px}.nav-search-panel{top:auto;bottom:0;width:100%;max-width:none;height:82%;border-radius:18px 18px 0 0;box-shadow:0 -12px 36px rgba(0,48,96,.18)}.nav-search-panel:before{content:"";display:block;width:38px;height:4px;border-radius:999px;background:rgba(0,0,0,.12);margin:10px auto 0;flex-shrink:0}.nav-search-spectrum{margin-top:4px}.route-card{bottom:24px;left:14px;right:14px;width:calc(100vw - 28px);border-radius:14px}.route-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.route-card-token{display:none}.route-card-body{padding:12px 10px 12px 14px}.route-card-body strong{font-size:14px}.route-card-body p{display:-webkit-box;margin-top:4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;line-height:1.25}.route-card-meta{font-size:11.5px}.route-card-step{margin-bottom:2px;font-size:8px;letter-spacing:.12em}.route-card-actions{align-self:stretch;justify-content:center;gap:0;margin-right:10px;padding:10px 0;border-left:none}.route-card-actions .route-auto-button,.route-card-actions .route-cancel-button{width:42px;height:42px;border-radius:0}.route-card-actions .route-auto-button{border-radius:999px 0 0 999px;box-shadow:0 8px 18px rgba(0,115,190,.22)}.route-card-actions .route-cancel-button{border:1px solid rgba(0,115,190,.16);border-left:0;border-radius:0 999px 999px 0;background:rgba(255,255,255,.82);color:#0a2a44}.route-card-actions .route-auto-button svg,.route-card-actions .route-cancel-button svg{width:17px;height:17px}}