/* Agentic Organic brand layer (Oct 2026): Funnel type, ask-bar header, growth line, dark footer. Loaded after page styles. */
:root{
  --display:"Funnel Display", ui-sans-serif, system-ui, sans-serif;
  --body:"Funnel Sans", ui-sans-serif, system-ui, sans-serif;
  --night:#17241D;--night-ink:#F2F4F0;--night-ink2:#C6D3BF;--night-rule:#33492C;--night-accent:#8FB07F;--night-seed:#E2A944;
}
html[data-theme=dark]{--night:#0A100C;--night-ink:#E9EFE5;--night-ink2:#B3C0B6;--night-rule:#26332B}
@media (prefers-color-scheme:dark){html:not([data-theme=light]){--night:#0A100C;--night-ink:#E9EFE5;--night-ink2:#B3C0B6;--night-rule:#26332B}}

/* paper grain across the site */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html[data-theme=dark] body::before{opacity:.09;mix-blend-mode:soft-light}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) body::before{opacity:.09;mix-blend-mode:soft-light}}
@media print{body::before{display:none}}

/* header */
header.top{position:sticky;top:0;z-index:50;max-width:none;margin:0;padding:0;display:block;background:var(--paper);border-bottom:1px solid var(--rule)}
.top-in{max-width:1120px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;gap:18px;position:relative}
.top .brand{flex:none}
.top nav{display:flex;align-items:center;gap:22px;flex:none}
.top nav a{font-size:.95rem}
.ask{position:relative;flex:1 1 auto;min-width:0;max-width:440px;margin:0 auto}
.ask-field{display:flex;align-items:center;gap:10px;height:44px;padding:0 8px 0 16px;background:var(--card);border:1px solid var(--rule);border-radius:999px;transition:border-color .15s,box-shadow .15s;cursor:text}
.ask-field:focus-within{border-color:var(--moss);box-shadow:0 0 0 4px color-mix(in srgb,var(--moss) 16%,transparent)}
.ask-field svg{width:18px;height:18px;flex:none;color:var(--ink-2);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ask-field input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font:400 15px/1.2 var(--body);color:var(--ink);padding:0;-webkit-appearance:none;appearance:none}
.ask-field input::-webkit-search-cancel-button{display:none}
.ask-field input::placeholder{color:var(--ink-3)}
.ask-field kbd{font:600 12px/1 var(--body);color:var(--ink-2);border:1px solid var(--rule);border-radius:6px;padding:4px 6px;flex:none}
.ask-sug{position:absolute;left:0;right:0;top:calc(100% + 8px);margin:0;padding:6px;list-style:none;background:var(--card);border:1px solid var(--rule);border-radius:16px;box-shadow:0 24px 50px -24px rgba(23,36,29,.45);z-index:60}
.ask-sug[hidden]{display:none}
.ask-sug a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.ask-sug a:hover,.ask-sug a[aria-selected=true]{background:var(--paper)}
.ask-sug b{font:600 15px/1.25 var(--body)}
.ask-sug span{font-size:13px;color:var(--ink-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.growth{position:absolute;left:0;right:0;bottom:-1px;height:3px;pointer-events:none}
.growth span{display:block;height:3px;width:0;background:linear-gradient(90deg,var(--moss),var(--lichen) 70%,var(--resin));border-radius:0 3px 3px 0}
.theme-toggle.in-nav{position:static;width:40px;height:40px;box-shadow:none;border:1px solid var(--rule);background:var(--card)}
.mnav{top:calc(100% + 8px)}
@media (max-width:900px){.top nav a:not(.btn):not(.menu-toggle){display:none}.top nav{gap:10px}.menu-toggle{display:grid}}
@media (max-width:640px){
  .top-in{height:64px;gap:10px;padding:0 16px}
  .top .brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ask-field kbd{display:none}
  .theme-toggle.in-nav{width:36px;height:36px}
  .ask-field{padding-left:12px;gap:8px}
}
@media (max-width:420px){.top nav>.btn{display:none}}

/* footer */
footer.foot{position:relative;z-index:1;background:var(--night);color:var(--night-ink);padding:72px 0 40px;border:0;font-size:15px;margin-top:0}
.foot .wrap{display:flex;flex-direction:column;gap:48px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px}
.foot-brand{flex:1 1 300px;max-width:26rem}
.foot-logo{display:flex;align-items:center;gap:12px;font:700 26px/1.1 var(--display);margin-bottom:14px;color:var(--night-ink);text-decoration:none}
.foot-logo svg{width:34px;height:34px}
.foot-brand p{margin:0 0 22px;color:var(--night-ink2)}
.foot .btn{background:var(--night-seed);border-color:var(--night-seed);color:#101813!important}
.foot .btn:hover{background:#F0BD5E;border-color:#F0BD5E}
.foot-cols{display:flex;flex-wrap:wrap;gap:32px 56px}
.foot-col{display:flex;flex-direction:column;gap:10px;min-width:130px}
.foot-col h2{margin:0;font:600 13px/1.4 var(--body);color:var(--night-accent)}
.foot-col a{color:var(--night-ink);text-decoration:none}
.foot-col a:hover{text-decoration:underline;text-decoration-color:var(--night-seed);text-underline-offset:4px}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--night-rule);font-size:13px;color:var(--night-ink2)}
.foot-bottom a{color:var(--night-ink2)}
.foot-bottom nav{display:flex;gap:20px}

@media (prefers-reduced-motion:reduce){.growth span{transition:none}}
@media (min-width:641px) and (max-width:900px){.top .mnav:not([hidden]){display:block!important}}
@media (min-width:901px){.top .mnav{display:none!important}}
/* sticky offsets under the sticky header */
:root{--hdr:72px}
@media (max-width:640px){:root{--hdr:64px}}
html{scroll-padding-top:calc(var(--hdr) + 16px)}
.aside-card,.toc,.rail-sticky{top:calc(var(--hdr) + 20px)}
.toc,.rail-sticky{max-height:calc(100vh - var(--hdr) - 40px);overflow-y:auto;scrollbar-width:thin}
.aowb-bar{top:var(--hdr)}
.toc,.rail-sticky{padding-bottom:20px}.rail-sticky{padding-left:12px;padding-right:12px;margin-left:-12px;margin-right:-12px}
/* article TOC: 5-item window that follows the reader */
.toc-win{position:relative;overflow:hidden;transition:height .35s cubic-bezier(.2,.8,.2,1)}
.toc-win .toc-list{transition:transform .35s cubic-bezier(.2,.8,.2,1);will-change:transform}
.toc-win.fade-top{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22px);mask-image:linear-gradient(to bottom,transparent 0,#000 22px)}
.toc-win.fade-bot{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent 100%)}
.toc-win.fade-top.fade-bot{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%)}
.toc-more{display:flex;align-items:center;gap:8px;width:100%;margin:8px 0 0;padding:10px 0 2px;border:0;border-top:1px solid var(--rule);background:none;cursor:pointer;font:600 .85rem/1.2 var(--body);color:var(--moss)}
.toc-more:hover{color:var(--ink)}
.toc-more i{width:7px;height:7px;border-right:1.75px solid currentColor;border-bottom:1.75px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.toc-more[aria-expanded=true] i{transform:rotate(225deg) translateY(-1px)}
@media (prefers-reduced-motion:reduce){.toc-win,.toc-win .toc-list{transition:none}}
/* readiness checker: user-agent markdown is flagged, not praised */
.ar-m-st.ua_md{color:#8A6420;background:var(--resin-soft)}
html[data-theme=dark] .ar-m-st.ua_md{color:var(--resin);background:color-mix(in srgb,var(--resin) 16%,transparent)}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .ar-m-st.ua_md{color:var(--resin);background:color-mix(in srgb,var(--resin) 16%,transparent)}}
