.platform-track{height:620vh;position:relative}.platform-sticky{top:var(--header-height);height:calc(100svh - var(--header-height));background:var(--color-canvas);flex-direction:column;display:flex;position:sticky;overflow:hidden}.platform-head{z-index:3;text-align:center;flex-direction:column;flex:none;align-items:center;gap:8px;padding:32px 16px 8px;display:flex;position:relative}.platform-head>*{transition:opacity .2s var(--ease-site)}.platform-head.swap>*{opacity:0}.platform-head .label{color:var(--color-accent-soft)}.platform-head h2{font-family:var(--font-display);letter-spacing:-.03em;max-width:22ch;color:var(--color-white);font-size:clamp(26px,3.4vw,44px);font-weight:700;line-height:1.05}.platform-head p{max-width:56ch;font-size:var(--text-body);color:var(--color-ink-soft);line-height:1.5}.platform-stage{perspective:1600px;perspective-origin:50% 10%;flex:1;min-height:0;position:relative}.platform-glow{background:radial-gradient(closest-side, color-mix(in srgb, var(--color-accent) 26%, transparent), transparent);pointer-events:none;width:70%;height:62%;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.platform-main,.platform-fragment{border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);max-width:none;height:auto;box-shadow:0 40px 80px -24px var(--color-stage);will-change:transform;display:block;position:absolute;top:50%;left:50%}.platform-main{transform-origin:50% 100%;width:60%;transform:translate(-50%,-50%)}.platform-fragment{z-index:2;opacity:0;width:20%}.platform-fragment.focused{z-index:5}@media (max-width:760px){.platform-sticky{height:calc(100svh - var(--header-height))}.platform-head{padding:24px 16px 8px}.platform-head h2{font-size:28px}.platform-head p{font-size:var(--text-small)}}
.tour-track{position:relative}.tour-sticky{top:var(--header-height);height:calc(100svh - var(--header-height));background:var(--color-canvas);flex-direction:column;display:flex;position:sticky;overflow:hidden}.tour-stage{flex:1;min-height:0;position:relative;overflow:hidden}.tour-phonebar,.tour-progress{display:none}.tour .map{width:100%;height:100%;display:block;position:absolute;inset:0}.tour .map-ground{fill:var(--color-canvas)}.tour .wire{fill:none;stroke:var(--color-muted);stroke-width:1.6px;vector-effect:non-scaling-stroke;opacity:.32;transition:opacity .3s,stroke .3s}.tour .wire.net{stroke-dasharray:6 5}.tour .wire.sms{stroke-dasharray:1 6;stroke-linecap:round;stroke-width:2px}.tour .wire.lit{opacity:1;stroke:var(--color-accent-soft)}.tour .pulse{fill:none;stroke:var(--color-white);stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.tour .pulse.data{stroke:var(--color-accent-soft)}.tour .cam circle{fill:var(--color-plan-light)}.tour .cam path{fill:color-mix(in srgb, var(--color-accent) 10%, transparent);stroke:color-mix(in srgb, var(--color-accent) 45%, transparent);stroke-width:1.5px;vector-effect:non-scaling-stroke;transition:fill .4s,stroke .4s}.tour .cam.on path{fill:color-mix(in srgb, var(--color-accent) 36%, transparent);stroke:var(--color-accent)}.tour .cam.on circle{fill:var(--color-white)}.tour .bags rect{fill:var(--color-cargo)}.tour .bags{animation:3s linear infinite tour-bags}.tour .map.fx-line .bags{animation-play-state:paused}.tour .stoplight{fill:var(--color-ok);transition:fill .15s}.tour .map.fx-line .stoplight{fill:var(--color-bad)}.tour .waves circle{fill:none;stroke:var(--color-accent-soft);stroke-width:2px;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:50%}.tour .map.fx-siren .waves circle{animation:1.1s ease-out infinite tour-wave}.tour .map.fx-siren .waves circle:nth-child(2){animation-delay:.55s}.tour .screen-cell{fill:var(--color-accent);transition:fill .2s}.tour .map.fx-incident .screen-cell{fill:var(--color-bad)}.tour .edge-flash{fill:var(--color-accent);opacity:0;transition:opacity .2s}.tour .map.fx-edge .edge-flash{opacity:.55}.tour .car{transition:transform 1.4s var(--ease-site) .45s}.tour .map.fx-barrier .car{transform:translateY(-170px)}.tour .car-body{fill:var(--color-ink-soft)}.tour .car-glass{fill:var(--color-canvas)}.tour .barrier-arm{stroke:var(--color-bad);stroke-width:6px;stroke-linecap:round;transform-origin:200px 900px;transition:transform .5s var(--ease-site)}.tour .map.fx-barrier .barrier-arm{transform:rotate(-70deg)}.tour .tags{z-index:4;pointer-events:none;position:absolute;inset:0}.tour .tag{font:600 var(--text-label) / 1.2 var(--font-mono);color:var(--color-ink);background:color-mix(in srgb, var(--color-canvas) 95%, transparent);border:1px solid var(--color-accent-soft);white-space:nowrap;animation:tour-fade .25s var(--ease-site) both;padding:5px 7px;position:absolute;top:0;left:0}.tour .tag.ok:before{content:"✓ ";color:var(--color-ok)}.tour .tag.detection{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.tour .tag.rule{border-color:var(--color-line-strong);color:var(--color-ink-soft)}.tour-title{z-index:5;background:color-mix(in srgb, var(--color-canvas) 95%, transparent);border:1px solid var(--color-line-strong);grid-template-columns:1fr 1fr 1fr;width:min(410px,36%);transition:opacity .3s;display:grid;position:absolute;top:16px;left:16px}.tour-title>*{border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);min-width:0;font:500 10px / 1.3 var(--font-mono);letter-spacing:.06em;color:var(--color-muted);text-transform:uppercase;padding:7px 10px}.tour-title>:nth-child(3n),.tour-title>.wide{border-right:0}.tour-title>* b{color:var(--color-plan-light);font-weight:600;display:block}.tour-title .wide{grid-column:span 2}.tour-title .main{font:inherit;letter-spacing:normal;text-transform:none;border-right:0;flex-direction:column;grid-column:1/-1;gap:12px;padding:16px;display:flex}.tour-title h1{letter-spacing:-.035em;color:var(--color-white);font-size:clamp(26px,2.6vw,36px);font-weight:700;line-height:1}.tour-title h1 em{color:var(--color-accent-soft);font-style:normal}.tour-title .main p{font-size:var(--text-small);color:var(--color-ink-soft);line-height:1.5}.tour-title .legend{text-transform:none;border:0;flex-wrap:wrap;grid-column:1/-1;gap:6px 14px;display:flex}.tour-title .legend span{align-items:center;gap:6px;display:inline-flex}.tour-title .legend svg{width:26px;height:8px}.tour .leaders{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tour .leaders line{stroke:color-mix(in srgb, var(--color-accent-soft) 75%, transparent);stroke-width:1px}.tour .leaders circle{fill:var(--color-accent-soft)}.tour .chip{z-index:5;background:color-mix(in srgb, var(--color-canvas) 96%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 55%, transparent);width:224px;color:var(--color-ink);align-items:center;gap:8px;padding:5px 12px 5px 5px;text-decoration:none;transition:border-color .2s,opacity .3s;display:flex;position:absolute;top:0;left:0}.tour .chip:hover{border-color:var(--color-accent-soft)}.tour .chip i{background:url(/media/footage/wall.jpg) 0 0/600% 600% no-repeat;flex:none;width:72px;height:40.5px}.tour .chip i.whole{background-position:0 0;background-size:100% 100%}.tour .chip span{min-width:0;font:600 10px / 1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-soft);flex-direction:column;gap:2px;display:flex}.tour .chip em{font:600 var(--text-small) / 1.25 var(--font-sans);letter-spacing:normal;text-transform:none;color:var(--color-ink);font-style:normal}.tour .chip em:after{content:" →";color:var(--color-accent-soft)}.tour .chip small{font:500 10px / 1.2 var(--font-mono);letter-spacing:0;text-transform:none;color:var(--color-muted)}.tour .cue{z-index:5;font:500 var(--text-label) / 1 var(--font-mono);color:var(--color-plan-light);background:color-mix(in srgb, var(--color-canvas) 90%, transparent);border:1px solid var(--color-line-strong);white-space:nowrap;padding:8px 12px;transition:opacity .3s;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.tour .stop-card{z-index:6;background:var(--color-surface);border:1px solid var(--color-line);width:min(390px,36%);max-height:calc(100% - 32px);transition:opacity .3s var(--ease-site), transform .3s var(--ease-site);flex-direction:column;display:flex;position:absolute;bottom:16px;left:16px;overflow:hidden}.tour .stop-card.off{opacity:0;pointer-events:none;transform:translateY(10px)}.tour .card-image{aspect-ratio:16/9;background:var(--color-stage);flex:none;position:relative;overflow:hidden}.tour .card-image img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tour .face-box{z-index:2;border:2px solid var(--color-accent);position:absolute}.tour .face-box span{font:600 10px / 1 var(--font-mono);background:var(--color-accent);color:var(--color-white);white-space:nowrap;padding:3px 4px;position:absolute;bottom:100%;left:-2px}.tour .card-body{flex-direction:column;gap:8px;padding:16px;display:flex}.tour .card-body .label{color:var(--color-accent-soft)}.tour .card-body h3{font-size:var(--text-title);letter-spacing:-.02em;color:var(--color-ink);font-weight:650;line-height:1.2}.tour .card-body p{font-size:var(--text-small);color:var(--color-ink-soft);line-height:1.5}.tour .card-body .rule{font-size:var(--text-body);color:var(--color-ink);font-weight:560;line-height:1.45}.tour .rule em{color:var(--color-accent-soft);font-style:normal}.tour .detection{font:600 var(--text-label) / 1 var(--font-mono);color:var(--color-white);background:var(--color-accent);align-self:flex-start;padding:5px 7px}.tour .actions{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none}.tour .actions li{border-bottom:1px solid var(--color-line);grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:8px;padding:7px 0;display:grid}.tour .actions i{border:1.5px solid var(--color-line-strong);width:16px;height:16px;font:700 10px / 1 var(--font-sans);color:var(--color-white);border-radius:50%;grid-row:span 2;place-items:center;font-style:normal;display:grid}.tour .actions span{font-size:var(--text-small);color:var(--color-ink);font-weight:560}.tour .actions small{font:500 var(--text-label) / 1.3 var(--font-mono);color:var(--color-muted)}.tour .actions li.run i{border-color:var(--color-accent-soft);animation:.6s ease-in-out infinite alternate tour-blink}.tour .actions li.ok i{background:var(--color-ok);border-color:var(--color-ok)}.tour .actions li.ok i:before{content:"✓"}.tour .wall{z-index:8;background:var(--color-stage);opacity:0;pointer-events:none;position:absolute;overflow:hidden}.tour .wall.final{transition:left .5s var(--ease-site), top .5s var(--ease-site), width .5s var(--ease-site), height .5s var(--ease-site)}.tour .tile{background:var(--color-stage);transition:left .5s var(--ease-site), top .5s var(--ease-site), width .5s var(--ease-site), height .5s var(--ease-site), opacity .3s;position:absolute;overflow:hidden}.tour .tile i{transition:background-size .5s var(--ease-site), background-position .5s var(--ease-site);background-image:url(/media/footage/wall.jpg);background-repeat:no-repeat;position:absolute;inset:0}.tour .wall.instant .tile,.tour .wall.instant .tile i{transition:none}.tour .tile.off{opacity:0}.tour .tile b{z-index:2;font:500 8.5px / 1 var(--font-mono);color:color-mix(in srgb, var(--color-ink) 80%, transparent);text-shadow:0 1px 2px var(--color-stage);position:absolute;bottom:3px;left:4px}.tour .tile:after{content:"";z-index:3;border:2px solid var(--color-accent);opacity:0;transition:opacity .2s;position:absolute;inset:0}.tour .tile.event:after{opacity:1}.tour .tile u{z-index:4;font:600 9px / 1 var(--font-mono);background:var(--color-accent);color:var(--color-white);white-space:nowrap;opacity:0;padding:3px 4px;text-decoration:none;transition:opacity .2s;position:absolute;top:0;left:0}.tour .tile.event u{opacity:1}.tour .wall-log{z-index:6;opacity:0;background:var(--color-surface);border:1px solid var(--color-line);transition:opacity .35s var(--ease-site);flex-direction:column;gap:8px;padding:16px;display:flex;position:absolute;overflow:hidden}.tour .wall.final .wall-log{opacity:1}.tour .wall-log .label{color:var(--color-accent-soft)}.tour .wall-log h3{font-size:var(--text-title);letter-spacing:-.02em;color:var(--color-ink);font-weight:650}.tour .wall-log ol{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.tour .wall-log li{border-bottom:1px solid var(--color-line);animation:tour-fade .3s var(--ease-site) both;grid-template-columns:auto minmax(0,1fr);column-gap:8px;padding:7px 0;display:grid}.tour .wall-log time{font:600 var(--text-label) / 1.3 var(--font-mono);color:var(--color-accent-soft);grid-row:span 2}.tour .wall-log li span{font-size:var(--text-small);color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:560;overflow:hidden}.tour .wall-log li small{font:500 var(--text-label) / 1.3 var(--font-mono);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tour-rail{z-index:20;border-top:1px solid var(--color-line);background:var(--color-canvas);scrollbar-width:none;flex:none;align-items:stretch;display:flex;position:relative;overflow-x:auto}.tour-rail .rail-group{align-items:center;gap:2px;padding:0 8px;display:flex}.tour-rail .rail-group+.rail-group{border-left:1px solid var(--color-line)}.tour-rail .rail-group>span{font:600 9.5px / 1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted);opacity:.7;white-space:nowrap;padding:0 6px 0 4px}.tour-rail button{font:500 var(--text-label) / 1 var(--font-mono);color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:15px 7px;position:relative}.tour-rail button:after{content:"";background:var(--color-accent);transform-origin:0;height:2px;transition:transform .3s var(--ease-site);position:absolute;bottom:0;left:7px;right:7px;transform:scaleX(0)}.tour-rail button.done{color:var(--color-ink-soft)}.tour-rail button.on{color:var(--color-white)}.tour-rail button.on:after{transform:scaleX(1)}.tour-rail .rail-skip{font:500 var(--text-label) / 1 var(--font-mono);color:var(--color-plan);white-space:nowrap;align-self:center;margin-left:auto;padding:0 16px}@media (max-width:760px){.tour-sticky{height:calc(100svh - var(--header-height))}.tour-phonebar{z-index:30;background:var(--color-canvas);border-bottom:1px solid var(--color-line);flex:none;padding:8px 14px;display:flex;position:relative}.tour-step{font:600 10px / 1.2 var(--font-mono);letter-spacing:.06em;color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tour-step b{color:var(--color-ink);font-weight:600}.tour-progress{z-index:30;background:var(--color-line);flex:none;height:2px;display:block;position:relative}.tour-progress i{background:var(--color-accent);width:0;height:100%;display:block}.tour-rail{display:none}.tour-title,.tour .stop-card{border-width:1px 0 0;width:auto;max-height:46%;inset:auto 0 0;overflow:hidden}.tour-title h1{font-size:28px}.tour .tag{padding:4px 6px;font-size:10px}}@keyframes tour-bags{0%{transform:translateY(0)}to{transform:translateY(130px)}}@keyframes tour-wave{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(4.5)}}@keyframes tour-fade{0%{opacity:0}to{opacity:1}}@keyframes tour-blink{0%{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){.tour .bags,.tour .map.fx-siren .waves circle,.tour .actions li.run i{animation:none}.tour .car,.tour .barrier-arm,.tour .tile,.tour .tile i,.tour .wall.final,.tour .stop-card{transition:none}}
.finale-wall{background:var(--color-canvas);--wall-height:190px;padding:32px 0;position:relative;overflow:hidden}.wall-row+.wall-row{margin-top:12px}.wall-track{will-change:transform;gap:12px;width:max-content;display:flex}.wall-track img{height:var(--wall-height);border:1px solid var(--color-line);border-radius:var(--radius-md);width:auto;max-width:none;display:block}.wall-band{text-align:center;pointer-events:none;background:radial-gradient(ellipse 55% 50% at center, color-mix(in srgb, var(--color-canvas) 95%, transparent) 0%, color-mix(in srgb, var(--color-canvas) 85%, transparent) 45%, transparent 100%);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}@media (max-width:760px){.finale-wall{--wall-height:96px;padding:24px 0}}
