.wsic{--accent:#3ef08f;
    --accent-soft:#7ef7b6;
    --ink:#e9f6ec;
    --ink-dim:rgba(233,246,236,.62);
    --ink-faint:rgba(233,246,236,.34);
    --edge:rgba(62,240,143,.18);
    --edge-strong:rgba(62,240,143,.45);
    --panel-a:rgba(6,34,23,.86);
    --panel-b:rgba(2,17,12,.76);
    --veil:rgba(2,17,12,.9);
    --veil-0:rgba(2,17,12,0);
    --bg-in:#0a3624;
    --bg-mid:#052014;
    --bg-out:#02110c;
    --grid:rgba(62,240,143,.045);
    --tint4:rgba(62,240,143,.05);
    --tint8:rgba(62,240,143,.09);
    --tint14:rgba(62,240,143,.16);
    --tint22:rgba(62,240,143,.24);
    --display:"Helvetica Neue", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;}
.wsic *{box-sizing:border-box}
.wsic,.wsic{margin:0}
.wsic{background:var(--bg-out);color:var(--ink);font-family:var(--display);
    overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;
    user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;
    -webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;}
.wsic ::selection{background:transparent}
.wsic ::-moz-selection{background:transparent}
.wsic{position:relative;width:100%;height:clamp(560px, 84vh, 940px);overflow:hidden;
    background:radial-gradient(120% 90% at 50% 46%, var(--bg-in) 0%, var(--bg-mid) 42%, var(--bg-out) 78%);
    transition:background .45s ease;}
.wsic::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:
      repeating-linear-gradient(to right, var(--grid) 0 1px, transparent 1px 84px),
      repeating-linear-gradient(to bottom, var(--grid) 0 1px, transparent 1px 84px);
    mask-image:radial-gradient(80% 70% at 50% 48%, #000 0%, transparent 82%);
    -webkit-mask-image:radial-gradient(80% 70% at 50% 48%, #000 0%, transparent 82%);}
.wsic canvas#scene{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:2;touch-action:none;cursor:grab}
.wsic canvas#scene:active{cursor:grabbing}
.wsic .ui{position:absolute;z-index:5}
.wsic .topbar{top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:22px;
    padding:16px 24px;border-bottom:1px solid var(--edge);
    background:linear-gradient(to bottom, var(--veil), var(--veil-0));}
.wsic .brand{display:flex;flex-direction:column;gap:3px;line-height:1}
.wsic .brand b{font-size:15px;font-weight:800;letter-spacing:.32em;text-transform:uppercase}
.wsic .brand b i{font-style:normal;color:var(--accent)}
.wsic .brand span{font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}
.wsic nav{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}
.wsic nav button{appearance:none;background:transparent;border:1px solid transparent;border-radius:2px;color:var(--ink-faint);
    font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:7px 8px;cursor:pointer;
    transition:color .25s,border-color .25s,background .25s;white-space:nowrap;}
.wsic nav button:hover{color:var(--ink)}
.wsic nav button[aria-current="true"]{color:var(--accent);border-color:var(--edge-strong);background:var(--tint8)}
.wsic nav button:focus-visible,.wsic .icon-btn:focus-visible,.wsic .pager:focus-visible,.wsic .step:focus-visible,.wsic .diagram-btn:focus-visible,.wsic .theme-pill:focus-visible,.wsic .swatch:focus-visible,.wsic .mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wsic .tools{display:flex;gap:7px;align-items:center}
.wsic .diagram-btn{display:flex;align-items:center;gap:7px;height:34px;padding:0 12px;cursor:pointer;
    background:var(--tint14);border:1px solid var(--edge-strong);border-radius:3px;color:var(--accent);
    font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;transition:.25s;}
.wsic .diagram-btn:hover{background:var(--tint22)}
.wsic .diagram-btn svg{width:13px;height:13px;fill:currentColor}
.wsic .icon-btn{width:34px;height:34px;display:grid;place-items:center;background:var(--tint4);
    border:1px solid var(--edge);border-radius:3px;color:var(--ink-dim);cursor:pointer;transition:.25s;}
.wsic .icon-btn:hover{color:var(--accent);border-color:var(--edge-strong)}
.wsic .icon-btn svg{width:14px;height:14px;fill:currentColor}
.wsic .headline{top:98px;left:0;right:0;text-align:center;pointer-events:none;padding:0 24px;transition:opacity .5s ease}
.wsic .headline h1{margin:0;font-size:clamp(19px,2.2vw,30px);font-weight:800;letter-spacing:-.015em}
.wsic .headline h1 em{font-style:normal;color:var(--accent)}
.wsic .headline p{margin:9px auto 0;max-width:600px;font-size:12.5px;line-height:1.6;color:var(--ink-dim)}
.wsic .panel{width:288px;border:1px solid var(--edge);border-radius:4px;padding:19px 19px 21px;
    background:linear-gradient(160deg, var(--panel-a), var(--panel-b));backdrop-filter:blur(10px);
    opacity:0;transition:opacity .5s ease, transform .5s ease;}
.wsic .panel-left{left:26px;top:50%;transform:translateY(calc(-50% + 14px))}
.wsic .panel-right{right:26px;top:50%;transform:translateY(calc(-50% + 14px))}
.wsic .panel.in{opacity:1}
.wsic .panel-left.in,.wsic .panel-right.in{transform:translateY(-50%)}
.wsic .eyebrow{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:13px}
.wsic .eyebrow s{text-decoration:none;display:inline-grid;place-items:center;width:19px;height:19px;border:1px solid var(--edge-strong);border-radius:50%;font-size:9px}
.wsic .panel h2{margin:0 0 9px;font-size:16.5px;font-weight:700;line-height:1.25}
.wsic .panel .lede{margin:0 0 15px;font-size:12.5px;line-height:1.62;color:var(--ink-dim)}
.wsic .panel ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.wsic .panel li{position:relative;padding-left:16px;font-size:12px;line-height:1.5;color:var(--ink-dim)}
.wsic .panel li::before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;border:1px solid var(--accent);transform:rotate(45deg)}
.wsic .keymsg{margin-top:16px;padding-top:13px;border-top:1px solid var(--edge);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-soft);line-height:1.7}
.wsic .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.wsic .chip{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:5px 8px;border:1px solid var(--edge);border-radius:2px;color:var(--ink-dim);background:var(--tint4)}
.wsic .rail{left:50%;transform:translateX(-50%) translateY(8px);display:flex;align-items:center;gap:13px;
    padding:8px 15px;border:1px solid var(--edge-strong);border-radius:3px;background:var(--panel-b);
    font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
    opacity:0;transition:opacity .5s ease, transform .5s ease;pointer-events:none;white-space:nowrap;}
.wsic .rail.in{opacity:1;transform:translateX(-50%) translateY(0)}
.wsic .rail-top{color:var(--ink-dim)}
.wsic .rail-bottom{color:var(--accent)}
.wsic .rail b{color:var(--accent);font-weight:700;letter-spacing:.26em}
.wsic .rail .dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.wsic .ticker{color:var(--ink-dim);letter-spacing:.14em}
.wsic .map{right:26px;top:50%;transform:translateY(calc(-50% + 14px));width:300px;display:flex;flex-direction:column;gap:7px;
    opacity:0;transition:opacity .5s ease, transform .5s ease;}
.wsic .map.in{opacity:1;transform:translateY(-50%)}
.wsic .layer{border:1px solid var(--edge);border-left:2px solid var(--accent);border-radius:3px;padding:9px 12px;
    background:linear-gradient(90deg, var(--tint14), var(--panel-b))}
.wsic .layer h3{margin:0 0 5px;font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600}
.wsic .layer p{margin:0;font-size:11.5px;line-height:1.45;color:var(--ink-dim)}
.wsic .flowline{height:10px;position:relative}
.wsic .flowline::before{content:"";position:absolute;left:20px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom, var(--edge-strong), transparent)}
.wsic .realview{margin:0;display:none;flex-direction:column;gap:10px;align-items:center;
    opacity:0;transform:translateY(14px) scale(.985);transition:opacity .7s ease, transform .7s ease;}
.wsic .realview.show{display:flex}
.wsic .realview.in{opacity:1;transform:none}
.wsic .realview img{display:block;width:100%;height:auto;border-radius:5px;cursor:zoom-in;border:1px solid var(--edge-strong);
    box-shadow:0 0 70px var(--tint22), 0 24px 60px rgba(0,0,0,.45);}
.wsic .newsroom{margin:0;display:none;flex-direction:column;gap:9px;align-items:center;
    opacity:0;transform:translateY(14px) scale(.985);transition:opacity .7s ease, transform .7s ease;}
.wsic .newsroom.show{display:flex}
.wsic .newsroom.in{opacity:1;transform:none}
.wsic .newsroom figcaption{cursor:pointer;font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:flex;gap:12px;align-items:center;text-align:center}
.wsic .newsroom figcaption span{color:var(--ink-faint);letter-spacing:.16em}
.wsic .nsvg{width:100%;height:auto;display:block;cursor:zoom-in;border-radius:5px;border:1px solid var(--edge-strong);
    background:linear-gradient(160deg, var(--panel-a), var(--panel-b));box-shadow:0 0 60px var(--tint14), 0 20px 50px rgba(0,0,0,.4)}
.wsic .nsvg .fr{fill:none;stroke:var(--edge);stroke-width:1}
.wsic .nsvg .bx{fill:var(--tint8);stroke:var(--edge-strong);stroke-width:1}
.wsic .nsvg .bxa{fill:var(--tint22);stroke:var(--accent);stroke-width:1}
.wsic .nsvg .cdot{fill:var(--edge-strong)}
.wsic .nsvg .lead{fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:2 3;opacity:.75}
.wsic .nsvg .numc{fill:none;stroke:var(--accent);stroke-width:1}
.wsic .nsvg text{font-family:var(--mono)}
.wsic .nsvg .t{font-size:11px;fill:var(--ink-dim);letter-spacing:.04em}
.wsic .nsvg .tm{font-size:9px;fill:var(--ink-faint);letter-spacing:.14em}
.wsic .nsvg .th{font-size:22px;font-weight:700;fill:var(--ink);font-family:var(--display);letter-spacing:-.01em}
.wsic .nsvg .num{font-size:10px;font-weight:700;fill:var(--accent)}
.wsic .realview figcaption{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);
    display:flex;gap:12px;align-items:center;}
.wsic .realview figcaption span{color:var(--ink-faint);letter-spacing:.16em}
.wsic .closing{left:0;right:0;text-align:center;pointer-events:none;padding:0 24px;opacity:0;transform:translateY(12px);transition:opacity .6s ease, transform .6s ease}
.wsic .closing.in{opacity:1;transform:none}
.wsic .closing strong{display:block;font-size:clamp(14px,1.5vw,19px);font-weight:800}
.wsic .closing span{display:block;margin-top:6px;font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.wsic .controls{left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 26px 20px;
    background:linear-gradient(to top, var(--veil), var(--veil-0))}
.wsic .pager{appearance:none;background:var(--tint4);border:1px solid var(--edge);color:var(--ink-dim);
    border-radius:3px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:9px 16px;transition:.25s}
.wsic .pager:hover{color:var(--accent);border-color:var(--edge-strong)}
.wsic .steps{display:flex;gap:6px;align-items:center}
.wsic .step{width:28px;height:3px;background:var(--edge);border:0;padding:0;cursor:pointer;position:relative;overflow:hidden;border-radius:2px}
.wsic .step i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--accent)}
.wsic .step[data-done="true"] i{transform:scaleX(1)}
.wsic .hint{bottom:74px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);pointer-events:none;transition:opacity .4s}
.wsic .themebar{right:26px;bottom:78px;z-index:8;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.wsic .theme-panel{width:262px;padding:16px;border-radius:8px;border:1px solid var(--edge);
    background:linear-gradient(160deg, var(--panel-a), var(--panel-b));backdrop-filter:blur(12px);
    box-shadow:0 20px 50px rgba(0,0,0,.4);
    opacity:0;transform:translateY(8px) scale(.98);pointer-events:none;transition:.28s ease;}
.wsic .theme-panel.open{opacity:1;transform:none;pointer-events:auto}
.wsic .theme-panel h4{margin:0 0 10px;font-family:var(--mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.wsic .swatches{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:15px}
.wsic .swatch,.wsic .mode-btn{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:5px;cursor:pointer;
    border:1px solid var(--edge);background:var(--tint4);color:var(--ink-dim);
    font-family:var(--display);font-size:11.5px;font-weight:600;transition:.2s;text-align:left;}
.wsic .swatch:hover,.wsic .mode-btn:hover{border-color:var(--edge-strong);color:var(--ink)}
.wsic .swatch[aria-pressed="true"],.wsic .mode-btn[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);background:var(--tint14)}
.wsic .swatch i{width:17px;height:17px;border-radius:50%;flex:none;border:1px solid rgba(128,128,128,.35)}
.wsic .modes{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:12px;border-top:1px solid var(--edge)}
.wsic .mode-btn{justify-content:center;gap:7px}
.wsic .theme-pill{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:26px;cursor:pointer;
    border:1px solid var(--edge-strong);background:var(--tint14);color:var(--ink);
    font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;transition:.25s;}
.wsic .theme-pill:hover{background:var(--tint22)}
.wsic .theme-pill .dots{display:flex;gap:3px}
.wsic .theme-pill .dots i{width:7px;height:7px;border-radius:50%;display:block}
.wsic .lightbox{position:absolute;inset:0;z-index:20;display:none;background:radial-gradient(80% 70% at 50% 45%, var(--bg-mid), var(--bg-out));backdrop-filter:blur(6px)}
.wsic .lightbox.open{display:block}
.wsic .lb-stage{position:absolute;inset:0;overflow:hidden;cursor:grab;display:grid;place-items:center}
.wsic .lb-stage:active{cursor:grabbing}
.wsic .lb-stage img{max-width:96%;max-height:86%;transform-origin:center center;border:1px solid var(--edge-strong);border-radius:4px;
    box-shadow:0 0 90px var(--tint22);-webkit-user-drag:none;will-change:transform}
.wsic .lb-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;z-index:2;pointer-events:none}
.wsic .lb-title{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.wsic .lb-title span{display:block;margin-top:5px;color:var(--ink-faint);letter-spacing:.16em}
.wsic .lb-actions{display:flex;gap:8px;pointer-events:auto}
.wsic .lb-foot{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}
@media (max-width:1180px){
.wsic .panel{width:250px}
.wsic .map{width:262px}
}
@media (max-width:900px){
.wsic .topbar{flex-wrap:wrap;gap:10px;padding:12px 14px}
.wsic nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto}
.wsic nav::-webkit-scrollbar{display:none}
.wsic .headline p{display:none}
.wsic .panel-left{left:14px;right:14px;top:auto;bottom:128px;width:auto;max-height:32vh;overflow-y:auto;transform:translateY(12px)}
.wsic .panel-left.in{transform:none}
.wsic .panel-right,.wsic .map,.wsic .hint{display:none}
.wsic .rail{font-size:8.5px;letter-spacing:.12em;padding:7px 11px;gap:9px}
.wsic .controls{gap:9px;padding:12px 14px 16px}
.wsic .step{width:16px}
.wsic .diagram-btn span{display:none}
.wsic .diagram-btn{padding:0 10px}
.wsic .themebar{right:12px;bottom:auto;align-items:flex-end;flex-direction:column-reverse}
.wsic .theme-panel{width:230px}
.wsic .theme-pill{padding:8px 12px;font-size:9px;letter-spacing:.14em}
}
@media (prefers-reduced-motion: reduce){
.wsic .panel,.wsic .map,.wsic .rail,.wsic .closing,.wsic .realview,.wsic{transition:none}
}

/* full screen and iframe use the whole viewport */
.wsic:fullscreen,.wsic:-webkit-full-screen{height:100vh;width:100vw;border-radius:0}
.wsic--fill{height:100vh !important}
.wsic-fallback{display:none;padding:40px;text-align:center;font-family:var(--mono);
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.wsic.is-unsupported .wsic-fallback{display:block}
.wsic.is-unsupported canvas,.wsic.is-unsupported .ui{display:none}
