.diagram-canvas{position:relative;min-width:0;width:100%;isolation:isolate}.diagram-canvas svg{display:block;width:100%;height:auto;overflow:visible}.frame-canvas{color:#afaaff}.frame-svg .draw{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.frame-svg .foot{fill:#aba6ff30}.frame-svg .column,.frame-svg .arch{stroke:#beb7ff}.diagram-label circle{fill:#8076ff}.diagram-label text{font-family:Boyko,Arial,sans-serif}.label-number{fill:white;font-size:12px}.label-title{fill:#f5f3ed;font-size:17px}.label-sub{fill:#b5bad2;font-size:12px}.diagram-canvas.ready .draw{stroke-dasharray:1;stroke-dashoffset:1}.diagram-canvas.ready .appear{opacity:0}.diagram-canvas.playing .draw{animation:draw-member .85s cubic-bezier(.4,0,.2,1) var(--delay,0s) both}.diagram-canvas.playing .appear{animation:diagram-appear .65s ease var(--delay,0s) both}.diagram-actions{display:flex;align-items:center;gap:20px;margin-top:20px}.diagram-actions .text-link{margin:0}.diagram-zoom{height:40px;width:40px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;font-size:24px;transition:background .2s,color .2s}.diagram-zoom:hover{background:var(--blue);color:white}.access-canvas{background:#fff;border-radius:10px;padding:15px 10px 28px;color:var(--ink)}.access-svg .road-surface{fill:#eceef7}.access-svg .yard-fill{fill:#e7e7ff}.access-svg .boundary{stroke:#d9def0;stroke-width:1.5;fill:#f7f8fc}.access-svg .warehouse{fill:#1c2455;stroke:#1c2455;stroke-width:1.5;fill-opacity:0}.access-canvas.playing .warehouse{animation:draw-member .85s ease var(--delay) both,warehouse-fill .6s ease 1.5s both}.access-svg .dock-mark{stroke:#ada7ff;stroke-width:7;stroke-linecap:round;fill:none}.access-svg .ground-mark{stroke:#ada7ff;stroke-width:6;fill:none}.access-svg .route{fill:none;stroke:#6366ff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.access-svg .route-dock{stroke:#1c2455}.access-svg .route-ground{opacity:.35}.access-canvas[data-route=ground] .route-ground{opacity:1}.access-canvas[data-route=ground] .route-dock{opacity:.25}.access-svg .street-labels{font-size:13px;fill:#858ba4}.access-svg .building-label{fill:#c1c6ed;letter-spacing:2px;font-size:16px}.access-marker circle{fill:#6366ff}.access-marker text{font-size:14px;fill:white}.loading-callout path{stroke:#8a90ae;fill:none;stroke-width:1}.loading-callout text{fill:#1c2455;font-size:14px}.route-status{font-size:11px;text-align:center;color:#6d7393;min-height:16px}.route-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.route-controls button{font-size:12px;padding:11px 14px;border-radius:25px;border:1px solid #1c245530;transition:background .25s,color .25s}.route-controls button.active{background:var(--ink);color:white;border-color:var(--ink)}.access-row .diagram-disclaimer{font-size:10px;line-height:1.5;color:#7b8198;max-width:340px;margin-top:22px}.diagram-dialog{width:min(1300px,96vw);max-width:96vw;max-height:94dvh;border:1px solid #ffffff20;border-radius:10px;padding:65px 35px 55px;background:var(--ink);color:var(--paper);overflow:auto}.diagram-dialog::backdrop{background:#101735ed;backdrop-filter:blur(8px)}.diagram-dialog .diagram-canvas{max-width:100%;margin:auto}.diagram-dialog .frame-canvas{max-width:min(1200px,110vh)}.diagram-dialog .access-canvas{max-width:min(900px,90vh)}.diagram-close{position:absolute;top:15px;right:20px;font-size:12px;border:1px solid #ffffff50;border-radius:30px;padding:10px 18px}.diagram-restart{display:block;margin:20px auto 0;font-size:13px;border-bottom:1px solid #ffffff90;padding:8px 0}.diagram-placeholder{width:100%}.structure-pane{grid-template-columns:1.8fr 1fr;gap:40px}.frame-canvas{align-self:center}.diagram-dialog .access-canvas{padding:10px}.diagram-dialog .route-status{padding-bottom:10px}
@keyframes draw-member{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes diagram-appear{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes warehouse-fill{from{fill-opacity:0}to{fill-opacity:1}}
@media(max-width:760px){.structure-pane{grid-template-columns:1fr;gap:25px}.frame-canvas{width:calc(100% + 6vw);margin-left:-3vw}.frame-canvas .label-title{font-size:19px}.frame-canvas .label-sub{font-size:14px}.access-canvas{padding:5px 0 20px}.access-svg .street-labels{font-size:15px}.access-svg .loading-callout text{font-size:16px}.diagram-dialog{padding:60px 8px 25px;width:98vw;max-width:98vw}.diagram-dialog .frame-canvas{width:100%;margin:0}.diagram-dialog-slot{overflow:auto}.diagram-actions{gap:18px}.diagram-actions .text-link{font-size:12px}.diagram-dialog .frame-svg{min-width:680px}.diagram-dialog .access-svg{min-width:560px}.diagram-dialog .diagram-canvas{overflow:auto}.access-row{gap:25px}.route-controls button{font-size:11px;padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.diagram-canvas.ready .draw{stroke-dashoffset:0}.diagram-canvas.ready .appear{opacity:1}.access-svg .warehouse{fill-opacity:1}.diagram-canvas *{animation:none!important}}
