:root{
  --bg:#07080a; --bg-2:#0d0f12; --card:#111318; --card-2:#161920;
  --line:rgba(255,255,255,.07); --line-2:rgba(255,255,255,.13);
  --ink:#f2f3f5; --ink-2:#a3a7b0; --ink-3:#7c818c;
  --y:#ffd43b; --y-2:#ffb21a; --y-ink:#141005; --y-glow:rgba(255,212,59,.35);
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r:10px; --r-lg:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:"Inter Tight",system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 90% 60% at 50% 0,#000 30%,transparent 80%)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:var(--y);color:var(--y-ink)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3{letter-spacing:-.03em;line-height:1.08;font-weight:700}
h2{font-size:42px}
h3{font-size:19px;letter-spacing:-.015em;line-height:1.25;font-weight:600}
.lead{font-size:18.5px;color:var(--ink-2)}
.mono{font-family:var(--mono)}
.label{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--y);margin-bottom:16px}
.label:before{content:"";width:7px;height:7px;background:var(--y);box-shadow:0 0 12px var(--y-glow)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 24px;border-radius:var(--r);font-weight:600;font-size:15.5px;white-space:nowrap;transition:.15s}
.btn-y{background:var(--y);color:var(--y-ink);box-shadow:0 0 0 1px rgba(255,212,59,.6),0 8px 30px -8px var(--y-glow)}
.btn-y:hover{background:#ffe066;box-shadow:0 0 0 1px #ffe066,0 10px 40px -6px var(--y-glow)}
.btn-y:after{content:"→";font-family:var(--mono);transition:transform .15s}
.btn-y:hover:after{transform:translateX(3px)}
.btn-ghost{border:1px solid var(--line-2);color:var(--ink);background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:rgba(255,212,59,.5);background:rgba(255,212,59,.05)}
.btn-sm{height:38px;padding:0 16px;font-size:14px}

/* header */
.top{position:sticky;top:0;z-index:30;background:rgba(7,8,10,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.02em;flex-shrink:0}
.brand small{font:500 11px var(--mono);color:var(--ink-3);letter-spacing:.04em;padding:3px 7px;border:1px solid var(--line-2);border-radius:5px}
.nav{display:flex;gap:22px;flex:1;font-size:14.5px;color:var(--ink-2)}
.nav a{transition:color .15s}
.nav a:hover{color:var(--y)}
.nav-more{display:none}
.burger{display:none;width:40px;height:40px;border-radius:var(--r);border:1px solid var(--line-2);align-items:center;justify-content:center;margin-left:auto}

/* page hero */
.phero{position:relative;padding:52px 0 28px;overflow:hidden;border-bottom:1px solid var(--line)}
.phero:before{content:"";position:absolute;left:30%;top:-340px;width:1000px;height:600px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,212,59,.13),transparent);pointer-events:none}
.phero .wrap{position:relative}
.phero h1{font-size:58px;font-weight:800;letter-spacing:-.045em;line-height:1;max-width:920px;margin:20px 0 20px}
.phero .lead{max-width:760px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:500 12.5px var(--mono);color:var(--ink-3);letter-spacing:.02em}
.crumbs a:hover{color:var(--y)}
.crumbs span:last-child{color:var(--ink-2)}
.cta-row{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}

/* home hero */
.hero{position:relative;padding:80px 0 30px;text-align:center;overflow:hidden}
.hero:before{content:"";position:absolute;left:50%;top:-300px;width:1100px;height:700px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,212,59,.18),rgba(255,178,26,.05) 55%,transparent);pointer-events:none}
.hero .wrap{position:relative}
.kicker{display:inline-flex;align-items:center;gap:10px;font:500 12.5px var(--mono);color:var(--ink-2);padding:7px 14px;border:1px solid var(--line-2);border-radius:999px;background:rgba(13,15,18,.7);margin-bottom:28px}
.kicker i{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80;font-style:normal}
.hero h1{font-size:80px;font-weight:800;letter-spacing:-.05em;line-height:.98;margin:0 auto 22px;max-width:980px}
.hero h1 span{background:linear-gradient(100deg,var(--y),var(--y-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{max-width:700px;margin:0 auto}
.hero .cta-row{justify-content:center}
.trust{display:flex;gap:8px 26px;justify-content:center;flex-wrap:wrap;margin-top:22px;font:500 12.5px var(--mono);color:var(--ink-3);letter-spacing:.02em}
.trust span:before{content:"[✓]";color:var(--y);margin-right:7px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:10px;margin-top:48px;text-align:left}
.gallery .fig{height:100%}
.gallery .fig a{height:100%}
.gallery .fig img{width:100%;height:100%;object-fit:cover}
.gallery .tall{grid-row:span 2}

/* sections */
section.s{padding:76px 0}
section.s-tight{padding:40px 0}
.s-head{max-width:780px;margin-bottom:36px}
.s-head .lead{margin-top:14px}
.h-sm{font-size:26px;margin-bottom:20px}

/* prose */
.prose{max-width:780px;color:#d2d5db;font-size:17px}
.prose p,.prose ul,.prose ol{margin-bottom:16px}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin-bottom:8px}
.prose li::marker{color:var(--y);font-family:var(--mono)}
.prose h2{font-size:32px;margin:44px 0 16px;color:var(--ink)}
.prose h3{margin:28px 0 10px;color:var(--ink)}
.prose a,.lnk{color:var(--y);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose b,.prose strong{color:var(--ink)}
.note{border:1px solid rgba(255,212,59,.3);background:rgba(255,212,59,.05);border-radius:var(--r);padding:16px 18px;color:#e4e4e7;margin:22px 0}
.src-note{font:500 12.5px var(--mono);color:var(--ink-3);margin:14px 0 24px;letter-spacing:.01em}
.tbl-wrap+.src-note{margin-top:-12px}
.src-note:before{content:"// ";color:var(--y)}

/* figures */
.fig{position:relative;border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .15s}
.fig:hover{border-color:rgba(255,212,59,.4)}
.fig a{display:block;flex:1;background:#0a0b0e}
.fig img{width:100%;height:100%;object-fit:contain}
.fig figcaption{padding:9px 12px;font:500 12px var(--mono);color:var(--ink-3);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line)}
.fig figcaption b{color:var(--y);font-weight:600;display:inline-flex;align-items:center;gap:7px}
.fig figcaption b:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--y);box-shadow:0 0 8px var(--y-glow)}
.fig.src figcaption b{color:var(--ink-2)}
.fig.src figcaption b:before{background:var(--ink-3);box-shadow:none}
.gallery .fig figcaption{position:absolute;left:8px;bottom:8px;right:auto;border:1px solid var(--line-2);border-radius:6px;background:rgba(7,8,10,.75);backdrop-filter:blur(10px);padding:6px 9px}

/* prompt example */
.ex{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px;padding:26px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 120px),var(--bg-2);margin-bottom:20px;position:relative}
.ex:before{content:"";position:absolute;left:-1px;top:24px;width:2px;height:40px;background:var(--y);box-shadow:0 0 12px var(--y-glow)}
.ex h3{margin-bottom:14px}
.prompt{background:#0a0b0e;border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden}
.prompt:before{content:"prompt.txt";display:flex;align-items:center;height:32px;padding:0 12px 0 52px;border-bottom:1px solid var(--line);font:500 11.5px var(--mono);color:var(--ink-3);letter-spacing:.03em;
  background:radial-gradient(circle at 16px 16px,#3a3d45 4px,transparent 5px),radial-gradient(circle at 29px 16px,#3a3d45 4px,transparent 5px),radial-gradient(circle at 42px 16px,#3a3d45 4px,transparent 5px)}
.prompt p{font:14px/1.65 var(--mono);color:#e7e9ee;padding:14px 16px 4px}
.copy{margin:6px 16px 14px;font:600 12.5px var(--mono);color:var(--y);display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border:1px solid rgba(255,212,59,.35);border-radius:6px;transition:.15s}
.copy:hover{background:rgba(255,212,59,.08)}
.copy:before{content:"⧉";font-size:14px;line-height:1}
.copy.done{color:#4ade80;border-color:rgba(74,222,128,.4)}
.ex-note{font-size:14.5px;color:var(--ink-2);margin-top:14px;padding-left:14px;border-left:1px solid var(--line-2)}
.ex-r{display:grid;gap:10px;align-items:start}
.ex-r.cols-1{grid-template-columns:1fr}
.ex-r.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ex-r.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ex-r.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ex.wide{grid-template-columns:1fr}
.ex.wide .ex-r{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}

/* cards & links */
.tasks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tk{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);font-weight:500;font-size:15.5px;transition:.15s}
.tk:after{content:"→";font-family:var(--mono);color:var(--ink-3);transition:.15s}
.tk:hover{border-color:rgba(255,212,59,.45);background:var(--card-2)}
.tk:hover:after{color:var(--y);transform:translateX(3px)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
a.card:hover{border-color:rgba(255,212,59,.45);transform:translateY(-2px);box-shadow:0 18px 40px -20px var(--y-glow)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--line)}
.card .b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .b p{color:var(--ink-2);font-size:15px}
.card .more{margin-top:auto;padding-top:8px;color:var(--y);font:600 13px var(--mono)}

/* models */
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.model{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}
.model.hl{border-color:rgba(255,212,59,.4);background:linear-gradient(180deg,rgba(255,212,59,.08),var(--card) 50%)}
.model.hl:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--y),transparent)}
.model .badge{align-self:flex-start;font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:5px;background:rgba(255,255,255,.05);border:1px solid var(--line-2);color:var(--ink-2)}
.model.hl .badge{background:var(--y);border-color:var(--y);color:var(--y-ink)}
.model h3{font-size:25px;letter-spacing:-.03em}
.model h3 + p{color:var(--ink-2);margin-top:8px;font-size:15px}
.spec{list-style:none;border-top:1px solid var(--line)}
.spec li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line-2);font:13px var(--mono);color:var(--ink)}
.spec li span{color:var(--ink-3)}
.model .more{margin-top:auto;font:600 13px var(--mono);color:var(--y)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:st}
.step{padding:26px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg-2)}
.step:before{counter-increment:st;content:"0" counter(st);display:block;font:600 13px var(--mono);color:var(--y);letter-spacing:.1em;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.step p{color:var(--ink-2);margin-top:10px;font-size:15px}

/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);margin:8px 0 24px}
.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.tbl th{text-align:left;font:500 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-2);padding:13px 18px;border-bottom:1px solid var(--line)}
.tbl td{padding:15px 18px;border-top:1px solid var(--line);vertical-align:top}
.tbl tbody tr:hover td{background:rgba(255,255,255,.015)}
.tbl td small{display:block;color:var(--ink-3);font:12px var(--mono);margin-top:2px}
.tbl td.hl{color:var(--y);font-weight:700}
.tbl td.num,.tbl td.hl{font-family:var(--mono)}
.ok,.no{font:500 13px var(--mono)}
.ok{color:#4ade80}.no{color:#f87171}
.ok:before{content:"● "}.no:before{content:"○ "}

/* boxes */
.alt-box{display:flex;gap:28px;align-items:center;justify-content:space-between;padding:26px;border-radius:var(--r-lg);border:1px solid var(--line-2);background:linear-gradient(120deg,#111521,var(--card))}
.alt-box h3{font-size:23px;margin-bottom:10px}
.alt-box p{color:var(--ink-2);max-width:720px}
.final{position:relative;border-radius:var(--r-lg);overflow:hidden;padding:72px 40px;text-align:center;border:1px solid rgba(255,212,59,.35);background:radial-gradient(ellipse 70% 120% at 50% 0,rgba(255,212,59,.16),transparent 70%),var(--bg-2)}
.final:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,212,59,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,212,59,.06) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse at 50% 0,#000,transparent 75%);mask-image:radial-gradient(ellipse at 50% 0,#000,transparent 75%)}
.final>*{position:relative}
.final h2{font-size:48px;max-width:820px;margin:0 auto}
.final p{font-size:18px;margin:16px auto 30px;max-width:600px;color:var(--ink-2)}
.final .btn{background:var(--y);color:var(--y-ink);box-shadow:0 0 0 1px rgba(255,212,59,.6),0 10px 40px -8px var(--y-glow)}
.final .btn:after{content:"→";font-family:var(--mono)}

/* faq */
.faq{max-width:860px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{list-style:none;cursor:pointer;font-size:18px;font-weight:600;letter-spacing:-.015em;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-family:var(--mono);color:var(--y);font-weight:400;font-size:22px;line-height:1}
.faq details[open] summary:after{content:"−"}
.faq p{color:var(--ink-2);margin-top:12px;max-width:760px}
.faq a{color:var(--y);text-decoration:underline;text-underline-offset:3px}

/* lightbox */
.lb{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.lb.on{display:flex}
.lb img{max-width:100%;max-height:100%;border-radius:8px;border:1px solid var(--line-2)}

/* code */
pre.code{background:#0a0b0e;border:1px solid var(--line-2);border-radius:var(--r);padding:20px;overflow-x:auto;margin:8px 0 24px;font:13.5px/1.6 var(--mono);color:#e4e4e7;max-width:100%}
.prose code{font:14px var(--mono);background:var(--card);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--y)}
.notfound{padding:120px 0;text-align:center}
.notfound h1{font:700 96px var(--mono);margin-bottom:16px;color:var(--y)}

footer{padding:56px 0 32px;color:var(--ink-3);font-size:14.5px;border-top:1px solid var(--line);margin-top:40px;background:var(--bg-2)}
.f-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:32px}
.f-about{margin-top:14px;max-width:340px;color:var(--ink-2)}
.f-mail{margin-top:14px;font:500 14px var(--mono)}
.f-mail a{color:var(--y)}
.f-mail a:hover{text-decoration:underline;color:var(--y)}
.f-legal{display:flex;gap:20px;flex-wrap:wrap}
.legal h2{font-size:24px;margin:36px 0 12px}
.legal .upd{font:500 13px var(--mono);color:var(--ink-3);margin-bottom:24px}
footer h4{font:500 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:8px}
footer a:hover{color:var(--y)}
.f-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font:12.5px var(--mono)}

@media (max-width:1024px){
  .hero h1{font-size:62px}
  .phero h1{font-size:46px}
  h2{font-size:34px}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .tasks{grid-template-columns:repeat(2,1fr)}
  .ex{grid-template-columns:minmax(0,1fr)}
  .ex.wide .ex-r,.ex-r.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav{gap:16px;font-size:14px}
  .brand small{display:none}
}
@media (max-width:900px){
  .burger{display:flex}
  .top-cta{display:none}
  .nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 24px 20px;font-size:17px;max-height:calc(100vh - 64px);overflow:auto}
  .nav.on{display:flex}
  .nav a{padding:11px 0;border-bottom:1px solid var(--line)}
  .nav-more{display:flex;flex-direction:column}
  .models,.cards,.steps{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr 1fr}
  .alt-box{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
  .wrap{padding:0 16px}
  .hero{padding:48px 0 20px}
  .hero h1{font-size:42px;letter-spacing:-.045em}
  .kicker{font-size:11px;margin-bottom:20px}
  .phero{padding:28px 0 16px}
  .phero h1{font-size:34px;letter-spacing:-.04em}
  .lead{font-size:16.5px}
  h2{font-size:29px}
  .prose{font-size:16px}
  .prose h2{font-size:26px}
  section.s{padding:48px 0}
  .s-head{margin-bottom:24px}
  .cta-row .btn{width:100%}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
  .gallery .fig figcaption{display:none}
  .tasks{grid-template-columns:1fr}
  .ex{padding:16px;gap:18px}
  .ex-r.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prompt p{font-size:13px}
  .final{padding:48px 20px}
  .final h2{font-size:30px}
  .faq summary{font-size:16.5px}
  .f-grid{grid-template-columns:1fr}
  .fig figcaption{font-size:11px;padding:7px 9px}
  .tbl{min-width:0;font-size:14px}
  .tbl:has(th:nth-child(5)){min-width:620px}
  .tbl th,.tbl td{padding:12px 10px}
  .tbl th{font-size:10.5px;letter-spacing:.04em}
}
