/* Cortex website — first slice. Locked brand tokens, zero-runtime, pure-CSS motion. */
:root{
  --phos:#35E0A1;      /* shell */
  --blip:#FFB84D;      /* the Blip — used rare */
  --ink:#0A0F0D;
  --panel:#0E1613;
  --deep:#0B3B2E;
  --dim:#1C7A5A;
  --line:#16241D;
  --bright:#CFE9DD;
  --tdim:#5C7A6D;
  --body:#a9c7ba;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
  --glow:0 0 6px rgba(53,224,161,.55),0 0 18px rgba(53,224,161,.22);
  --glow-b:0 0 6px rgba(255,184,77,.6),0 0 16px rgba(255,184,77,.25);
  --maxw:920px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:#050807;color:var(--bright);font-family:var(--mono);
  font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
/* CRT scanline field over everything */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:99;
  background:repeating-linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,.20) 3px,rgba(0,0,0,0) 4px);
  mix-blend-mode:multiply;opacity:.5;
}
a{color:var(--phos);text-decoration:none}
a:hover{color:var(--bright)}
.amber{color:var(--blip)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---------- shared motion ---------- */
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
@keyframes land{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@keyframes scan{from{transform:translateY(-100%)}to{transform:translateY(1200%)}}
.blip{animation:pulse 1.6s ease-in-out infinite}
.cursor{display:inline-block;width:.6em;height:1.05em;background:var(--blip);
  vertical-align:-.16em;margin-left:4px;box-shadow:var(--glow-b);animation:blink 1.05s steps(1) infinite}

/* ---------- top nav: reads like `ls` ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(5,8,7,.78);
  backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:22px;height:56px}
.brand{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.brand svg{width:22px;height:22px;filter:drop-shadow(var(--glow))}
.brand .nm{font-size:12px;letter-spacing:3px;color:var(--phos)}
.nav .links{display:flex;gap:20px;margin-left:auto;font-size:11px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--tdim)}
.nav .links a{color:var(--tdim)}
.nav .links a:hover{color:var(--phos)}
.nav .req{color:var(--blip)!important}
.nav .req::before{content:"$ ";color:var(--dim)}

/* ---------- hero / boot ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
  background:radial-gradient(120% 90% at 50% -8%,#0c1712 0%,#050807 66%)}
.hero .wrap{padding-top:78px;padding-bottom:82px;text-align:center;position:relative;z-index:2}
.hero-scan{position:absolute;left:0;right:0;height:60px;z-index:1;pointer-events:none;
  background:linear-gradient(rgba(53,224,161,0) 0%,rgba(53,224,161,.05) 50%,rgba(53,224,161,0) 100%);
  animation:scan 7s linear infinite}
.hmark{width:120px;height:120px;margin:0 auto 22px;display:block;filter:drop-shadow(var(--glow))}
.hword{width:340px;max-width:78%;margin:0 auto 8px;display:block;filter:drop-shadow(var(--glow))}
.tagline{font-size:13px;letter-spacing:2px;color:var(--tdim);text-transform:uppercase;margin:0 0 30px}
.tagline .cursor{height:.95em}
.boot{display:inline-block;text-align:left;font-size:12.5px;color:var(--dim);
  border:1px solid var(--line);border-radius:8px;background:#070c0a;padding:14px 18px;margin:0 auto 30px}
.boot .ok{color:var(--phos)}
.boot .aw{color:var(--blip)}
.boot .ln{opacity:1}  /* always visible — content must never depend on an animation timeline */
.thesis{max-width:600px;margin:0 auto 30px;font-size:15px;line-height:1.7;color:var(--bright)}
.thesis b{color:#eafff5}
.thesis .q{color:var(--phos)}
.cta{display:inline-block;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;
  color:#06120A;background:var(--blip);padding:13px 26px;border-radius:8px;
  box-shadow:0 0 0 1px rgba(255,184,77,.4),0 8px 26px rgba(0,0,0,.5),var(--glow-b);
  transition:filter .16s ease,transform .08s ease}
.cta::before{content:"$ ";opacity:.6}
.cta:hover{filter:brightness(1.06);color:#06120A}
.cta:active{transform:translateY(1px)}

/* ---------- section framing ---------- */
section.slab{padding:64px 0;border-bottom:1px solid var(--line)}
.eyebrow{font-size:11px;letter-spacing:3px;color:var(--tdim);text-transform:uppercase;margin:0 0 10px}
.eyebrow .n{color:var(--phos)}
h2{font-size:22px;line-height:1.25;letter-spacing:.5px;color:var(--bright);margin:0 0 14px;font-weight:600}
h2 .amber{text-shadow:var(--glow-b)}
.lede{max-width:560px;font-size:14px;color:var(--body);margin:0 0 26px}
.lede b{color:var(--bright)}

/* ---------- the queue device ---------- */
.queue-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:radial-gradient(140% 120% at 50% -10%,#0c1712 0%,#070b09 72%)}
.queue-head{display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;border-bottom:1px solid var(--line);font-size:11px;
  letter-spacing:2px;text-transform:uppercase;color:var(--tdim)}
.queue-head b{color:var(--phos)}
.qcount{color:var(--blip)}
.queue{padding:14px 16px;min-height:210px}
.qitem{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);
  border-radius:8px;margin-bottom:10px;background:#080d0b;
  transition:opacity .3s ease,transform .3s ease,border-color .3s ease,background .3s ease}
.qitem .st{width:10px;height:10px;border-radius:2px;flex:none;background:var(--blip);
  box-shadow:var(--glow-b);transition:background .3s ease,box-shadow .3s ease}
.qitem .meta{flex:1;min-width:0}
.qitem .lbl{color:var(--bright);font-size:13px}
.qitem .kind{color:var(--tdim);font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-top:2px}
.qbtns{display:flex;gap:6px;flex:none}
.qb{font-family:inherit;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;
  padding:6px 12px;border-radius:5px;cursor:pointer;transition:background .15s ease,color .15s ease}
.qb.dismiss{border:1px solid var(--line);background:transparent;color:var(--tdim)}
.qb.dismiss:hover{background:#0e1a15;color:var(--body)}
.qb.approve{border:1px solid var(--blip);background:transparent;color:var(--blip)}
.qb.approve:hover{background:rgba(255,184,77,.1)}
/* shipped state: amber → mint, done */
.qitem.shipped{border-color:var(--dim);background:#081210}
.qitem.shipped .st{background:var(--phos);box-shadow:0 0 5px rgba(53,224,161,.6)}
.qitem.shipped .lbl{color:var(--phos)}
.qitem.dismissed{opacity:.35;border-color:var(--line)}
.qitem.dismissed .st{background:var(--tdim);box-shadow:none}
.qitem.leaving{opacity:0;transform:translateX(14px)}
.qdone{color:var(--phos);font-size:11px;letter-spacing:1px;text-transform:uppercase;flex:none;
  display:flex;align-items:center;gap:6px}
.queue-empty{text-align:center;color:var(--tdim);font-size:13px;padding:34px 12px;display:none}
.queue-empty.show{display:block}
.queue-empty .k{color:var(--phos)}
.queue-empty .reset{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:1px;
  text-transform:uppercase;color:var(--tdim);border:1px solid var(--line);border-radius:5px;
  padding:6px 12px;cursor:pointer}
.queue-empty .reset:hover{color:var(--phos);border-color:var(--dim)}

/* ---------- the memory field device (pure mint: this is the shell) ---------- */
.mem-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:radial-gradient(140% 120% at 50% -10%,#0c1712 0%,#070b09 72%)}
.mem-head{display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;border-bottom:1px solid var(--line);font-size:11px;
  letter-spacing:2px;text-transform:uppercase;color:var(--tdim)}
.mem-head b{color:var(--phos)}
.mem-body{padding:16px}
.memfield{display:grid;grid-template-columns:repeat(auto-fill,9px);gap:2px;
  justify-content:center;padding:6px;background:#060b09;border:1px solid var(--line);
  border-radius:8px;margin-bottom:14px}
.memcell{width:9px;height:9px;background:#0e1613;border-radius:1px;transition:background .3s ease}
.memcell.dim{background:#123227}                                   /* older memory, faded but held */
.memcell.on{background:var(--phos);box-shadow:0 0 3px rgba(53,224,161,.45)}
.memcell.fresh{animation:land .45s ease-out both}                  /* just landed */
.mem-input{display:flex;gap:8px;margin-bottom:12px}
.mem-input input{flex:1;min-width:0;font-family:inherit;font-size:13px;color:var(--bright);
  background:#080d0b;border:1px solid var(--line);border-radius:6px;padding:10px 12px;outline:none}
.mem-input input:focus{border-color:var(--dim)}
.mem-input input::placeholder{color:var(--tdim)}
.mem-remember{font-family:inherit;font-size:11px;letter-spacing:1px;text-transform:uppercase;
  color:var(--phos);background:transparent;border:1px solid var(--dim);border-radius:6px;
  padding:0 16px;cursor:pointer;flex:none;transition:background .15s ease}
.mem-remember:hover{background:#0e1a15}
.mem-stats{display:flex;gap:22px;font-size:11px;letter-spacing:1px;text-transform:uppercase;
  color:var(--tdim);margin-bottom:12px}
.mem-stats b{color:var(--phos)}
.mem-stats .zero{color:var(--phos)}
.mem-log{border-top:1px solid var(--line);max-height:150px;overflow:auto}
.mem-log .e{display:flex;gap:9px;padding:8px 2px;border-bottom:1px solid rgba(255,255,255,.03);font-size:12.5px}
.mem-log .e .mk{color:var(--phos);flex:none}
.mem-log .e .tx{color:var(--body)}
.mem-log .e.new .tx{color:var(--bright)}

/* ---------- the recall device (query sweep; the match ignites amber) ---------- */
.rc-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:radial-gradient(140% 120% at 50% -10%,#0c1712 0%,#070b09 72%)}
.rc-head{display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;border-bottom:1px solid var(--line);font-size:11px;
  letter-spacing:2px;text-transform:uppercase;color:var(--tdim)}
.rc-head b{color:var(--phos)}
.rc-body{padding:16px}
.rc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.rc-chip{font-family:inherit;font-size:12px;color:var(--phos);background:#080d0b;
  border:1px solid var(--line);border-radius:16px;padding:7px 13px;cursor:pointer;
  transition:border-color .15s ease,background .15s ease}
.rc-chip:hover{border-color:var(--dim);background:#0e1a15}
.rc-chip.active{border-color:var(--phos)}
.rc-find{font-size:12.5px;color:var(--tdim);margin-bottom:10px;min-height:18px}
.rc-find .q{color:var(--phos)}
.rc-find .said{color:var(--bright)}
.rc-list{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#060b09}
.rc-item{display:flex;align-items:center;gap:11px;padding:11px 14px;
  border-bottom:1px solid rgba(255,255,255,.03);font-size:12.5px;transition:opacity .3s ease}
.rc-item:last-child{border-bottom:none}
.rc-item .d{width:9px;height:9px;border-radius:2px;flex:none;background:#16241d;transition:background .3s ease,box-shadow .3s ease}
.rc-item .t{color:var(--tdim);flex:1;transition:color .3s ease}
.rc-item .tag{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--blip);
  border:1px solid var(--blip);border-radius:4px;padding:2px 6px;opacity:0;transition:opacity .3s ease .1s}
.rc-list.searched .rc-item:not(.hit){opacity:.34}
.rc-item.hit .d{background:var(--blip);box-shadow:var(--glow-b)}
.rc-item.hit .t{color:var(--bright)}
.rc-item.hit .tag{opacity:1}
/* the sweep beam */
.rc-beam{position:absolute;left:0;right:0;top:0;height:44px;pointer-events:none;opacity:0;z-index:2;
  background:linear-gradient(rgba(53,224,161,0) 0%,rgba(53,224,161,.14) 55%,rgba(53,224,161,0) 100%);
  border-bottom:1px solid rgba(53,224,161,.5);box-shadow:0 0 12px rgba(53,224,161,.35)}
.rc-beam.sweep{animation:sweepdown .85s ease-out}
@keyframes sweepdown{
  0%{opacity:1;transform:translateY(-44px)}
  90%{opacity:1}
  100%{opacity:0;transform:translateY(var(--rc-h,320px))}
}
.rc-note{font-size:12px;color:var(--tdim);margin-top:12px}
.rc-note b{color:var(--phos)}

/* ---------- calendar + email device (tentative amber hold → committed mint; never sends) ---------- */
.cal-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:radial-gradient(140% 120% at 50% -10%,#0c1712 0%,#070b09 72%)}
.cal-head{display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;border-bottom:1px solid var(--line);font-size:11px;
  letter-spacing:2px;text-transform:uppercase;color:var(--tdim)}
.cal-head b{color:var(--phos)}
.cal-body{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.cal-body{grid-template-columns:1fr}}
.cal-cal{border:1px solid var(--line);border-radius:8px;background:#060b09;padding:12px}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}
.cal-dow span{text-align:center;font-size:10px;letter-spacing:1px;color:var(--tdim)}
.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--tdim);background:#0e1613;border-radius:2px;position:relative;
  transition:background .3s ease,color .3s ease,border-color .3s ease}
.cal-day.pad{background:transparent}
.cal-day.busy{background:#123227;color:var(--phos)}
.cal-day.hold{color:var(--blip);border:1px solid var(--blip);background:#0f0d07}
.cal-day.hold::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;
  background:var(--blip);box-shadow:var(--glow-b);animation:pulse 1.6s ease-in-out infinite}
.cal-day.held{background:var(--phos);color:#06120A;border-color:var(--phos)}
.cal-day.held::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;
  background:#06120A;animation:none}
/* draft side */
.cal-draft{border:1px solid var(--line);border-radius:8px;background:#080d0b;padding:14px;
  display:flex;flex-direction:column;font-size:12.5px}
.cal-draft .dh{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--tdim);
  margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.cal-draft .dh b{color:var(--phos)}
.cal-draft .dl{color:var(--body);line-height:1.6;margin:0 0 8px}
.cal-draft .dl .to{color:var(--bright)}
.cal-draft .dl .sub{color:var(--phos)}
.cal-badge{align-self:flex-start;font-size:9.5px;letter-spacing:1px;text-transform:uppercase;
  border:1px solid var(--line);border-radius:4px;padding:3px 8px;color:var(--tdim);margin-top:auto}
.cal-badge.staged{color:var(--phos);border-color:var(--dim)}
.cal-actions{display:flex;gap:10px;align-items:center;margin-top:14px}
.cal-confirm{font-family:inherit;font-size:11px;letter-spacing:1px;text-transform:uppercase;
  color:var(--blip);background:transparent;border:1px solid var(--blip);border-radius:6px;
  padding:9px 16px;cursor:pointer;transition:background .15s ease}
.cal-confirm:hover{background:rgba(255,184,77,.1)}
.cal-confirm.done{color:var(--phos);border-color:var(--dim);background:#081210;cursor:default}
.cal-msg{font-size:12px;color:var(--tdim)}
.cal-msg b{color:var(--phos)}
.cal-note{font-size:12px;color:var(--tdim);margin-top:12px}
.cal-note b{color:var(--phos)}

/* ---------- shell + blip split (the metaphor as a duotone fold) ---------- */
.sb-split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:12px;overflow:hidden}
@media(max-width:640px){.sb-split{grid-template-columns:1fr}}
.sb-shell,.sb-blip{position:relative;min-height:230px;padding:22px;
  display:flex;flex-direction:column;justify-content:flex-end}
.sb-shell{background:#070c0a;
  background-image:radial-gradient(rgba(53,224,161,.5) 1.5px,transparent 1.7px);
  background-size:12px 12px;background-position:6px 6px}
.sb-shell::before{content:"";position:absolute;inset:0;
  background:linear-gradient(rgba(7,12,10,0) 40%,rgba(7,12,10,.92) 100%)}
.sb-blip{background:radial-gradient(circle at 50% 40%,#17110a 0%,#070b09 70%)}
.sb-blip .px{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);
  width:34px;height:34px;background:var(--blip);border-radius:3px;
  box-shadow:0 0 22px rgba(255,184,77,.55),0 0 6px rgba(255,184,77,.8);
  animation:pulse 1.6s ease-in-out infinite}
.sb-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;position:relative;z-index:2}
.sb-shell .sb-label{color:var(--phos)}
.sb-blip .sb-label{color:var(--blip)}
.sb-copy{font-size:12.5px;line-height:1.6;margin:8px 0 0;position:relative;z-index:2}
.sb-shell .sb-copy{color:var(--body)}
.sb-blip .sb-copy{color:#caa96b}
.sb-cap{font-size:12.5px;color:var(--tdim);margin-top:14px}
.sb-cap b{color:var(--phos)}

/* ---------- how it thinks (the loop that closes on itself) ---------- */
.ht-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:radial-gradient(140% 120% at 50% -10%,#0c1712 0%,#070b09 72%)}
.ht-head{padding:12px 16px;border-bottom:1px solid var(--line);font-size:11px;
  letter-spacing:2px;text-transform:uppercase;color:var(--tdim)}
.ht-head b{color:var(--phos)}
.ht-body{padding:20px 16px}
.ht-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 4px;margin-bottom:6px}
.ht-node{border:1px solid var(--line);border-radius:6px;background:#080d0b;padding:10px 13px;
  font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--phos);white-space:nowrap;
  animation:htglow 5s ease-in-out infinite}
.ht-node.intent{color:var(--blip);border-color:rgba(255,184,77,.4)}
.ht-node.rem{border-color:var(--dim)}
.ht-node.rem b{color:var(--blip)}
.ht-node:nth-child(1){animation-delay:0s}
.ht-node:nth-child(3){animation-delay:.5s}
.ht-node:nth-child(5){animation-delay:1s}
.ht-node:nth-child(7){animation-delay:1.5s}
.ht-node:nth-child(9){animation-delay:2s}
.ht-node:nth-child(11){animation-delay:2.5s}
.ht-arrow{color:var(--dim);font-size:13px;flex:none}
.ht-return{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tdim);
  border-top:1px dashed var(--line);margin-top:14px;padding-top:12px}
.ht-return .loop{color:var(--phos);font-size:15px}
.ht-return b{color:var(--phos)}
.ht-points{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin-top:16px}
@media(max-width:560px){.ht-points{grid-template-columns:1fr}}
.ht-points .pt{font-size:12.5px;color:var(--body)}
.ht-points .pt b{color:var(--phos);display:block;font-size:12px;letter-spacing:.5px;margin-bottom:1px}

/* the traveling flow highlight */
@keyframes htglow{0%,8%{box-shadow:0 0 0 1px var(--phos),0 0 12px rgba(53,224,161,.4);color:var(--bright)}
  18%,100%{box-shadow:none}}

/* ---------- trust line ---------- */
.trust{margin-top:22px;border-left:2px solid var(--blip);padding:2px 0 2px 16px;
  color:var(--body);font-size:13px;max-width:640px}
.trust b{color:var(--bright)}

/* ---------- request-access form ---------- */
.ra-wrap{max-width:580px}
.ra-form{display:flex;flex-direction:column;gap:12px;margin-top:26px}
.ra-in{font-family:inherit;font-size:14px;color:var(--bright);background:#080d0b;
  border:1px solid var(--line);border-radius:8px;padding:13px 14px;outline:none;width:100%}
.ra-in:focus{border-color:var(--dim)}
.ra-in::placeholder{color:var(--tdim)}
textarea.ra-in{resize:vertical;min-height:72px;line-height:1.5}
.ra-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.ra-submit{margin-top:6px;border:none;cursor:pointer;width:100%;text-align:center}
.ra-submit[disabled]{opacity:.6;cursor:default}
.ra-status{font-size:12.5px;color:var(--tdim);margin:6px 0 0;min-height:18px;text-align:center}
.ra-status.ok{color:var(--phos)}
.ra-status.err{color:#ff9b7a}

/* ---------- footer ---------- */
.foot{padding:44px 0 60px;text-align:center;color:var(--tdim);font-size:12px;letter-spacing:.5px}
.foot .lil{color:var(--phos);letter-spacing:2px}
.foot .amber{letter-spacing:1px}

/* ---------- responsive ---------- */
@media(max-width:720px){
  .nav .links{gap:14px;font-size:10px}
  .nav .brand .nm{display:none}
  h2{font-size:19px}
  .hmark{width:96px;height:96px}
  .qitem{flex-wrap:wrap}
  .qbtns{margin-left:auto}
}
@media(max-width:460px){
  .nav .links a:not(.req){display:none}   /* keep only the amber action on tiny screens */
}

/* ---------- reduced motion: still the machine ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .blip{opacity:1}
  .cursor{opacity:1}
  .boot .ln{opacity:1}
  .hero-scan{display:none}
}
