
.sd{--sd-lime:var(--lime,#a3e635);--sd-vio:#a78bfa;--sd-vio-2:var(--violet,#8b5cf6);--sd-ink:var(--ink,#f1f3ff);
  --sd-mute:var(--mute,rgba(226,231,255,.78));--sd-faint:var(--faint,rgba(226,231,255,.64));--sd-line:var(--line,rgba(200,210,255,.16));
  --sd-acc:var(--sd-lime);--sd-t:.55s;--sd-e:cubic-bezier(.2,.8,.2,1)}
.sd[data-mode="vault"]{--sd-acc:var(--sd-vio)}
.sd *{min-width:0}
.sd-sprite{position:absolute;width:0;height:0;overflow:hidden}
.sd-ic{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sd-ic *,.sd-cloudicon *{vector-effect:non-scaling-stroke}
.sd-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:var(--s-6,32px);align-items:start;margin-top:var(--s-4,16px)}
.sd-stage{position:relative;isolation:isolate;overflow:hidden;margin:0;container-type:inline-size;border-radius:var(--r-xl,28px);padding:var(--s-5,24px) var(--s-5,24px) var(--s-4,16px);
  background:radial-gradient(90% 70% at 50% 0%,rgba(20,24,56,.55),transparent 70%),#03040a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 30px 80px -40px rgba(0,0,0,.9)}
.sd-sky,.sd-earth{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:-1}
.sd-sky{opacity:.95}
.sd-stage::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 55% at 85% 30%,color-mix(in srgb,var(--sd-acc) 9%,transparent),transparent 70%);transition:background var(--sd-t)}
.sd-scene{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr) minmax(0,1fr);gap:var(--s-3,12px);align-items:stretch}
.sd-side,.sd-mid{display:flex;flex-direction:column;gap:var(--s-3,12px)}
.sd-h{text-shadow:0 1px 8px #03040a;display:flex;align-items:center;gap:8px;font:500 11px/1.2 var(--mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--sd-mute)}
.sd-hn{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font:700 10px/1 var(--mono,monospace);letter-spacing:0;color:#07070f;background:var(--sd-acc);transition:background var(--sd-t)}
.sd-mid .sd-h{justify-content:center}
.sd-devs{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0}
.sd-devs li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:88px;padding:12px 6px;border-radius:14px;text-align:center;
  background:rgba(6,8,20,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:inset 0 0 0 1px var(--sd-line);font:500 12px/1.25 var(--body,sans-serif);color:var(--sd-ink);transition:box-shadow var(--sd-t),background var(--sd-t)}
.sd-devs .sd-ic{font-size:30px;color:var(--sd-acc);transition:color var(--sd-t)}
.sd[data-mode="priv"] .sd-devs li,.sd[data-mode="vault"] .sd-devs li{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sd-acc) 45%,transparent);background:color-mix(in srgb,var(--sd-acc) 8%,rgba(6,8,20,.74))}
.sd-tags{display:flex;flex-wrap:wrap;gap:6px}
.sd-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font:500 11px/1.2 var(--body,sans-serif);color:var(--sd-ink);
  background:rgba(6,8,20,.8);box-shadow:inset 0 0 0 1px var(--sd-line);transition:opacity var(--sd-t),transform var(--sd-t) var(--sd-e)}
.sd-tag .sd-ic{font-size:14px;color:var(--sd-acc)}
.sd-t-compute,.sd-t-files,.sd-t-key{display:none}
.sd:not([data-mode="auto"]) .sd-t-client{display:none}
.sd[data-mode="priv"] .sd-t-compute,.sd[data-mode="priv"] .sd-t-files,.sd[data-mode="vault"] .sd-t-key{display:inline-flex;animation:sd-pop .5s var(--sd-e)}
.sd-t-key{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sd-vio) 60%,transparent);background:color-mix(in srgb,var(--sd-vio) 14%,transparent)}
@keyframes sd-pop{from{opacity:0;transform:translateY(4px)}}
.sd-mid{justify-content:flex-start}
.sd-lanes{flex:1;display:grid;place-items:center;min-height:0}
.sd-lanes svg{position:relative;display:block;width:100%;height:auto;overflow:hidden}
.sd-lanes .sd-lv{display:none}
.sd-state{position:relative;text-align:center;text-shadow:0 1px 8px #03040a,0 0 2px #03040a;font:500 11px/1.3 var(--mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--sd-acc);min-height:1.3em;transition:color var(--sd-t)}
.sd-ln{stroke:var(--sd-line);stroke-width:1.5;fill:none;transition:stroke var(--sd-t),opacity var(--sd-t)}
.sd-ln.far{stroke-dasharray:3 5}
.sd[data-mode="auto"] .sd-ln{stroke:color-mix(in srgb,var(--sd-lime) 35%,transparent)}
.sd[data-mode="vault"] .sd-ln{stroke:color-mix(in srgb,var(--sd-vio) 35%,transparent)}
.sd[data-mode="priv"] .sd-ln.near{stroke:color-mix(in srgb,var(--sd-lime) 30%,transparent)}
.sd[data-mode="priv"] .sd-ln.far{opacity:.35}
.sd-gate,.sd-mem,.sd-wall{transition:opacity var(--sd-t),transform var(--sd-t) var(--sd-e);transform-box:fill-box;transform-origin:center}
.sd-gate line{stroke:color-mix(in srgb,var(--sd-lime) 70%,transparent);stroke-width:1.5;stroke-dasharray:2 7;stroke-linecap:round}
.sd-gate circle{fill:var(--sd-lime)}
.sd-mem line{stroke:var(--sd-vio);stroke-width:1.5;stroke-dasharray:6 4}
.sd-wall rect.w{stroke:var(--sd-lime);stroke-width:1.5}
.sd-wall path.b{stroke:color-mix(in srgb,var(--sd-lime) 30%,transparent);stroke-width:1;fill:none}
.sd-lock circle{fill:#0b0f1d;stroke:var(--sd-lime);stroke-width:1.5}
.sd-lock path,.sd-lock rect{fill:none;stroke:var(--sd-lime);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sd:not([data-mode="auto"]) .sd-gate{opacity:0}
.sd:not([data-mode="vault"]) .sd-mem{opacity:0}
.sd:not([data-mode="priv"]) .sd-wall{opacity:0;transform:var(--sd-wall-off)}
.sd-pk{opacity:0;animation:sd-move var(--dur,3.2s) linear infinite;animation-delay:var(--dl,0s);animation-play-state:paused}
.sd.run .sd-pk{animation-play-state:running}
@keyframes sd-move{0%{transform:translate(var(--x0),var(--y0));opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translate(var(--x1),var(--y1));opacity:0}}
.sd-pks{transition:opacity var(--sd-t)}
.sd:not([data-mode="auto"]) .sd-pks.auto,.sd:not([data-mode="vault"]) .sd-pks.vault,.sd:not([data-mode="priv"]) .sd-pks.priv{opacity:0}
.sd-pks.priv rect{fill:#cbd5e1;stroke:none}
.sd-pks.auto rect{fill:color-mix(in srgb,var(--sd-lime) 22%,#0b0f1d);stroke:var(--sd-lime);stroke-width:1.3}
.sd-pks.auto path{stroke:var(--sd-lime);stroke-width:1.2;stroke-linecap:round;fill:none}
.sd-pks.vault rect{fill:color-mix(in srgb,var(--sd-vio) 25%,#0b0f1d);stroke:var(--sd-vio);stroke-width:1.3}
.sd-pks.vault path{stroke:var(--sd-vio);stroke-width:1.2;stroke-linejoin:round;fill:none}
.sd-pks.vault circle{fill:var(--sd-vio)}
.sd-dir path{fill:none!important;stroke-width:1.6!important;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.sd-vault{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;border-radius:14px;
  background:rgba(6,8,20,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:inset 0 0 0 1px var(--sd-line);transition:box-shadow var(--sd-t)}
.sd[data-mode="priv"] .sd-vault{box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.sd-cloudicon{width:56px;height:56px;fill:none;stroke:var(--sd-acc);stroke-width:1.6;stroke-linejoin:round;transition:stroke var(--sd-t),opacity var(--sd-t)}
.sd[data-mode="priv"] .sd-cloudicon{stroke:var(--sd-faint);opacity:.6}
.sd-shelf{display:grid;grid-template-columns:repeat(3,28px);gap:8px;justify-content:center}
.sd-item{position:relative;width:28px;height:28px;border-radius:7px;box-shadow:inset 0 0 0 1px var(--sd-line);display:grid;place-items:center;transition:box-shadow var(--sd-t),background var(--sd-t)}
.sd-item svg{width:22px;height:22px;overflow:visible}
.sd-item g{transition:opacity var(--sd-t)}
.sd-item .it-doc rect{fill:color-mix(in srgb,var(--sd-lime) 22%,#0b0f1d);stroke:var(--sd-lime);stroke-width:1.2}
.sd-item .it-doc path{stroke:var(--sd-lime);stroke-width:1.1;fill:none;stroke-linecap:round}
.sd-item .it-env rect{fill:color-mix(in srgb,var(--sd-vio) 25%,#0b0f1d);stroke:var(--sd-vio);stroke-width:1.2}
.sd-item .it-env path{stroke:var(--sd-vio);stroke-width:1.1;fill:none;stroke-linejoin:round}
.sd-item .it-env circle{fill:var(--sd-vio)}
.sd:not([data-mode="auto"]) .sd-item .it-doc,.sd:not([data-mode="vault"]) .sd-item .it-env{opacity:0}
.sd[data-mode="priv"] .sd-item{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,255,255,.04) 4px 5px)}
.sd-cstate{position:relative;display:grid;text-align:center;text-shadow:0 1px 8px #03040a,0 0 2px #03040a;font:500 12px/1.35 var(--body,sans-serif);color:var(--sd-ink)}
.sd-cstate span{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.sd-cstate .sd-ic{font-size:16px;color:var(--sd-vio)}
.sd-state,.sd-cstate{display:grid}
.sd-state>[data-m],.sd-cstate>[data-m],.sd-cap>[data-m]{grid-area:1/1;transition:opacity var(--sd-t)}
.sd:not([data-mode="auto"]) [data-m="auto"],.sd:not([data-mode="priv"]) [data-m="priv"],.sd:not([data-mode="vault"]) [data-m="vault"]{opacity:0;visibility:hidden}
.sd-cap{position:relative;display:grid;grid-template-columns:auto;gap:4px;margin-top:var(--s-4,16px);padding:var(--s-3,12px) var(--s-4,16px);border-radius:14px;background:rgba(4,6,16,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px var(--sd-line)}
.sd-capk{font:500 11px/1.3 var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--sd-acc);transition:color var(--sd-t)}
.sd-cap>.sd-capt{grid-area:2/1;font:500 15px/1.45 var(--body,sans-serif);color:var(--sd-ink)}
.sd-card [role="tabpanel"]{padding:var(--s-6,32px);border-radius:var(--r-xl,28px);background:linear-gradient(160deg,color-mix(in srgb,var(--sd-acc) 13%,transparent),rgba(8,10,24,.93) 50%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sd-acc) 38%,transparent);animation:sd-pop .45s var(--sd-e)}
.sd-card h3{font:380 clamp(28px,3vw,46px)/1.05 var(--serif,serif);letter-spacing:-.02em;margin:var(--s-3,12px) 0 var(--s-4,16px);font-variation-settings:"opsz" 144;text-wrap:balance}
.sd-card h3 em{color:var(--sd-acc);font-weight:320}
.sd-card p{color:var(--sd-mute)}
.sd-card .spec dd{font-weight:500}
@container (max-width:560px){
  .sd-scene{grid-template-columns:minmax(0,1fr);gap:var(--s-2,8px)}
  .sd-devs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .sd-devs li{min-height:74px;padding:10px 4px;font-size:11px}
  .sd-devs .sd-ic{font-size:26px}
  .sd-mid .sd-h{justify-content:flex-start;margin-top:6px}
  .sd-lanes .sd-lv{margin:6px 0 2px}
  .sd-lanes .sd-lh{display:none}.sd-lanes .sd-lv{display:block}
  .sd-state{text-align:left;margin-bottom:10px}
  .sd-vault{flex-direction:row;justify-content:center;gap:16px;padding:12px}
  .sd-cloudicon{width:44px;height:44px}
  .sd-shelf{grid-template-columns:repeat(6,24px);gap:6px}
  .sd-item{width:24px;height:24px}
  .sd-item svg{width:19px;height:19px}
}
@media (max-width:1100px){.sd-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.sd-tabs{border-radius:var(--r-lg,20px)}.sd-tabs [role="tab"]{padding:0 14px;flex:1 1 auto}.sd-stage{padding:var(--s-4,16px) var(--s-3,12px) var(--s-3,12px);border-radius:var(--r-lg,20px)}.sd-card [role="tabpanel"]{padding:var(--s-5,24px)}.sd-cap>.sd-capt{font-size:14px}}
@media (prefers-reduced-motion:reduce){
  .sd{--sd-t:.01s}
  .sd-pk{animation:none!important;opacity:1;transform:translate(var(--xs),var(--ys))}
  .sd-tag,.sd-card [role="tabpanel"]{animation:none!important}
}
html.paused .sd-pk{animation-play-state:paused!important}
.sd[data-sd-controls="external"] .sd-tabs,.sd[data-sd-controls="external"] .sd-card{display:none}
.sd[data-sd-controls="external"] .sd-grid{grid-template-columns:minmax(0,1fr);margin-top:0}
.sd .sd-sky,.sd .sd-earth{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;border-radius:0;background:none;box-shadow:none}
.sd .sd-cap{display:grid;justify-content:normal;border-top:0;font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
