:root{
  --bg:#07090a; --s1:#0c1011; --s2:#111617; --line:#1b2224; --line2:#263033;
  --fg:#e9eeeb; --mut:#8b9792; --dim:#56615d;
  --acc:#b4ff39; --red:#ff5a36; --cy:#5ce1ff;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;
  --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--acc);color:#000}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.acc{color:var(--acc)}

/* background */
#grid{position:fixed;inset:0;z-index:0;pointer-events:none}
.noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.glow{position:fixed;width:900px;height:900px;left:50%;top:-500px;transform:translateX(-50%);z-index:0;pointer-events:none;background:radial-gradient(closest-side,#b4ff3914,transparent)}
.page{position:relative;z-index:2}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

.frame{position:fixed;top:0;bottom:0;left:50%;width:min(1180px,100%);transform:translateX(-50%);z-index:1;pointer-events:none;border-inline:1px solid #ffffff08}
@media(max-width:1200px){.frame{display:none}}
/* nav */
nav{position:sticky;top:0;z-index:30;background:#07090ad9;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:700;font-size:15px}
.logo .mk{width:28px;height:28px;border:1px solid var(--line2);border-radius:7px;display:grid;place-items:center;color:var(--acc);font-size:12px;background:var(--s1)}
.logo .dot{color:var(--acc)}
.nl{display:flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#0c1011b3}
.nl a{position:relative;display:flex;align-items:flex-start;gap:5px;padding:7px 13px;font-size:14.5px;font-weight:500;letter-spacing:-.005em;color:#c3ccc8;border-radius:8px;transition:color .2s,background .2s}
.nl a:hover{color:#fff;background:var(--s2)}
.nl a span{font-family:var(--mono);font-size:9.5px;font-weight:500;color:var(--acc);opacity:.75;margin-top:1px}
.nl a.on{color:#fff;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line2)}
.nl a.on span{opacity:1}
.kbtn{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:14px;font-weight:500;color:#c3ccc8;border:1px solid var(--line2);background:var(--s1);border-radius:9px;padding:7px 8px 7px 12px;cursor:pointer;transition:border-color .2s}
.kbtn:hover{border-color:var(--acc);color:var(--fg)}
kbd{font-family:var(--mono);font-size:11px;padding:2px 6px;border:1px solid var(--line2);border-radius:5px;background:var(--s2);color:var(--fg)}
@media(max-width:900px){.nl{display:none}}

/* boot loader */
#boot{position:fixed;inset:0;z-index:200;background:var(--bg);display:grid;place-items:center;transition:clip-path 1s cubic-bezier(.8,0,.2,1)}
#boot.done{clip-path:inset(0 0 100% 0)}
.bx{width:min(440px,86vw);font-family:var(--mono);font-size:12px;color:var(--mut)}
#bootlog div{padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bootlog .ok{color:var(--acc)}
.bbar{height:2px;background:var(--line);margin:20px 0 10px;overflow:hidden}
.bbar i{display:block;height:100%;width:0;background:var(--acc);box-shadow:0 0 12px var(--acc)}
.bft{display:flex;justify-content:space-between;align-items:baseline}
.bft b{font-size:34px;color:var(--fg);font-weight:500;letter-spacing:-.03em}
.bft span{color:var(--dim)}
html.booting,html.booting body{overflow:hidden}

/* progress + cursor */
#prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;background:var(--acc);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 10px var(--acc)}
#cur{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid #b4ff3999;border-radius:50%;pointer-events:none;z-index:150;opacity:0;transition:width .25s,height .25s,margin .25s,background .25s,opacity .3s}
#cur::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;background:var(--acc);border-radius:50%}
#cur.on{opacity:1}
#cur.hov{width:64px;height:64px;margin:-32px 0 0 -32px;background:#b4ff3914;border-color:var(--acc)}
@media(hover:none),(pointer:coarse){#cur{display:none}}
nav{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
nav.hide{transform:translateY(-100%)}

/* hero entrance */
.ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.9,.1,1)}
.ln:nth-child(2)>span{transition-delay:.08s}.ln:nth-child(3)>span{transition-delay:.16s}
.hi{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
body.ready .ln>span{transform:none}
body.ready .hi{opacity:1;transform:none}
body.ready .hi.d1{transition-delay:.25s}body.ready .hi.d2{transition-delay:.35s}body.ready .hi.d3{transition-delay:.45s}body.ready .hi.d4{transition-delay:.55s}body.ready .hi.d5{transition-delay:.3s}

/* hero */
.hero{padding:84px 0 64px}
.hero .wrap{display:grid;grid-template-columns:1.25fr .95fr;gap:64px;align-items:center}
@media(max-width:940px){.hero .wrap{grid-template-columns:1fr;gap:48px}.hero{padding:56px 0 40px}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--mut);border:1px solid var(--line2);background:var(--s1);padding:6px 12px 6px 6px;border-radius:99px}
.eyebrow b{background:var(--acc);color:#000;font-weight:700;padding:2px 8px;border-radius:99px;font-size:11px}
h1{font-size:clamp(40px,6.2vw,78px);line-height:.98;letter-spacing:-.035em;font-weight:600;margin:26px 0 22px}
h1 .hl{color:var(--acc);font-family:var(--mono);font-weight:500;letter-spacing:-.05em}
.intro{font-size:17.5px;color:var(--mut);max-width:540px}
.intro b{color:var(--fg);font-weight:500}
.roles{display:flex;align-items:center;gap:10px;margin-top:22px;font-family:var(--mono);font-size:14px;color:var(--mut)}
.roles .p{color:var(--acc)}
#typed{color:var(--fg)}
#typed::after{content:"";display:inline-block;width:8px;height:16px;background:var(--acc);margin-left:3px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;font-weight:500;padding:13px 20px;border-radius:10px;border:1px solid var(--line2);background:var(--s1);color:var(--fg);transition:all .2s;cursor:pointer}
.btn:hover{border-color:var(--fg);transform:translateY(-1px)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#000}
.btn.pri:hover{box-shadow:0 10px 40px -8px #b4ff3999;border-color:var(--acc)}
.btn .ar{transition:transform .2s}.btn:hover .ar{transform:translateX(3px)}

/* dossier */
.dossier{position:relative;border:1px solid var(--line2);border-radius:18px;background:var(--s1);padding:12px;box-shadow:0 40px 100px -40px #000;max-width:440px;justify-self:end;width:100%}
@media(max-width:940px){.dossier{justify-self:start}}
.dh{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:var(--dim);padding:4px 6px 12px;letter-spacing:.08em}
.dh .r{color:var(--red)}
.ph{position:relative;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:#0a0e0f}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
.ph::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 55%,#07090af0);pointer-events:none}
.ph::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#00000022 3px 4px)}
.gl{position:absolute;inset:0;z-index:1;background:url(photo.jpg) 50% 0/cover;opacity:0;pointer-events:none}
.gl.a{animation:gla 3.6s steps(1) infinite}
.gl.b{animation:glb 3.6s steps(1) infinite;mix-blend-mode:screen}
@keyframes gla{0%,84%,100%{opacity:0}85%{opacity:1;clip-path:inset(8% 0 84% 0);transform:translateX(-16px)}87%{clip-path:inset(62% 0 26% 0);transform:translateX(22px)}89%{clip-path:inset(38% 0 55% 0);transform:translateX(-10px)}91%{clip-path:inset(78% 0 10% 0);transform:translateX(14px)}93%{opacity:0}}
@keyframes glb{0%,85%,100%{opacity:0}86%{opacity:.8;clip-path:inset(20% 0 72% 0);transform:translateX(12px)}88%{clip-path:inset(50% 0 40% 0);transform:translateX(-18px)}90%{clip-path:inset(70% 0 22% 0);transform:translateX(8px)}92%{opacity:0}}
.dossier{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .9s ease}
/* hover: target lock */
.ph img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .4s}
.dossier:hover .ph img{transform:scale(1.06);filter:contrast(1.25) brightness(1.05)}
.dossier:hover .gl{animation-duration:.7s}
.xh{position:absolute;z-index:2;pointer-events:none;background:#ff5a36;opacity:0;transition:opacity .3s,transform .6s cubic-bezier(.2,.8,.2,1)}
.xh.h{left:0;right:0;top:34%;height:1px;transform:scaleX(0)}
.xh.v{top:0;bottom:0;left:50%;width:1px;transform:scaleY(0)}
.dossier:hover .xh{opacity:.7;transform:none}
.dossier:hover .face{border-color:#ff5a36aa;animation:lock .5s cubic-bezier(.2,.8,.2,1) both}
.dossier:hover .face i{border-color:#ff5a36}
.dossier:hover .face span{background:#ff5a36;color:#fff}
@keyframes lock{0%{transform:scale(1.6);opacity:0}60%{transform:scale(.94);opacity:1}100%{transform:scale(1)}}
.dossier:hover .sweep{animation-duration:1.6s;border-color:#ff5a36;background:linear-gradient(180deg,transparent,#ff5a3614 80%,#ff5a3655)}
.dossier:hover .dh .r{animation:pulse .5s infinite}
.tl{position:absolute;right:14px;top:14px;z-index:3;font-family:var(--mono);font-size:10px;line-height:1.7;color:#ff5a36;text-align:right;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .4s;pointer-events:none;text-shadow:0 0 8px #ff5a3688}
.dossier:hover .tl{opacity:1;transform:none}
.face{position:absolute;left:31%;top:17%;width:38%;height:34%;z-index:2;border:1px solid #b4ff3988;animation:track 6s ease-in-out infinite}
.face i{position:absolute;width:12px;height:12px;border-color:var(--acc);border-style:solid}
.face i:nth-child(1){top:-2px;left:-2px;border-width:2px 0 0 2px}.face i:nth-child(2){top:-2px;right:-2px;border-width:2px 2px 0 0}
.face i:nth-child(3){bottom:-2px;left:-2px;border-width:0 0 2px 2px}.face i:nth-child(4){bottom:-2px;right:-2px;border-width:0 2px 2px 0}
.face span{position:absolute;top:-22px;left:-1px;font-family:var(--mono);font-size:10px;background:var(--acc);color:#000;padding:2px 6px;font-weight:700;white-space:nowrap}
@keyframes track{0%,100%{transform:translate(0,0)}30%{transform:translate(3px,-2px)}60%{transform:translate(-2px,2px)}}
.sweep{position:absolute;left:0;right:0;height:60px;z-index:2;background:linear-gradient(180deg,transparent,#b4ff3918 80%,#b4ff3966);border-bottom:1px solid var(--acc);animation:sweep 5s cubic-bezier(.6,0,.4,1) infinite;pointer-events:none}
@keyframes sweep{0%{top:-70px}60%,100%{top:105%}}
.meta{position:absolute;left:14px;right:14px;bottom:12px;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-family:var(--mono);font-size:10.5px}
.meta div{color:var(--dim)}
.meta b{display:block;color:var(--fg);font-weight:500;font-size:12px;margin-top:1px}
.meta .ok{color:var(--acc)}
.redact{background:var(--dim);color:transparent;border-radius:2px;user-select:none}

/* marquee */
.marq{border-block:1px solid var(--line);overflow:hidden;background:#0a0d0ecc;padding:16px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mtrack{display:flex;gap:40px;width:max-content;animation:marq 45s linear infinite;font-family:var(--mono);font-size:13px;color:var(--mut);white-space:nowrap}
.mtrack span::after{content:"/";margin-left:40px;color:var(--acc)}
@keyframes marq{to{transform:translateX(-50%)}}

/* sections */
section{padding:110px 0}
@media(max-width:700px){section{padding:76px 0}}
.sh{display:grid;grid-template-columns:200px 1fr;gap:24px;margin-bottom:48px;align-items:end}
@media(max-width:800px){.sh{grid-template-columns:1fr;gap:10px}}
.sh .ix{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.08em}
.sh h2{font-size:clamp(30px,4.2vw,50px);line-height:1.02;letter-spacing:-.03em;font-weight:600}
.sh h2 em{font-style:normal;color:var(--dim)}
.sh p{grid-column:2;color:var(--mut);max-width:560px;margin-top:4px}
@media(max-width:800px){.sh p{grid-column:1}}

/* about */
.about{display:grid;grid-template-columns:200px 1fr;gap:24px}
@media(max-width:800px){.about{grid-template-columns:1fr}}
.about .ix{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.08em;padding-top:10px}
.about .big{font-size:clamp(22px,2.6vw,32px);line-height:1.35;letter-spacing:-.015em;color:var(--mut)}
.about .big b{color:var(--fg);font-weight:500}
.motto{margin-top:28px;font-family:var(--mono);font-size:clamp(16px,1.8vw,21px);color:var(--acc);display:flex;align-items:center;gap:12px}
.motto span{color:var(--dim)}
.motto i{width:10px;height:1.1em;background:var(--acc);animation:blink 1s steps(1) infinite}

/* capabilities */
.caps{border-top:1px solid var(--line)}
.cap{display:grid;grid-template-columns:200px 1fr 1.1fr;gap:24px;padding:40px 0;border-bottom:1px solid var(--line);position:relative}
.cap::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--c,var(--acc));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.cap:hover::before{width:100%}
@media(max-width:900px){.cap{grid-template-columns:1fr;gap:14px}}
.cap .no{font-family:var(--mono);font-size:12px;color:var(--dim)}
.cap .no b{display:inline-block;margin-top:10px;font-weight:700;color:#000;background:var(--c,var(--acc));padding:3px 8px;border-radius:5px;font-size:11px;letter-spacing:.06em}
.cap h3{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.025em;font-weight:600;line-height:1.1}
.cap h3 + p{color:var(--mut);margin-top:12px;font-size:15.5px;max-width:420px}
.cap ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;font-family:var(--mono);font-size:13px;align-content:start}
.cap li{padding:10px 0;border-bottom:1px dashed var(--line);display:flex;gap:10px}
.cap li::before{content:"+";color:var(--c,var(--acc))}
@media(max-width:520px){.cap ul{grid-template-columns:1fr}}

/* arsenal */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tab{font-family:var(--mono);font-size:12.5px;padding:8px 14px;border-radius:99px;border:1px solid var(--line2);background:transparent;color:var(--mut);cursor:pointer;transition:all .2s}
.tab:hover{color:var(--fg)}
.tab[aria-pressed=true]{background:var(--fg);color:#000;border-color:var(--fg)}
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.tool{border:1px solid var(--line);background:var(--s1);border-radius:10px;padding:14px 16px;font-family:var(--mono);font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;transition:border-color .2s,transform .2s}
.tool:hover{border-color:var(--acc);transform:translateY(-2px)}
.tool small{font-size:10px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase}
.tool.off{display:none}

/* case files */
.cases{border-top:1px solid var(--line)}
.case{display:grid;grid-template-columns:120px 100px 1fr auto;gap:20px;align-items:center;padding:22px 8px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}
.case:hover{background:var(--s1);padding-inline:18px}
.case .id{font-family:var(--mono);font-size:12px;color:var(--acc)}
.case time{font-family:var(--mono);font-size:12px;color:var(--dim)}
.case .t{font-size:18px;font-weight:500;letter-spacing:-.01em}
.case .tg{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.case .tg span{font-family:var(--mono);font-size:10.5px;color:var(--mut);border:1px solid var(--line2);border-radius:99px;padding:2px 8px}
.case .tg .paid{color:#000;background:var(--red);border-color:var(--red);font-weight:700}
.case .go{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;font-family:var(--mono);transition:all .25s}
.case:hover .go{background:var(--acc);color:#000;border-color:var(--acc);transform:rotate(-45deg)}
@media(max-width:720px){.case{grid-template-columns:1fr auto;gap:4px 14px}.case .id{display:none}.case time,.case>div{grid-column:1}.case .go{grid-row:1/3;grid-column:2}}

/* shell */
.shg{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
@media(max-width:900px){.shg{grid-template-columns:1fr;gap:28px}}
.shg .ix{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.08em}
.shg h2{font-size:clamp(30px,4.2vw,50px);line-height:1.02;letter-spacing:-.03em;font-weight:600;margin:14px 0 12px}
.shg h2 em{font-style:normal;color:var(--dim)}
.shg p{color:var(--mut)}
.chips{margin-top:22px!important}
.term{position:relative;border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;box-shadow:0 40px 100px -50px #000,0 0 0 1px #b4ff3908,0 0 80px -20px #b4ff3922;
  background:repeating-linear-gradient(0deg,transparent 0 2px,#ffffff05 2px 3px),radial-gradient(120% 90% at 85% 0%,#b4ff3912,transparent 55%),radial-gradient(80% 60% at 0% 100%,#5ce1ff0a,transparent 60%),#040606}
.tb{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:#07090acc;position:relative;z-index:1;font-family:var(--mono);font-size:11.5px;color:var(--dim)}
.tb i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.tb i:nth-child(2){background:#febc2e}.tb i:nth-child(3){background:#28c840}
.tb span{margin-left:auto}
#out{font-family:var(--mono);font-size:13px;line-height:1.7;padding:18px 20px 6px;white-space:pre-wrap;min-height:250px;max-height:360px;overflow-y:auto;color:#cfd8d3;position:relative;z-index:1;text-shadow:0 0 6px #b4ff3926;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.nf{display:flex;gap:26px;align-items:center;white-space:normal;margin:6px 0 4px}
.nf pre{margin:0;font:inherit;font-size:12px;line-height:1.15;color:var(--acc);text-shadow:0 0 14px #b4ff3980;white-space:pre}
.nf .inf{line-height:1.65;min-width:0;white-space:pre-line}
.nf .inf b{color:var(--acc);font-weight:700}
.nf .k{display:inline-block;width:70px;color:var(--cy)}
.nf .sw{display:flex;margin-top:8px}.nf .sw i{width:20px;height:11px}
@media(max-width:560px){.nf pre{display:none}}
.inrow{position:relative;z-index:1;display:flex;gap:10px;align-items:center;padding:0 20px 18px;font-family:var(--mono);font-size:13.5px}
.inrow input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--fg);font:inherit;caret-color:var(--acc)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{font-family:var(--mono);font-size:12px;padding:6px 12px;border-radius:8px;border:1px solid var(--line2);background:var(--s1);color:var(--mut);cursor:pointer}
.chip:hover{color:var(--acc);border-color:var(--acc)}
.g{color:var(--acc)}.c{color:var(--cy)}.r{color:var(--red)}.d{color:var(--dim)}

/* contact */
.contact{padding:130px 0 90px}
.contact .k{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.08em}
.contact h2{font-size:clamp(48px,9vw,128px);line-height:.92;letter-spacing:-.045em;font-weight:600;margin:20px 0 26px}
.contact h2 span{color:var(--acc)}
.mail{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:clamp(15px,2.2vw,24px);border-bottom:1px solid var(--line2);padding-bottom:10px;transition:border-color .2s;max-width:100%}
.mail:hover{border-color:var(--acc)}
.mail a{word-break:break-all}
.mail a:hover{color:var(--acc)}
.copy{font-size:11px;padding:6px 10px;border-radius:7px;border:1px solid var(--line2);background:var(--s1);color:var(--mut);cursor:pointer;font-family:var(--mono)}
.copy:hover{color:var(--fg)}
.soc{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.wm{overflow:hidden;padding-top:20px}
.wm .wrap{font-weight:700;font-size:clamp(64px,17vw,240px);line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--line2);background:linear-gradient(180deg,#b4ff3930,transparent 70%);-webkit-background-clip:text;background-clip:text;white-space:nowrap;text-align:center;transform:translateY(12%)}
footer{border-top:1px solid var(--line);padding:26px 0;font-family:var(--mono);font-size:11.5px;color:var(--dim)}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* command palette */
.cmdk{position:fixed;inset:0;z-index:100;background:#000a;backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;padding:14vh 16px 16px}
.cmdk.open{display:flex}
.pal{width:100%;max-width:560px;border:1px solid var(--line2);border-radius:16px;background:var(--s1);overflow:hidden;box-shadow:0 40px 120px #000}
.pal input{width:100%;background:transparent;border:0;outline:0;border-bottom:1px solid var(--line);padding:18px 20px;color:var(--fg);font-family:var(--mono);font-size:15px}
.pal ul{list-style:none;max-height:340px;overflow:auto;padding:8px}
.pal li{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:9px;font-family:var(--mono);font-size:13.5px;color:var(--mut);cursor:pointer}
.pal li small{color:var(--dim)}
.pal li.on{background:var(--s2);color:var(--fg)}
.pal li.on small{color:var(--acc)}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;z-index:110;background:var(--acc);color:#000;font-family:var(--mono);font-size:13px;font-weight:700;padding:10px 16px;border-radius:10px;transition:all .3s;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

.rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

.cap.cy{--c:var(--cy)}.cap.rd{--c:var(--red)}
.more{margin-top:28px}
.lede{color:var(--mut);max-width:520px;margin-bottom:34px}
.nf .sw i:nth-child(1){background:#07090a}.nf .sw i:nth-child(2){background:#ff5a36}.nf .sw i:nth-child(3){background:#b4ff39}.nf .sw i:nth-child(4){background:#febc2e}.nf .sw i:nth-child(5){background:#5ce1ff}.nf .sw i:nth-child(6){background:#c084fc}.nf .sw i:nth-child(7){background:#e9eeeb}

/* 404 page */
.e404{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(60% 50% at 50% 0%,#b4ff3912,transparent 70%),var(--bg)}
.e404-box{width:min(620px,100%)}
.e404-out{font-family:var(--mono);font-size:13px;line-height:1.75;padding:20px;white-space:pre-wrap;color:#cfd8d3;position:relative;z-index:1}
.e404-h{font-size:clamp(64px,14vw,120px);line-height:1;letter-spacing:-.05em;font-weight:600;margin:36px 0 10px}
.e404-p{color:var(--mut);margin-bottom:28px}
