.welcome-bridge-art.bridge-experience{max-width:1600px;margin:0 auto;padding:0 20px 20px;overflow:visible}
.bridge-map-stage{overflow:auto;overscroll-behavior:contain;border:1px solid #b9a67166;background:#12392f;scrollbar-color:#b6a273 #173c34;touch-action:pan-x pan-y}
.bridge-map-canvas{position:relative;width:calc(100% * var(--bridge-zoom,1));min-width:100%;line-height:0}
.bridge-map-canvas>img{display:block!important;width:100%!important;height:auto!important;max-width:none}
.bridge-map-canvas .bridge-build-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.bridge-map-canvas .bridge-base{fill:none;stroke:#f3dba2;stroke-width:3;opacity:.4;stroke-linecap:round}
.bridge-map-canvas .build-line{fill:none;stroke:#ffe7ac;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:0;animation:rk-cross-draw 5.4s ease-in-out infinite;opacity:1;filter:drop-shadow(0 0 4px #f1c96ba8)}
.bridge-map-canvas .build-line.secondary{stroke:#f4e6be;stroke-width:3;animation-delay:.18s;opacity:.85}
.bridge-map-canvas .bridge-runner{fill:#fff4ca;stroke:#ddae50;stroke-width:3;filter:drop-shadow(0 0 8px #ffe3a1)}
.bridge-map-canvas .bridge-endpoint{fill:#ffe7ac;opacity:.75;animation:rk-endpoint 2.6s ease-in-out infinite}
.bridge-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:17px 0 8px;color:#f2e8ca}
.bridge-actions{display:flex;gap:10px;flex-wrap:wrap}.bridge-controls button,.bridge-dialog-close{background:#203f32;border:1px solid #b9a67199;color:#f6ebcc;padding:11px 15px;cursor:pointer;font:11px Arial,sans-serif;letter-spacing:.05em;min-height:42px}
.bridge-controls button:focus-visible,.bridge-controls input:focus-visible,.bridge-dialog-close:focus-visible{outline:3px solid #f5d48c;outline-offset:3px}
.bridge-zoom-label{display:flex;align-items:center;gap:12px;font:10px Arial,sans-serif;letter-spacing:.07em}
.bridge-zoom-label input{accent-color:#dcc38c;width:140px}.bridge-zoom-label output{min-width:42px}
.bridge-experience>figcaption{position:static!important;display:block;background:none!important;padding:10px 0 0!important;color:#d7d4b6!important;font:9px/1.6 Arial,sans-serif!important;letter-spacing:.08em!important}
.bridge-dialog{width:min(1500px,97vw);max-width:97vw;max-height:96dvh;padding:22px;background:#173c32;border:1px solid #b9a671;color:#f5ebce;box-sizing:border-box}
.bridge-dialog::backdrop{background:#071f18eb}.bridge-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.bridge-dialog-head h2{font:400 1.8rem 'EB Garamond',Georgia,serif;margin:0}
.bridge-dialog .bridge-map-stage{max-height:73dvh}.bridge-dialog .bridge-experience{padding:0}
[data-bridge-map].is-paused .build-line,[data-bridge-map].is-paused .bridge-endpoint{animation-play-state:paused}
@keyframes rk-cross-draw{0%{stroke-dashoffset:100;opacity:.6}52%,88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.5}}
@keyframes rk-endpoint{0%,100%{opacity:.55}50%{opacity:1}}
@media(max-width:650px){.welcome-bridge-art.bridge-experience{padding-inline:10px}.bridge-controls{gap:15px}.bridge-controls button{padding:10px 12px;font-size:10px}.bridge-zoom-label{width:100%}.bridge-zoom-label input{flex:1;max-width:240px}.bridge-dialog{padding:14px}.bridge-dialog-head h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.bridge-map-canvas .build-line,.bridge-map-canvas .bridge-endpoint{animation:none;stroke-dashoffset:0;opacity:.85}.bridge-map-canvas .bridge-runner{display:none}}
