/* website-v2 shared layer — generated by build-v2/convert.py */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibmplexsans-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibmplexsans-500.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibmplexsans-600.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ibmplexsans-700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibmplexmono-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibmplexmono-500.woff2) format('woff2')}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0F0D17;color:#9a95b0;font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:#c4b5fd;text-decoration:none}a:hover{color:#e2d8fb}
h1,h2,h3,h4,h5{font-family:'IBM Plex Sans',system-ui,sans-serif}
@keyframes cc-drift{from{transform:translate(0,0)}to{transform:translate(44px,60px)}}
@keyframes cc-shimmer{to{background-position:200% 0}}
@keyframes cc-spin{to{transform:rotate(360deg)}}
@keyframes cc-blip{0%,10%{opacity:0}14%{opacity:1}55%{opacity:.9}100%{opacity:0}}
@keyframes cc-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes cc-marquee{to{transform:translateX(-50%)}}
@keyframes cc-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes cc-dash{to{stroke-dashoffset:-44}}
@keyframes cc-sheen{0%,55%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes cc-scan{0%{transform:translateY(50px);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateY(432px);opacity:0}}
@keyframes cc-float{0%{transform:translateY(0);opacity:0}15%{opacity:1}80%{opacity:.7}100%{transform:translateY(-340px);opacity:0}}
/* article prose */
.prose p{margin:0 0 20px}
.prose h2{color:#fff;font-weight:700;font-size:26px;letter-spacing:-.02em;margin:38px 0 14px;line-height:1.2}
.prose ul{margin:0 0 20px;padding-left:22px}
.prose li{margin:0 0 9px}
.prose strong{color:#EDEBF5;font-weight:600}
.prose a{color:#5EEAD4}
/* canonical nav helpers */
.hvnav{transition:color .15s}.hvnav:hover{color:#EDEBF5!important}
.hvghost{transition:all .2s}.hvghost:hover{border-color:rgba(155,122,235,.5)!important;color:#EDEBF5}
.hvprim{transition:all .2s}.hvprim:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(196,181,253,.4) inset,0 0 34px rgba(130,92,229,.55);color:#fff}
.hvrow{transition:all .2s}.hvrow:hover{border-color:rgba(155,122,235,.4)!important;transform:translateX(4px)}
.hvcard{transition:all .2s}.hvcard:hover{border-color:rgba(155,122,235,.4)!important;transform:translateY(-4px)}
.sl-opt{border:1px solid rgba(155,122,235,.2);border-radius:10px;padding:13px 15px;font-size:15px;font-weight:500;color:#C9C4DC;background:rgba(155,122,235,.05);text-align:left;display:flex;align-items:center;gap:11px;transition:.15s;cursor:pointer;font-family:'IBM Plex Sans',system-ui,sans-serif}
.sl-opt:hover{border-color:#9b7aeb;background:rgba(130,92,229,.14);transform:translateX(3px);color:#fff}
/* generated hover classes */
.hv1{transition:all .2s}
.hv1:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(196,181,253,.45) inset,0 0 40px rgba(130,92,229,.6)}
.hv2{transition:all .2s}
.hv2:hover{border-color:rgba(155,122,235,.5)}
.hv3{transition:all .2s}
.hv3:hover{border-color:#9b7aeb;transform:translateY(-2px)}
.hv4{transition:all .2s}
.hv4:hover{color:#EDEBF5;background:rgba(155,122,235,.06)}
.hv5{transition:all .2s}
.hv5:hover{border-color:rgba(155,122,235,.4);transform:translateX(4px)}
.hv6{transition:all .2s}
.hv6:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(130,92,229,.3);border-color:rgba(155,122,235,.45)}
.hv7{transition:all .2s}
.hv7:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(130,92,229,.6)}
.hv8{transition:all .2s}
.hv8:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(196,181,253,.5) inset,0 0 46px rgba(130,92,229,.7)}
.hv9{transition:all .2s}
.hv9:hover{transform:translateY(-4px);border-color:rgba(155,122,235,.4);box-shadow:0 20px 46px rgba(130,92,229,.24)}
.hv10{transition:all .2s}
.hv10:hover{transform:translateY(-4px);border-color:rgba(94,234,212,.4);box-shadow:0 20px 46px rgba(94,234,212,.16)}
.hv11{transition:all .2s}
.hv11:hover{transform:translateY(-4px);border-color:rgba(138,180,248,.4);box-shadow:0 20px 46px rgba(138,180,248,.16)}
.hv12{transition:all .2s}
.hv12:hover{border-color:rgba(155,122,235,.55)}
.hv13{transition:all .2s}
.hv13:hover{border-color:rgba(155,122,235,.6)}
.hv14{transition:all .2s}
.hv14:hover{border-color:rgba(155,122,235,.4)}
.hv15{transition:all .2s}
.hv15:hover{border-color:rgba(155,122,235,.4);transform:translateY(-4px)}
/* footer */
.ft{border-top:1px solid rgba(155,122,235,.12);background:#0a0910;color:#8f8aa6;padding:54px 0 28px;font-size:14px}
.ft-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px;align-items:start}
.ft h5{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-weight:700}
.ft a{display:block;color:#8f8aa6;padding:4px 0}
.ft a:hover{color:#5EEAD4}
.ft-blurb{margin:14px 0 0;max-width:300px;line-height:1.6}
.ft-legal{border-top:1px solid rgba(155,122,235,.1);margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;font-size:12.5px}
.ft-legal .sp{flex:1}
@media(max-width:860px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ft-grid{grid-template-columns:1fr}}
/* a11y */
:focus-visible{outline:2px solid #5EEAD4;outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:8px;top:-60px;z-index:2000;background:#6d28d9;color:#fff;padding:9px 16px;border-radius:8px;font-weight:600;text-decoration:none;transition:top .15s ease}
.skip:focus{top:8px}
main:focus{outline:none}
/* responsive */
.navtoggle{display:none;margin-left:auto;background:none;border:1px solid rgba(155,122,235,.25);border-radius:8px;padding:7px 11px;cursor:pointer;color:#EDEBF5;font-size:16px}
@media(max-width:1150px){
  .nav-links{display:none!important}
  .nav-links.open{display:flex!important;position:absolute;top:66px;left:0;right:0;flex-direction:column;align-items:flex-start!important;background:rgba(11,9,20,.98);border-bottom:1px solid rgba(155,122,235,.18);padding:16px 24px;gap:16px!important}
  .navtoggle{display:block}
}
@media(max-width:1100px){.rg4{grid-template-columns:repeat(2,1fr)!important}.rg4>div{border-right:none!important}}
@media(max-width:900px){.rg2,.rg3{grid-template-columns:1fr!important}}
@media(max-width:640px){.rg4{grid-template-columns:1fr!important}.rh1{font-size:34px!important}}
img,svg{max-width:100%}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
