
:root{--bg:#060A16;--panel:#0B1124;--raise:#111A36;--line:#1C2849;--text:#E9EEFF;--mute:#8E9CC6;--cyan:#4DE1FF;--blue:#5C7CFF;--ok:#5EE6A8;--err:#FF8A8A;
--sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'Geist Mono',ui-monospace,Menlo,Consolas,monospace}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(720px 420px at 82% -8%,rgba(92,124,255,.22),transparent 60%),radial-gradient(600px 380px at 0% 8%,rgba(77,225,255,.10),transparent 60%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(92,124,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(92,124,255,.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(#000,transparent 65%);mask-image:linear-gradient(#000,transparent 65%)}
a{color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
h1,h2,h3{letter-spacing:-.03em;font-weight:700;line-height:1.1}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--cyan);color:#04101F;padding:8px 14px;border-radius:8px;z-index:99}.skip:focus{left:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:10px;font:600 .93rem var(--sans);text-decoration:none;cursor:pointer;border:1px solid transparent;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#04101F;transition:filter .2s,border-color .2s,color .2s}
.btn:hover{filter:brightness(1.1)}
.btn.line{background:transparent;border-color:var(--line);color:var(--text)}
.btn.line:hover{border-color:var(--cyan);color:var(--cyan);filter:none}
.btn.sm{padding:9px 16px;font-size:.85rem}
/* HEADER */
header.site{position:sticky;top:0;z-index:50;background:rgba(6,10,22,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;position:relative}
.logo{font:700 1.2rem var(--sans);letter-spacing:-.03em;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.logo svg{width:28px;height:28px}
.logo em{font-style:normal;color:var(--cyan)}
nav ul{display:flex;gap:28px;list-style:none;padding:0;font-size:.92rem;margin-right:auto;margin-left:24px}
nav ul a{text-decoration:none;color:var(--mute);transition:color .2s}
nav ul a:hover,nav ul a[aria-current=page]{color:var(--text)}
.nr{display:flex;align-items:center;gap:14px}
.lnk{color:var(--mute);text-decoration:none;font-size:.92rem}.lnk:hover{color:var(--text)}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:7px 12px;font-size:1.05rem;cursor:pointer}
/* HERO */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding:88px 0 72px}
.hero h1{font-size:clamp(2.6rem,5.4vw,4.4rem)}
.hero p{color:var(--mute);font-size:1.1rem;max-width:50ch;margin:22px 0 32px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.meta{display:flex;gap:36px;margin-top:44px;color:var(--mute);font-size:.88rem;flex-wrap:wrap}
.meta b{display:block;font:600 1.7rem var(--mono);color:var(--text);letter-spacing:-.04em}
.term{background:#050816;border:1px solid var(--line);border-radius:14px;box-shadow:0 0 0 1px rgba(77,225,255,.08),0 40px 90px -30px rgba(92,124,255,.45);overflow:hidden}
.tbar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--mute);font:400 .78rem var(--mono)}
.tbar i{width:11px;height:11px;border-radius:50%;background:var(--line)}.tbar i:first-child{background:#FF6B6B}.tbar i:nth-child(2){background:#FFC857}.tbar i:nth-child(3){background:#5EE6A8}.tbar span{margin-left:10px}
.term pre{padding:20px;min-height:290px;font:400 .86rem/1.8 var(--mono);white-space:pre-wrap;word-break:break-all;color:var(--mute)}
.term .c{color:var(--text)}.term .p{color:var(--cyan)}.term .o{color:var(--ok)}
.cur{display:inline-block;width:8px;height:1em;background:var(--cyan);vertical-align:-2px;animation:bl 1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
/* SECTIONS */
section{padding:72px 0}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.sub{color:var(--mute);margin:12px 0 36px;max-width:58ch}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.card{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--panel),rgba(11,17,36,.6));text-decoration:none;transition:border-color .2s,box-shadow .2s}
a.card:hover{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(77,225,255,.25),0 18px 40px -22px rgba(77,225,255,.5)}
.card .ic{width:42px;height:42px;display:grid;place-items:center;font-size:1.25rem;border:1px solid var(--line);border-radius:10px;background:var(--raise)}
.card h3{font-size:1.1rem;letter-spacing:-.02em}
.card p{color:var(--mute);font-size:.9rem;flex:1}
.tag{align-self:flex-start;font:500 .74rem var(--mono);color:var(--cyan);border:1px solid var(--line);border-radius:6px;padding:2px 9px;background:rgba(77,225,255,.05)}
.more{margin-top:28px}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;counter-reset:s}
.steps li{counter-increment:s;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:9px;margin-bottom:14px;font:600 .9rem var(--mono);background:linear-gradient(135deg,var(--cyan),var(--blue));color:#04101F}
.steps h3{font-size:1.1rem;margin-bottom:6px}.steps p{color:var(--mute);font-size:.9rem}
.join{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:52px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(500px 220px at 90% 0,rgba(92,124,255,.28),transparent 70%),var(--panel)}
.join p{color:var(--mute);margin-top:8px}
/* WORKBENCH */
.phead{padding:64px 0 0}.phead h1{font-size:clamp(2.2rem,4.6vw,3.4rem)}
.bench{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden;box-shadow:0 40px 90px -40px rgba(92,124,255,.4)}
.list{border-right:1px solid var(--line);padding:10px;max-height:580px;overflow:auto}
.list button{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:10px 12px;margin-bottom:2px;background:none;border:0;border-radius:10px;color:var(--mute);font:500 .9rem var(--sans);cursor:pointer}
.list button:hover{background:var(--raise);color:var(--text)}
.list button[aria-selected=true]{background:var(--raise);color:var(--cyan);box-shadow:inset 3px 0 0 var(--cyan)}
.list .ic{width:22px;text-align:center}
.pane{padding:26px;display:grid;gap:14px;align-content:start}
.pane h3{font-size:1.5rem}.pane .d{color:var(--mute);font-size:.9rem;margin-top:-6px}
textarea{width:100%;min-height:118px;resize:vertical;border:1px solid var(--line);border-radius:10px;background:#050816;color:var(--text);padding:14px;font:400 .86rem/1.6 var(--mono)}
#out{min-height:130px;color:var(--ok)}
textarea::placeholder{color:#4A5883}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.msg{margin-left:auto;font-size:.85rem;color:var(--mute)}.msg.ok{color:var(--ok)}.msg.err{color:var(--err)}
.bar{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.search,.f{width:100%;border:1px solid var(--line);border-radius:10px;background:#050816;color:var(--text);padding:13px 16px;font:inherit}
.search{flex:1 1 260px;width:auto}
.search:focus,.f:focus{border-color:var(--cyan);outline:0}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:9px 16px;border-radius:10px;border:1px solid var(--line);background:none;color:var(--mute);font:500 .88rem var(--sans);cursor:pointer}
.chip:hover{color:var(--text)}.chip[aria-pressed=true]{background:var(--raise);border-color:var(--cyan);color:var(--cyan)}
.empty{display:none;padding:48px;text-align:center;color:var(--mute);border:1px dashed var(--line);border-radius:14px}
/* PROSE / FORM / AUTH / DASH */
.prose{max-width:720px;padding-bottom:40px}.prose h2{font-size:1.6rem;margin:34px 0 8px}.prose p,.prose li{color:var(--mute);margin-bottom:12px}.prose ul{padding-left:20px}.prose a{color:var(--cyan)}
.form{display:grid;gap:14px;max-width:560px;margin-top:28px}
.auth{max-width:440px;margin:72px auto;padding:36px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 40px 90px -40px rgba(92,124,255,.5)}
.auth h1{font-size:2rem}.auth .sub{margin:8px 0 24px;font-size:.93rem}
.auth label{display:grid;gap:6px;font-size:.85rem;color:var(--mute)}
.auth .form{margin:0;max-width:none}.auth .btn{width:100%}
.auth .alt{margin-top:20px;text-align:center;font-size:.9rem;color:var(--mute)}.auth .alt a{color:var(--cyan)}
.err{color:var(--err);font-size:.88rem;min-height:1.2em}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:8px}
.stat{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.stat b{display:block;font:600 1.6rem var(--mono);letter-spacing:-.04em}.stat span{color:var(--mute);font-size:.85rem}
.sec{font-size:1.4rem;margin:40px 0 16px}
.card .row{margin-top:4px}
.star{background:none;border:1px solid var(--line);color:var(--mute);border-radius:8px;padding:5px 11px;cursor:pointer;font:500 .82rem var(--sans)}.star[aria-pressed=true]{color:#FFC857;border-color:#FFC857}
.nf{text-align:center;padding:120px 0}.nf h1{font:700 6rem var(--mono);color:var(--cyan)}
footer.site{border-top:1px solid var(--line);margin-top:40px;background:rgba(6,10,22,.7)}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding:52px 0 32px}
.fgrid h4{font-size:.95rem;margin-bottom:12px}.fgrid p,.fgrid li{color:var(--mute);font-size:.9rem}.fgrid ul{list-style:none;padding:0;display:grid;gap:8px}.fgrid a{text-decoration:none}.fgrid li a:hover{color:var(--cyan)}
.copy{padding:20px 0 40px;border-top:1px solid var(--line);color:var(--mute);font-size:.85rem}
@media (max-width:860px){
 .hero{grid-template-columns:1fr;padding:48px 0;gap:40px}
 .burger{display:block}
 nav ul{display:none;margin:0}
 nav ul.open{display:flex;flex-direction:column;gap:14px;position:absolute;top:100%;left:0;right:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 24px}
 .bench{grid-template-columns:1fr}.list{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);max-height:none}
 .list button{width:auto;white-space:nowrap}.list button[aria-selected=true]{box-shadow:inset 0 -3px 0 var(--cyan)}
 .fgrid{grid-template-columns:1fr}.join{padding:30px}.phead{padding-top:40px}
}
@media (max-width:480px){.lnk{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.wa{position:fixed;right:18px;bottom:18px;z-index:60;padding:12px 18px;border-radius:999px;background:#25D366;color:#04210F;font:600 .9rem var(--sans);text-decoration:none;box-shadow:0 12px 30px -10px rgba(37,211,102,.6)}
.wa:hover{filter:brightness(1.08)}
select.f{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.two{grid-template-columns:1fr}.wa{padding:12px 14px}}

.ad{margin:26px 0;text-align:center}.ad[hidden]{display:none}.ad small{display:block;color:var(--mute);font-size:.7rem;margin-bottom:6px}
.ad.ph{border:1px dashed var(--line);padding:30px;color:var(--mute);border-radius:12px;font-size:.85rem}
.post{max-width:820px;margin:0 auto;padding:48px 0}
.crumb{font-size:.85rem;color:var(--mute);margin-bottom:22px}.crumb a{color:var(--cyan);text-decoration:none}
.post-head{display:flex;gap:18px;align-items:center}
.post-head .ic{flex:none;width:68px;height:68px;display:grid;place-items:center;font-size:2rem;border:1px solid var(--line);border-radius:16px;background:var(--raise)}
.post h1{font-size:clamp(1.7rem,4vw,2.4rem)}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pill{font:500 .76rem var(--mono);color:var(--mute);border:1px solid var(--line);border-radius:999px;padding:3px 11px}
.post h2{font-size:1.4rem;margin:36px 0 12px}
.post p,.post li{color:var(--mute)}
.post ol,.post ul{padding-left:22px;display:grid;gap:9px}
.post b{color:var(--text)}.post a{color:var(--cyan)}
code{font:.85em var(--mono);background:var(--raise);border:1px solid var(--line);padding:2px 7px;border-radius:6px;color:var(--text)}
.dlbox,.sawer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:24px 28px;border:1px solid var(--line);border-radius:16px;background:var(--panel);margin:30px 0}
.dlbox{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(77,225,255,.15),0 30px 70px -40px rgba(77,225,255,.5)}
.dlbox[hidden]{display:none}
.dlbox h3,.sawer h3{font-size:1.15rem}.dlbox p,.sawer p{font-size:.9rem;margin-top:4px}
.sawer{background:radial-gradient(420px 160px at 100% 0,rgba(255,200,87,.16),transparent 70%),var(--panel)}
.warn{font-size:.82rem;border-left:2px solid #FFC857;padding-left:14px;margin:26px 0}
.count{font:700 4.5rem/1 var(--mono);color:var(--cyan);letter-spacing:-.05em}
.col{flex-direction:column;text-align:center;justify-content:center}
@media (max-width:560px){.post-head{flex-direction:column;align-items:flex-start}}
