/* SpecBridge interactive engineering diagram — Önder Yardaş */
sb-infrastructure-map{display:block;scroll-margin-top:2rem;--im-bg:#091321;--im-panel:#101e2d;--im-line:#243a4c;--im-text:#edf5fb;--im-muted:#aec1d0;--im-accent:#73dbea;color:var(--im-text);font-family:Inter,"Segoe UI",sans-serif;font-size:1rem;line-height:1.5}
sb-infrastructure-map *{box-sizing:border-box}
.im-shell{border:1px solid var(--im-line);border-radius:22px;background:var(--im-bg);overflow:hidden}
.im-top{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.3rem 1.5rem;border-bottom:1px solid var(--im-line)}
.im-top h3{font-size:1.25rem;margin:0 0 .2rem;font-weight:650;letter-spacing:-.025em}
.im-subtitle,.im-note{font-size:.875rem;color:var(--im-muted);margin:0}
.im-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}
.im-button,.im-tab,.im-equipment{font:inherit;cursor:pointer;border:1px solid var(--im-line);color:var(--im-text);background:transparent;transition:background .15s,border-color .15s;min-height:44px;border-radius:9px;padding:.55rem .9rem;font-size:.875rem}
.im-button:hover,.im-equipment:hover,.im-tab:hover{background:#1a2d3f;border-color:#608194}
.im-button[aria-pressed=true],.im-button.im-primary{background:#153c4a;border-color:#387c8b;color:#b9f5ff}
.im-button:disabled{opacity:.4;cursor:default}
sb-infrastructure-map :focus-visible{outline:3px solid #90efff;outline-offset:3px}
.im-tabs{display:flex;gap:.35rem;flex-wrap:wrap;padding:.9rem 1.5rem .4rem}
.im-tab{border-color:transparent;color:var(--im-muted);display:flex;align-items:center;gap:.55rem}
.im-tab[aria-selected=true]{background:#1c3042;color:#fff;border-color:#416078}
.im-swatch{display:inline-block;width:.5rem;height:.5rem;border-radius:2px;background:var(--swatch,#b5c8d8);flex-shrink:0}
.im-body{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-width:0}
.im-main{min-width:0}
.im-stage{position:relative;overflow:hidden;min-height:350px;padding:0 .5rem}
.im-stage svg{width:100%;height:auto;display:block;touch-action:pan-y;max-height:600px}
.im-stage [data-node]{cursor:pointer;outline:none}
.im-stage [data-node] .im-floor{transition:fill .2s,stroke .2s}
.im-stage [data-node]:hover .im-floor,.im-stage [data-node]:focus-visible .im-floor{stroke:#d4faff;stroke-width:2.5}
.im-stage [data-node].is-selected .im-floor{stroke:#8eebf7;stroke-width:2.5;fill:#1e4452}
.im-stage [data-node].is-dim{opacity:.32}
.im-stage .im-equipment-body{stroke:#416076;stroke-width:.8;stroke-linejoin:round}
.im-stage .im-link{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.im-stage .im-moving{stroke-dasharray:7 12;stroke-width:2;stroke:#fff;opacity:.65;animation:im-flow 2s linear infinite}
.im-stage .im-line-b{stroke-dasharray:9 5}
.im-stage .im-hotspot circle{fill:#142b3d;stroke:#608798;stroke-width:1.5}
.im-stage .im-hotspot text{fill:#e9f6ff;font:600 14px "Segoe UI",sans-serif;text-anchor:middle;dominant-baseline:central}
.im-stage .is-selected .im-hotspot circle{fill:#86deed;stroke:#ddfbff}
.im-stage .is-selected .im-hotspot text{fill:#09242d}
.im-stage .im-zone-label{font:600 13px "Segoe UI",sans-serif;letter-spacing:1.5px;fill:#a9becd;text-anchor:middle}
.im-viewbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem 1.5rem .8rem}
.im-viewbar p{font-size:.875rem;color:var(--im-muted);margin:0}
.im-zoom{display:flex;gap:.35rem}
.im-zoom .im-button{padding:.35rem .65rem;min-width:44px}
.im-legend{display:flex;gap:1.15rem;flex-wrap:wrap;padding:0 1.5rem 1rem;font-size:.875rem;color:var(--im-muted)}
.im-legend span{display:flex;gap:.45rem;align-items:center}
.im-legend i{height:3px;width:22px;background:var(--swatch);display:inline-block}
.im-sidebar{border-left:1px solid var(--im-line);padding:1.35rem 1.35rem 1.1rem;background:#0e1b2a;min-width:0}
.im-side-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#80d4e4;margin:0 0 .6rem}
.im-sidebar h4{font-size:1.35rem;line-height:1.25;margin:0 0 .8rem;letter-spacing:-.02em}
.im-sidebar p{font-size:.9375rem;color:var(--im-muted);margin:.4rem 0 1rem}
.im-sidebar dl{margin:1.3rem 0 0}
.im-sidebar dt{font-size:.8125rem;font-weight:600;color:#edf5fb;margin-top:1.1rem}
.im-sidebar dd{font-size:.875rem;color:var(--im-muted);margin:.3rem 0 0;line-height:1.55}
.im-sidebar .im-status{display:inline-flex;border:1px solid #526044;color:#cfdaad;padding:.3rem .6rem;border-radius:5px;font-size:.75rem;margin-top:1.1rem}
.im-equipment-list{display:flex;flex-wrap:wrap;gap:.45rem;padding:1rem 1.5rem;border-top:1px solid var(--im-line);background:#0b1725}
.im-equipment{padding:.45rem .7rem;display:inline-flex;gap:.55rem;align-items:center;min-height:42px}
.im-equipment span{font-variant-numeric:tabular-nums;color:#80d4e4;font-size:.75rem}
.im-equipment[aria-pressed=true]{background:#1a3544;border-color:#5db7c9}
.im-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.5rem;border-top:1px solid var(--im-line)}
.im-foot small{font-size:.75rem;color:#9bb2c3}
.im-tour{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#173748;padding:.9rem 1.5rem;border-bottom:1px solid #365c70}
.im-tour p{margin:0;font-size:.9375rem}
.im-tour strong{display:block;color:#b6f3ff;font-size:.8125rem;margin-bottom:.2rem}
.im-tour[hidden]{display:none}
.im-tour .im-actions{flex-wrap:nowrap}
.im-svg-alt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.im-mobile-select{display:none}
.im-cta{display:inline-flex;align-items:center;min-height:46px;padding:.65rem 1rem;border:1px solid #509cac;border-radius:10px;color:#b9f5ff;background:#143242;text-decoration:none;margin-top:1.2rem;font-weight:600;font-size:.9375rem}
#infrastructure .visual-layout{display:block}
#infrastructure .section-heading{max-width:52rem;margin-bottom:1.8rem;position:static}
@keyframes im-flow{to{stroke-dashoffset:-38}}
@media(prefers-reduced-motion:reduce){.im-moving{animation:none!important}sb-infrastructure-map *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1050px){.im-body{grid-template-columns:minmax(0,1fr) 270px}.im-sidebar{padding:1.1rem}.im-stage{min-height:290px}}
@media(max-width:800px){.im-body{grid-template-columns:1fr}.im-sidebar{border-left:0;border-top:1px solid var(--im-line);padding:1.25rem}.im-sidebar dl{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1.5rem;margin-top:.8rem}.im-sidebar dl div{min-width:0}.im-top{align-items:flex-start}.im-tabs{padding-inline:1rem}.im-stage{min-height:0}.im-sidebar h4{font-size:1.25rem}.im-top h3{font-size:1.1rem}}
@media(max-width:540px){.im-top{flex-direction:column;padding:1rem}.im-tabs{gap:.2rem;padding:.75rem .75rem .3rem}.im-tab{padding:.4rem .65rem;font-size:.8125rem;min-height:42px}.im-stage{padding:0;overflow-x:auto}.im-stage svg{min-width:530px;max-height:none}.im-mobile-select{display:block}.im-viewbar{padding:.5rem 1rem}.im-viewbar p{font-size:.8125rem}.im-legend{padding:0 1rem .8rem;gap:.65rem;font-size:.75rem}.im-equipment-list{padding:.8rem 1rem;gap:.4rem}.im-equipment{font-size:.8125rem}.im-tour{align-items:flex-start;flex-direction:column;padding:1rem}.im-sidebar dl{display:block}.im-foot{align-items:flex-start;flex-direction:column;padding:1rem}.im-shell{border-radius:14px}.im-subtitle{font-size:.8125rem}}
