/* Three surfaces, each with a job: ivory explains; sage establishes trust;
   sand describes setup and next steps. The sunrise and morning stay intact. */
:root{
  --ivory:#fbf8f0;--sage:#e9eee5;--sand:#f1e7d4;--surface:#fffdf8;
  --ink:#292d24;--ink-2:#42483c;--muted:#626a5b;--dim:#626a5b;
  --line:rgba(54,68,46,.14);--line-2:rgba(54,68,46,.24);
  --lantern:#95602c;--lantern-hi:#805020;--lantern-soft:rgba(149,96,44,.08);
  --safe:#466a54;--safe-soft:rgba(70,106,84,.09);
  --signal:#a4483b;--signal-soft:rgba(164,72,59,.08);
  --sky:#806344;--sky-soft:rgba(128,99,68,.1);
}
body{background:var(--ivory)}
body::after{opacity:.012}
::selection{background:#dfc69a;color:#292d24}
:focus-visible{outline-color:#95602c}
.top,.top.scrolled,body.is-day .top,body.is-day .top.scrolled{
  background:rgba(251,248,240,.93);color:var(--ink);border-bottom-color:var(--line);
}
.nav a,.nav a:hover,body.is-day .nav a,body.is-day .nav a:hover{color:var(--ink-2)}
.nav a:hover{background:rgba(70,106,84,.06)}
.nav a[aria-current="page"]{color:var(--safe);background:var(--safe-soft)}
.nav,.nav-toggle{border-color:var(--line-2)}
.nav,body.is-day .nav{background:var(--ivory)}
.btn-primary,.nav .btn-primary,body.is-day .nav .btn-primary{
  background:#2e352a;color:#fffaf0;border-color:#2e352a;box-shadow:0 6px 20px -14px rgba(40,50,34,.4);
}
.btn-primary:hover,.nav .btn-primary:hover,body.is-day .nav .btn-primary:hover{background:#46563e;color:#fffaf0}
.btn-primary .ic{filter:brightness(0) invert(1)}
.btn-ghost{color:var(--ink);background:rgba(255,253,248,.6);border-color:var(--line-2)}
.btn-ghost:hover{color:var(--ink);background:var(--surface);border-color:rgba(54,68,46,.4)}
.hero{background:radial-gradient(650px 480px at 88% 16%,rgba(218,198,149,.19),transparent 73%),var(--ivory)}
.hero .stars{display:none}
.hero .assure{color:var(--muted)}
.hero .access-label{border-color:rgba(70,106,84,.25);background:rgba(70,106,84,.035)}
.hero-caption .incident{color:#8f4337}
.hero-caption .incident b{color:#81382f}
.hero-caption .incident .dot{background:#ad5848;animation:none}
.hero-caption{border-color:rgba(149,96,44,.24)}
.keep-art .lit{animation:none}
.stage-head .kicker,.sec-head .kicker,.evidence-head .kicker{color:var(--lantern)}
.scn{background:rgba(255,253,248,.75);color:var(--ink-2);border-color:var(--line-2)}
.scn:hover{color:var(--ink);background:#f0ebdf;border-color:rgba(54,68,46,.38)}
.scn[aria-selected="true"]{color:#fffaf0;background:#465c48;border-color:#465c48;box-shadow:none}
.scn[aria-selected="true"] .ic{filter:brightness(0) invert(1)}
.scn .bar{background:#b69967}

/* The console is one quiet dark island: simulated machine activity is visually
   distinct from the product explanation around it. */
.console,.code{
  --ink:#f5f1e7;--ink-2:#dddccf;--muted:#bfc6b6;--dim:#aab5a4;
  --line:rgba(239,244,229,.12);--line-2:rgba(239,244,229,.22);
  --lantern:#e4bd7e;--lantern-hi:#efd1a4;--safe:#9cd0ad;
  --safe-soft:rgba(156,208,173,.09);--signal:#ec9989;
  --signal-soft:rgba(236,153,137,.12);--sky:#dbc298;
  background:#262e27;color:var(--ink);border-color:#39463b;
}
.console{box-shadow:0 18px 45px -28px rgba(36,47,38,.45)}
.console-bar{background:rgba(255,255,255,.025)}
.console-bar .dots i{background:#6c7a68}
.console-bar .conn::before{box-shadow:none}
.u{background:rgba(234,222,195,.09);color:#f5eedf;border-color:rgba(234,222,195,.18)}
.a .av{background:#3e4b3f;border-color:rgba(255,255,255,.18)}
.c{background:rgba(0,0,0,.15)}
.c.no{border-color:rgba(236,153,137,.35);background:rgba(236,153,137,.035)}
.c.no .r{color:#efb1a3}
.note{background:rgba(236,153,137,.055);color:#efb1a3;border-left-color:#ec9989}
.note span{color:#ec9989}
.side{background:rgba(0,0,0,.09)}
.scope span{border-color:rgba(239,244,229,.16)}
.walls-strip span.pass{border-color:rgba(156,208,173,.3);background:rgba(156,208,173,.06)}
.walls-strip span.hit{border-color:#ec9989;background:rgba(236,153,137,.18);box-shadow:none;color:#f5f1e7}
.tally div{border-color:rgba(239,244,229,.18)}
.code pre{color:#f5eedf}
.code .k{color:#dbc298}.code .s{color:#e8cea1}.code .b{color:#efb1a3}.code .n{color:#a5d4b5}.code .cm{color:#aab5a4}

/* Sage is reserved for measurable evidence and enforced boundaries. */
.evidence,.sec-sec{background:var(--sage)}
.evidence{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.evidence-head{border-top:0;padding-top:28px}
.evidence-head .kicker,.sec-sec .kicker,.sec-sec .h2 em,.evidence-head h2 em{color:var(--safe)}
.sheetcard{background:rgba(255,253,248,.58);color:var(--ink);border-color:rgba(70,106,84,.23)}
.sheetcard .dim{color:var(--safe)}
.sheetcard h3,.sheetcard p b,.ev .num{color:var(--ink)}
.sheetcard p{color:var(--ink-2)}
.sheetcard .tb{color:var(--muted);background:rgba(70,106,84,.04);border-color:var(--line)}
.sheetcard .tb > span{border-color:var(--line)}
.sheetcard .tb b,.sheetcard .tb .sn{color:var(--safe)}
.sheetcard:hover,.sheetcard.on{border-color:#79967d;box-shadow:none}
.zero .track{background:repeating-linear-gradient(90deg,rgba(70,106,84,.32) 0 2px,transparent 2px 6px)}
.viz.spark .sl.b{color:var(--safe)}
.sheet{background:#f4f6ef;border-color:rgba(70,106,84,.3);box-shadow:0 15px 36px -28px rgba(40,55,39,.25)}
.sheet .ring{stroke-opacity:.8}
.sheet svg text{fill-opacity:1}
.sheet .ring.on{stroke:#44684f}
.sheet .mk.on circle{fill:#44684f;stroke:#44684f}
.sheet .mk.on text{fill:#fffdf8}
.gaps.crenel{background:rgba(255,253,248,.68);border-color:rgba(149,96,44,.25)}

/* Ivory gives the narrative room to breathe. Sand marks practical decisions. */
.flows-sec,.eng-sec{background:var(--ivory)}
.setup-sec,.road-sec{background:var(--sand)}
.setup-sec,.sec-sec,.eng-sec,.road-sec{border-top:1px solid var(--line)}
.logpage{background:var(--surface);border:1px solid rgba(54,68,46,.14);box-shadow:0 12px 24px -24px rgba(42,48,33,.35)}
.flows .logpage .tag{color:var(--safe)}
.flows .logpage .stamp.ok{color:#466a54}
.flows .logpage .stamp.no{color:#95602c}
.toolbox{border-color:var(--line)}
.explore{color:var(--safe)}
.keepbadge{background:#e1cfad}
.keepbadge::before{background:linear-gradient(rgba(255,253,248,.4),transparent)}
.keepbadge::after{background:linear-gradient(#a27b47,#a27b47) bottom/100% 2px no-repeat}
.pnode{background:rgba(255,253,248,.58);border-color:rgba(100,83,52,.19)}
.pnode.end{background:rgba(233,238,229,.75);border-color:rgba(70,106,84,.26)}
.plink::after{box-shadow:none}
.eng-top .loop{background:#f6f2e7;border-color:rgba(100,83,52,.16)}
.decisions .logpage{background:#f5eedf;border-color:rgba(100,83,52,.2);color:var(--ink)}
.decisions .logpage h3{color:var(--ink)}
.decisions .logpage p{color:var(--ink-2)}
.decisions .logpage .tag,.decisions .logpage .ts,.decisions .logpage .stamp{color:#805020}
.decisions .logpage .res{color:var(--safe);border-color:var(--line)}
.stack span{background:rgba(255,253,248,.5);border-color:var(--line)}
.clockpill{background:rgba(251,248,240,.92);border-color:var(--line-2);color:var(--ink)}
.rail .now,.rail a.on b{color:var(--ink)}
.rail ol{border-color:var(--line-2)}
.rail a.on{border-color:var(--safe);color:var(--safe)}
.rail a:hover,.rail a:hover b{color:var(--ink)}

/* Reference pages use the same calm paper surfaces as the product page. */
.page-hero{background:var(--ivory);border-bottom:1px solid var(--line)}
.docbody{background:var(--ivory)}
.doctoc a:hover{border-color:var(--safe)}
.prose .note{background:var(--sand);border-color:#95602c;color:var(--ink-2)}
.yesno > div,.contact-cards > div{background:var(--surface);border-color:var(--line-2)}
.yesno .yes{border-top-color:var(--safe)}
.yesno .no{border-top-color:var(--signal)}
.table-wrap{background:var(--surface);border-color:var(--line-2)}
th{background:var(--sage);color:#57664e}
td code{color:#805020}
.badge.part{background:rgba(149,96,44,.08);color:#805020}
.badge.open{background:rgba(70,106,84,.07);color:var(--ink-2)}
@media(max-width:920px){
  html:not(.js) .top{background:var(--ivory)}
  html:not(.js) .nav{background:transparent}
  .nav{box-shadow:0 15px 30px -20px rgba(44,50,34,.3)}
}
