/* GrantPilot Africa — one stylesheet. Light default, dark via [data-theme=dark]. */
@font-face{font-family:"Display";src:url(/assets/serif.woff2) format("woff2");font-weight:400;font-style:normal;font-display:optional}
:root{
 --bg:#F6F4EE;--surface:#FFFFFF;--sunk:#EFECE3;--ink:#15191E;--ink-2:#4A515B;--line:#DAD6CC;--line-2:#C9C4B8;
 --brand:#0E5A3A;--brand-ink:#0A4029;--brand-soft:#E3EFE8;--on-brand:#FFFFFF;--accent:#9A5414;--accent-soft:#F5E9DA;
 --open:#0E5A3A;--upcoming:#1F4E9A;--closed:#5E6672;--paused:#8A5A00;--unverified:#A33A1F;--danger:#A33A1F;
 --focus:#1F4E9A;--radius:10px;--radius-s:6px;--shadow:0 1px 2px rgba(20,25,30,.06),0 4px 16px rgba(20,25,30,.05);
 --serif:"Display","Iowan Old Style","Palatino Linotype",Georgia,serif;
 --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
 --wrap:1160px;--gut:clamp(16px,4.5vw,20px);color-scheme:light}
[data-theme=dark]{--bg:#0F1412;--surface:#161C19;--sunk:#121815;--ink:#ECEFEA;--ink-2:#A9B2AC;--line:#2A322E;--line-2:#39433E;
 --brand:#5FC79A;--brand-ink:#8BDDB8;--brand-soft:#173126;--on-brand:#0F1412;--accent:#E3A55A;--accent-soft:#2E2417;
 --open:#5FC79A;--upcoming:#7AA7F0;--closed:#98A2AD;--paused:#E0B04A;--unverified:#F08A6E;--danger:#F08A6E;--focus:#7AA7F0;
 --shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--brand);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--brand-ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);color:var(--ink);padding:8px 12px;z-index:100;border:2px solid var(--focus)}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(var(--gut),env(safe-area-inset-left));padding-right:max(var(--gut),env(safe-area-inset-right))}
.ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3{font-weight:400;line-height:1.08;margin:0 0 .4em;letter-spacing:-.01em}
h1,.h1{font-family:var(--serif);font-size:clamp(2.35rem,6.4vw,4.4rem)}
h2,.h2{font-family:var(--serif);font-size:clamp(1.8rem,4.2vw,2.7rem)}
h3,.h3{font-family:var(--sans);font-size:1.06rem;line-height:1.3}
p{margin:0 0 1em}
.lede{color:var(--ink-2);max-width:40em}
.muted{color:var(--ink-2)}
.small{font-size:.875rem}
.eyebrow{font:600 .75rem/1.2 var(--sans);text-transform:uppercase;margin:0 0 .9rem;gap:.5rem;align-items:center}
.num{font-variant-numeric:tabular-nums}
em.serif,.serif{font-style:normal}
/* header */
.hdr{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(6px)}
.hdr .wrap{display:flex;align-items:center;gap:16px;height:60px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:-.01em;font-size:1.06rem;white-space:nowrap}
.logo svg{width:28px;height:28px}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav a{color:var(--ink);text-decoration:none;padding:8px 11px;font-size:.94rem;white-space:nowrap}
.nav a:hover{background:var(--sunk)}
.nav a[aria-current=page]{color:var(--brand);font-weight:600}
.iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;border:1px solid transparent;background:none;color:var(--ink);cursor:pointer}
.iconbtn:hover{background:var(--sunk)}
.menubtn{display:none}
@media (max-width:900px){.nav{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);padding:8px 12px 14px}
 .nav.open{display:flex}.nav a{padding:13px 10px;font-size:1rem}.menubtn{display:inline-grid;margin-left:auto}.hdr .theme{margin-left:0}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:0 18px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:600 .97rem/1 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--ink-2);color:var(--ink)}
.btn.primary{color:var(--on-brand)}
.btn.primary:hover{border-color:var(--brand-ink);color:var(--on-brand)}
.btn.ghost{background:none;border-color:transparent}
.btn.ghost:hover{background:var(--sunk)}
.btn.sm{min-height:38px;padding:0 12px;font-size:.88rem}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btnrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* hero */

.hero-grid{display:grid}

@media (max-width:900px){.hero{padding-top:28px}}
.ledger{background:var(--surface);border:1px solid var(--line)}
.ledger-h{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:.82rem;color:var(--ink-2)}
.ledger-h b{color:var(--ink)}
.ledger ol{list-style:none;margin:0;padding:0}
.ledger li{border-bottom:1px solid var(--line)}
.ledger li:last-child{border-bottom:0}
.ledger a{display:grid;text-decoration:none;color:var(--ink)}
.ledger a:hover{background:var(--sunk)}
.ledger .t{font-weight:600;line-height:1.3}
.ledger .f{font-size:.8rem;color:var(--ink-2);grid-column:1}
.ledger .d{grid-row:1/3;text-align:right;font:600 .82rem/1.25 var(--sans);font-variant-numeric:tabular-nums;align-self:center}
.ledger .d small{display:block;font-weight:400;color:var(--ink-2)}
/* sections */

.sec:last-of-type{border-bottom:0}
.sec-h{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}
@media (max-width:800px){.sec-h{grid-template-columns:1fr}}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.steps li{border-right:1px solid var(--line);margin-right:18px}

@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}.steps li{border-right:0;border-bottom:1px solid var(--line);margin-right:0;display:grid}.steps .n{grid-row:1/3}}
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stats div{border-right:1px solid var(--line)}

.stats b{display:block;font-variant-numeric:tabular-nums}
.stats span{font-size:.85rem;color:var(--ink-2)}
@media (max-width:700px){.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n/**/+2){border-bottom:1px solid var(--line)}}
.rules{display:grid;grid-template-columns:repeat(3,1fr)}
.rules div{padding-top:14px}
.rules .ico{width:22px;height:22px;color:var(--brand);margin-bottom:10px}
@media (max-width:800px){.rules{grid-template-columns:1fr;gap:18px}}
.band{display:flex;align-items:center;justify-content:space-between}
.band h2{max-width:16em}

/* page head */

.phead h1{font-size:clamp(2rem,5vw,3.2rem)}
.crumbs{font-size:.85rem;color:var(--ink-2);margin-bottom:12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.crumbs a{color:var(--ink-2)}
/* finder */
.finder{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;padding-top:24px;padding-bottom:56px}
.finder>*,.detail>*{min-width:0}
@media (max-width:900px){.finder{grid-template-columns:minmax(0,1fr);gap:12px}}
.searchbar{display:flex;gap:8px;align-items:center;border:1px solid var(--line-2);padding:0 6px 0 12px;min-height:50px}
.searchbar:focus-within{outline:3px solid var(--focus);outline-offset:1px}
.searchbar input{flex:1;border:0;background:none;color:var(--ink);font:inherit;min-height:46px;outline:none;min-width:0}
.filters fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:14px 0}
.filters legend{font-weight:650;font-size:.9rem;padding:0;margin-bottom:8px;float:left;width:100%}
.filters legend+*{clear:both}
.chk{display:flex;align-items:center;gap:10px;min-height:36px;font-size:.93rem;cursor:pointer}
.chk input{width:24px;height:24px;flex:none;accent-color:var(--brand);margin:0}
.chk .c{margin-left:auto;color:var(--ink-2);font-size:.8rem;font-variant-numeric:tabular-nums}
.ftoggle{display:none}
@media (max-width:900px){.ftoggle{display:inline-flex}.filters{display:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px 14px}.filters.open{display:block}}
.resbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:14px 0 6px}
select,input[type=text],input[type=number],input[type=email],input[type=date],textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);min-height:44px;padding:8px 10px;max-width:100%}
textarea{min-height:120px;width:100%;resize:vertical;line-height:1.5}
label.f{display:block;font-weight:600;font-size:.93rem;margin:0 0 6px}
.hint{font-size:.83rem;color:var(--ink-2);margin:-2px 0 8px}
.list{list-style:none;margin:0;padding:0}
.opp{border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px}
.opp h3{margin:0;font-size:1.05rem}
.opp h3 a{color:var(--ink);text-decoration:none}
.opp h3 a:hover{color:var(--brand);text-decoration:underline}
.opp .by{font-size:.86rem;color:var(--ink-2)}
.opp .meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.84rem;color:var(--ink-2);grid-column:1}
.opp .meta span{display:inline-flex;gap:5px;align-items:center}
.opp .side{grid-column:2;grid-row:1/4;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.opp .amt{font-size:.88rem;grid-column:1}
@media (max-width:560px){.opp{grid-template-columns:minmax(0,1fr)}.opp .side{grid-column:1;grid-row:auto;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;text-align:left}}
.status{display:inline-flex;align-items:center;gap:6px;font:600 .74rem/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.s-Open{color:var(--open)}.s-Upcoming{color:var(--upcoming)}.s-Closed{color:var(--closed)}.s-Paused{color:var(--paused)}.s-Unverified{color:var(--unverified)}
.dl{font:600 .86rem/1.2 var(--sans);font-variant-numeric:tabular-nums}
.dl small{display:block;font-weight:400;color:var(--ink-2)}
.tag{background:var(--sunk)}
.empty{padding:36px 0;color:var(--ink-2)}
/* detail */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;padding-top:28px;padding-bottom:60px}
@media (max-width:900px){.detail{grid-template-columns:minmax(0,1fr);gap:24px}}
.facts{margin:0;display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line)}
.facts dt,.facts dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:.86rem;color:var(--ink-2);padding-right:12px}
@media (max-width:560px){.facts{grid-template-columns:1fr}.facts dt{border-bottom:0;padding-bottom:0}.facts dd{padding-top:2px}}
.panel{background:var(--surface);border:1px solid var(--line);padding:18px}
.panel+.panel{margin-top:14px}
.seal{display:flex;gap:10px;align-items:flex-start;font-size:.88rem}
.seal .ico{color:var(--brand);width:22px;height:22px}
blockquote.ev{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--line-2);background:var(--sunk);font-size:.88rem;color:var(--ink-2)}
/* forms / intake */
.stepper{display:flex;gap:4px;margin:18px 0 6px}
.stepper span{flex:1;background:var(--line)}

.qcard{padding:18px 0;border-bottom:1px solid var(--line)}
.qcard:last-child{border-bottom:0}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice span{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-size:.93rem;line-height:1.25}
.choice input:checked+span{color:var(--on-brand)}
.choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
@media (max-width:640px){.formgrid{grid-template-columns:1fr}}
.narrow{max-width:760px}
.navrow{display:flex;justify-content:space-between;gap:10px;padding:22px 0 50px;position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 70%,transparent)}
/* matches / report */

.match-h{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.fitlabel{font:600 .78rem/1 var(--sans);text-transform:uppercase;letter-spacing:.06em;padding:6px 9px;border-radius:6px}
.fit-strong{background:var(--brand-soft);color:var(--brand)}
.fit-possible{background:var(--accent-soft);color:var(--accent)}
.fit-long{background:var(--sunk);color:var(--ink-2)}
.why{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
@media (max-width:700px){.why{grid-template-columns:1fr}}
.why ul{margin:0;padding-left:0;list-style:none}
.why li{display:flex;gap:8px;padding:4px 0;font-size:.92rem}
.why li .ico{margin-top:3px}
.ok{color:var(--open)}.warn{color:var(--accent)}.bad{color:var(--danger)}
.dims{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);overflow:hidden;background:var(--surface)}
.dims>div{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
@media (max-width:800px){.dims{grid-template-columns:1fr}.dims>div{border-right:0}}
.meter{display:flex;gap:3px;margin:8px 0}
.meter i{flex:1;background:var(--line)}

.pill{display:inline-block;font:600 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
/* tracker */
.trk{border:1px solid var(--line);background:var(--surface);margin-bottom:14px}
.trk>summary{list-style:none;cursor:pointer;padding:16px;display:grid;grid-template-columns:1fr auto;gap:6px 12px}
.trk>summary::-webkit-details-marker{display:none}
.trk .body{padding:0 16px 16px;border-top:1px solid var(--line)}
.wf{list-style:none;margin:12px 0;padding:0;counter-reset:wf}
.wf li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px dashed var(--line)}
.wf li:last-child{border-bottom:0}
.wf input{width:20px;height:20px;accent-color:var(--brand);margin:2px 0 0}
.wf .due{font-size:.8rem;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.wf li>div,.wf li>label{min-width:0;overflow-wrap:anywhere}
.why li span,.why li{min-width:0;overflow-wrap:anywhere}
.wf li.done .t{text-decoration:line-through;color:var(--ink-2)}
/* studio */
.qrow{display:grid;grid-template-columns:1fr 110px 44px;gap:8px;align-items:start;margin-bottom:10px}
.qrow textarea{min-height:64px}
@media (max-width:560px){.qrow{grid-template-columns:1fr 90px 44px}}
.draft{border-top:1px solid var(--line);padding:16px 0}
.draft .wc{font:600 .8rem/1 var(--sans);font-variant-numeric:tabular-nums;padding:5px 8px;border-radius:6px;background:var(--brand-soft);color:var(--brand)}
.draft .wc.over{background:var(--accent-soft);color:var(--danger)}
.draft [contenteditable]{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px;margin:10px 0;white-space:pre-wrap;line-height:1.6}
mark.as{background:var(--accent-soft);color:var(--accent);padding:0 3px;border-radius:3px}
.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--sunk);font-size:.9rem;margin:12px 0}
.notice .ico{margin-top:2px}
.notice.warn{background:var(--accent-soft);color:var(--ink)}
.notice.warn .ico{color:var(--accent)}
/* chat */
.chatfab{position:fixed;right:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 18px;border-radius:999px;border:0;font:600 .95rem/1 var(--sans);cursor:pointer}

@media (max-width:640px){.chatfab{width:48px;height:48px;min-height:48px;padding:0;justify-content:center;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));right:max(12px,calc(env(safe-area-inset-right) + 8px))}.chatfab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
body.nofab .chatfab{display:none}
.facts dd{overflow-wrap:anywhere}
.match a,.opp a{overflow-wrap:anywhere}
.chatpanel{position:fixed;right:16px;bottom:16px;z-index:70;width:min(420px,calc(100vw - 20px));height:min(640px,calc(100dvh - 90px));background:var(--surface);border:1px solid var(--line-2);box-shadow:0 18px 50px rgba(0,0,0,.22);display:none;flex-direction:column;overflow:hidden}
.chatpanel.open{display:flex}
@media (max-width:560px){.chatpanel{right:0;left:0;bottom:0;width:100%;height:calc(100dvh - 56px);border-radius:14px 14px 0 0}}
.chat-h{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border-bottom:1px solid var(--line)}
.chat-h b{font-size:.98rem}
.chat-h .sp{flex:1}
.chatlog{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
.chatlog>*{flex:none}
.chatlog>:first-child{margin-top:auto}
.msg{max-width:92%;font-size:.94rem;line-height:1.5}
.msg.u{align-self:flex-end;color:var(--on-brand);padding:9px 13px;border-radius:14px 14px 4px 14px}
.msg.a{align-self:flex-start}
.msg.a .bub{background:var(--sunk);padding:10px 13px;border-radius:14px 14px 14px 4px;white-space:pre-wrap}
.cite{display:block;margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;color:var(--ink);font-size:.86rem}
.cite b{display:block;font-size:.9rem}
.cite small{color:var(--ink-2)}
.act{margin-top:8px;padding:12px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft);font-size:.88rem}
.act .btnrow{margin-top:8px}
.sugg{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}
.sugg button{font:inherit;font-size:.83rem;padding:7px 11px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left}
.chatform{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}
.chatform textarea{min-height:46px;height:46px;max-height:120px;flex:1;resize:none;padding:11px 12px}
.engine{font-size:.74rem;color:var(--ink-2);padding:0 14px 6px}
#chathost{min-height:534px;min-height:calc(max(480px,100dvh - 190px) + 54px)}
.chatpage .chatpanel{position:static;display:flex;width:100%;height:auto;min-height:min(420px,calc(100dvh - 150px));max-height:max(420px,min(760px,calc(100dvh - 150px)));box-shadow:none;border-radius:var(--radius)}
.chatpage .chatlog{overscroll-behavior:auto}
/* footer */
.ftr{padding:36px 0 96px;font-size:.88rem;color:var(--ink-2)}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}
.ftr a{color:var(--ink-2);display:block;padding:4px 0}
@media (max-width:700px){.ftr-grid{grid-template-columns:1fr 1fr}.ftr-grid>div:first-child{grid-column:1/-1}}
.prose{max-width:720px;padding-top:28px;padding-bottom:60px}
.prose h2{font-size:1.7rem;margin-top:1.6em}
.draftnote{border:1px dashed var(--accent);background:var(--accent-soft);padding:12px 14px;border-radius:8px;margin:18px 0}
table.t{width:100%;border-collapse:collapse;font-size:.92rem}
table.t th,table.t td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
table.t th{font-size:.8rem;color:var(--ink-2);font-weight:600}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:.9rem;z-index:90}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.hdr,.ftr,.chatfab,.chatpanel,.noprint,.navrow{display:none!important}body{background:#fff;color:#000}.wrap{max-width:none}}

.brow{display:grid;grid-template-columns:2fr 1.4fr 1fr .7fr 1fr 44px;gap:8px;align-items:end;padding:10px 0;border-bottom:1px dashed var(--line)}
.brow input,.brow select{width:100%}
@media (max-width:640px){.brow{grid-template-columns:1fr 1fr}.brow>div:first-child{grid-column:1/-1}.brow .iconbtn{justify-self:end}}

/* W94: focus for buttons wrapping hidden file inputs, field errors, offline banner, studio completion form */
label.btn:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.ferr{margin:6px 0 0;font-size:.86rem;color:var(--danger);min-height:0}
.ferr:empty{display:none}
[aria-invalid="true"]{border-color:var(--danger)!important}
.netnote{display:flex;gap:10px;align-items:center;justify-content:center;padding:9px 16px;background:var(--ink);color:var(--bg);font-size:.9rem;text-align:left}
.netnote .ico{flex:none}
.complete{border:1px solid var(--brand);background:var(--brand-soft);padding:16px;margin:18px 0}
.complete h3{margin:0 0 4px}
.complete .qcard{padding:8px 0}
.retry{margin-left:8px}
main{min-height:100vh;min-height:100svh}
#intake:empty,#studio:empty,#trk:empty,#prof:empty,#tool:empty,#report:empty{min-height:60vh}

/* W95 mobile edges: long text wraps instead of being cut, toolbars stack, the Assistant button steps aside while you read */
h1,h2,h3,.lede,.opp .by,.opp .amt,.opp .meta span,.facts dd,.cite,.msg,.tag{overflow-wrap:anywhere}
td,th{overflow-wrap:anywhere}
/* W110 (D-05): the pricing table wraps between words (never mid-word) and stacks as one card per service on phones */
.tstack td,.tstack th{overflow-wrap:break-word}
@media (max-width:560px){.tstack,.tstack tbody,.tstack tr,.tstack td{display:block;width:100%}.tstack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .tstack tr{padding:12px 14px;margin:0 0 12px;border:1px solid var(--card-line);border-radius:var(--r-lg,16px);background:var(--surface)}
 .tstack td{padding:4px 0;border:0}.tstack td::before{content:attr(data-label);display:block;font-size:.78rem;font-weight:650;color:var(--ink-2)}
 .tstack td:first-child{font-weight:700;font-size:1rem}.tstack td:first-child::before{content:none}}
.opp .side .status,.opp .side .fitlabel{white-space:nowrap}
.opp .meta span{min-width:0}
.searchbar{max-width:100%}
select,input,textarea{max-width:100%}
@media (max-width:480px){.resbar{flex-direction:column;align-items:stretch;gap:8px}.resbar .btnrow{justify-content:space-between;gap:8px 12px}.resbar select{flex:1 1 150px;min-width:0}}
.chatfab{transition:transform .2s ease,opacity .2s ease}
.chatfab.away{transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none}
.chatfab.away:focus-visible{transform:none;opacity:1;pointer-events:auto}
@media (max-width:640px){.ftr{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}

/* ===================== W97 visual layer: modern platform look (depth, icon tiles, illustrations, motion) ===================== */
:root{--r-xl:26px;--r-lg:20px;--r-md:16px;--mint:#EAF2EC;--art-bg:#EAF2EC;
 --sh-1:0 1px 2px rgba(16,42,30,.06),0 3px 10px -2px rgba(16,42,30,.07);
 --sh-2:0 1px 2px rgba(16,42,30,.06),0 14px 30px -12px rgba(16,42,30,.25);
 --sh-3:0 2px 6px rgba(16,42,30,.07),0 30px 60px -24px rgba(16,42,30,.35);
 --card-line:color-mix(in srgb,var(--line) 75%,transparent);
 --g-brand:linear-gradient(135deg,#1A8A5C 0%,#0E5A3A 58%,#0A4029 100%);
 --g-deep:linear-gradient(135deg,#13764C 0%,#0E5A3A 50%,#0A3D27 100%);
 --tint:color-mix(in srgb,var(--brand-soft) 60%,var(--bg))}
[data-theme=dark]{--sh-1:0 1px 2px rgba(0,0,0,.45);--sh-2:0 1px 2px rgba(0,0,0,.45),0 14px 32px -14px rgba(0,0,0,.7);--sh-3:0 2px 6px rgba(0,0,0,.5),0 30px 60px -24px rgba(0,0,0,.8);
 --card-line:var(--line);--g-brand:linear-gradient(135deg,#86E0B8 0%,#5FC79A 55%,#46AE82 100%);--art-bg:#DDEBE2;--tint:color-mix(in srgb,var(--brand-soft) 55%,var(--bg))}
body{line-height:1.6}
/* type: modern sans display, stronger hierarchy */
h1,.h1,h2,.h2{font-family:var(--sans);font-weight:780;letter-spacing:-.028em;line-height:1.07}
h1,.h1{font-size:clamp(2.05rem,5.4vw,3.75rem)}
h2,.h2{font-size:clamp(1.55rem,3.4vw,2.35rem)}
h3,.h3{font-weight:700;letter-spacing:-.01em}
.phead h1{font-size:clamp(1.95rem,4.6vw,3rem)}
.lede{font-size:1.1rem;line-height:1.6}
em.serif,.serif{font-family:var(--sans);font-weight:700}
.eyebrow{display:inline-flex;width:fit-content;max-width:100%;padding:6px 12px 6px 10px;border-radius:999px;background:color-mix(in srgb,var(--brand-soft) 85%,var(--surface));color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 18%,transparent);letter-spacing:.07em;font-size:.72rem;box-shadow:var(--sh-1)}
/* glass header (blur capped at 10px, solid fallback) */
.hdr{background:color-mix(in srgb,var(--bg) 84%,transparent);border-bottom-color:var(--card-line)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.hdr{-webkit-backdrop-filter:saturate(1.5) blur(10px);backdrop-filter:saturate(1.5) blur(10px)}}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.hdr{background:var(--bg)}}
.logo svg{border-radius:8px;box-shadow:0 4px 10px -4px rgba(14,90,58,.6)}
.nav a{border-radius:10px}
.nav a[aria-current=page]{background:color-mix(in srgb,var(--brand-soft) 80%,transparent);box-shadow:none;border-radius:10px}
@media (max-width:900px){.nav{background:var(--surface);box-shadow:var(--sh-2)}.nav a[aria-current=page]{box-shadow:inset 3px 0 0 var(--brand)}}
/* buttons */
.btn{border-radius:12px;box-shadow:var(--sh-1);transition:transform .18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:var(--sh-2)}
.btn:active{transform:translateY(0);box-shadow:var(--sh-1)}
.btn.primary{background:var(--g-brand);border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 22px -10px rgba(14,90,58,.7)}
.btn.primary:hover{background:var(--g-brand);filter:brightness(1.07) saturate(1.05)}
.btn.ghost,.btn.ghost:hover{box-shadow:none;transform:none}
.btn.lg{min-height:52px;padding:0 22px;font-size:1rem;border-radius:14px}
/* icon tiles: raised 3D look (gradient, inner highlight, soft drop shadow) */
.itile{--tc1:#3CC488;--tc2:#0E5A3A;position:relative;display:inline-grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;color:#fff;
 background:linear-gradient(150deg,var(--tc1) 0%,var(--tc2) 100%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -3px 6px rgba(0,0,0,.18),0 8px 16px -8px var(--tc2),0 2px 4px rgba(16,42,30,.14)}
.itile::after{content:"";position:absolute;left:4px;right:4px;top:3px;height:45%;border-radius:11px 11px 10px 10px;background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,0));pointer-events:none}
.itile .ico{width:22px;height:22px;stroke-width:2.1;position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.itile.sm{width:38px;height:38px;border-radius:12px}.itile.sm .ico{width:19px;height:19px}
.itile.xs{width:26px;height:26px;border-radius:8px}.itile.xs .ico{width:14px;height:14px}.itile.xs::after{border-radius:6px;left:2px;right:2px;top:2px}
.itile.lg{width:64px;height:64px;border-radius:19px}.itile.lg .ico{width:30px;height:30px}
.t-grant{--tc1:#3CC488;--tc2:#0E5A3A}.t-prize{--tc1:#F5BE55;--tc2:#B4621A}.t-acc{--tc1:#55C1D2;--tc2:#145F78}
.t-fel{--tc1:#A390E8;--tc2:#4C3B9E}.t-loan{--tc1:#8ED36F;--tc2:#3B7A23}.t-other{--tc1:#EE9575;--tc2:#A3452B}
/* hero */
.hero{position:relative;overflow:hidden;overflow:clip;isolation:isolate;padding:60px 0 72px;border-bottom:0;
 background:radial-gradient(1200px 520px at 85% -10%,color-mix(in srgb,var(--brand-soft) 90%,transparent),transparent 70%),linear-gradient(180deg,var(--tint),var(--bg) 85%)}
.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.hero h1{max-width:13em}
.hero h1 i{font-style:normal;color:var(--brand);background:linear-gradient(transparent 72%,color-mix(in srgb,var(--brand-soft) 95%,transparent) 72%);padding:0 .04em}
[data-theme=dark] .hero h1 i{background:linear-gradient(transparent 74%,color-mix(in srgb,var(--brand) 22%,transparent) 74%)}
.hero .btnrow{margin-top:26px}
.trust{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.9rem;color:var(--ink-2)}
.trust li{display:inline-flex;gap:7px;align-items:center}
.trust .ico{color:var(--brand)}
.hero-art{position:relative;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.hero-art.tilting{transition:transform .15s linear}
.art-frame{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--art-bg);box-shadow:var(--sh-3),inset 0 0 0 1px rgba(255,255,255,.5);aspect-ratio:1280/853}
.art-frame img{width:100%;height:100%;object-fit:cover}
.chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:9px 13px;border-radius:14px;font:650 .84rem/1.25 var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--sh-2);transform:translateZ(40px)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.chip{background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}
.chip .ico{color:var(--brand);width:18px;height:18px}
.chip.c1{left:12px;bottom:14%}.chip.c2{right:12px;top:8%}.chip.c3{right:8%;bottom:-16px}
@media (min-width:1120px){.chip.c1{left:-26px}.chip.c2{right:-20px}}
@media (max-width:900px){.hero{padding:30px 0 44px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}.hero-art{max-width:560px;margin:8px auto 0;width:100%}}
@media (max-width:560px){.chip{font-size:.76rem;padding:7px 10px;gap:6px}.chip .ico{width:15px;height:15px}
 .chip.c1{left:10px;bottom:10px}.chip.c2{right:10px;top:10px}.chip.c3{display:none}
 .hero .btnrow .btn{width:100%}.trust{font-size:.86rem}}
/* sections */
.sec{border-bottom:0;padding:64px 0}
.sec.alt{background:linear-gradient(180deg,var(--tint),color-mix(in srgb,var(--tint) 40%,var(--bg)))}
.sec-soon{padding-top:8px}
.phead+.finder{padding-top:8px}
.sec-h{margin-bottom:32px}
.sec-h .eyebrow{margin-bottom:14px}
@media (max-width:800px){.sec{padding:44px 0}.sec-soon{padding-top:4px}}
/* closing-soon ledger as a raised card */
.ledger{border-radius:var(--r-lg);border-color:var(--card-line);box-shadow:var(--sh-2);overflow:hidden}
.ledger-h{padding:16px 20px;align-items:center;gap:12px;flex-wrap:wrap}
.ledger-h b{display:inline-flex;gap:8px;align-items:center;font-size:1rem}
.ledger-h b .ico{color:var(--brand)}
.ledger a{grid-template-columns:auto minmax(0,1fr) auto;gap:2px 14px;padding:14px 20px;align-items:center;transition:none}
.ledger a .itile{grid-row:1/3;grid-column:1}
.ledger .t,.ledger .f{grid-column:2}
.ledger .d{grid-column:3}
.ledger .t{font-size:1rem}
.ledger-f{border-top:1px solid var(--line);border-bottom:0;background:color-mix(in srgb,var(--sunk) 50%,var(--surface))}
.ledger-f a{display:inline-flex;gap:8px;align-items:center;padding:0;font-weight:650;font-size:.92rem}
@media (max-width:480px){.ledger a{padding:13px 14px;gap:2px 12px}.ledger-h{padding:14px}}
/* feature cards with illustrations */
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fcard{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-lg);text-decoration:none;color:var(--ink);box-shadow:var(--sh-1);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.fcard.tilting{transition:transform .15s linear}
.fcard:hover{--ty:-4px;box-shadow:var(--sh-3);border-color:color-mix(in srgb,var(--brand) 28%,var(--line));color:var(--ink)}
.fart{display:block;aspect-ratio:4/3;background:var(--art-bg);overflow:hidden}
.fart img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.fcard:hover .fart img{transform:scale(1.04)}
.fbody{position:relative;display:flex;flex-direction:column;gap:6px;padding:0 20px 20px}
.fbody .itile{margin-top:-19px;margin-bottom:8px}
.fbody .h3{font-size:1.12rem}
.fbody .muted{font-size:.93rem;line-height:1.5}
.go{display:inline-flex;gap:6px;align-items:center;margin-top:6px;font-weight:650;font-size:.9rem;color:var(--brand)}
.go .ico{transition:transform .2s ease}
.fcard:hover .go .ico,.tcard:hover .go .ico{transform:translateX(3px)}
@media (max-width:900px){.features{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width:560px){.features{grid-template-columns:minmax(0,1fr);gap:12px}
 .fcard{flex-direction:row;align-items:stretch}.fart{flex:0 0 112px;aspect-ratio:auto;min-height:112px}
 .fbody{padding:14px 14px 14px 14px;gap:3px;min-width:0}.fbody .itile{display:none}.fbody .h3{font-size:1.02rem}.fbody .muted{font-size:.88rem}.go{margin-top:2px}}
/* how it works: numbered raised cards */
.steps{border-top:0;gap:16px}
.steps li{position:relative;background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-lg);padding:22px 20px 16px;margin:0;box-shadow:var(--sh-1)}
.steps li:last-child{border-right:1px solid var(--card-line)}
.steps .n{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;margin-bottom:14px;font:800 1.15rem/1 var(--sans);color:var(--on-brand);background:var(--g-brand);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -3px 6px rgba(0,0,0,.18),0 8px 16px -8px rgba(14,90,58,.8)}
.steps li p{margin:0}
@media (max-width:900px){.steps li:nth-child(2){border-right:1px solid var(--card-line)}}
@media (max-width:560px){.steps{gap:10px}.steps li{border:1px solid var(--card-line);padding:16px;grid-template-columns:44px minmax(0,1fr);column-gap:14px}.steps li:last-child{border-bottom:1px solid var(--card-line)}.steps .n{margin:0;font-size:1.05rem}}
/* stats */
.stats{border:0;background:none;gap:14px;border-radius:0}
.stats div{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:20px;display:flex;flex-direction:column;gap:6px}
.stats div:last-child{border-right:1px solid var(--card-line)}
.stats .itile{margin-bottom:8px}
.stats b{font:800 2.5rem/1 var(--sans);letter-spacing:-.04em;color:var(--brand)}
@media (max-width:700px){.stats{gap:10px}.stats div:nth-child(n){border:1px solid var(--card-line)}.stats div{padding:16px}.stats b{font-size:2.1rem}}
.typechips{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.typechips li{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--sh-1);font-size:.88rem}
.typechips b{color:var(--ink-2);font-weight:650}
/* rules */
.rules{gap:18px}
.rules div{border-top:0;background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-lg);padding:22px 20px 18px;box-shadow:var(--sh-1)}
.rules .itile{margin-bottom:14px}
.rules .itile .ico{width:22px;height:22px;color:#fff;margin:0}
.rules p{margin:0}
/* CTA band */
.band{position:relative;overflow:hidden;background:var(--g-deep);color:#fff;border-radius:var(--r-xl);padding:40px;gap:28px;box-shadow:var(--sh-3);flex-wrap:nowrap}
.band::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 65%);pointer-events:none}
.band h2{color:#fff;margin:0 0 10px}
.band p{color:#E4F2EA;margin:0 0 18px;max-width:34em}
.band-k{display:inline-flex;gap:8px;align-items:center;font:700 .74rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#E9F7EF!important;margin-bottom:12px!important}
.band .btn{background:#fff;color:#0E5A3A;border-color:#fff}
.band .btn:hover{color:#0A4029}
.band-copy{position:relative;flex:1 1 auto;min-width:0}
.band-art{position:relative;flex:0 0 300px;border-radius:var(--r-lg);overflow:hidden;background:var(--art-bg);box-shadow:0 20px 40px -18px rgba(0,0,0,.5);transform:rotate(2deg)}
.band-art img{width:100%;height:auto}
@media (max-width:700px){.band{flex-direction:column;align-items:stretch;padding:26px 20px}.band-art{flex:none;width:min(260px,80%);margin:0 auto;transform:none}}
/* page heads with illustrations */
.phead{border-bottom:0;padding:40px 0 30px;background:radial-gradient(900px 360px at 92% -20%,color-mix(in srgb,var(--brand-soft) 85%,transparent),transparent 70%),linear-gradient(180deg,var(--tint),var(--bg))}
.phead.has-art>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:40px;align-items:center}
.phead-art{border-radius:var(--r-lg);overflow:hidden;background:var(--art-bg);box-shadow:var(--sh-3);aspect-ratio:4/3;
 transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.phead-art.tilting{transition:transform .15s linear}
.phead-art img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.phead{padding:28px 0 22px}.phead.has-art>.wrap{grid-template-columns:minmax(0,1fr);gap:18px}.phead-art{width:min(300px,78%);justify-self:center;order:-1}
 .art-mhide .phead-art{display:none}}
.dhead{display:flex;gap:16px;align-items:flex-start}
.dhead h1{margin-bottom:.25em}
.dhead .lede{margin:0}
@media (max-width:560px){.dhead{gap:12px}.dhead .itile.lg{width:48px;height:48px;border-radius:15px}.dhead .itile.lg .ico{width:24px;height:24px}}
.pill{border-radius:999px;padding:5px 10px;background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--sh-1)}
.status{background:var(--surface)}
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--brand-soft) 70%,var(--surface));color:var(--ink);font-size:.8rem;margin:0 6px 6px 0}
.tag .ico{width:14px;height:14px;color:var(--brand)}
/* opportunity cards (finder, Pitch Lab lists) */
.list{border-top:0;display:grid;gap:12px}
.opp{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--sh-1);transition:transform .2s ease}
.opp:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--brand) 28%,var(--line))}
.opp.has-tile{grid-template-columns:46px minmax(0,1fr) auto;column-gap:16px}
.opp.has-tile>.itile{grid-column:1;grid-row:1/5;align-self:start}
.opp.has-tile>h3,.opp.has-tile>.by,.opp.has-tile>.meta,.opp.has-tile>.amt{grid-column:2}
.opp.has-tile>.side{grid-column:3;grid-row:1/5}
.opp .amt{font-weight:600;color:var(--ink)}
.list .empty,.list .notice{list-style:none}
.list>.notice{margin:0}
@media (max-width:560px){.opp{padding:14px}.opp.has-tile{grid-template-columns:40px minmax(0,1fr);column-gap:12px}
 .opp.has-tile>.itile{width:40px;height:40px;border-radius:12px}.opp.has-tile>.itile .ico{width:20px;height:20px}
 .opp.has-tile>.side{grid-column:2;grid-row:auto;margin-top:6px;padding-top:10px;border-top:1px dashed var(--line)}}
.searchbar{border-radius:14px;box-shadow:var(--sh-1);background:var(--surface)}
.filters{border-radius:var(--r-md)}
@media (min-width:901px){.filters{position:sticky;top:76px;background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-md);padding:4px 16px 8px;box-shadow:var(--sh-1);max-height:calc(100vh - 96px);overflow:auto}}
.filters fieldset:first-child{border-top:0}
/* tools grid */
.toolgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tcard{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-1);
 transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.tcard.tilting{transition:transform .15s linear}
.tcard:hover{--ty:-3px;box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--brand) 28%,var(--line))}
.tcard h3{margin:0 0 4px}.tcard h3 a{color:var(--ink);text-decoration:none}
.tcard h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.tcard p{margin:0;font-size:.93rem}
.tcard .go{margin:0}
@media (max-width:700px){.toolgrid{grid-template-columns:minmax(0,1fr);gap:12px}.tcard{padding:16px;gap:14px}}
/* panels, report, tracker, intake */
.panel{border-radius:var(--r-md);border-color:var(--card-line);box-shadow:var(--sh-1)}
.match{border-top:0;background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-1);margin-bottom:16px}
.mh-l{display:flex;gap:14px;align-items:flex-start;min-width:0}
.mh-l>div{min-width:0}
@media (max-width:560px){.match{padding:16px}.mh-l{gap:12px}.mh-l .itile{width:40px;height:40px;border-radius:12px}.mh-l .itile .ico{width:20px;height:20px}}
.dims{border-radius:var(--r-lg);border-color:var(--card-line);box-shadow:var(--sh-1)}
.meter i{height:7px;border-radius:4px}
.meter i.on{background:var(--g-brand)}
.trk{border-radius:var(--r-md);border-color:var(--card-line);box-shadow:var(--sh-1)}
.stepper span{height:6px;border-radius:3px}
.stepper span.on{background:var(--g-brand)}
.choice span{transition:none;box-shadow:var(--sh-1)}
.choice input:checked+span{background:var(--g-brand);border-color:transparent;box-shadow:0 8px 16px -10px rgba(14,90,58,.8)}
.complete{border-radius:var(--r-md)}
.notice{border-radius:12px}
select,input[type=text],input[type=number],input[type=email],input[type=date],textarea{border-radius:10px}
.chatpanel{border-radius:var(--r-lg)}
.chatfab{background:var(--g-deep);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 24px -10px rgba(10,64,41,.7)}
.chatfab:hover{background:var(--g-deep);color:#fff;filter:brightness(1.1)}
[data-theme=dark] .chatfab{background:var(--g-brand);color:var(--on-brand)}
.msg.u{background:var(--g-brand)}
/* footer */
.ftr{border-top:1px solid var(--card-line);background:linear-gradient(180deg,var(--bg),var(--tint))}
@media (hover:none),(pointer:coarse){.fcard:hover,.tcard:hover{--ty:0}.opp:hover{transform:none}}
@media print{.chip,.hero-art,.phead-art,.band-art{display:none!important}.opp,.match,.panel{box-shadow:none}}

.detail .facts{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:4px 20px;border-top:1px solid var(--card-line)}
.detail .facts dd:last-of-type,.detail .facts dt:nth-last-of-type(1){border-bottom:0}
@media (max-width:560px){.detail .facts{padding:4px 16px}}
@media (max-width:760px){.phead-art{width:min(230px,64%)}}
.btn[hidden]{display:none}
.match h3.h2{font-size:clamp(1.15rem,2.6vw,1.45rem)!important;line-height:1.25;letter-spacing:-.015em}

/* ===================== W98 (19 Oct 2026): deeper 3D cards, clickable opportunity cards, plain type tiles, richer detail page =====================
   Depth = a static layered shadow + a coloured offset "ledge" under each card + a top highlight (bevel).
   Hover/press only animate transform and the opacity of a pre-drawn shadow layer (::before), so nothing repaints the page while it moves.
   No blur anywhere in this layer. Reduced motion: no movement at all. */
:root{--ledge:#C3D8CB;--hi:rgba(255,255,255,.95);--c-top:#FFFFFF;--c-bot:#F8FBF9;--edge-b:#C9D8CE;
 --sh-3d:inset 0 1px 0 var(--hi),0 5px 0 -1px var(--ledge),0 1px 2px rgba(16,42,30,.08),0 8px 14px -6px rgba(16,42,30,.16),0 20px 34px -18px rgba(16,42,30,.30);
 --sh-3d-up:0 8px 0 -1px var(--ledge),0 16px 24px -8px rgba(16,42,30,.20),0 34px 52px -22px rgba(16,42,30,.40)}
[data-theme=dark]{--ledge:#0B241A;--hi:rgba(255,255,255,.08);--c-top:#1C2420;--c-bot:#161C19;--edge-b:#0C110E;
 --sh-3d:inset 0 1px 0 var(--hi),0 5px 0 -1px var(--ledge),0 1px 2px rgba(0,0,0,.5),0 8px 14px -6px rgba(0,0,0,.55),0 20px 34px -18px rgba(0,0,0,.8);
 --sh-3d-up:0 8px 0 -1px var(--ledge),0 16px 24px -8px rgba(0,0,0,.6),0 34px 52px -22px rgba(0,0,0,.9)}
.opp,.tcard,.fcard,.match,.panel,.ledger,.dsec,.kf,.trk,.dims,.rules>div,.stats>div{
 background:linear-gradient(180deg,var(--c-top) 0%,var(--c-bot) 100%);border-color:var(--card-line);border-bottom-color:var(--edge-b);box-shadow:var(--sh-3d)}
.list .notice,.list .empty{box-shadow:none}
/* the hover shadow is drawn once and faded in (opacity only) */
.opp.card-link,.tcard,.fcard{position:relative;isolation:isolate}
.opp.card-link::before,.tcard::before,.fcard::before{content:"";position:absolute;inset:-1px;border-radius:inherit;box-shadow:var(--sh-3d-up);opacity:0;pointer-events:none;z-index:-1;transition:opacity .28s ease}
/* feature cards: round the art instead of clipping the card, so the lift shadow can show */
.fcard{overflow:visible}
.fcard .fart{border-radius:calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px) 0 0;overflow:hidden}
@media (max-width:560px){.fcard .fart{border-radius:calc(var(--r-lg) - 1px) 0 0 calc(var(--r-lg) - 1px)}}
/* whole opportunity card is the link (one tab stop: the title link; its ::after covers the card) */
.opp.card-link{cursor:pointer;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.opp.card-link.tilting{transition:transform .15s linear}
.opp.card-link h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r-md);z-index:1}
.opp.card-link h3 a:focus-visible{outline:0}
.opp.card-link h3 a:focus-visible::after{outline:3px solid var(--focus);outline-offset:3px}
.opp.card-link .more{display:inline-flex;align-items:center;gap:4px;font:650 .82rem/1 var(--sans);color:var(--brand);white-space:nowrap}
.opp.card-link .more .ico{width:15px;height:15px;transition:transform .2s ease}
@media (max-width:560px){.opp.card-link .more{margin-left:auto}}
@media (hover:hover) and (pointer:fine){
 .opp.card-link:hover,.tcard:hover,.fcard:hover{--ty:-5px;border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}
 .opp.card-link:hover::before,.tcard:hover::before,.fcard:hover::before{opacity:1}
 .opp.card-link:hover .more .ico{transform:translateX(3px)}
 .opp.card-link:hover h3 a{color:var(--brand)}
}
/* the static depth stays on hover (W97's hover shadow is replaced by the faded ::before layer) */
.opp:hover,.tcard:hover,.fcard:hover{box-shadow:var(--sh-3d)}
/* press: sinks onto its ledge (touch and mouse) */
.opp.card-link:active,.tcard:active,.fcard:active{--ty:2px;--rx:0deg;--ry:0deg}
.opp.card-link:active::before,.tcard:active::before,.fcard:active::before{opacity:0}
@media (hover:none),(pointer:coarse){.opp.card-link:active,.tcard:active,.fcard:active{--ty:3px;transition-duration:.15s}}
.opp.card-link:focus-within::before,.tcard:focus-within::before{opacity:1}
/* tool tiles: the raised green tile (same as Budget builder) gets a little more lift */
.tcard .itile,.fcard .itile{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -3px 6px rgba(0,0,0,.2),0 3px 0 -1px var(--tc2),0 10px 18px -8px var(--tc2),0 2px 4px rgba(16,42,30,.16)}
/* plain type tiles: coloured, no icon */
.itile.plain{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -4px 8px rgba(0,0,0,.18),0 3px 0 -1px var(--tc2),0 8px 16px -8px var(--tc2),0 2px 4px rgba(16,42,30,.14)}
/* detail page */
.kfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 0;max-width:760px}
.kf{margin:0;padding:14px 16px;border:1px solid var(--card-line);border-radius:var(--r-md);min-width:0}
.kf dt{display:flex;align-items:center;gap:7px;font:650 .74rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin:0 0 6px}
.kf dt .ico{width:15px;height:15px;color:var(--brand)}
.kf dd{margin:0;font-weight:650;font-size:.98rem;line-height:1.35;overflow-wrap:anywhere}
.kf dd .dl small{display:block;font-weight:400;font-size:.8rem;color:var(--ink-2)}
.kf-amt{grid-column:1/-1}
.kf-amt dd{font-size:1.05rem}
.dcta{display:none;margin-top:14px}
.dcta .btn{width:100%;justify-content:center}
.dmain{display:grid;gap:18px;align-content:start}
.dmain>.notice{margin:0}
.dsec{border:1px solid var(--card-line);border-radius:var(--r-lg);padding:20px 22px}
.dsec-h{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1.2rem}
.dsec-h .ico{width:20px;height:20px;color:var(--brand)}
.dsec-p{margin:0 0 12px;line-height:1.6}
.detail .dsec .facts{background:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:0;grid-template-columns:170px minmax(0,1fr)}
.detail .dsec .facts dt:last-of-type,.detail .dsec .facts dd:last-of-type{border-bottom:0}
.chipv{display:inline-block;padding:4px 10px;margin:0 6px 6px 0;border-radius:999px;border:1px solid var(--card-line);background:var(--surface);font-size:.84rem}
.hsteps{list-style:none;margin:0;padding:0;counter-reset:hs;display:grid;gap:12px}
.hsteps li{counter-increment:hs;display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 12px}
.hsteps li::before{content:counter(hs);grid-row:1/3;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font:700 .95rem/1 var(--sans);color:#fff;background:var(--g-brand);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 0 -1px #0A4029}
[data-theme=dark] .hsteps li::before{color:var(--on-brand)}
.hsteps b{font-size:.98rem}
.hsteps span{color:var(--ink-2);font-size:.92rem;line-height:1.5}
.simlist .opp.has-tile{grid-template-columns:38px minmax(0,1fr) auto}
.simlist .opp.has-tile>.itile{grid-row:1/3}
.simlist h3{font-size:1rem}
.detail blockquote.ev{margin:0}
#fitbox{margin:0}
@media (max-width:900px){.dcta{display:block}}
@media (max-width:560px){.kfacts{gap:10px}.kf{padding:12px 14px}.dsec{padding:16px}.detail .dsec .facts{grid-template-columns:minmax(0,1fr)}
 .simlist .opp.has-tile{grid-template-columns:38px minmax(0,1fr)}.simlist .opp.has-tile>.side{grid-column:2}}
@media (max-width:380px){.kfacts{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){
 .opp.card-link,.tcard,.fcard,.opp.card-link::before,.tcard::before,.fcard::before,.opp.card-link .more .ico{transition:none!important}
 .opp.card-link,.opp.card-link:hover,.opp.card-link:active,.tcard:hover,.tcard:active,.fcard:hover,.fcard:active{--ty:0;--rx:0deg;--ry:0deg;transform:none}
}
@media print{.opp,.tcard,.fcard,.match,.panel,.dsec,.kf{box-shadow:none!important;background:#fff}.opp::before,.tcard::before,.fcard::before{display:none}.dcta{display:none}}

/* ===== W99 (19 Oct 2026): Smart Grant Matching Form (/match) and tri-state eligibility on the Best-Fit report ===== */
.mf{padding:18px 0 56px;min-height:70vh}
.mprog{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;counter-reset:none}
.mprog li{min-width:0}
.mprog li>span.pi,.mprog li>button{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-height:58px;padding:8px 2px;border:0;background:none;font:inherit;color:var(--ink-2);text-align:center;cursor:default;border-radius:12px}
.mprog li>button{cursor:pointer}
.mprog li>button:hover .t{text-decoration:underline}
.mprog .n{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface);border:2px solid var(--line-2);font:700 .9rem/1 var(--sans);color:var(--ink-2)}
.mprog .n .ico{width:16px;height:16px}
.mprog .t{font-size:.78rem;font-weight:600;line-height:1.2;max-width:100%;overflow-wrap:anywhere}
.mprog li.cur .n{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.mprog li.cur .t{color:var(--ink)}
.mprog li.done .n{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}
.mhead h2{margin:4px 0 6px}
.mhead h2:focus{outline:0}
.mhead h2:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.mf .qcard{border:0;margin:0;padding:18px 0;border-bottom:1px solid var(--line);min-width:0}
.mf fieldset.qcard{padding:18px 0}
.mf legend.f{display:block;font-weight:600;font-size:.98rem;margin:0 0 8px;padding:0;max-width:100%;white-space:normal}
.mf label.f{font-size:.98rem}
.mf label.f.sm{font-size:.85rem;font-weight:600;margin-bottom:4px}
.rq,.op{display:inline-block;margin-left:6px;font:600 .7rem/1 var(--sans);padding:3px 7px;border-radius:999px;vertical-align:2px;text-transform:uppercase;letter-spacing:.04em}
.rq{background:var(--brand-soft);color:var(--brand-ink)}
.op{background:var(--sunk);color:var(--ink-2)}
[data-theme=dark] .rq{color:var(--brand-ink)}
.mf input[type=text],.mf select,.mf textarea{width:100%}
.mf .cnt{margin:4px 0 0;font-size:.8rem;color:var(--ink-2);text-align:right}
.copts{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
@media (min-width:640px){.copts.cols2,.cols2 .copts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.copt{position:relative;display:flex;gap:10px;align-items:flex-start;min-height:48px;padding:11px 12px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--surface);cursor:pointer;transition:transform .15s;min-width:0}
.copt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.copt .ck{flex:0 0 22px;width:22px;height:22px;margin-top:1px;border:2px solid var(--line-2);border-radius:6px;display:grid;place-items:center;background:var(--surface);color:transparent}
.copt input[type=radio]~.ck{border-radius:50%}
.copt .ck .ico{width:14px;height:14px}
.copt .ct{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere;line-height:1.35}
.copt .ct b{font-weight:600;font-size:.94rem}
.copt .ct span{font-size:.83rem;color:var(--ink-2)}
.copt:hover{border-color:var(--brand)}
.copt:active{transform:translateY(1px)}
.copt:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.copt input:checked~.ck{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.copt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.qcard.invalid .copt{border-color:color-mix(in srgb,var(--danger) 55%,var(--line-2))}
.cline{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.45;cursor:pointer}
.cline input{width:22px;height:22px;flex:0 0 22px;margin:1px 0 0;accent-color:var(--brand)}
.consent{background:var(--sunk);border-radius:12px;padding:14px!important;border-bottom:0!important;margin:8px 0}
.amt{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
@media (min-width:520px){.amt{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.cbx{position:relative}
.cbx-in{position:relative}
.cbx-in input{padding-right:46px}
.cbx-tg{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:42px;height:40px;border:0;background:none;color:var(--ink-2);display:grid;place-items:center;cursor:pointer}
.cbx-lb{list-style:none;margin:4px 0 0;padding:4px;max-height:min(300px,45vh);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--sh-2,0 8px 24px rgba(0,0,0,.12));position:absolute;left:0;right:0;z-index:30}
.cbx-lb[hidden]{display:none}
.cbx-lb li{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border-radius:8px;cursor:pointer;overflow-wrap:anywhere}
.cbx-lb li .ico{width:16px;height:16px;color:var(--brand);flex:0 0 16px}
.cbx-lb li.act,.cbx-lb li:hover{background:var(--brand-soft)}
.cbx-lb li.act{outline:2px solid var(--brand);outline-offset:-2px}
.cbx-lb li[aria-selected=true]{font-weight:600}
.cbx-lb li.none{cursor:default;color:var(--ink-2)}
.cbx-lb li.none:hover{background:none}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0}
.chips:empty{display:none}
/* W99b: the form chips are .fchip, so the hero's floating .chip rules (absolute, bob animation, 3D, glass) never reach them */
.fchip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 8px 6px 12px;border-radius:999px;border:1px solid var(--brand);background:var(--brand-soft);color:var(--ink);font:600 .86rem/1.2 var(--sans);cursor:pointer;max-width:100%;overflow-wrap:anywhere;text-align:left}
.fchip .ico{width:16px;height:16px;flex:0 0 16px}
.mnav{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:22px 0 8px;flex-wrap:wrap}
.mnav .btn{min-height:48px}
.mnav .btn.primary{margin-left:auto}
.errsum{border:2px solid var(--danger);border-radius:12px;padding:12px 14px;margin:14px 0;background:var(--surface)}
.errsum:focus{outline:3px solid var(--focus);outline-offset:2px}
.errsum h3{font-size:1rem;margin:0 0 6px;color:var(--danger)}
.errsum ul{margin:0;padding-left:18px}
.errsum a{color:var(--danger);font-weight:600}
.ferr .ico{width:15px;height:15px;margin-right:5px;vertical-align:-2px}
.notice.tight{margin:10px 0}
.mstate:empty{display:none}
.mstate{margin:10px 0}
.mstate.loading{color:var(--ink-2);font-size:.92rem}
.okbox{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--brand)}
.okbox>.ico{color:var(--brand);width:24px;height:24px;flex:0 0 24px}
.okbox p{margin:4px 0 10px}
.emptybox{padding:18px;border-radius:14px;border:1px dashed var(--line-2);background:var(--surface);margin:12px 0}
.emptybox h3{margin:0 0 6px}
.spin{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;vertical-align:-3px;animation:w99spin .8s linear infinite}
@keyframes w99spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}.copt{transition:none}}
.dhead{margin:22px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:1.05rem}
/* results: eligibility kept apart from relevance */
.legend{border:1px solid var(--card-line,var(--line));border-radius:14px;padding:12px 14px;margin:6px 0 16px;background:var(--surface)}
.legend p{margin:0 0 6px}
.legend ul{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px;font-size:.88rem}
.legend li{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.elig{display:inline-flex;align-items:center;gap:5px;font:700 .78rem/1 var(--sans);padding:6px 9px;border-radius:999px;white-space:nowrap}
.elig .ico{width:15px;height:15px}
.e-eligible{background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--brand)}
.e-potential{background:var(--accent-soft);color:#6B3A0C;border:1px solid var(--accent)}
.e-ineligible{background:var(--sunk);color:var(--danger);border:1px solid var(--danger)}
[data-theme=dark] .e-eligible{color:var(--brand-ink)}
[data-theme=dark] .e-potential{color:#F2C894}
.rel{display:inline-flex;align-items:center;font:600 .78rem/1 var(--sans);padding:6px 9px;border-radius:999px;background:var(--sunk);color:var(--ink);border:1px solid var(--line-2);white-space:nowrap}
.eligline{margin:10px 0 0;color:var(--ink-2)}
.kgroup{margin:22px 0 8px}
.kgroup .kh{font-size:1.2rem;margin:0 0 2px;display:inline-flex;align-items:center;gap:8px}
.kgroup .kh .cnt{font:700 .78rem/1 var(--sans);padding:4px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink)}
details.kgroup{border:1px solid var(--line);border-radius:14px;padding:4px 14px;background:var(--surface)}
details.kgroup>summary{cursor:pointer;padding:10px 0;min-height:44px;list-style-position:outside;margin-left:16px}
details.kgroup>summary .kh{font-size:1.05rem;font-weight:700}
.inel li{padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.why ul li>span{min-width:0}
.loadmsg{padding:20px 0}
@media (max-width:430px){.mprog .t{font-size:.72rem}.mnav .btn{flex:1 1 auto;justify-content:center}.mnav>span:empty{display:none}.match-h .btnrow{gap:6px}.elig,.rel{white-space:normal}}

/* ===================== W102 (19 Oct 2026): 3D phone bottom navigation bar, 3D header, illustrations, gentle motion =====================
   Phones (<= 768 px): a fixed raised 3D bottom bar in the W98 card language (layered shadow, green ledge, top highlight) with
   Home, Find, Match, Tools and More as raised keycap tabs; the active one is the green tile and every tab presses down onto its ledge.
   "More" opens the full menu as a 3D panel upward from the bar. The bar is always visible; the page gets bottom padding equal to the
   bar's real height so nothing is hidden behind it, and the Assistant button sits above it. The sticky header keeps the logo and the
   theme button as a raised 3D panel. Transform/opacity only; reduced motion = no movement. Desktop header unchanged. */
/* W110 (D-07): phones held sideways (short, touch screens) keep the bottom bar too */
.tabbar{display:none}
.nav a .ico{display:none}
@media (max-width:768px),(max-height:500px) and (pointer:coarse){
 :root{--tb-h:66px;--tb-b:max(8px,env(safe-area-inset-bottom));--tb-space:calc(var(--tb-h) + var(--tb-b) + 12px)}
 body{padding-bottom:var(--tb-space)}
 .ftr{padding-bottom:64px}
 /* header: a raised panel with the logo tile and the theme button */
 .hdr{background:transparent!important;border-bottom:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none;isolation:isolate;padding-top:env(safe-area-inset-top)}
 .hdr::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:0 0 20px 20px;background:var(--c-top);border:1px solid var(--card-line);border-top:0;border-bottom-color:var(--edge-b);
  box-shadow:inset 0 -1px 0 var(--hi),0 4px 0 -1px var(--ledge),0 1px 2px rgba(16,42,30,.08),0 10px 18px -10px rgba(16,42,30,.22)}
 [data-theme=dark] .hdr::before{box-shadow:inset 0 -1px 0 var(--hi),0 4px 0 -1px var(--ledge),0 1px 2px rgba(0,0,0,.6),0 10px 18px -10px rgba(0,0,0,.75)}
 .hdr .wrap{height:56px}
 .hdr .menubtn{display:none}
 .hdr .theme{margin-left:auto;border-radius:14px;background:linear-gradient(180deg,var(--c-top),var(--c-bot));border:1px solid var(--card-line);border-bottom-color:var(--edge-b);
  box-shadow:inset 0 1px 0 var(--hi),0 3px 0 -1px var(--ledge),0 6px 12px -8px rgba(16,42,30,.35);transition:transform .15s ease}
 .hdr .theme:active{transform:translate3d(0,2px,0)}
 .hdr .logo svg{border-radius:9px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 0 -1px #0A4029,0 6px 12px -6px rgba(14,90,58,.7)}
 /* the bottom bar */
 .tabbar{position:fixed;z-index:58;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:var(--tb-b);max-width:560px;margin:0 auto;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;height:var(--tb-h);padding:7px 7px 10px;border-radius:22px;
  background:linear-gradient(180deg,var(--c-top) 0%,var(--c-bot) 100%);border:1px solid var(--card-line);border-bottom-color:var(--edge-b);
  box-shadow:inset 0 1px 0 var(--hi),0 5px 0 -1px var(--ledge),0 1px 2px rgba(16,42,30,.10),0 12px 22px -10px rgba(16,42,30,.30),0 26px 40px -20px rgba(16,42,30,.40)}
 [data-theme=dark] .tabbar{box-shadow:inset 0 1px 0 var(--hi),0 5px 0 -1px var(--ledge),0 1px 2px rgba(0,0,0,.6),0 12px 22px -10px rgba(0,0,0,.75),0 26px 40px -20px rgba(0,0,0,.9)}
 .tb{position:relative;display:block;min-width:44px;min-height:44px;padding:0;border:0;background:none;color:var(--ink-2);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;font:650 .69rem/1.05 var(--sans);letter-spacing:.01em}
 /* the ledge stays put; the keycap moves */
 .tb::before{content:"";position:absolute;inset:3px 0 -3px;border-radius:14px;background:var(--ledge);box-shadow:0 6px 10px -6px rgba(16,42,30,.35)}
 [data-theme=dark] .tb::before{box-shadow:0 6px 10px -6px rgba(0,0,0,.8)}
 .tb-c{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;min-height:44px;border-radius:14px;
  background:linear-gradient(180deg,var(--c-top) 0%,var(--c-bot) 100%);border:1px solid var(--card-line);box-shadow:inset 0 1px 0 var(--hi);transform:translate3d(0,0,0);transition:transform .15s ease}
 .tb-c .ico{width:20px;height:20px;color:var(--brand)}
 .tb-l{white-space:nowrap}
 .tb[aria-current=page],.tb[aria-expanded=true]{color:#fff}
 .tb[aria-current=page]::before,.tb[aria-expanded=true]::before{background:#0A4029;box-shadow:0 8px 12px -6px rgba(14,90,58,.7)}
 [data-theme=dark] .tb[aria-current=page]::before,[data-theme=dark] .tb[aria-expanded=true]::before{background:#07301E}
 .tb[aria-current=page] .tb-c,.tb[aria-expanded=true] .tb-c{background:linear-gradient(150deg,#1E9A66 0%,#0E5A3A 100%);border-color:#0E5A3A;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -3px 6px rgba(0,0,0,.18)}
 .tb[aria-current=page] .tb-c .ico,.tb[aria-expanded=true] .tb-c .ico{color:#fff}
 .tb:active .tb-c{transform:translate3d(0,2px,0);transition-duration:.15s}
 .tb:focus-visible{outline:0}
 .tb:focus-visible .tb-c{outline:3px solid var(--focus);outline-offset:2px}
 /* "More": the full menu as a raised panel opening upward from the bar */
 .nav{position:fixed;top:auto;bottom:calc(var(--tb-space) + 6px);left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));z-index:57;
  max-width:540px;margin:0 auto;max-height:calc(100dvh - var(--tb-space) - 80px);overflow:auto;padding:8px;border-radius:20px;
  background:linear-gradient(180deg,var(--c-top) 0%,var(--c-bot) 100%);border:1px solid var(--card-line);border-bottom-color:var(--edge-b);box-shadow:var(--sh-3d),0 30px 60px -20px rgba(16,42,30,.35)}
 .nav.open{display:flex;animation:w102sheet .26s cubic-bezier(.2,.7,.2,1) both}
 .nav a{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 12px}
 .nav a .ico{display:inline-block;width:19px;height:19px;color:var(--brand);flex:none}
 /* W110 (R-09): Tools is already a tab in the bar, so the More panel does not repeat it */
 .nav a[href="/tools/"]{display:none}
 /* the Assistant button and toasts sit above the bar, never on it */
 .chatfab{bottom:calc(var(--tb-space) + 4px)!important}
 .toast{bottom:calc(var(--tb-space) + 12px)}
 /* W102b: anchors and keyboard focus clear the header and the bar; a sticky bottom row rides above the bar; the chat panel sits clear of it */
 html{scroll-padding-top:calc(56px + env(safe-area-inset-top) + 16px);scroll-padding-bottom:calc(var(--tb-space) + 8px)}
 .navrow{bottom:var(--tb-space)}
}
@media (min-width:561px) and (max-width:768px){.chatpanel{bottom:calc(var(--tb-space) + 4px);height:min(640px,calc(100dvh - var(--tb-space) - 76px))}}
@keyframes w102sheet{from{opacity:0;transform:translate3d(0,12px,0) scale(.98)}to{opacity:1;transform:none}}
@media print{.tabbar{display:none!important}}

/* illustrations */
.journey{margin:22px auto 0;max-width:760px;text-align:center}
.journey .jart{display:block;border-radius:var(--r-lg);overflow:hidden;background:var(--art-bg);box-shadow:var(--sh-3d)}
.journey img{display:block;width:100%;height:auto}
.journey figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px;margin-top:16px;font:650 .82rem/1.2 var(--sans);color:var(--ink-2)}
.journey figcaption span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--card-line);box-shadow:0 2px 0 -1px var(--ledge)}
.journey figcaption .ico{width:15px;height:15px;color:var(--brand)}
.sec-soon + .sec{padding-top:34px}
@media (max-width:800px){.sec-soon{padding-bottom:12px}}
@media (max-width:420px){.journey figcaption{flex-wrap:nowrap;gap:6px}.journey figcaption span{padding:7px 10px;font-size:.78rem}.journey figcaption .ico{display:none}}
.empty-art{display:block;width:150px;height:auto;margin:0 auto 12px;border-radius:24px;background:var(--art-bg)}
.list .empty{text-align:center}
.lost{display:grid;gap:18px;align-items:center}
@media (min-width:761px){.lost{grid-template-columns:320px minmax(0,1fr);gap:32px}}
.lost-art{width:min(320px,82%);justify-self:center;border-radius:var(--r-lg);overflow:hidden;background:var(--art-bg);box-shadow:var(--sh-3d)}
@media (min-width:761px){.lost-art{width:100%}}
.lost-art img{display:block;width:100%;height:auto}
.stats .num{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.tabbar,.tb-c,.hdr .theme,.nav.open{transition:none!important;animation:none!important}}

/* ===================== W102b (19 Oct 2026): best-fit motion, each tied to an action or a state change =====================
   The /match stepper: a track fills between the circles (scaleX) as steps and required answers are completed, a step just
   completed morphs its number into a check, the new step pops once with a soft static ring, going back un-fills; the section
   slides in from the direction of travel. Results cards stagger in on load and their eligibility badge fades/scales in. A changed
   "days left" chip ticks. Buttons press down. A checked option pops. A removed tracker item slides out. The theme crossfades.
   Transform/opacity only, 220-400 ms, ease-out, no loops; all of it off under prefers-reduced-motion. */
.mprog-w{position:relative;display:block}
.mprog-w .mtrack{position:absolute;top:22px;left:calc((100% - 18px)/8);right:calc((100% - 18px)/8);height:4px;border-radius:4px;background:var(--line-2);overflow:hidden;pointer-events:none}
.mprog-w .mfill{position:absolute;inset:0;border-radius:inherit;background:var(--brand);transform-origin:0 50%;transform:scaleX(0);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.mprog-w .mprog{position:relative}
.mprog .n{position:relative}
.mprog li.cur .n::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--brand);opacity:.3;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
 .mprog li.done.fresh .n .ico{animation:w2check .32s cubic-bezier(.2,.7,.2,1) both}
 .mprog li.cur.fresh .n{animation:w2pop .36s ease-out}
 .mprog li.cur.fresh .n::after{animation:w2ring .4s ease-out both}
 #mform.mslide-f,#mform.mslide-b{overflow-x:clip}
 #mform.mslide-f>*{animation:w2inf .3s ease-out both}
 #mform.mslide-b>*{animation:w2inb .3s ease-out both}
 .w-in{animation:w2up .3s ease-out both;animation-delay:calc(var(--i,0) * 55ms)}
 .w-in .elig{animation:w2badge .28s ease-out both;animation-delay:calc(var(--i,0) * 55ms + 140ms)}
 .w-pop{animation:w2press .26s ease-out}
 .w-out{transition:transform .22s ease-out,opacity .22s ease-out;transform:translate3d(-14px,0,0) scale(.98);opacity:0}
 small.tick{display:inline-block;animation:w2tick .34s ease-out}
 .btn:active{transform:translate3d(0,1px,0) scale(.97)}
 .hdr .theme .ico{transition:transform .32s ease-out}
 [data-theme=dark] .hdr .theme .ico{transform:rotate(180deg)}
 ::view-transition-old(root),::view-transition-new(root){animation-duration:.25s;animation-timing-function:ease-out}
}
@keyframes w2check{from{opacity:0;transform:scale(.3) rotate(-40deg)}to{opacity:1;transform:none}}
@keyframes w2pop{0%{transform:scale(1)}45%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes w2ring{from{opacity:0;transform:scale(.7)}to{opacity:.3;transform:none}}
@keyframes w2inf{from{opacity:0;transform:translate3d(22px,0,0)}to{opacity:1;transform:none}}
@keyframes w2inb{from{opacity:0;transform:translate3d(-22px,0,0)}to{opacity:1;transform:none}}
@keyframes w2up{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
@keyframes w2badge{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes w2press{0%{transform:scale(1)}40%{transform:scale(.95)}100%{transform:scale(1)}}
@keyframes w2tick{from{opacity:.2;transform:translate3d(0,-5px,0)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mprog-w .mfill{transition:none!important}.w-in,.w-in .elig,.w-pop,.mprog .n,.mprog .n .ico,.mprog .n::after,#mform>*{animation:none!important}}

/* ===== W105 (19 Oct 2026): admin dashboard, blog, deadline-alert prompt. Uses the site tokens; light + dark; transform/opacity motion only ===== */
.adm{padding-top:22px;padding-bottom:56px}
.adm .acard{max-width:460px;margin:8px auto 0}
.adm h2{font-size:1.45rem;margin:0 0 .4rem}.adm h3{font-size:1.06rem;margin:0 0 .35rem;overflow-wrap:anywhere}
.aform{display:grid;gap:14px;margin-top:14px}.aform .btn{justify-self:start}
.afield input,.afield select,.afield textarea{width:100%}
.afield input[type=email],.afield input[type=password],.afield input[type=url],.afield input[type=search],.atools input[type=search]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:8px;min-height:44px;padding:8px 10px;max-width:100%}
.afield input[aria-invalid=true]{border-color:var(--danger)}
.amsg{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:var(--sunk);font-size:.92rem}.amsg.err{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--ink);border-left:4px solid var(--danger)}.amsg.ok{border-left:4px solid var(--brand)}.amsg.info{border-left:4px solid var(--accent)}
.awho{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 10px}
.linkbtn{background:none;border:0;padding:0 2px;min-height:44px;font:inherit;color:var(--brand-ink);text-decoration:underline;cursor:pointer}
.abanner{margin:0 0 14px}
.atabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:0 0 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.atab{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--card-line,var(--line));background:var(--surface);color:var(--ink);font:600 .92rem var(--sans);cursor:pointer;box-shadow:0 3px 0 var(--ledge,var(--line)),var(--sh-1);transition:transform .15s}
.atab:active{transform:translateY(2px)}
.atab[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.abadge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:#1d1600;font:700 .75rem/1 var(--sans)}
.atab[aria-selected=true] .abadge{background:var(--on-brand);color:var(--brand-ink)}
.apanel:focus{outline:none}.ahead{margin:12px 0 10px}.ahead .linkbtn{margin-bottom:4px}
.aseg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chipbtn{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:600 .88rem var(--sans);cursor:pointer}
.chipbtn[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}
.abulk,.atools,.aact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.atools input[type=search]{flex:1 1 200px;min-width:0}
.btn.small{min-height:44px;padding:0 14px;font-size:.9rem}
.alist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.aitem{min-width:0}.aitem-top{display:flex;gap:12px;align-items:flex-start}.aitem-t{min-width:0;flex:1}.aitem .tag{margin-bottom:6px}
.apick{width:24px;height:24px;margin:6px 0 0;flex:none;accent-color:var(--brand)}
.acmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.acol{min-width:0;border-radius:10px;padding:10px 12px;border:1px solid var(--line);overflow-wrap:anywhere}
.acol p{margin:0}.acol.old{background:var(--sunk)}.acol.new{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}
.acap{font:700 .72rem/1.3 var(--sans)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px!important}
.aquote{margin:8px 0;padding:8px 12px;border-left:4px solid var(--accent);background:var(--sunk);border-radius:0 8px 8px 0;font-size:.92rem;overflow-wrap:anywhere}.aquote p{margin:0}
.asrc{overflow-wrap:anywhere}.aedit:not(:empty){border-top:1px dashed var(--line);margin-top:8px;padding-top:4px}
.agrid{grid-template-columns:1fr 1fr}.agrid>.afield:has(textarea),.agrid>.amsg,.agrid>.btn{grid-column:1/-1}
.aempty{text-align:center;padding:26px 18px}
.astats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 14px}.astat{text-align:center;padding:14px 10px}.astat-n{font:800 1.9rem/1 var(--sans);margin:0 0 4px;color:var(--brand-ink)}.astat p{margin:0}
.agrid2{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 14px}
.atop{list-style:none;margin:8px 0 0;padding:0}.atop li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);min-height:44px;overflow-wrap:anywhere}.atop li:last-child{border-bottom:0}
.alog{list-style:none;margin:0;padding:0}.alog li{display:grid;grid-template-columns:150px 150px 1fr;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.alog-d{grid-column:2/-1}
.akey{font:700 1.05rem/1.4 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;background:var(--sunk);padding:8px 10px;border-radius:8px;overflow-wrap:anywhere}
.acovers{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.acovers legend{margin-bottom:6px}
.acov{position:relative;display:grid;place-items:center;width:96px;height:76px;border-radius:10px;border:2px solid var(--line);overflow:hidden;cursor:pointer;background:var(--sunk)}
.acov input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.acov img{width:100%;height:100%;object-fit:cover}.acov:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.acov:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.acov-none{font-size:.85rem;color:var(--ink-2)}
.abody{font:.95rem/1.55 ui-monospace,Menlo,Consolas,monospace!important}
.apreview{margin-top:14px;padding:16px;border:1px dashed var(--line-2);border-radius:12px}
@media (max-width:640px){.acmp,.agrid,.agrid2{grid-template-columns:1fr}.astats{grid-template-columns:1fr 1fr}.alog li{grid-template-columns:1fr}.alog-d{grid-column:auto}.adm .panel{padding:14px}}
/* blog */
.blist{list-style:none;margin:22px 0 56px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.bcard{position:relative;background:var(--surface);border:1px solid var(--card-line,var(--line));border-radius:var(--radius);box-shadow:var(--sh-3d,var(--sh-1));overflow:hidden;transition:transform .2s}
.bcard:active{transform:translateY(2px)}
.bcard-a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.bcard-a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.bcard-art{display:block;aspect-ratio:4/3;background:var(--art-bg,var(--sunk))}.bcard-art img{width:100%;height:100%;object-fit:cover;display:block}
.bcard-b{display:flex;flex-direction:column;gap:6px;padding:14px 16px 18px}.bcard-t{font:700 1.15rem/1.3 var(--sans);color:var(--ink)}.bcard-x{color:var(--ink-2);font-size:.95rem}.bdate{color:var(--ink-2)}
.btags{display:flex;flex-wrap:wrap;gap:6px}.btag{font-size:.75rem;padding:3px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink)}
.bempty{padding:30px 0 60px}
.bfig{margin:22px 0 0}.bfig img{width:100%;height:auto;border-radius:var(--radius);display:block;background:var(--art-bg,var(--sunk))}
.bbody{padding-top:18px;padding-bottom:24px;overflow-wrap:anywhere}.bbody blockquote{margin:1em 0;padding:8px 14px;border-left:4px solid var(--accent);background:var(--sunk);border-radius:0 8px 8px 0}
.bmeta a{color:inherit}.bnote{margin:0 0 56px}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.bcard:hover{transform:translateY(-4px)}}
/* new-listing detail (rendered by the worker) */
.ldetail{padding-top:22px;padding-bottom:56px}.ldetail .kfacts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 16px}.ldetail .kfacts dt{font:700 .75rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.ldetail .kfacts dd{margin:2px 0 0;overflow-wrap:anywhere}.ldetail .dsec{margin:0 0 14px;overflow-wrap:anywhere}
.ovnote{font-size:.88rem;color:var(--ink-2);margin:8px 0 0}
/* deadline-alert prompt: above the phone tab bar, never covering it */
.nprompt{position:fixed;z-index:60;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--card-line,var(--line));border-radius:18px;padding:16px 16px 10px;box-shadow:0 6px 0 var(--ledge,var(--line)),0 18px 40px rgba(0,0,0,.18);opacity:0;transform:translateY(16px);transition:opacity .25s,transform .25s}
.nprompt.in{opacity:1;transform:none}
.nprompt h2{font-size:1.15rem;margin:0 0 2px}.nhead{display:flex;gap:12px;align-items:flex-start;padding-right:40px}.nhead p{margin:0;color:var(--ink-2)}
.ntile{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px}.ntile .ico{color:#fff;width:22px;height:22px}
.nclose{position:absolute;top:8px;right:8px}
.nform{display:grid;gap:10px;margin-top:12px}.ngrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.ngrid label.f{font-size:.8rem;margin-bottom:4px}.ngrid input,.ngrid select{width:100%;min-width:0}
.nbtns{display:flex;flex-wrap:wrap;gap:8px}.nrow{display:grid;gap:6px}.nrow[hidden],.nfwrap[hidden]{display:none}.nrow input{width:100%}.nemail .btn{justify-self:start}
.nform input[type=email]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:8px;min-height:44px;padding:8px 10px}
.nmsg{margin:0;font-size:.92rem}.nmsg:empty{display:none}.nmsg.ok{color:var(--brand-ink);font-weight:600}.nmsg.err{color:var(--danger);font-weight:600}
.nprivacy{margin:0}.nnot{min-height:44px}
#notifybody .nmsg{margin:0 0 14px}#notifybody .nform{max-width:560px}
@media (max-width:768px),(max-height:500px) and (pointer:coarse){.nprompt{left:12px;right:12px;width:auto;bottom:calc(var(--tb-space,12px) + 4px);max-height:calc(100vh - var(--tb-space,12px) - 96px);z-index:70}.ngrid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.nprompt,.atab,.bcard{transition:none}.nprompt{transform:none}}
@media print{.nprompt{display:none}}
.adm .acheck{display:flex;align-items:center;gap:10px;min-height:44px}.adm .acheck input{width:22px;height:22px;accent-color:var(--g,#0E5A3A);margin:0}.adm .acheck label{font-weight:600;cursor:pointer}
.nprompt .nrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 4px}.nprompt .nrow .nyes{min-height:44px;display:inline-flex;align-items:center;gap:8px}.nprompt .nfwrap{margin-top:8px}

/* ---------- W110 (19 Oct 2026): audit fixes. Motion only on a tap or a change; one overlay at a time; honest empty states ---------- */
/* the hidden attribute always wins over a component's display rule (it hid nothing on .btnrow and .nrow before) */
[hidden]{display:none!important}
.fmore{justify-content:center;margin:18px 0 8px}.fmore:empty{display:none}
.rempty{display:grid;gap:14px;align-items:center;justify-items:center;text-align:center;padding:28px 18px;border-style:solid;border-color:var(--card-line);box-shadow:var(--sh-1)}
.rempty .empty-art{margin:0 auto;width:160px}
.rempty h2{margin:0 0 6px;font-size:1.35rem}.rempty p{margin:0 auto 14px;max-width:46ch;color:var(--ink-2)}
.rempty .btnrow{justify-content:center}
@media (min-width:700px){.rempty{grid-template-columns:200px minmax(0,1fr);text-align:left;justify-items:start;padding:28px}.rempty .empty-art{width:200px}.rempty p{margin-left:0}.rempty .btnrow{justify-content:flex-start}}
.rpt-empty .phead-art{display:none}

/* W110 R-10: on phones each results group shows its top 5; the rest are one tap away */
.k5btn{display:none}
@media (max-width:560px){.kgroup:not(.k5open) .match.x5{display:none}.k5btn{display:inline-flex;margin:4px 0 8px}}

/* ===== W115: tester waitlist (/waitlist/, home band, admin Waitlist tab). Motion: none beyond the site's tap feedback. ===== */
.wl-wrap{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;align-items:start;padding-top:22px;padding-bottom:56px}
@media (max-width:900px){.wl-wrap{grid-template-columns:minmax(0,1fr)}}
.wl-main{padding:22px}
@media (max-width:560px){.wl-main{padding:16px}.wl-wrap{padding-top:6px}}
.wl-form .formgrid{gap:14px 18px}
.wl-f{margin:0;min-width:0}
.wl-form>.wl-f,.wl-form>.wl-chips{margin-top:18px}
.wl-form input[type=text],.wl-form input[type=email],.wl-form input[type=tel],.wl-form select,.wl-form textarea{width:100%}
input[type=tel]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);min-height:44px;padding:8px 10px;max-width:100%;border-radius:10px}
.wl-form textarea{min-height:88px}
.opt{font-weight:400;color:var(--ink-2)}
.wl-wrap:not(.intl) .wl-intl,.wl-wrap.intl .wl-ng{display:none}
fieldset.wl-chips{border:0;padding:0;min-width:0}
fieldset.wl-chips legend{padding:0;margin:0 0 8px}
.wl-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.wl-form .consent{margin-top:20px}
.wl-consent{align-items:flex-start;font-weight:600;min-height:44px}
.wl-consent input{margin-top:1px}
.wl-consent+p{margin:6px 0 0 34px}
.wl-f.bad input,.wl-f.bad select,.wl-f.bad textarea,.wl-form [aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}
.wl-form .btnrow{margin-top:18px}
.wl-form .btn.lg{min-width:min(100%,260px);justify-content:center}
@media (max-width:560px){.wl-form .btn.lg{width:100%}}
.hint.below{margin:6px 0 0}
.wl-status:empty{display:none}
.wl-status{margin:10px 0 0}
.wl-was{border-radius:12px;align-items:center}
.wl-was .ico{color:var(--brand);flex:0 0 18px}
.wl-side{position:sticky;top:84px;background:var(--tint,var(--sunk));border:1px solid var(--card-line,var(--line));border-radius:var(--r-lg,20px);padding:20px}
@media (max-width:900px){.wl-side{position:static}}
.wl-side h2{margin:0 0 12px}
.wl-points{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.wl-points li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:.95rem;line-height:1.5}
.wl-honest{margin:16px 0 0}
.wl-done{text-align:center;padding:12px 6px 6px}
.wl-done h2{font-size:clamp(1.7rem,5vw,2.3rem);margin:12px 0 6px}
.wl-done h2:focus{outline:none}
.wl-done h2:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.wl-done .lede{margin:0 auto 8px;max-width:34em}
.wl-done p{max-width:36em;margin-left:auto;margin-right:auto}
.wl-done .btnrow{justify-content:center;margin-top:16px}
.wl-place{display:inline-grid;place-items:center;width:112px;height:112px;border-radius:30px;background:var(--g-brand,var(--brand));color:var(--on-brand);box-shadow:var(--sh-2,0 10px 24px -12px rgba(14,90,58,.7)),inset 0 -6px 0 rgba(0,0,0,.08),inset 0 4px 0 rgba(255,255,255,.35)}
.wl-place small{font:700 .72rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;align-self:end}
.wl-place b{font:800 2.2rem/1 var(--sans);align-self:start;margin-top:4px;font-variant-numeric:tabular-nums}
.wl-done.already .wl-place{background:var(--accent-soft);color:var(--ink)}
@media (prefers-reduced-motion:no-preference){.wl-done{animation:wlIn .25s ease-out both}@keyframes wlIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
/* home: one quiet invitation, not a banner */
.sec-wl{padding-top:8px;padding-bottom:8px}
.wlband{display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:var(--r-lg,20px);background:var(--surface);border:1px solid var(--card-line,var(--line));box-shadow:var(--sh-1)}
.wlband-copy{flex:1;min-width:0}
.wlband h2{margin:0 0 4px}
.wlband p{margin:0}
@media (max-width:700px){.wlband{flex-direction:column;align-items:flex-start;text-align:left}.wlband .btn{width:100%;justify-content:center}}
/* admin Waitlist tab */
.wl-stats{grid-template-columns:repeat(6,1fr)}
.wl-stats .panel+.panel{margin-top:0}
@media (max-width:900px){.wl-stats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:420px){.wl-stats{grid-template-columns:1fr 1fr}}
.wl-alerts{margin:0 0 14px}
.wl-alerts h3{margin:0 0 6px}
.wl-alerts .btnrow{margin:8px 0}
.wl-tools{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:0 0 10px}
.wl-tools .afield{margin:0}
.wl-tools select{width:100%}
.wl-acts{margin:0;flex-wrap:wrap}
@media (max-width:760px){.wl-tools{grid-template-columns:1fr}}
.wl-table td>b,.wl-table td>span,.wl-table td>a{display:block}
.wl-table td{overflow-wrap:anywhere}
.wl-table .wl-when{margin-top:2px}
.wl-table .wl-biz{color:var(--ink-2)}
.wl-table .wl-help{margin-top:4px;color:var(--ink)}
.wl-table .wl-wa{display:inline-flex;margin:0 0 6px}
.wl-table .wl-em{color:var(--ink-2)}
.wl-edit{min-width:200px}
.wl-edit select{width:100%;margin:0 0 6px}
.wl-edit textarea{min-height:58px;width:100%;font-size:.9rem}
.wl-edit .btnrow{margin-top:4px;gap:10px;align-items:center}
.wl-del{color:var(--danger)}
.wl-impcard{margin:0 0 14px;border-color:var(--brand)}
.wl-impcard h3{margin:0 0 6px}
.wl-impcard h3:focus{outline:none}
.wl-prev li span{min-width:0;overflow-wrap:anywhere}
@media (max-width:760px){
 .wl-table,.wl-table tbody,.wl-table tr,.wl-table td{display:block;width:100%}
 .wl-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .wl-table tr{padding:12px 14px;margin:0 0 12px;border:1px solid var(--card-line,var(--line));border-radius:var(--r-md,16px);background:var(--surface);box-shadow:var(--sh-1)}
 .wl-table td{padding:5px 0;border:0}
 .wl-table td::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:650;color:var(--ink-2);margin:0 0 2px}
 .wl-table td:first-child{display:flex;align-items:baseline;gap:10px}.wl-table td:first-child::before{content:none}
 .wl-edit{min-width:0}}

/* ===== W115: GrantPilot lockup (Guest, 19 Oct 21:37Z): exact mark + wordmark of the GrantPilot product; nothing else changes ===== */
@font-face{font-family:"GP Wordmark";src:url(/assets/gp-wordmark.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
.logo.gp{gap:10px;min-height:44px;align-items:center}
.brand-mark{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:#006D5B;color:#7ED321;box-shadow:0 4px 14px rgba(0,109,91,.25)}
.logo.gp .brand-mark svg,.hdr .logo.gp .brand-mark svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transform:translate(-1px,1px);border-radius:0;box-shadow:none}
.brand-name{font-family:"GP Wordmark","Plus Jakarta Sans",var(--sans,system-ui),system-ui,sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:-.025em;line-height:1;color:#111}
[data-theme=dark] .brand-name{color:#fff}

/* ===== W115: waitlist page order (perks, founder, form) and the founder note ===== */
.wl-wrap{display:block;max-width:780px;padding-top:0;padding-bottom:40px}
.wl-join{padding-top:8px}
.wl-main>h2{margin:0 0 4px}
.wl-main>h2+p{margin:0 0 14px}
.wl-honest{margin:14px 4px 0}
.wl-perks-sec{padding-top:18px;padding-bottom:8px}
.wl-perks-sec h2{margin:0 0 14px}
.wl-perks-sec .wl-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wl-perks-sec .wl-points li{background:var(--surface);border:1px solid var(--card-line,var(--line));border-radius:var(--r-md,16px);padding:16px;box-shadow:var(--sh-1)}
@media (max-width:820px){.wl-perks-sec .wl-points{grid-template-columns:1fr}}
.phead .btnrow{margin-top:14px}
.founder{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}
.founder-photo{margin:0;position:relative;isolation:isolate;max-width:360px;width:100%;justify-self:center}
.founder-photo::before{content:"";position:absolute;inset:16px -12px -12px 16px;border-radius:var(--r-lg,20px);background:#7ED321;z-index:-1}
[data-theme=dark] .founder-photo::before{background:color-mix(in srgb,#7ED321 55%,var(--bg))}
.founder-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg,20px);box-shadow:var(--sh-2,0 10px 30px -12px rgba(0,0,0,.35));background:var(--sunk)}
.founder-copy{min-width:0}
.founder-copy .kicker{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin:0 0 .6em}
.founder-copy h2{margin:0 0 .5em}
.founder-copy blockquote{margin:0 0 1.1em;padding:0 0 0 18px;border-left:4px solid var(--brand);color:var(--ink);font-size:1.04rem;line-height:1.6}
.founder-copy blockquote p{margin:0 0 .8em}
.founder-copy .founder-lead{font-family:var(--serif-q,Georgia,"Iowan Old Style",serif);font-weight:700;font-size:clamp(1.15rem,2.6vw,1.32rem);line-height:1.38;letter-spacing:-.01em;color:var(--brand-ink)}
.sig{display:flex;flex-direction:column;margin:0 0 .6em}
.sig strong{font-size:1.08rem;color:var(--ink)}
.sig span{color:var(--ink-2);font-size:.92rem}
.ig-link{display:inline-flex;align-items:center;gap:.45em;min-height:44px;font-weight:700;text-decoration:none;color:var(--brand-ink)}
.ig-link:hover span:first-of-type{text-decoration:underline}
.ig-link .ig{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){.founder{grid-template-columns:1fr;gap:34px}.founder-photo{max-width:280px}}
.founder-about{padding-top:12px}

/* W119: footer copyright + founder Instagram (as on the partner page) */
.ftr .ftr-copy{margin:2px 0 0;color:var(--ink-2);font-size:.85rem}
.ftr a.ig-link.ftr-ig{display:inline-flex;align-items:center;gap:.45em;min-height:44px;padding:0;margin:0 0 6px;font-weight:700;color:var(--brand-ink);text-decoration:none}
.ftr a.ig-link.ftr-ig:hover span:first-of-type{text-decoration:underline}

/* W124 (L7): short-draft note above the drafts and above each short draft; the missing-facts box stands out */
.shortnote{display:flex;gap:12px;align-items:flex-start;border:2px solid var(--brand);background:var(--brand-soft);border-radius:var(--r-md);padding:14px 16px;margin:10px 0 14px}
.shortnote p{margin:0 0 10px}
.shortnote .ico{flex:none;margin-top:3px;color:var(--brand)}
.shortdraft{display:flex;gap:8px;align-items:flex-start;margin:6px 0 8px;font-size:.92rem;font-weight:600;color:var(--ink)}
.shortdraft .ico{flex:none;margin-top:2px;color:var(--brand)}
.complete{border-width:2px;box-shadow:0 6px 18px rgba(14,90,58,.12)}
.complete h3 .ico{display:inline-block;vertical-align:-3px;margin-right:6px;color:var(--brand)}
.complete h3 .pill{margin-left:6px;vertical-align:2px;white-space:nowrap}
.complete:focus{outline:3px solid var(--brand);outline-offset:3px}
.complete:target,.complete:focus-within{animation:gp-pulse .3s ease-out}
@keyframes gp-pulse{from{transform:scale(.99);opacity:.85}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.complete:target,.complete:focus-within{animation:none}}

/* W125: "Remind me" (free phone notifications) + iPhone Home Screen helper + manage reminders */
.rbtn.is-on{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand)}
.rbtn[aria-busy=true]{opacity:.7;cursor:progress}
.rhint{margin:10px 2px 0;line-height:1.45}
.rsheet{border:1px solid var(--card-line,var(--line));border-radius:20px;background:var(--surface);color:var(--ink);padding:18px 18px 14px;width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 6px 0 var(--ledge,var(--line)),0 18px 40px rgba(0,0,0,.25)}
.rsheet::backdrop{background:rgba(8,18,13,.5)}
.rsheet[open]{animation:rsIn .24s cubic-bezier(.2,.8,.2,1)}
@keyframes rsIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:640px){.rsheet{margin:auto auto calc(12px + env(safe-area-inset-bottom))}}
.rsheet-h{display:flex;align-items:center;gap:10px;margin-bottom:6px}.rsheet-h h2{flex:1;margin:0;font-size:1.08rem;line-height:1.3}
.rsheet-i{flex:0 0 40px;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);box-shadow:inset 0 -3px 0 rgba(0,0,0,.08)}
.rsheet-b p{margin:8px 0}.rsheet .btnrow{margin-top:12px}
.rsteps{list-style:none;padding:0;margin:12px 0;display:grid;gap:12px}.rsteps li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.rnum{flex:0 0 28px;height:28px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:700;font-size:.9rem;box-shadow:0 2px 0 var(--brand-ink)}
.rsteps b .ico{display:inline-block;width:18px;height:18px;vertical-align:-3px;margin:0 2px}
.rmanage{margin-top:6px;padding:18px;border-radius:18px;box-shadow:0 4px 0 var(--ledge,var(--line))}.rmanage h2{display:flex;align-items:center;gap:8px;margin:0 0 4px}
.rlist{list-style:none;margin:10px 0 6px;padding:0}.rlist li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.rlist li:first-child{border-top:0}.rlist a{font-weight:700}.rlist .btn{flex:0 0 auto;white-space:nowrap}
.rnone{margin:10px 0 0}

/* W126 brand guide (Guest, 20 Oct): Montserrat Bold/ExtraBold headings (self-hosted, swap; body stays the clean system sans) and the GrantPilot Africa lockup */
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--head:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
h1,.h1,h2,.h2{font-family:var(--head);font-weight:800;letter-spacing:-.02em}
h1,.h1{font-size:clamp(1.9rem,5vw,3.4rem)}
h2,.h2{font-size:clamp(1.45rem,3.1vw,2.15rem)}
.phead h1{font-size:clamp(1.8rem,4.2vw,2.75rem)}
h3,.h3{font-family:var(--head);font-weight:700;letter-spacing:-.005em}
.brand-name{font-family:"Montserrat","Plus Jakarta Sans",system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;display:inline-flex;flex-direction:column;line-height:1}
/* W128: the live-text AFRICA (.brand-sub, fixed .42em tracking) is retired; the lockup is Guest's image (see the W128 block) */

/* W128 GrantPilot Africa lockup (Guest's brand guide): his raster with AFRICA spanning the full wordmark; the dark theme shows the reversed twin */
.logo.gp .gp-lk,.fb-brand .gp-lk{display:block;width:212px;height:40px;max-width:none;flex:0 0 auto;border-radius:0;box-shadow:none}
.logo.gp .gp-lk-d,.fb-brand .gp-lk-d{display:none}
[data-theme=dark] .logo.gp .gp-lk-l,[data-theme=dark] .fb-brand .gp-lk-l{display:none}
[data-theme=dark] .logo.gp .gp-lk-d,[data-theme=dark] .fb-brand .gp-lk-d{display:block}

/* W128b co-pilot everywhere + subtle 3D (Guest 20 Oct 16:06Z, 16:24Z) */
.btn.cp{background:linear-gradient(180deg,#0B8A72 0%,#006D5B 100%);color:#fff;border:1px solid #005446;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 0 -1px #00473B,0 10px 18px -10px rgba(0,109,91,.7)}
.btn.cp .ico{color:#7ED321}
.btn.cp:hover{color:#fff;border-color:#00473B;filter:brightness(1.06)}
.btn.cp:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.cp-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:12px 0 0;font-size:.93rem;color:var(--ink-2)}
.cp-note .ico{width:17px;height:17px;color:#006D5B}
[data-theme=dark] .cp-note .ico{color:#7ED321}
.cp-note a{color:var(--brand-ink,var(--brand));font-weight:650;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:3px 0}
.cpwrap{margin-top:14px;margin-bottom:6px}
.cpcard{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;border-radius:20px;background:linear-gradient(135deg,#E8F5EF 0%,#F3F9E8 100%);border:1px solid #C9E2D7;
  box-shadow:inset 0 1px 0 #fff,0 4px 0 -1px #D0E5DB,0 14px 24px -16px rgba(0,109,91,.5)}
[data-theme=dark] .cpcard{background:linear-gradient(135deg,#11302A 0%,#1A2E19 100%);border-color:#28483E;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 0 -1px #0B1F1A,0 14px 24px -16px rgba(0,0,0,.8)}
.cpcard-ic{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:linear-gradient(160deg,#12A085,#006D5B);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 3px 0 -1px #00473B,0 8px 14px -8px rgba(0,109,91,.7)}
.cpcard-ic .ico{width:22px;height:22px;color:#7ED321}
.cpcard-x{flex:1 1 220px;min-width:0}
.cpcard-t{margin:0;font:700 1.02rem/1.3 var(--head,"Montserrat",system-ui,sans-serif);color:var(--ink)}
.cpcard-s{margin:3px 0 0;font-size:.88rem;line-height:1.4;color:var(--ink-2)}
.cpcard .btn.cp{margin-left:auto;min-height:44px}
@media (max-width:560px){.cpcard .btn.cp{width:100%;justify-content:center;margin-left:0}}
/* the header emblem: a soft ledge and shadow BEHIND his icon (his raster is not touched) */
.logo.gp{position:relative}
.logo.gp .gp-lk{position:relative;z-index:1}
.logo.gp::before{content:"";position:absolute;left:0;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:11px;z-index:0;pointer-events:none;
  box-shadow:0 3px 0 -1px #00473B,0 8px 14px -7px rgba(0,109,91,.65)}
[data-theme=dark] .logo.gp::before{box-shadow:0 3px 0 -1px #002A23,0 8px 14px -7px rgba(0,0,0,.85)}
@media (min-width:769px){
 .nav a[href="/copilot/"]{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;color:#fff!important;background:linear-gradient(180deg,#0B8A72 0%,#006D5B 100%);
  border:1px solid #005446;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 0 -1px #00473B,0 8px 14px -8px rgba(0,109,91,.7);text-decoration:none}
 .nav a[href="/copilot/"] .ico{display:inline-block;width:16px;height:16px;color:#7ED321}
 .nav a[href="/copilot/"]:hover{filter:brightness(1.06)}
}
@media (max-width:768px),(max-height:500px) and (pointer:coarse){
 .nav a[href="/tools/"]{display:flex}
 .nav a[href="/copilot/"]{display:none}
 .tb::before{inset:4px 0 -4px;box-shadow:0 8px 12px -6px rgba(16,42,30,.38)}
 .tb-c{box-shadow:inset 0 1px 0 var(--hi),inset 0 -2px 4px rgba(16,42,30,.07),0 1px 1px rgba(16,42,30,.06)}
 [data-theme=dark] .tb-c{box-shadow:inset 0 1px 0 var(--hi),inset 0 -2px 4px rgba(0,0,0,.25)}
 .tb:active .tb-c{transform:translate3d(0,3px,0)}
 .tb.tb-cp{color:#fff}
 .tb.tb-cp::before{inset:-4px 0 -4px;border-radius:17px;background:#00473B;box-shadow:0 10px 16px -8px rgba(0,109,91,.8)}
 [data-theme=dark] .tb.tb-cp::before{background:#002A23;box-shadow:0 10px 16px -8px rgba(0,0,0,.85)}
 .tb.tb-cp .tb-c{margin-top:-8px;height:calc(100% + 8px);border-radius:17px;background:linear-gradient(160deg,#14A68A 0%,#006D5B 72%);border-color:#005446;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -3px 6px rgba(0,0,0,.2)}
 .tb.tb-cp .tb-c .ico{width:22px;height:22px;color:#7ED321}
 .tb.tb-cp[aria-current=page] .tb-c{box-shadow:inset 0 0 0 2px #7ED321,inset 0 1px 0 rgba(255,255,255,.38),inset 0 -3px 6px rgba(0,0,0,.2)}
}
/* W131 co-pilot key white at rest: green only on its own page and while pressed (Guest 20 Oct 18:41Z) */
@media (max-width:768px),(max-height:500px) and (pointer:coarse){
 .tb.tb-cp{color:var(--ink-2)}
 .tb.tb-cp::before{inset:-4px 0 -4px;border-radius:17px;background:var(--ledge);box-shadow:0 10px 16px -8px rgba(16,42,30,.42)}
 [data-theme=dark] .tb.tb-cp::before{background:var(--ledge);box-shadow:0 10px 16px -8px rgba(0,0,0,.85)}
 .tb.tb-cp .tb-c{background:linear-gradient(180deg,var(--c-top) 0%,var(--c-bot) 100%);border-color:var(--card-line);
  box-shadow:inset 0 1px 0 var(--hi),inset 0 -2px 4px rgba(16,42,30,.07),0 1px 1px rgba(16,42,30,.06)}
 [data-theme=dark] .tb.tb-cp .tb-c{box-shadow:inset 0 1px 0 var(--hi),inset 0 -2px 4px rgba(0,0,0,.25)}
 .tb.tb-cp .tb-c .ico{color:#006D5B}
 [data-theme=dark] .tb.tb-cp .tb-c .ico{color:var(--brand)}
 .tb.tb-cp[aria-current=page],.tb.tb-cp:active{color:#fff}
 .tb.tb-cp[aria-current=page]::before,.tb.tb-cp:active::before{background:#00473B;box-shadow:0 10px 16px -8px rgba(0,109,91,.8)}
 [data-theme=dark] .tb.tb-cp[aria-current=page]::before,[data-theme=dark] .tb.tb-cp:active::before{background:#002A23;box-shadow:0 10px 16px -8px rgba(0,0,0,.85)}
 .tb.tb-cp[aria-current=page] .tb-c,.tb.tb-cp:active .tb-c,[data-theme=dark] .tb.tb-cp:active .tb-c{background:linear-gradient(160deg,#14A68A 0%,#006D5B 72%);border-color:#005446;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -3px 6px rgba(0,0,0,.2)}
 .tb.tb-cp[aria-current=page] .tb-c,[data-theme=dark] .tb.tb-cp[aria-current=page] .tb-c{box-shadow:inset 0 0 0 2px #7ED321,inset 0 1px 0 rgba(255,255,255,.38),inset 0 -3px 6px rgba(0,0,0,.2)}
 .tb.tb-cp[aria-current=page] .tb-c .ico,.tb.tb-cp:active .tb-c .ico,[data-theme=dark] .tb.tb-cp[aria-current=page] .tb-c .ico,[data-theme=dark] .tb.tb-cp:active .tb-c .ico{color:#7ED321}
}

/* W134: the results reminder offer is part of the page (not fixed over results); no sideways scroll in chat panels */
.nprompt.inline{position:static;width:auto;max-height:none;margin:18px 0;opacity:1;transform:none;left:auto;right:auto;bottom:auto;z-index:auto}
.chatlog{overflow-x:hidden}.chatlog .bub,.chatlog .cite{overflow-wrap:anywhere;min-width:0}
.engine.paused{color:var(--ink);font-weight:600}
