.v29-tour{--v29-red:#cf1f2c;--v29-ink:#202429;--v29-muted:#727981;position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;isolation:isolate;background:#24282d;color:var(--v29-ink);font-family:inherit}
.v29-tour[hidden],.v29-tour [hidden]{display:none!important}
.v29-tour *{box-sizing:border-box}
.v29-tour button,.v29-tour select,.v29-tour input{font:inherit}
.v29-tour button{cursor:pointer}
.v29-tour button:disabled,.v29-tour select:disabled{cursor:default;opacity:.42}
.v29-tour button:focus-visible,.v29-tour select:focus-visible,.v29-tour input:focus-visible,.v29-tour canvas:focus-visible,.v29-tour summary:focus-visible,.v29-tour g:focus-visible{outline:3px solid #df2638;outline-offset:3px}
.v29-tour-header{height:78px;flex:none;display:flex;align-items:center;gap:14px;padding:0 22px;border-bottom:1px solid #dfe2e6;background:#fbfcfd;position:relative;z-index:4}
.v29-heading{min-width:130px;flex:1;position:relative;padding-right:53px}
.v29-eyebrow{font-size:11px;line-height:1.4;letter-spacing:.1em;color:#7d838b}
.v29-title{font-size:19px;font-weight:700;line-height:1.35;margin:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;color:#1e2329}
.v29-source-scenario{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;padding:4px 6px;border:1px solid #dfe2e6;border-radius:5px;color:#6b727b;background:#f4f5f7;font-size:10px;white-space:nowrap}
.v29-button{appearance:none;border:1px solid #d8dce1;border-radius:10px;background:#fff;color:#30363d;min-height:42px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 1px 2px #00000005;transition:background .12s,border-color .12s,transform .12s}
.v29-tour .v29-button:hover:not(:disabled){background:#f0f2f5;border-color:#aeb5bd;color:#171c22}
.v29-tour .v29-button:active:not(:disabled){transform:translateY(1px)}
.v29-button svg,.v29-hotspot svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.v29-back{border:0;background:#eef0f3;min-height:44px;padding:10px 13px}
.v29-back svg{width:23px;height:23px}
.v29-select-label{display:flex;flex-direction:column;gap:3px;min-width:190px;max-width:270px;font-size:10px;color:var(--v29-muted)}
.v29-select{border:1px solid #d8dce1;border-radius:8px;background:#fff;color:#242a31;font-size:13px;height:35px;min-width:190px;max-width:270px;padding:5px 29px 5px 10px}
.v29-stage{position:relative;flex:1;min-height:220px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#383d43,#25292e 75%)}
.v29-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;border:0;outline-offset:-3px!important}
.v29-canvas.is-dragging{cursor:grabbing}
.v29-hotspots{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.v29-hotspot{appearance:none;position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:9px;max-width:220px;min-height:44px;padding:6px 13px 6px 7px;border:1px solid #ffffffd9;border-radius:24px;background:#ffffffee;color:#252a31;box-shadow:0 3px 18px #00000026;font-size:13px;font-weight:650;pointer-events:auto;cursor:pointer;white-space:nowrap}
.v29-hotspot svg{background:var(--v29-red);color:#fff;width:32px;height:32px;padding:6px;border-radius:50%;stroke-width:2}
.v29-hotspot span{overflow:hidden;text-overflow:ellipsis}
.v29-tour .v29-hotspot:hover{background:#fff;border-color:#fff;color:#b50f20;box-shadow:0 5px 22px #0004}
.v29-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:#2c3139;z-index:3;color:#edf0f4}
.v29-status p{font-size:17px;letter-spacing:.02em;margin:0;color:#edf0f4}
.v29-status .v29-button{margin-top:3px;min-width:90px}
.v29-spinner{width:29px;height:29px;border:2px solid #ffffff24;border-top-color:#fff;border-radius:50%;animation:v29-spin .8s linear infinite}
.v29-status.is-error .v29-spinner{display:none}
.v29-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin:0;padding:6px 13px;border-radius:20px;background:#14171c99;color:#fff;font-size:11px;letter-spacing:.05em;pointer-events:none;z-index:2}
.v29-map{position:absolute;left:20px;bottom:20px;width:294px;max-height:calc(100% - 40px);display:flex;flex-direction:column;padding:14px;border:1px solid #ffffffbd;border-radius:14px;background:#fffffff2;box-shadow:0 8px 32px #0002;z-index:5;backdrop-filter:blur(14px);color:#2b3037}
.v29-map-heading{display:flex;align-items:center;justify-content:space-between;flex:none;margin-bottom:8px;font-size:13px}
.v29-text-button{appearance:none;padding:4px 7px;border:0;border-radius:5px;background:transparent;color:#707780;font-size:12px}
.v29-tour .v29-text-button:hover{background:#eceff2;color:#252a31}
.v29-plan{height:146px;flex:none;margin:0 0 10px;background:#f5f6f8;border-radius:8px;padding:7px}
.v29-plan svg{display:block;width:100%;height:100%}
.v29-map-room{fill:#e4e8ed;stroke:#b5bdc6;stroke-width:1;vector-effect:non-scaling-stroke}
.v29-map-room.is-current{fill:#f8dadd;stroke:#da7680}
.v29-map-node{fill:#596572;stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer}
.v29-map-node.is-current{fill:var(--v29-red);stroke-width:2}
.v29-view-cone{fill:#cf1f2c24;stroke:#cf1f2c88;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.v29-map-empty{padding:35px 10px;color:#79808a;text-align:center;font-size:12px}
.v29-node-list{min-height:65px;max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:5px;padding:1px 2px}
.v29-node-button{appearance:none;width:100%;display:flex;align-items:center;gap:9px;min-height:39px;padding:5px 7px;text-align:left;border:1px solid transparent;border-radius:7px;background:transparent;color:#424950;font-size:12px;cursor:pointer}
.v29-node-button img{width:55px;height:29px;object-fit:cover;flex:none;border-radius:4px;background:#d9dde2}
.v29-tour .v29-node-button:hover{background:#eef0f3;border-color:#dde1e6}
.v29-tour .v29-node-button[aria-current=true]{background:#fbe8eb;border-color:#f0c5cb;color:#a91a27;font-weight:700}
.v29-technical{border-top:1px solid #e3e6e9;margin-top:10px;padding-top:8px;flex:none;font-size:11px;color:#7a818a}
.v29-technical summary{cursor:pointer}
.v29-metrics{padding-top:5px}
.v29-metrics p{display:flex;justify-content:space-between;gap:9px;font-size:10px;margin:4px 0;color:#7a818a}
.v29-metrics strong{font-weight:500;color:#565f69}
.v29-tour-footer{height:84px;flex:none;position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 24px 12px;background:#fbfcfd;border-top:1px solid #dfe2e6;z-index:4}
.v29-route-label{min-width:174px;max-width:220px}
.v29-route-label .v29-select{min-width:174px;max-width:220px}
.v29-transport{display:flex;align-items:center;gap:8px}
.v29-tour .v29-primary{background:var(--v29-red);border-color:var(--v29-red);color:#fff;min-width:130px;box-shadow:0 2px 6px #b6001824}
.v29-tour .v29-primary:hover:not(:disabled){background:#b61523;border-color:#b61523;color:#fff}
.v29-primary svg{fill:currentColor;stroke-width:1.7}
.v29-primary[aria-pressed=true] svg{fill:none;stroke-width:3.5}
.v29-count{font-size:12px;line-height:1.5;color:#7a818a;min-width:45px;text-align:center;font-variant-numeric:tabular-nums;margin-left:3px}
.v29-zoom{display:flex;align-items:center;gap:8px}
.v29-icon-button{min-width:36px;width:36px;min-height:36px;padding:7px;border-color:transparent;background:transparent}
.v29-icon-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.v29-zoom-range{width:105px;accent-color:var(--v29-red);cursor:pointer;direction:rtl}
.v29-route-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#e7e9ec;overflow:hidden}
.v29-route-progress span{display:block;width:0;height:100%;background:var(--v29-red);transition:width .1s linear}
@keyframes v29-spin{to{transform:rotate(360deg)}}
@media(max-width:1250px){.v29-tour-header{gap:9px;padding-inline:16px}.v29-title{max-width:260px;font-size:17px}.v29-select-label,.v29-select{min-width:164px;max-width:210px}.v29-tour-header .v29-button{padding-inline:10px}.v29-tour-footer{gap:12px;padding-inline:16px}.v29-zoom-range{width:78px}.v29-heading{min-width:110px}}
@media(max-height:700px){.v29-tour-header{height:68px}.v29-tour-footer{height:76px}.v29-map{bottom:13px;left:13px;max-height:calc(100% - 26px)}.v29-plan{height:115px}.v29-node-list{max-height:150px}.v29-hint{bottom:11px}}
@media(prefers-reduced-motion:reduce){.v29-tour *{transition:none!important}.v29-spinner{animation-duration:1.5s}}
