:root{
  --primary:#6E45EC;
  --primary-deep:#5A33D6;
  --primary-soft:#EDE7FD;
  --accent:#38B6FF;
  --accent-soft:rgba(56,182,255,.12);
  --ink:#16103A;
  --ink-70:rgba(22,16,58,.72);
  --ink-60:rgba(22,16,58,.62);
  --ink-40:rgba(22,16,58,.42);
  --hair:rgba(22,16,58,.10);
  --hair-soft:rgba(22,16,58,.06);
  --light:#F5F3FE;
  --surface:#FDFCFF;
  --glass:rgba(255,255,255,.74);
  --glass-strong:rgba(255,255,255,.9);
  --green:#22B573;
  --green-soft:rgba(34,181,115,.16);
  --gold:#E8A33D;
  --red:#E5484D;
  --metal-hi:#3A3A42;
  --metal-lo:#1D1D24;
  --r-lg:16px;
  --r-win:12px;
  --r-in:10px;
  --r-btn:9px;
  --r-xs:7px;
  --shadow-win:0 2px 6px rgba(22,16,58,.05),0 18px 48px rgba(110,69,236,.12);
  --shadow-pop:0 2px 8px rgba(22,16,58,.06),0 28px 64px rgba(110,69,236,.16);
  --shadow-soft:0 1px 4px rgba(22,16,58,.07);
  --sp-1:4px;
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --sp-7:40px;
  --sp-8:64px;
  --sp-9:96px;
  --fs-xs:11.5px;
  --fs-sm:13.5px;
  --fs-base:15px;
  --fs-md:17px;
  --fs-lg:21px;
  --fs-xl:26px;
  --fs-2xl:31px;
  --fs-3xl:clamp(32px,4.2vw,40px);
  --f-head:"Bricolage Grotesque","Segoe UI Variable Display","Segoe UI",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --f-body:"Albert Sans","Segoe UI",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --f-mono:"Cascadia Code",ui-monospace,"SF Mono","JetBrains Mono","Fira Code",Consolas,"PingFang SC","Microsoft YaHei",monospace;
  --taskbar-h:58px;
  --ease:cubic-bezier(.2,.7,.3,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-body);
  color:var(--ink);
  font-size:var(--fs-base);
  line-height:1.7;
  min-height:100vh;
  padding-bottom:calc(var(--taskbar-h) + 36px);
  background:
    radial-gradient(1100px 620px at 8% -6%,rgba(110,69,236,.14),transparent 60%),
    radial-gradient(900px 560px at 96% 4%,rgba(56,182,255,.13),transparent 60%),
    radial-gradient(1000px 800px at 50% 110%,rgba(110,69,236,.08),transparent 60%),
    linear-gradient(180deg,#F7F5FF 0%,#F5F3FE 40%,#F3F5FE 100%);
  background-color:var(--light);
}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
ul,ol{list-style:none}
table{border-collapse:collapse}
h1,h2,h3,h4{font-family:var(--f-head);letter-spacing:-.02em;line-height:1.22;font-weight:800}
p{min-width:0}
pre{overflow-x:auto;-webkit-overflow-scrolling:touch}
pre,code,kbd{font-family:var(--f-mono)}
::selection{background:rgba(110,69,236,.2)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mono,.u-mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.u-num{font-variant-numeric:tabular-nums}
.u-muted{color:var(--ink-60)}
.u-faint{color:var(--ink-40)}
.u-center{text-align:center}
.u-right{text-align:right}
.l-container{width:min(1160px,100% - 40px);margin-inline:auto}
.l-narrow{width:min(760px,100% - 40px);margin-inline:auto}
.l-wide{width:min(1280px,100% - 40px);margin-inline:auto}
.g{display:grid;gap:var(--sp-5)}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g>*{min-width:0}
.g-tight{gap:var(--sp-3)}
@media(max-width:960px){
  .g-3,.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .g-2,.g-3,.g-4{grid-template-columns:1fr}
}
.u-mt-2{margin-top:var(--sp-2)}
.u-mt-3{margin-top:var(--sp-3)}
.u-mt-4{margin-top:var(--sp-4)}
.u-mt-5{margin-top:var(--sp-5)}
.u-mt-6{margin-top:var(--sp-6)}
.u-mt-8{margin-top:var(--sp-8)}
.u-mb-2{margin-bottom:var(--sp-2)}
.u-mb-3{margin-bottom:var(--sp-3)}
.u-mb-4{margin-bottom:var(--sp-4)}
.u-mb-5{margin-bottom:var(--sp-5)}
.u-mb-6{margin-bottom:var(--sp-6)}
.u-pt-4{padding-top:var(--sp-4)}
.u-pt-6{padding-top:var(--sp-6)}
.u-flex{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.u-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}
.u-hide{display:none}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}
.reveal-d2{transition-delay:.16s}
.reveal-d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal-d1,.reveal-d2,.reveal-d3{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}
}
main{overflow-x:clip}
