/* LagosAI — product stylesheet. brand: Lagos market intelligence. paper + coal ops room + green action + gold evidence. */
:root{
  --bone:#F2F0E9;          /* product paper */
  --panel:#FAF9F4;
  --card:#FFFFFF;
  --ink:#14161A;
  --ink-2:#2E3239;
  --mute:#666B74;
  --mute-2:#989CA4;
  --line:#DEDAD0;
  --line-2:#C9C5BB;
  --coal:#0E1013;          /* ops-room dark */
  --coal-2:#161A20;
  --coal-3:#1C212A;
  --coal-line:#2A303B;
  --coal-ink:#E9E7E0;
  --coal-mute:#8A909C;
  --acc:#0E9E6E;           /* Lagos green — action */
  --acc-deep:#0B7D57;
  --acc-bright:#14C78E;
  --acc-glow:rgba(18,199,142,.4);
  --gold:#D9A441;          /* evidence */
  --gold-dim:#8A6B2E;
  --gold-soft:rgba(217,164,65,.14);
  --ok:#2E9E6B; --warn:#C77E23; --bad:#C23B33; --bad-bright:#E05A50;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,"Cascadia Code",Menlo,Consolas,"Liberation Mono","DejaVu Sans Mono",monospace;
  --disp:"Liberation Serif",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r-s:4px; --r-m:10px; --r-l:16px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;background:var(--bone);color:var(--ink);font:17px/1.55 var(--sans)}
body{min-height:100vh}
a{color:var(--acc-deep)}
a:hover{color:var(--acc)}
::selection{background:var(--acc);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px;border:2px solid var(--bone)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--coal);color:#fff;padding:10px 16px;font:600 14px var(--sans)}
.skip:focus{left:12px;top:12px}

/* ---------- shared ---------- */
.eyebrow{font:700 11px/1.4 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin:0 0 10px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--gold);flex:0 0 auto}
.dark .eyebrow,.eyebrow.on-dark{color:var(--coal-mute)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--sans);letter-spacing:.01em;padding:15px 22px;min-height:50px;border-radius:var(--r-m);border:1.5px solid var(--line-2);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;touch-action:manipulation}
.btn:hover{transform:translateY(-1px);border-color:var(--acc)}
.btn:active{transform:translateY(0)}
.btn .a{transition:transform .18s ease;font-family:var(--sans)}
.btn:hover .a{transform:translateX(3px)}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.primary:hover{background:var(--acc-deep);border-color:var(--acc-deep);color:#fff;box-shadow:0 6px 22px -8px var(--acc-glow)}
.btn.primary:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}
.btn.ghost-dark{background:transparent;border-color:var(--coal-line);color:var(--coal-ink)}
.btn.ghost-dark:hover{border-color:var(--acc-bright);color:#fff}
.btn.big{width:100%;font-size:17px;padding:18px 24px;border-radius:var(--r-m)}
.btn.sm{padding:10px 15px;min-height:42px;font-size:14px;border-radius:8px}
.chip{display:inline-flex;align-items:center;gap:7px;font:600 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:7px 11px;border-radius:var(--r-s);background:var(--card);border:1px solid var(--line);color:var(--mute);white-space:nowrap}
.chip b{color:var(--ink);font-weight:700}
.chip.dark{background:var(--coal-3);border-color:var(--coal-line);color:var(--coal-mute)}
.chip.dark b{color:var(--coal-ink)}
.chip.gold{color:var(--gold);border-color:rgba(217,164,65,.4);background:var(--gold-soft)}
.chip.ok{color:var(--ok);border-color:rgba(46,158,107,.4)}
.chip.bad{color:var(--bad-bright);border-color:rgba(224,90,80,.4)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(20px,3.4vw,30px)}
blockquote.job-quote{margin:0 0 18px;padding:14px 18px;border-left:3px solid var(--gold);color:var(--ink);background:var(--panel);border-radius:0 var(--r-m) var(--r-m) 0;font:500 clamp(17px,2.4vw,20px)/1.5 var(--disp);font-style:italic}
.dark blockquote.job-quote{background:var(--coal-3);border-left-color:var(--gold);color:var(--coal-ink)}
.err{color:var(--bad);margin:12px 0 0;font-size:15px;font-weight:500}
.dark .err{color:var(--bad-bright)}
.detail{color:var(--coal-mute);font-size:15px;min-height:1.6em;margin:10px 0 0}
.plain{margin:8px 0 0;padding-left:20px;font-size:15px;line-height:1.6}
.plain li{margin:5px 0}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}

/* ---------- markdown ---------- */
.md{font-size:16px;line-height:1.65;color:var(--ink)}
.md h2{font:700 clamp(19px,2.6vw,23px)/1.3 var(--sans);letter-spacing:-.01em;margin:30px 0 10px;padding-top:6px;border-top:1px solid var(--line)}
.md h3{font:700 17px/1.3 var(--sans);margin:20px 0 8px}
.md h4,.md h5,.md h6{font:700 15px/1.3 var(--sans);margin:16px 0 6px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute)}
.md p{margin:0 0 12px}
.md ul,.md ol{margin:0 0 14px;padding-left:22px}
.md li{margin:5px 0}
.md li::marker{color:var(--gold);font-weight:700}
.md a{color:var(--acc-deep);font-weight:600;text-underline-offset:3px}
.md table{border-collapse:collapse;width:100%;font-size:13.5px;margin:14px 0;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.md th,.md td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}
.md th{background:var(--panel);font:600 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.md pre{background:var(--panel);border:1px solid var(--line);padding:12px;border-radius:8px;overflow:auto;font:13px/1.5 var(--mono);margin:0 0 14px}
.md code{background:var(--panel);padding:1.5px 5px;border-radius:4px;font:500 .88em var(--mono)}
.md blockquote{margin:14px 0;padding:10px 16px;border-left:3px solid var(--gold);background:var(--panel);font-style:italic;color:var(--ink-2)}
.md hr{border:0;border-top:1px solid var(--line);margin:20px 0}

/* ---------- evidence ---------- */
.ev-list{list-style:none;margin:6px 0 0;padding:0}
.ev-list li{position:relative;display:flex;gap:12px;align-items:flex-start;padding:12px 0 12px 34px;border-bottom:1px dashed var(--line)}
.ev-list li:last-child{border-bottom:0}
.ev-list .n{position:absolute;left:0;top:12px;font:700 11px/1 var(--mono);color:var(--gold);border:1px solid rgba(217,164,65,.4);border-radius:var(--r-s);padding:4px 5px;min-width:22px;text-align:center}
.ev-list .claim{font-size:14.5px;line-height:1.5;display:block}
.ev-list .src{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font:600 11.5px/1 var(--mono);letter-spacing:.03em;color:var(--acc-deep);text-decoration:none}
.ev-list .src:hover{text-decoration:underline;text-underline-offset:3px}
.ev-list time{color:var(--mute-2);font-size:12px;margin-left:8px;font-family:var(--mono)}
.dark .ev-list li{border-color:var(--coal-line)}
.dark .ev-list .claim{color:var(--coal-ink)}
.dark .ev-list .src{color:var(--acc-bright)}

/* ---------- header ---------- */
.site-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px clamp(18px,4vw,40px);border-bottom:1px solid var(--line)}
.dark .site-head{border-color:var(--coal-line)}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.dark .brand{color:#fff}
.brand .mark{width:30px;height:30px;flex:0 0 auto}
.brand .wm{font:800 19px/1 var(--sans);letter-spacing:-.02em}
.brand .wm em{font-style:normal;color:var(--acc)}
.dark .brand .wm em{color:var(--acc-bright)}
.head-tag{font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line);padding:8px 12px;border-radius:var(--r-s)}
@media (max-width:560px){.head-tag{display:none}}
.newlink{font:600 13px var(--sans);color:var(--coal-mute);text-decoration:none;display:inline-flex;align-items:center;gap:7px;padding:10px 4px;min-height:44px}
.newlink:hover{color:var(--acc-bright)}
.newlink b{font-weight:700;color:var(--coal-ink)}

/* ================= HOME ================= */
.masthead{padding:clamp(28px,5vw,58px) clamp(18px,4vw,40px) 0;max-width:1100px;margin:0 auto}
.mast-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:clamp(22px,4vw,40px)}
.mast-meta .loc::before{content:"◈ ";color:var(--gold)}
.live-chip{display:inline-flex;align-items:center;gap:8px;color:var(--acc-deep);border:1px solid rgba(14,158,110,.35);border-radius:var(--r-s);padding:8px 11px;background:rgba(14,158,110,.06)}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--acc);animation:beat 1.8s ease-in-out infinite}
.mast-title{font:700 clamp(34px,6.6vw,66px)/1.04 var(--disp);letter-spacing:-.015em;margin:0 0 clamp(16px,2.4vw,24px);max-width:16ch}
.mast-title em{font-style:normal;color:var(--acc-deep);background:linear-gradient(transparent 64%,var(--gold-soft) 64%)}
.mast-sub{font-size:clamp(16px,2vw,19px);color:var(--mute);margin:0 0 clamp(20px,3vw,30px);max-width:62ch;line-height:1.6}
.job-card{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-l);padding:clamp(16px,2.6vw,24px);box-shadow:0 2px 0 var(--line),0 18px 44px -28px rgba(20,22,26,.35);transition:border-color .2s ease,box-shadow .2s ease}
.job-card:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px rgba(14,158,110,.14),0 18px 44px -28px rgba(20,22,26,.35)}
.job-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.job-meta label{font:700 11px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.job-meta label::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--gold);margin-right:9px;vertical-align:1px}
.ccount{font:600 11px/1 var(--mono);color:var(--mute-2);letter-spacing:.05em}
textarea.job{width:100%;font:400 clamp(16px,2vw,18px)/1.55 var(--sans);color:var(--ink);padding:16px 18px;border:1.5px solid var(--line);border-radius:var(--r-m);background:var(--panel);resize:vertical;min-height:104px;transition:border-color .15s ease}
textarea.job::placeholder{color:var(--mute-2)}
textarea.job:focus{outline:none;border-color:var(--acc)}
.job-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.job-note{font:500 12.5px/1.5 var(--mono);color:var(--mute);letter-spacing:.02em}
.examples{margin-top:clamp(20px,3vw,30px)}
.examples .lbl{display:block;font:700 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.ex-row{display:flex;flex-wrap:wrap;gap:9px}
.ex{font:500 13.5px/1.4 var(--sans);padding:10px 15px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;gap:9px;align-items:center;transition:border-color .15s ease,color .15s ease,transform .15s ease;min-height:44px;touch-action:manipulation}
.ex:hover{border-color:var(--acc);color:var(--acc-deep);transform:translateY(-1px)}
.ex::before{content:"◈";font-size:9px;color:var(--gold)}
.home-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:clamp(34px,5vw,54px)}
.strip-cell{padding:clamp(16px,2.4vw,26px) clamp(14px,2vw,22px);border-right:1px solid var(--line)}
.strip-cell:last-child{border-right:0}
.strip-cell .k{font:800 clamp(26px,3.4vw,38px)/1 var(--disp);letter-spacing:-.01em;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}
.strip-cell .k small{font:600 11px/1 var(--mono);color:var(--gold);letter-spacing:.1em}
.strip-cell .d{font-size:13px;color:var(--mute);line-height:1.5;margin:0}
.strip-cell:nth-child(1) .k{color:var(--acc-deep)}
.strip-cell:nth-child(3) .k{color:var(--gold-dim)}
@media (max-width:760px){
  .home-strip{grid-template-columns:1fr 1fr}
  .strip-cell{border-bottom:1px solid var(--line)}
  .strip-cell:nth-child(2){border-right:0}
  .strip-cell:nth-child(-n+2){border-top:0}
}
.home-foot{max-width:1100px;margin:0 auto;padding:clamp(24px,4vw,40px) clamp(18px,4vw,40px);color:var(--mute);font-size:13px;line-height:1.7;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);letter-spacing:.02em}
@media (max-width:760px){.home-foot{font-size:12px}}

/* overlay (accept) */
.overlay{position:fixed;inset:0;z-index:90;background:var(--coal);color:var(--coal-ink);display:flex;align-items:center;justify-content:center;padding:clamp(18px,4vw,40px);opacity:0;transition:opacity .3s ease;overflow:auto}
.overlay.in{opacity:1}
.overlay .ov-inner{width:100%;max-width:680px;transform:translateY(14px);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.overlay.in .ov-inner{transform:none}
.ov-kicker{font:700 11px/1.4 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--acc-bright);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.ov-kicker::before{content:"";width:26px;height:2px;background:var(--acc-bright)}
.ov-quote{font:500 clamp(19px,3vw,26px)/1.4 var(--disp);font-style:italic;margin:0 0 26px;color:#fff}
.ov-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:26px}
.ov-steps{display:flex;flex-direction:column;gap:0;position:relative;padding-left:30px}
.ov-steps::before{content:"";position:absolute;left:9px;top:12px;bottom:12px;width:2px;background:var(--coal-line)}
.ov-step{position:relative;display:flex;align-items:center;gap:12px;padding:8px 0;font:600 14px/1.3 var(--sans);color:var(--coal-mute);transition:color .3s ease}
.ov-step .nd{position:absolute;left:-30px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;border:2px solid var(--coal-line);background:var(--coal);transition:border-color .3s,background .3s,box-shadow .3s}
.ov-step.on{color:#fff}
.ov-step.on .nd{border-color:var(--acc-bright);background:radial-gradient(var(--acc-bright) 35%,transparent 42%);animation:beat 1.4s ease-in-out infinite}
.ov-step.done .nd{border-color:var(--acc);background:var(--acc)}
.ov-step.done{color:var(--coal-mute)}
.ov-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font:500 12px/1.5 var(--mono);color:var(--coal-mute)}
.ov-bar{height:3px;background:var(--coal-3);border-radius:2px;overflow:hidden;margin-bottom:18px}
.ov-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc-bright));transition:width .5s cubic-bezier(.2,.8,.2,1)}

/* ================= MISSION / OPS ROOM ================= */
.page-mission{background:var(--coal);color:var(--coal-ink);min-height:100vh}
.mission-main{max-width:1180px;margin:0 auto;padding:clamp(16px,3vw,30px) clamp(16px,3vw,34px) 70px}
.m-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px clamp(16px,3vw,34px);border-bottom:1px solid var(--coal-line);background:var(--coal-2)}
.m-top .brand{margin:0}
.m-top-right{display:flex;align-items:center;gap:12px}
.m-id{font:600 11px/1 var(--mono);letter-spacing:.08em;color:var(--coal-mute)}
@media (max-width:480px){.m-id{display:none}}
.statchip{display:inline-flex;align-items:center;gap:8px;font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:9px 13px;border-radius:var(--r-s);border:1px solid var(--coal-line);color:var(--coal-mute);background:var(--coal-3)}
.statchip .d{width:8px;height:8px;border-radius:50%;background:var(--mute-2)}
.statchip.working{color:var(--acc-bright);border-color:rgba(20,199,142,.4)}
.statchip.working .d{background:var(--acc-bright);animation:beat 1.6s ease-in-out infinite}
.statchip.complete,.statchip.partial{color:var(--gold);border-color:rgba(217,164,65,.4)}
.statchip.complete .d,.statchip.partial .d{background:var(--gold)}
.statchip.failed{color:var(--bad-bright);border-color:rgba(224,90,80,.4)}
.statchip.failed .d{background:var(--bad-bright)}
.statchip.unknown{color:var(--coal-mute)}
.mission-grid{display:grid;grid-template-columns:1fr;gap:clamp(16px,2.4vw,24px);margin-top:clamp(18px,3vw,28px)}
@media (min-width:980px){.mission-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start}}
.mission-panel,.side-col{background:var(--coal-2);border:1px solid var(--coal-line);border-radius:var(--r-l);padding:clamp(18px,2.6vw,28px)}
.mission-panel .eyebrow,.side-col .eyebrow{color:var(--coal-mute);margin-bottom:12px}
.mission-panel .eyebrow::before,.side-col .eyebrow::before{background:var(--acc-bright)}
.jq{margin:0 0 18px;padding:14px 18px;border-left:3px solid var(--gold);color:var(--coal-ink);background:var(--coal-3);border-radius:0 var(--r-m) var(--r-m) 0;font:500 clamp(18px,2.4vw,22px)/1.45 var(--disp);font-style:italic}
.restate{font-size:15px;color:var(--coal-mute);margin:0 0 6px;line-height:1.6}
.restate b{color:var(--coal-ink);font-weight:600}
.mission-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--coal-line)}
.keepmsg{font:500 12.5px/1.5 var(--mono);color:var(--coal-mute);display:flex;align-items:center;gap:9px;margin:0 0 0 auto;letter-spacing:.02em}
.keepmsg::before{content:"⏻";color:var(--acc-bright);font-size:13px}
@media (max-width:760px){.keepmsg{margin-left:0;width:100%}}
.side-col{display:flex;flex-direction:column;gap:clamp(14px,2vw,20px);position:sticky;top:16px}
@media (max-width:979px){.side-col{position:static}}
.panel-blk{border:1px solid var(--coal-line);border-radius:var(--r-l);background:var(--coal-3);padding:clamp(14px,2vw,20px)}
.panel-blk .pb-h{font:700 10.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--coal-mute);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.panel-blk .pb-h .pd{width:7px;height:7px;border-radius:50%;background:var(--acc-bright);animation:beat 1.6s ease-in-out infinite}
.bignum{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.bignum .v{font:700 clamp(30px,4vw,40px)/1 var(--disp);color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.bignum .u{font:600 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--coal-mute)}
.evcount{font:600 12px/1.5 var(--mono);color:var(--gold);letter-spacing:.04em;display:flex;align-items:center;gap:8px;min-height:1.4em}
.evcount .pd{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:beat 1.6s ease-in-out infinite}
.side-foot{font:500 11px/1.6 var(--mono);color:var(--coal-mute);display:flex;justify-content:space-between;gap:8px;border-top:1px dashed var(--coal-line);padding-top:10px;letter-spacing:.03em}

/* live line */
.liveline{display:flex;gap:14px;align-items:flex-start;background:var(--coal-3);border:1px solid var(--coal-line);border-left:3px solid var(--acc-bright);border-radius:var(--r-m);padding:clamp(14px,2vw,18px) clamp(14px,2.2vw,20px);margin-top:clamp(16px,2.4vw,24px)}
.liveline .lk{font:700 10px/1.8 var(--mono);letter-spacing:.2em;color:var(--acc-bright);white-space:nowrap;display:flex;align-items:center;gap:8px}
.liveline .lk .d{width:8px;height:8px;border-radius:50%;background:var(--acc-bright);animation:beat 1.1s ease-in-out infinite}
.liveline p{margin:0;font-size:clamp(15px,2vw,17px);line-height:1.55;color:var(--coal-ink)}
@media (max-width:560px){.liveline{flex-direction:column;gap:8px}.liveline .lk{white-space:normal}}
.liveline.swap p{animation:swap .45s ease}
.swap p{transition:none}

/* ---------- flow ---------- */
.flow-wrap{margin-top:clamp(18px,2.6vw,26px)}
.flow-wrap .fh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.flow-wrap .fh .fh-t{font:700 10.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--coal-mute);display:flex;align-items:center;gap:9px}
.flow-wrap .fh .fh-t .pd{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:beat 1.8s ease-in-out infinite}
.flow-count{font:600 11px/1 var(--mono);color:var(--coal-mute);letter-spacing:.1em}
.flow-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:4px;margin:0 -4px;padding-left:4px;padding-right:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.flow-scroll::-webkit-scrollbar{height:6px}
.flow-scroll::-webkit-scrollbar-thumb{background:var(--coal-line)}
.flow-svg{display:block;height:auto;max-width:none;margin:0 auto}
.fl-node circle.core{fill:var(--coal);stroke:var(--coal-line);stroke-width:1.5;transition:fill .4s ease,stroke .4s ease}
.fl-node circle.halo{fill:none;stroke:var(--acc-bright);stroke-width:1.5;opacity:0;transform-origin:center;transition:opacity .4s ease}
.fl-node text.fl-t{fill:var(--coal-mute);font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-anchor:middle;transition:fill .4s ease}
.fl-node rect.tick{fill:var(--gold);opacity:0;transition:opacity .4s ease}
.fl-node.done circle.core{fill:var(--acc);stroke:var(--acc)}
.fl-node.done .fl-t{fill:var(--coal-mute)}
.fl-node.done rect.tick{opacity:1}
.fl-node.current circle.core{fill:var(--acc-bright);stroke:#fff}
.fl-node.current .halo{opacity:.9;animation:halo 1.7s ease-out infinite}
.fl-node.current .fl-t{fill:#fff;font-weight:700}
.fl-node.failed circle.core{fill:var(--bad);stroke:var(--bad-bright)}
.fl-node.failed .fl-t{fill:var(--bad-bright)}
.fl-link line,.fl-link path{stroke:var(--coal-line);stroke-width:1.5;fill:none;transition:stroke .5s ease}
.fl-link path.dash{stroke-dasharray:4 5;animation:dashflow 1.4s linear infinite}
.fl-link.done line,.fl-link.done path{stroke:var(--acc)}
.fl-link.active line,.fl-link.active path{stroke:var(--acc-bright)}
.fl-link.active path.dash{opacity:.9}
.fl-node text.fl-n{fill:var(--coal-mute);font:700 10px var(--mono);text-anchor:middle}
.fl-link text.fl-pct{fill:var(--acc-bright);font:700 9.5px var(--mono);text-anchor:middle;opacity:0;transition:opacity .4s ease}
.fl-link.active text.fl-pct{opacity:1}
.flow-cap{margin-top:8px;font:500 11px/1.5 var(--mono);color:var(--coal-mute);letter-spacing:.04em;display:flex;gap:8px;align-items:center}
.flow-cap .d{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:0 0 auto}

/* ---------- result ---------- */
.delivered{text-align:center;margin:clamp(20px,4vw,40px) 0 8px;font:700 11px/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;justify-content:center;gap:14px}
.delivered::before,.delivered::after{content:"";height:1px;width:clamp(20px,8vw,80px);background:linear-gradient(90deg,transparent,var(--gold));}
.delivered::after{background:linear-gradient(90deg,var(--gold),transparent)}
.ans-quote{font:500 clamp(19px,2.6vw,25px)/1.45 var(--disp);font-style:italic;color:#fff;margin:clamp(14px,2vw,20px) auto;max-width:52ch;padding:0 clamp(0px,3vw,30px)}
.conf-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:clamp(18px,2.6vw,26px);padding-top:clamp(16px,2vw,22px);border-top:1px solid var(--coal-line)}
.conf-meter{display:flex;gap:5px;align-items:center}
.conf-meter i{width:26px;height:8px;border-radius:2px;background:var(--coal-line);transition:background .4s ease}
.conf-meter i.on{background:var(--acc-bright)}
.conf-meter.i-unk i.on{background:var(--warn)}
.conf-lbl{font:700 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--coal-ink)}
.conf-lbl small{display:block;font-weight:500;color:var(--coal-mute);letter-spacing:.03em;text-transform:none;font-size:11px;margin-top:3px}
.r-meta{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.r-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(18px,2.6vw,26px);padding-top:clamp(16px,2vw,20px);border-top:1px solid var(--coal-line)}
.r-actions .btn{flex:1;min-width:200px}
@media (max-width:560px){.r-meta{margin-left:0;width:100%}}
.r-sec{margin-top:clamp(22px,3vw,30px);padding-top:clamp(16px,2.4vw,22px);border-top:1px solid var(--coal-line)}
.r-sec .eyebrow{margin-bottom:14px}
.r-sec .eyebrow::before{background:var(--gold)}
.r-evidence{max-width:820px;margin:0 auto}
.r-evidence .ev-list{border-left:1px dashed var(--coal-line);padding-left:8px}
.r-assump{max-width:760px;margin:0 auto}
.r-assump li{margin:8px 0;color:var(--coal-ink);font-size:15px;line-height:1.6}
.r-unc{max-width:640px;margin:0 auto;font-size:15px;line-height:1.65;color:var(--coal-mute);background:var(--coal-3);border:1px solid var(--coal-line);border-radius:var(--r-m);padding:16px 20px}
.r-body-wrap{max-width:820px;margin:0 auto}
.dark .md{color:var(--coal-ink)}
.dark .md h2,.dark .md h3{color:#fff}
.dark .md a{color:var(--acc-bright)}
.dark .md li::marker{color:var(--gold)}
.dark .md table{background:var(--coal-3);border-color:var(--coal-line)}
.dark .md th,.dark .md td{border-color:var(--coal-line)}
.dark .md th{background:var(--coal-2);color:var(--coal-mute)}
.dark .md pre,.dark .md code,.dark .md blockquote{background:var(--coal-3);border-color:var(--coal-line)}
.dark .md blockquote{color:var(--coal-mute)}
.dark .md hr{border-color:var(--coal-line)}
.r-closing{max-width:820px;margin:clamp(20px,3vw,30px) auto 0;text-align:center;font:500 13px/1.7 var(--mono);color:var(--coal-mute);padding-top:clamp(16px,2vw,22px);border-top:1px dashed var(--coal-line);letter-spacing:.02em}

/* ---------- failed / notfound ---------- */
.fail-wrap{max-width:680px;margin:clamp(30px,6vw,80px) auto;text-align:left}
.fail-mark{width:54px;height:54px;border-radius:12px;background:var(--coal-3);border:1px solid rgba(224,90,80,.5);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.fail-mark .x{font:700 26px/1 var(--mono);color:var(--bad-bright)}
.fail-h{font:700 clamp(24px,4vw,34px)/1.15 var(--disp);margin:0 0 12px;color:#fff;letter-spacing:-.01em}
.fail-reason{font-size:16px;line-height:1.6;color:var(--coal-mute);margin:0 0 8px}
.fail-prog{font:600 12px/1.5 var(--mono);color:var(--coal-mute);letter-spacing:.04em;margin:0 0 18px;display:flex;gap:8px;align-items:center}
.fail-prog::before{content:"▸";color:var(--gold)}
.partial-wrap{max-width:780px;margin:clamp(20px,3vw,30px) auto;text-align:left;border:1px solid var(--coal-line);border-radius:var(--r-l);background:var(--coal-2);padding:clamp(16px,2.4vw,24px)}
.partial-wrap .eyebrow{margin-bottom:12px}
.mission-404{text-align:center;max-width:520px;margin:clamp(50px,10vh,120px) auto;padding:0 clamp(18px,4vw,30px)}
.mission-404 .mh{font:700 clamp(26px,5vw,40px)/1.1 var(--disp);margin:18px 0 12px;color:#fff}
.mission-404 p{color:var(--coal-mute);font-size:15px;line-height:1.6;margin:0 0 24px}
.mission-404 .row{justify-content:center}

/* ---------- keyframes / motion ---------- */
@keyframes beat{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.72)}}
@keyframes halo{0%{opacity:.85;transform:scale(.6)}100%{opacity:0;transform:scale(1.7)}}
@keyframes dashflow{to{stroke-dashoffset:-18}}
@keyframes swap{0%{opacity:.1;transform:translateY(5px)}100%{opacity:1;transform:none}}
@keyframes fadeup{0%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:none}}
.fadeup{animation:fadeup .5s cubic-bezier(.2,.8,.2,1) both}
.fadeup-1{animation-delay:.06s}.fadeup-2{animation-delay:.14s}.fadeup-3{animation-delay:.22s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .fl-link path.dash{animation:none;opacity:.7}
  .fl-node.current .halo{animation:none;opacity:.5;transform:scale(1.2)}
}

/* ---------- YOUR JOBS widget + redeem + mission job-cost ---------- */
.head-jobs{display:inline-flex;align-items:center;gap:8px;margin-left:14px;padding:6px 12px;border:1px solid rgba(217,164,65,.45);border-radius:999px;background:var(--gold-soft);font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--gold)}
.hj-lbl{color:var(--gold);font-weight:700}
.hj-n{font-weight:700;font-size:13px;color:#fff}
.hj-dots{display:inline-flex;gap:4px}
.hj-dots i{width:8px;height:8px;border-radius:99px;background:var(--gold);box-shadow:0 0 6px rgba(217,164,65,.7)}
.hj-dots i.off{background:transparent;border:1px solid rgba(217,164,65,.5);box-shadow:none}
.hj-get{margin-left:6px;border:1px solid var(--gold);background:transparent;color:var(--gold);font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:4px 9px;border-radius:999px;cursor:pointer}
.hj-get:hover{background:rgba(217,164,65,.18)}
.job-cost{letter-spacing:.14em}
.job-cost b{margin:0 3px}
#redeem{text-align:center;max-width:560px;margin:clamp(40px,8vh,90px) auto;padding:clamp(20px,4vw,30px);border:1px solid rgba(217,164,65,.4);border-radius:var(--r-l,16px);background:var(--coal-2);margin-top:24px}
.red-row{display:flex;gap:10px;max-width:480px;margin:0 auto}
.red-inp{flex:1;background:var(--coal-1,#0B0D10);border:1px solid var(--coal-line);border-radius:10px;color:#EDEAE3;font-family:var(--mono);font-size:14px;letter-spacing:.06em;padding:12px 14px;outline:none;text-transform:uppercase}
.red-inp:focus{border-color:var(--gold)}
.red-msg{margin:14px auto 0;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--acc-bright)}
.red-msg.bad{color:var(--bad-bright)}

/* ---------- entry points into /explore (home header, home strip, mission room) ---------- */
.head-explore{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font:700 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc-deep);text-decoration:none;border:1px solid var(--line-2);border-radius:var(--r-s);padding:11px 13px;min-height:44px;transition:border-color .15s ease,color .15s ease,background .15s ease}
.head-explore:hover{border-color:var(--acc);color:var(--acc);background:rgba(14,158,110,.06)}
.site-head .head-tag{margin-left:14px}
@media (max-width:760px){.head-explore{letter-spacing:.08em;padding:11px 10px}}
@media (max-width:420px){.head-explore span{display:none}}
.home-explore{margin:clamp(18px,3vw,26px) 0 0;color:var(--mute);font-size:14.5px;line-height:1.6;max-width:68ch}
.home-explore a{color:var(--acc-deep);font-weight:600;text-underline-offset:3px}
.home-explore a:hover{color:var(--acc)}
.m-explore{letter-spacing:.12em;font:700 11px/1 var(--mono);color:var(--coal-mute)}
.m-explore:hover{color:var(--acc-bright)}
@media (max-width:560px){.m-explore{display:none}}
