/* sook — design system. Technical, sharp, dark. Nothing rounded, nothing soft. */
:root{
  --bg:#071a14; --bg2:#0b241b; --panel:#0e2a20; --line:rgba(120,228,144,.13);
  --line2:rgba(120,228,144,.26); --ink:#e9f6ed; --dim:#85a794; --faint:#5a7a68;
  --acc:#78e490; --acc-dim:rgba(120,228,144,.13);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;
  -webkit-font-smoothing:antialiased;min-height:100vh;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:80px 80px;background-position:-1px -1px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--acc);color:#0c3024}

.mono{font-family:var(--mono)}
.lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.rule{height:1px;background:var(--line);width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,3.6vw,40px)}

/* ------------------------------------------------------------------ nav */
.nav{position:sticky;top:0;z-index:60;background:rgba(7,26,20,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.nav__in{display:flex;align-items:center;gap:22px;height:62px}
.nav__brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;letter-spacing:-.01em}
.nav__brand img{width:19px;height:19px;object-fit:contain}
.nav__links{display:flex;gap:2px;margin-left:14px}
.nav__links a{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);padding:7px 11px;border:1px solid transparent;transition:color .15s,border-color .15s}
.nav__links a:hover{color:var(--ink)}
.nav__links a[aria-current=page]{color:var(--acc);border-color:var(--line2)}
.nav__sp{flex:1}
.nav__right{display:flex;align-items:center;gap:8px}
.nav__x{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);color:var(--dim);transition:.15s}
.nav__x:hover{color:var(--ink);border-color:var(--line2)}

/* --------------------------------------------------------- CA pill */
.hf-ca{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px;cursor:pointer;
  background:transparent;border:1px solid var(--line);color:var(--ink);font:inherit;transition:.15s}
.hf-ca:hover{border-color:var(--line2)}
.hf-ca.is-copied{border-color:var(--acc);color:var(--acc)}
.hf-ca__k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--faint)}
.hf-ca__v{font-family:var(--mono);font-size:11.5px}
.hf-ca__icon{opacity:.5;flex:none}
.hf-ca:hover .hf-ca__icon{opacity:1}

/* ---------------------------------------------------------------- type */
h1,h2,h3{font-weight:680;letter-spacing:-.03em;line-height:1.02}
.h-xl{font-size:clamp(38px,7vw,86px)}
.h-lg{font-size:clamp(27px,4vw,44px);letter-spacing:-.028em}
.h-md{font-size:clamp(19px,2.2vw,25px);letter-spacing:-.022em}
p{color:var(--dim)}
.lead{font-size:clamp(15px,1.5vw,18px);line-height:1.6;color:var(--dim);max-width:60ch}
b,strong{color:var(--ink);font-weight:620}

/* -------------------------------------------------------------- blocks */
.sec{padding:clamp(52px,8vw,104px) 0;border-top:1px solid var(--line)}
.sec__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:36px;flex-wrap:wrap}
.panel{background:var(--panel);border:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 20px;font-family:var(--mono);
  font-size:12px;letter-spacing:.09em;text-transform:uppercase;background:var(--acc);color:#0c3024;
  border:1px solid var(--acc);cursor:pointer;transition:.15s;font-weight:600}
.btn:hover{background:#92eda6;border-color:#92eda6}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn--ghost:hover{background:rgba(120,228,144,.08);border-color:var(--ink)}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* --------------------------------------------------------- split bars */
.hf-split{display:flex;flex-direction:column;gap:0}
.hf-split__row{display:grid;grid-template-columns:1fr 1fr 46px;align-items:center;gap:14px;
  font-family:var(--mono);font-size:11px;color:var(--dim);padding:6px 0;border-top:1px solid var(--line)}
.hf-split__row:first-child{border-top:0}
.hf-split__row b{color:var(--ink);text-align:right;font-weight:500}
.hf-split__bar{height:3px;background:rgba(120,228,144,.11)}
.hf-split__bar i{display:block;height:100%;background:var(--acc)}

@media(max-width:820px){
  .nav__links{display:none}
  body{background-size:44px 44px}
}

/* ------------------------------------------------------------- forms */
label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);margin-bottom:8px}
input[type=text],input[type=number],textarea{width:100%;background:var(--bg2);border:1px solid var(--line);
  padding:12px 13px;color:var(--ink);font:inherit;font-size:14px;outline:none;transition:border-color .15s}
input:focus,textarea:focus{border-color:var(--acc)}
textarea{resize:vertical;min-height:104px;font-family:var(--mono);font-size:13px;line-height:1.6}
.field{margin-bottom:18px}
.hint{font-family:var(--mono);font-size:10.5px;line-height:1.6;color:var(--faint);margin-top:7px}
.drop{border:1px dashed var(--line2);padding:22px;text-align:center;cursor:pointer;transition:.15s}
.drop:hover{border-color:var(--acc)}
.drop img{max-width:92px;max-height:92px;margin:0 auto 10px;object-fit:cover}
.drop p{font-family:var(--mono);font-size:11.5px;color:var(--dim)}

/* hook chooser */
.picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0;border:1px solid var(--line)}
.hf-pick{position:relative;display:flex;flex-direction:column;gap:9px;text-align:left;cursor:pointer;
  background:transparent;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:17px 18px;color:inherit;font:inherit;transition:background .15s}
.hf-pick:hover{background:var(--panel)}
.hf-pick[aria-pressed=true]{background:var(--acc-dim);box-shadow:inset 2px 0 0 var(--acc)}
.hf-pick__n{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.14em}
.hf-pick__top{display:flex;align-items:baseline;gap:8px}
.hf-pick__top b{font-size:14.5px;font-weight:620;letter-spacing:-.015em}
.hf-pick__tag{margin-left:auto;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);white-space:nowrap}
.hf-pick__short{font-size:12.5px;line-height:1.55;color:var(--dim)}
.hf-pick__custom{font-family:var(--mono);font-size:11px;color:var(--acc);letter-spacing:.1em;text-transform:uppercase}

/* pipeline + result */
.pipe{display:flex;flex-wrap:wrap;gap:0;margin-top:20px;border:1px solid var(--line);width:fit-content}
.s{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:8px 13px;
  color:var(--faint);border-right:1px solid var(--line)}
.s:last-child{border-right:0}
.s.active{color:var(--acc);background:var(--acc-dim)}
.s.done{color:var(--ink);background:rgba(120,228,144,.09)}
.s.err{color:#ff6b4a;background:rgba(255,107,74,.12)}
.result{margin-top:18px;padding:16px;border:1px solid var(--line);font-size:13.5px;line-height:1.65;display:none}
.result.show{display:block}
.result.ok{border-color:var(--acc)}
.result.bad{border-color:#ff6b4a}
.result a{color:var(--acc);border-bottom:1px solid rgba(120,228,144,.45)}
.compiled{margin-top:18px;border:1px solid var(--line);padding:16px}
.tagpill{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 9px;border:1px solid var(--line);color:var(--dim)}
.meta-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}

/* launch cards */
.launch-card{border:1px solid var(--line);padding:20px 22px;margin-bottom:12px;background:var(--panel)}
.launch-card__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.launch-card__top b{font-size:16px;font-weight:640}
.launch-card__top .sym{color:var(--dim);font-size:13px}
.launch-card__hook{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--acc);border:1px solid var(--line2);padding:4px 9px}
.launch-card__links{display:flex;gap:14px;font-family:var(--mono);font-size:11px;margin-bottom:14px;flex-wrap:wrap}
.launch-card__links a{color:var(--dim);border-bottom:1px solid var(--line)}
.launch-card__links a:hover{color:var(--acc)}
.runbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.runlog{margin-top:12px;font-family:var(--mono);font-size:11.5px;line-height:1.7;color:var(--dim)}
.runlog .ok{color:var(--acc)}
.runlog .bad{color:#ff6b4a}
.runlog ul{margin:8px 0 0 16px}
.empty{padding:44px 20px;text-align:center;color:var(--faint);font-family:var(--mono);font-size:12px}

/* -------------------------------------------------------------- hero */
.hero{padding:clamp(64px,11vw,140px) 0 clamp(44px,6vw,72px)}
.hero--sm{padding:clamp(52px,8vw,96px) 0 clamp(30px,4vw,48px)}
.hero__h{margin:18px 0 22px}
.hero__p{margin-bottom:30px}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap}

/* two-up */
.two{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
.two__col,.two>div{padding:clamp(20px,2.6vw,32px);border-right:1px solid var(--line)}
.two>div:last-child,.two__col:last-child{border-right:0}
.two__col h3{margin:12px 0 10px}
.two__col--on{background:var(--panel)}
.two__col--on .lbl{color:var(--acc)}

/* hook index rows */
.hrows{border:1px solid var(--line)}
.hrow{display:grid;grid-template-columns:44px 1.1fr 108px 2.2fr 26px;align-items:baseline;gap:16px;
  padding:16px 18px;border-bottom:1px solid var(--line);transition:background .14s}
.hrow:last-child{border-bottom:0}
.hrow:hover{background:var(--panel)}
.hrow:hover .hrow__go{color:var(--acc);transform:translateX(3px)}
.hrow__n{font-family:var(--mono);font-size:11px;color:var(--faint)}
.hrow__name{font-size:15px;font-weight:620;letter-spacing:-.015em}
.hrow__tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.hrow__desc{font-size:13px;color:var(--dim);line-height:1.5}
.hrow__go{font-family:var(--mono);color:var(--faint);transition:.14s;text-align:right}
.hrows__foot{display:flex;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}

/* steps */
.steps{list-style:none;border:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:clamp(20px,2.6vw,30px);
  border-bottom:1px solid var(--line)}
.steps li:last-child{border-bottom:0}
.steps__n{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.12em}
.steps h3{margin-bottom:8px}
.steps p{max-width:62ch}

/* hook detail */
.hk{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:clamp(22px,3vw,34px) 0;
  border-top:1px solid var(--line);scroll-margin-top:82px}
.hk.is-target{background:var(--panel);box-shadow:inset 3px 0 0 var(--acc);
  padding-left:20px;padding-right:20px}
.hk__l{display:flex;flex-direction:column;gap:8px}
.hk__n{font-family:var(--mono);font-size:26px;color:var(--faint);letter-spacing:-.02em}
.hk__short{color:var(--ink);font-size:15px;margin:10px 0 10px;max-width:62ch}
.hk__r p{max-width:66ch;margin-bottom:16px}
.hk__r .hf-split{max-width:420px;margin-bottom:18px}
.hk__go{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.hk__go:hover{border-bottom:1px solid var(--acc)}
.hk--custom{border-top:1px dashed var(--line2)}

/* docs */
.doc{max-width:78ch}
.doc h2{margin:44px 0 14px}
.doc h2:first-child{margin-top:0}
.doc p{margin-bottom:14px;line-height:1.72}
.doc ul{margin:0 0 18px 20px}
.doc li{color:var(--dim);margin-bottom:8px;line-height:1.7}
.doc code{font-family:var(--mono);font-size:12.5px;background:var(--panel);padding:2px 6px;color:var(--ink)}
.callout{border-left:2px solid var(--acc);background:var(--panel);padding:18px 20px;margin:24px 0;
  font-size:14px;line-height:1.72;color:var(--dim)}
.cta{text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}

@media(max-width:820px){
  .two{grid-template-columns:1fr}
  .two>div,.two__col{border-right:0;border-bottom:1px solid var(--line)}
  .hrow{grid-template-columns:34px 1fr 22px;gap:10px}
  .hrow__tag,.hrow__desc{display:none}
  .hk{grid-template-columns:1fr;gap:14px}
  .steps li{grid-template-columns:1fr;gap:8px}
}
