:root{color-scheme:light;--ink:#243c34;--muted:#7c8980;--green:#166853;--green-dark:#104e3e;--mint:#eaf3ec;--line:#e5e9e1;--paper:#f6f7f2;--orange:#d8934c;--shadow:0 10px 32px #29463306;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{transition:background .18s,box-shadow .18s,transform .18s}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,svg [tabindex]:focus-visible{outline:3px solid #dbab63;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.97)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}.site-header{height:95px;max-width:1440px;margin:auto;padding:0 60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-symbol{width:43px;height:45px;border-radius:13px 13px 13px 3px;background:var(--green);color:#fff;font-family:Georgia,serif;font-size:33px;display:grid;place-items:center;position:relative}.brand-symbol>span{position:absolute;right:7px;bottom:7px;font-size:24px;color:#d9c37c}.brand strong{font-size:19px;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:2.4px;margin-top:4px}.header-right{display:flex;align-items:center;gap:26px}.location-label{color:var(--muted);font-size:12px}.pilot-badge{display:flex;align-items:center;gap:7px;font-size:11px;border:1px solid #d8e4d9;border-radius:20px;padding:8px 12px;color:var(--green)}.pilot-badge i{height:5px;width:5px;border-radius:50%;background:var(--green)}main{max-width:1440px;margin:auto;padding:0 60px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:40px 0 30px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;color:var(--green)}h1{font-size:34px;font-weight:600;letter-spacing:1px;margin:10px 0}h1 span{color:var(--green)}.intro p{margin:0;color:var(--muted);font-size:13px}.intro-caption{text-align:right;padding-bottom:3px}.intro-caption>span{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}.intro-caption strong{font-size:26px;font-weight:500}.intro-caption small{font-size:11px;font-weight:400;margin-left:10px;color:#63746b}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:24px;align-items:start}.journey-column{min-width:0}.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.planner,.navigation{padding:26px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}h2{font-size:17px;font-weight:600;margin:0}.floor-chip{color:var(--green);background:var(--mint);border-radius:6px;padding:5px 9px;font-size:11px;font-weight:600}.muted{color:var(--muted)}.small{font-size:11px;line-height:1.7}.planner>.small{margin:8px 0 23px}.fields{position:relative}.field-wrap{position:relative;margin-bottom:18px}.field-wrap label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;margin:0 0 9px 2px}.dot{width:8px;height:8px;display:inline-block;border-radius:50%;flex-shrink:0}.start-dot{border:2px solid var(--green)}.end-dot{background:var(--orange);border-radius:2px}.input-wrap{position:relative}.input-wrap input{height:49px;width:100%;background:#f7f8f4;border:1px solid #e6eae3;border-radius:10px;padding:0 34px 0 13px;font-size:13px;color:var(--ink)}.input-wrap input:focus{border-color:var(--green);outline:2px solid #16685315;background:#fff}.input-wrap input::placeholder{color:#a0aaa3}.clear-input{position:absolute;right:7px;top:10px;border:0;background:none;color:#89988d;width:26px;height:29px;font-size:19px}.swap-button{position:absolute;right:15px;top:68px;z-index:2;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);font-size:19px;box-shadow:0 2px 6px #00000005}.primary-button{width:100%;height:48px;background:var(--green);color:#fff;border:0;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:26px;font-size:13px;font-weight:500}.primary-button:hover:not(:disabled){background:var(--green-dark)}#navigate{margin-top:25px}.primary-button>span:last-child{font-size:19px}.manual-note{font-size:10px;text-align:center;color:var(--muted);margin:14px 0 0}.manual-note>span{font-size:14px;margin-right:3px}.suggestions{position:absolute;top:100%;left:0;right:0;max-height:245px;overflow-y:auto;background:white;border:1px solid var(--line);border-radius:10px;z-index:20;box-shadow:0 10px 28px #20392d22;margin-top:4px}.suggestion{padding:11px 12px;cursor:pointer;border-bottom:1px solid #f1f3ef}.suggestion:last-child{border-bottom:0}.suggestion:hover,.suggestion.active{background:var(--mint)}.suggestion strong{font-size:12px;font-weight:500;display:block}.suggestion small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.suggestion-empty{padding:16px;color:var(--muted);font-size:12px}.error-box{padding:12px;margin-top:16px;border:1px solid #f0d9b3;border-radius:10px;background:#fff9ef;color:#936428;font-size:12px;line-height:1.8}.quick-card{padding:26px 5px 0}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-label h2{font-size:12px;font-weight:500}.section-label>span{color:var(--muted)}.example-route{display:flex;width:100%;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:15px 0}.example-icon{height:37px;width:37px;display:grid;place-items:center;border-radius:11px;color:var(--green);background:#e6eee5;font-size:23px}.example-icon.amber{background:#f3eadc;color:#ae7c43}.example-route strong{font-size:12px;font-weight:500}.example-route strong>span{color:#a0aca2;margin:0 3px}.example-route small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.chevron{margin-left:auto;color:#93a396;font-size:22px}.scope-note{display:flex;gap:10px;margin:25px 6px 0;align-items:flex-start}.scope-icon{border:1px solid #a8b4aa;color:#8a9c8f;border-radius:50%;height:15px;width:15px;display:grid;place-items:center;flex-shrink:0;font-family:Georgia,serif;font-size:11px;margin-top:2px}.scope-note p{margin:0;color:#8a978e;font-size:10px;line-height:1.9}.map-card{overflow:hidden}.map-header{height:81px;padding:0 25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.map-header>div{display:flex;gap:12px;align-items:center}.floor-square{font-size:21px;font-weight:600;letter-spacing:-1px;width:41px;height:43px;background:var(--mint);border:1px solid #e0eadf;border-radius:10px;display:grid;place-items:center;color:var(--green)}.map-header h2{font-size:13px}.map-header p{font-size:10px;color:var(--muted);margin:5px 0 0}.map-state{font-size:10px;color:#7c8a80;background:#f6f8f3;padding:7px 10px;border-radius:20px}.map-viewport{height:570px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 60% 35%,#f9fbf6,#f1f4ec);touch-action:none;cursor:grab}.map-viewport:active{cursor:grabbing}#floor-map{display:block;height:100%;width:100%;user-select:none}#floor-map text{font-family:inherit}#floor-map .shop{cursor:pointer}#floor-map .shop:hover .shop-top{stroke:#629581;stroke-width:2}.map-guide{position:absolute;top:20px;left:24px;font-size:10px;color:#8b9b8c;display:flex;align-items:center;gap:8px;pointer-events:none}.guide-line{height:1px;width:20px;background:#9eaea0}.map-controls{position:absolute;right:18px;bottom:18px;border:1px solid #dfe6db;background:#ffffffee;border-radius:10px;box-shadow:0 4px 12px #38553d09;overflow:hidden}.map-controls button{display:block;width:35px;height:34px;border:0;background:transparent;color:#51715c;font-size:21px}.map-controls button+button{border-top:1px solid #e8ede3}.map-view-label{position:absolute;bottom:20px;left:25px;font-size:9px;letter-spacing:1px;color:#9caa9d;pointer-events:none}.map-footer{min-height:51px;padding:12px 23px;display:flex;justify-content:space-between;align-items:center;gap:15px}.legend{display:flex;gap:18px;align-items:center}.legend>span{font-size:10px;color:#7f8e83;display:flex;align-items:center;gap:6px}.legend-line{width:16px;height:3px;border-radius:2px;background:var(--green)}.legend-dot{width:7px;height:7px;border:2px solid var(--green);border-radius:50%}.legend-dot.destination{background:var(--orange);border-color:var(--orange)}#map-floor-note{font-size:9px;color:#9aa69b}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:27px 0;font-size:9px;color:#91a094;letter-spacing:.5px}.footer-divider{margin:0 10px;color:#bcc6bc}.debug-toggle{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:0;cursor:pointer;position:relative}.debug-toggle input{position:absolute;width:28px;height:17px;opacity:0}.toggle-track{display:block;width:28px;height:17px;background:#dfe5dd;border-radius:12px;position:relative}.toggle-track:after{content:"";position:absolute;left:3px;top:3px;height:11px;width:11px;border-radius:50%;background:#fff;transition:transform .2s}.debug-toggle input:checked+.toggle-track{background:var(--green)}.debug-toggle input:checked+.toggle-track:after{transform:translateX(11px)}.debug-toggle input:focus-visible+.toggle-track{outline:3px solid #dbab63;outline-offset:3px}.navigation{padding:24px}.text-button{border:0;background:transparent;color:var(--green);font-size:11px;padding:5px 0}.journey-summary{padding:22px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.journey-summary>span:first-child{font-size:13px;color:#778b7d}.summary-arrow{font-size:17px;color:#a0b09f}.journey-summary strong{font-weight:500;font-size:19px}.step-card{padding:22px 0 0}.step-meta{display:flex;justify-content:space-between;color:#7a8c7f;font-size:10px}.step-symbol{height:58px;width:58px;background:var(--mint);border-radius:17px;display:grid;place-items:center;margin:22px 0 16px;font-size:33px;color:var(--green)}#step-text{font-size:21px;line-height:1.6;min-height:68px;overflow-wrap:anywhere}#step-hint{font-size:10px;color:#8a988c;line-height:1.8;margin:12px 0 22px}.progress-track{background:#edf0e8;height:3px;border-radius:3px;overflow:hidden}#step-progress{height:100%;background:var(--green);transition:width .25s}.step-controls{display:flex;gap:10px;margin-top:22px}.step-controls .primary-button{flex:1;gap:10px}.secondary-button{height:48px;padding:0 20px;background:#f8f9f5;border:1px solid var(--line);border-radius:10px;color:#617768;font-size:12px}.all-steps-toggle{display:block;margin:17px auto 0;color:#7e9283;font-size:10px}#all-steps{padding-left:23px;font-size:11px;color:#849488;line-height:1.8}#all-steps li{padding:5px 0}#all-steps li.current{color:var(--green);font-weight:600}#step-photo{width:100%;max-height:210px;object-fit:contain;border-radius:9px;margin-bottom:16px}.debug-panel{padding:25px;margin-top:24px;background:#eef3ec;border:1px dashed #b8c9b8;border-radius:15px;font-size:11px;overflow-wrap:anywhere}.debug-panel .card-heading>span{color:#788d7b;font-size:10px}.debug-panel h2{font-size:14px}.debug-panel pre{padding:15px;background:#203f32;color:#d8ebd7;border-radius:9px;white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.debug-panel h3{font-size:12px;margin-top:20px}.debug-panel p{color:#617967;line-height:1.8}.debug-panel ul{padding-left:20px;line-height:1.9}.debug-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.debug-panel table{width:100%;border-collapse:collapse;font-size:10px}.debug-panel th,.debug-panel td{text-align:left;padding:8px 5px;border-bottom:1px solid #d9e3d6}.load-status{text-align:center;font-size:12px;color:var(--muted);margin:0 0 20px}.load-status.failed{color:#a26b32}.route-current{stroke-dasharray:12 8;animation:route-flow 2s linear infinite}@keyframes route-flow{to{stroke-dashoffset:-40}}
@media(min-width:1500px){.map-viewport{height:650px}}
@media(max-width:1100px){.site-header{padding:0 30px}main{padding:0 30px}.workspace{grid-template-columns:310px minmax(0,1fr);gap:18px}.planner,.navigation{padding:22px}.map-state{display:none}.map-header{padding:0 20px}.map-viewport{height:565px}#map-floor-note{display:none}}
@media(max-width:760px){.site-header{height:74px;padding:0 21px}.brand-symbol{width:35px;height:37px;border-radius:10px 10px 10px 3px;font-size:27px}.brand{gap:9px}.brand strong{font-size:16px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:1.6px}.brand-symbol>span{right:5px;bottom:5px;font-size:20px}.location-label{display:none}.pilot-badge{font-size:10px;padding:6px 9px}main{padding:0 17px}.intro{padding:27px 4px 23px}.eyebrow{font-size:9px;letter-spacing:2px}h1{font-size:28px;letter-spacing:0;margin:9px 0}.intro p{font-size:11px}.intro-caption{display:none}.workspace{display:flex;flex-direction:column;gap:17px}.journey-column{display:contents}.planner{padding:21px;width:100%;order:0;border-radius:17px}.planner>.small{margin-bottom:20px}.planner h2{font-size:16px}.input-wrap input{font-size:14px;height:48px}.field-wrap{margin-bottom:16px}.field-wrap label{font-size:11px}.fields{display:grid;grid-template-columns:1fr;gap:0}#navigate{margin-top:21px}.manual-note{font-size:10px}.map-card{width:100%;order:1;border-radius:17px}.map-header{height:69px;padding:0 17px}.map-header h2{font-size:12px}.map-header p{font-size:9px}.floor-square{width:36px;height:38px;font-size:20px}.map-viewport{height:375px}.map-guide{top:14px;left:17px;font-size:8px}.map-view-label{left:17px;bottom:15px;font-size:8px}.map-footer{min-height:44px;padding:10px 17px}.legend{gap:19px}.legend>span{font-size:9px}.map-controls{right:13px;bottom:13px}.map-controls button{height:31px;width:31px;font-size:19px}.quick-card{order:3;padding:10px 4px 0;width:100%}.scope-note{order:4;margin:0 5px 5px}.site-footer{padding:25px 3px 28px;gap:18px;flex-wrap:wrap;font-size:8px}.site-footer>span{letter-spacing:.3px}.footer-divider{margin:0 4px}.debug-toggle{font-size:9px}.navigation{order:2;width:100%;padding:22px;border-radius:17px}.navigation .journey-summary{padding:16px 0;display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:8px}.journey-summary strong{font-size:14px;line-height:1.5}.journey-summary>span:first-child{font-size:12px;line-height:1.6}.summary-arrow{transform:rotate(-90deg);text-align:center}.step-card{padding-top:18px;display:grid;grid-template-columns:46px 1fr;gap:0 14px}.step-meta{grid-column:1/-1;margin-bottom:17px}.step-symbol{height:46px;width:46px;margin:0;font-size:28px;border-radius:13px}#step-text{font-size:18px;min-height:54px;align-self:center}#step-hint{grid-column:2;margin:7px 0 20px}.progress-track,#step-photo,#photo-fallback{grid-column:1/-1}.step-controls{margin-top:18px}.all-steps-toggle{margin-top:13px}.debug-panel{padding:17px}.debug-panel .card-heading{align-items:start;flex-direction:column}.debug-grid{grid-template-columns:1fr;gap:0}body.navigating .intro{padding:19px 4px}body.navigating .intro h1{font-size:23px}body.navigating .intro .eyebrow,body.navigating .intro p{display:none}body.navigating .map-viewport{height:330px}body.navigating .workspace{gap:13px}body.navigating .map-guide{display:none}.load-status{font-size:11px}}
.debug-toggle input{z-index:1;margin:0;cursor:pointer}.toggle-track{pointer-events:none}
.mobile-route-summary{display:none}
.step-context{background:#fff8eb;border:1px solid #efd5aa;border-left:4px solid var(--orange);border-radius:10px;padding:11px 12px;margin:8px 0 12px}.step-context strong{display:block;color:#9a642b;font-size:10px;letter-spacing:.5px}.step-context p{margin:5px 0 0;color:#4c6359;font-size:11px;line-height:1.65}
@media(max-width:760px){.mobile-route-summary{display:grid;grid-template-columns:1fr 22px 1fr;align-items:center;gap:12px;width:100%;order:0;padding:17px 20px;margin-top:18px;border-radius:15px}.mobile-route-summary small{display:block;color:#8a9b8e;font-size:9px;margin-bottom:7px}.mobile-route-summary span:not(.mobile-summary-arrow),.mobile-route-summary strong{font-size:13px;font-weight:500;line-height:1.6}.mobile-route-summary strong{color:var(--green)}.mobile-summary-arrow{color:#8fa28e}body.navigating .intro{display:none}.navigation .journey-summary{display:none}.navigation>.card-heading{padding-bottom:14px;border-bottom:1px solid var(--line)}}
@media(max-width:760px){.step-context{grid-column:1/-1;margin-top:12px}#step-hint{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
