/* The AI Till v3. Generated by redesign_v3/apply.py; edit redesign_v3/*.css, not this file. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:700 900;font-stretch:72% 120%;font-display:swap;src:url(/fonts/archivo-display-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 600;font-stretch:100%;font-display:swap;src:url(/fonts/plexsans-text-v2.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plexmono-400-v2.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexmono-500-v2.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plexmono-600-v2.woff2) format("woff2")}
/* Round 4 perf (18 Oct 2026): on phones and tablets the closed sidebar drawers are not rendered, so their 2,000 or so
   elements and tool logos stay out of the first paint. They render as soon as a drawer opens; the content stays until the slide-out ends. */
@media (max-width:1099px){.sb-js .sb-panel:not(.is-open):not(:target){content-visibility:hidden;transition:transform .32s var(--ease),visibility 0s linear .32s,content-visibility 0s linear .32s;transition-behavior:allow-discrete}}

:root{
  /* kept from the live site */
  --bg:#04060b; --bg2:#080d16; --bg3:#0d1422;
  --ink:#eef3f8; --mut:#a3b1c2; --dim:#7f8da0;
  --cy:#5ee6d0; --sky:#7cc4ff; --vi:#9b8cff; --gold:#f4c95d;
  --line:rgba(160,200,255,.12); --line2:rgba(160,200,255,.22);
  /* new type */
  --disp:"Archivo",ui-sans-serif,system-ui,sans-serif;
  --sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16.5px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--gold);color:var(--bg)}
a{color:var(--cy);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--bg);padding:10px 14px;font-weight:600}.skip:focus{top:12px}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
@media (max-width:600px){.wrap{padding-left:16px;padding-right:16px}}

/* ---------- buttons: solid, flat, hard offset shadow ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--cy);color:var(--bg);border:0;border-radius:4px;padding:13px 20px;font:600 .98rem/1.1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:3px 3px 0 var(--vi);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--vi);color:var(--bg)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--vi)}
.btn.sm{padding:9px 14px;font-size:.9rem}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--cy);color:var(--cy);transform:none}
.btn.dark{background:var(--bg);color:var(--cy);box-shadow:3px 3px 0 rgba(4,6,11,.35)}
.btn.dark:hover{color:var(--cy);box-shadow:4px 4px 0 rgba(4,6,11,.35)}

/* ---------- till display strip ---------- */
.display{background:#000;border-bottom:1px solid var(--line);overflow:hidden;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cy)}
.display-track{display:flex;width:max-content;animation:roll 55s linear infinite}
.display span{padding:10px 28px;white-space:nowrap;border-right:1px dashed rgba(94,230,208,.25)}
.display b{color:var(--ink);font-weight:600;margin-right:8px}
.display .hl{color:var(--gold)}
@keyframes roll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.display-track{animation:none}}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 1.15rem/1 var(--disp);font-stretch:118%;text-transform:uppercase;letter-spacing:.01em}
.mark{width:24px;height:27px}
.nav{display:flex;align-items:center;gap:26px}
.nav a:not(.btn){color:var(--mut);text-decoration:none;font-weight:500;font-size:.95rem}
.nav a:not(.btn):hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:6px}
.menu{display:none;background:none;border:1.5px solid var(--line2);color:var(--ink);font:600 .85rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:9px 12px;border-radius:4px;cursor:pointer}
@media (max-width:860px){
  .menu{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:68px;flex-direction:column;align-items:stretch;gap:0;background:var(--bg2);border-bottom:1px solid var(--line);padding:8px 16px 18px}
  .nav.open{display:flex}
  .nav a:not(.btn){padding:13px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .nav .btn{margin-top:14px}
}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:1.25fr .85fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:56px}
.kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;font:500 .8rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.tick{display:inline-grid;place-items:center;width:20px;height:20px;background:var(--gold);color:var(--bg);font-weight:700;border-radius:2px}
h1,h2,h3{font-family:var(--disp);margin:0}
h1{font-size:clamp(2.6rem,6.4vw,5.4rem);font-weight:850;font-stretch:78%;line-height:.94;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:24px;text-wrap:balance}
h1 em{font-style:normal;color:var(--gold);text-decoration:underline;text-decoration-color:var(--cy);text-decoration-thickness:.09em;text-underline-offset:.1em}
.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--mut);max-width:560px;margin:0 0 30px;text-wrap:pretty}

.search{display:flex;align-items:stretch;max-width:620px;background:var(--bg2);border:1.5px solid var(--line2);border-radius:4px;padding:6px;gap:6px;transition:border-color .15s}
.search:focus-within{border-color:var(--cy)}
.search .prompt{display:flex;align-items:center;padding:0 4px 0 10px;font:600 .78rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--cy)}
.search input{flex:1;min-width:0;background:transparent;border:0;color:var(--ink);font:inherit;font-size:1rem;padding:10px 6px}
.search input::placeholder{color:var(--dim)}
.search input:focus{outline:none}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.quick button{background:transparent;border:1px dashed var(--line2);color:var(--mut);font:500 .85rem/1 var(--sans);padding:8px 12px;border-radius:999px;cursor:pointer}
.quick button:hover{border-style:solid;border-color:var(--gold);color:var(--gold)}
@media (max-width:520px){.search .prompt{display:none}.search .btn{padding:12px 14px}}

/* receipt */
.hero-receipt{position:relative;justify-self:center;width:100%;max-width:360px}
.receipt{--paper:var(--ink);position:relative;background:var(--paper);color:var(--bg);font:500 .86rem/1.45 var(--mono);padding:30px 26px 34px;transform:rotate(2deg);
  -webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/14px 7px repeat-x,linear-gradient(#000 0 0) center/100% calc(100% - 13px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 7px repeat-x;
          mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/14px 7px repeat-x,linear-gradient(#000 0 0) center/100% calc(100% - 13px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 7px repeat-x}
.receipt p{margin:0}
.r-head{text-align:center;font:900 1.35rem/1 var(--disp);font-stretch:120%;letter-spacing:.04em}
.r-sub{text-align:center;font-size:.72rem;letter-spacing:.1em;margin-top:6px !important}
.r-rule{overflow:hidden;white-space:nowrap;color:#5b6676;margin:12px 0 !important}
.r-items{margin:0}
.r-items div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0}
.r-items dt{font-weight:600;text-transform:uppercase}
.r-items dt small{display:block;text-transform:none;font-weight:400;color:#4a5566;font-size:.74rem}
.r-items dd{margin:0;font-weight:600;font-size:1rem;white-space:nowrap}
.r-items dd small{font-weight:400;font-size:.72rem}
.r-note{font-size:.74rem;color:#3c4656}
.barcode{height:44px;margin:18px 0 8px;background:repeating-linear-gradient(90deg,var(--bg) 0 2px,transparent 2px 4px,var(--bg) 4px 5px,transparent 5px 8px,var(--bg) 8px 11px,transparent 11px 12px,var(--bg) 12px 13px,transparent 13px 16px)}
.r-thanks{text-align:center;font-size:.7rem;letter-spacing:.14em}
.sticker{position:absolute;left:-34px;top:-26px;width:104px;height:104px;border-radius:50%;background:var(--gold);color:var(--bg);display:grid;place-content:center;text-align:center;transform:rotate(-12deg);box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--gold)}
.sticker b{font:900 2.2rem/.9 var(--disp);font-stretch:80%}
.sticker span{font:600 .64rem/1.1 var(--mono);text-transform:uppercase;letter-spacing:.06em}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:56px;padding-top:40px}
  .hero-receipt{max-width:330px;margin-left:30px}
}
@media (max-width:420px){.hero-receipt{margin-left:24px;max-width:300px}.sticker{left:-22px;width:88px;height:88px}.sticker b{font-size:1.8rem}}

/* ---------- tags (price-tag shape) ---------- */
.tag{display:inline-flex;align-items:center;height:22px;padding:0 9px 0 15px;font:600 .68rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(7px 0,100% 0,100% 100%,7px 100%,0 50%);position:relative}
.tag::before{content:"";position:absolute;left:6px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--bg)}
.tag.gold{background:var(--gold);color:var(--bg)}
.tag.sky{background:var(--sky);color:var(--bg)}
.tag.cy{background:var(--cy);color:var(--bg)}
.tag.off{background:var(--bg3);color:var(--dim)}
.tag.off::before{background:var(--dim)}

/* ---------- freebies ---------- */
.freebies{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.freebies a{display:flex;align-items:center;gap:14px;padding:20px 22px;text-decoration:none;color:var(--ink);border-right:1px solid var(--line);transition:background .15s}
.freebies a:last-child{border-right:0}
.freebies a:hover{background:var(--bg2)}
.freebies b{font-weight:600;flex:1}
.arr{font-family:var(--mono);color:var(--cy);transition:transform .15s}
a:hover .arr{transform:translateX(4px)}
@media (max-width:760px){.freebies{grid-template-columns:1fr}.freebies a{border-right:0;border-bottom:1px solid var(--line)}.freebies a:last-child{border-bottom:0}}

/* ---------- aisles ---------- */
.aisle{padding-top:88px}
section,[id]{scroll-margin-top:84px}
.aisle-head{display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:end;margin-bottom:28px;padding-bottom:18px;border-bottom:2px solid var(--ink)}
.aisle-no{grid-row:span 2;align-self:stretch;display:flex;align-items:center;margin:0;padding:0 12px;background:var(--ink);color:var(--bg);font:700 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;writing-mode:horizontal-tb}
.aisle-no.dark{display:inline-flex;background:var(--bg);color:var(--cy);padding:8px 10px;margin-bottom:18px}
h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:850;font-stretch:80%;line-height:1;text-transform:uppercase;letter-spacing:-.01em}
.aisle-sub{margin:6px 0 0;color:var(--mut)}
@media (max-width:600px){.aisle{padding-top:64px}.aisle-head{grid-template-columns:1fr}.aisle-no{grid-row:auto;justify-self:start;padding:8px 10px;margin-bottom:14px}}

/* filters */
.filters{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 600px}
.chip{text-decoration:none;background:var(--bg2);border:1px solid var(--line);color:var(--mut);font:500 .86rem/1 var(--sans);padding:9px 12px;border-radius:4px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.chip i{font:500 .74rem/1 var(--mono);font-style:normal;color:var(--dim)}
.chip:hover{border-color:var(--line2);color:var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip[aria-pressed=true] i{color:#4a5566}
.chip.more-chips{border-style:dashed}
.toggles{display:flex;gap:8px}
.tog{position:relative;cursor:pointer}
.tog input{position:absolute;opacity:0}
.tog span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line2);border-radius:4px;font:500 .86rem/1 var(--sans);color:var(--mut)}
.tog span::before{content:"";width:14px;height:14px;border:1.5px solid var(--dim);border-radius:2px}
.tog input:checked+span{border-color:var(--gold);color:var(--gold)}
.tog input:checked+span::before{background:var(--gold);border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--bg)}
.tog input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.count{font:500 .8rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin:18px 0 14px}

/* tool cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
@media (max-width:360px){.grid{grid-template-columns:1fr}}
.card{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);transition:transform .12s,border-color .12s,box-shadow .12s}
.card:hover{transform:translate(-2px,-2px);border-color:var(--c,var(--cy));box-shadow:4px 4px 0 var(--c,var(--cy))}
.card-top{display:flex;align-items:center;gap:12px}
.mono{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:4px;font:700 .9rem/1 var(--mono);color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 45%,transparent)}
.card h3{font-size:1.18rem;font-weight:750;font-stretch:92%;line-height:1.15}
.cat{display:block;font:500 .7rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c);margin-top:4px}
.card p{margin:0;color:var(--mut);font-size:.95rem;line-height:1.5;flex:1}
.card-tags{display:flex;gap:6px;flex-wrap:wrap}
.more{margin-top:24px;display:flex;justify-content:center}
.empty{grid-column:1/-1;padding:40px;text-align:center;border:1px dashed var(--line2);color:var(--mut);border-radius:6px}

/* ledger (by job) */
.ledger{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.ledger a{display:flex;align-items:baseline;gap:14px;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:color .12s,padding .12s}
.ledger .no{font:500 .8rem/1 var(--mono);color:var(--dim)}
.ledger .nm{font:700 1.3rem/1.2 var(--disp);font-stretch:88%}
.ledger .dots{flex:1;border-bottom:2px dotted var(--line2);transform:translateY(-4px);min-width:20px}
.ledger .ct{font:500 .85rem/1 var(--mono);color:var(--cy);white-space:nowrap}
.ledger a:hover{color:var(--gold);padding-left:10px}
.ledger a:hover .dots{border-color:var(--gold)}
@media (max-width:760px){.ledger{grid-template-columns:1fr}.ledger .nm{font-size:1.12rem}}

/* trades */
.trades{display:flex;flex-wrap:wrap;gap:10px}
.trades a{display:inline-flex;align-items:center;gap:10px;padding:11px 14px;background:var(--bg2);border:1px solid var(--line);border-radius:4px;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}
.trades a i{font:600 .72rem/1 var(--mono);font-style:normal;color:var(--bg);background:var(--sky);padding:4px 6px;border-radius:2px}
.trades a:hover{border-color:var(--sky)}
.trades a.all{background:transparent;border:1.5px solid var(--sky);color:var(--sky);font-weight:600}

/* ticket */
#signup{padding-top:96px}
.ticket{display:grid;grid-template-columns:1fr 300px;background:var(--cy);color:var(--bg);border-radius:8px;position:relative;overflow:hidden}
.ticket-main{padding:44px 44px 44px}
.ticket h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:14ch;margin-bottom:12px}
.ticket-main>p:not(.aisle-no){margin:0 0 24px;font-size:1.06rem;max-width:520px;color:#0b2a2a}
.signup{display:flex;gap:10px;max-width:540px;flex-wrap:wrap}
.signup input{flex:1 1 240px;min-width:0;padding:13px 14px;font:inherit;font-size:1rem;background:rgba(255,255,255,.55);border:1.5px solid var(--bg);border-radius:4px;color:var(--bg)}
.signup input::placeholder{color:#2a4a4a}
.signup input:focus{outline:none;background:#fff}
.ticket-stub{position:relative;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:36px 32px;background:var(--gold);color:var(--bg);text-decoration:none;border-left:2px dashed rgba(4,6,11,.45)}
.ticket-stub::before,.ticket-stub::after{content:"";position:absolute;left:-14px;width:26px;height:26px;border-radius:50%;background:var(--bg)}
.ticket-stub::before{top:-13px}.ticket-stub::after{bottom:-13px}
.stub-label{font:600 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.ticket-stub b{font:900 2.4rem/1 var(--disp);font-stretch:80%;text-transform:uppercase}
.ticket-stub .arr{color:var(--bg);font-weight:600;margin-top:8px}
@media (max-width:820px){
  .ticket{grid-template-columns:1fr}
  .ticket-main{padding:32px 22px}
  .ticket-stub{border-left:0;border-top:2px dashed rgba(4,6,11,.45);padding:28px 22px}
  .ticket-stub::before{top:-14px;left:-13px}.ticket-stub::after{top:-14px;bottom:auto;left:auto;right:-13px}
  .signup .btn{flex:1 1 100%}
}

/* sponsor */
.sponsor{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:22px;padding-bottom:22px;border-top:1px dashed var(--line2);border-bottom:1px dashed var(--line2)}
.sponsor p{margin:0;color:var(--mut);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sponsor b{color:var(--ink)}
.sponsor>a{font-weight:600;text-decoration:none}

/* footer */
.foot{margin-top:110px;background:var(--bg2);border-top:2px solid var(--ink);padding:56px 0 40px}
.foot-mark{margin:0 0 40px;font:900 clamp(3rem,11vw,9.5rem)/.85 var(--disp);font-stretch:72%;text-transform:uppercase;letter-spacing:-.02em;color:var(--bg3);-webkit-text-stroke:1px var(--line2)}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.foot h3{font:600 .74rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.foot-cols a{display:block;color:var(--mut);text-decoration:none;padding:5px 0;font-size:.95rem}
.foot-cols a:hover{color:var(--ink)}
.foot-small{margin:44px 0 0;font:500 .78rem/1 var(--mono);color:var(--dim)}
@media (max-width:700px){.foot-cols{grid-template-columns:1fr 1fr}}


/* ---------- v3: shared site components (inner pages) ---------- */
:root{--ease:cubic-bezier(.2,.7,.2,1)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}
.small{font-size:.88rem}.muted{color:var(--mut)}
.small.muted a,.muted a{color:var(--mut)}.small.muted a:hover{color:var(--cy)}
.hide-m{}
.reveal,.fade-up{opacity:1!important;transform:none!important}
h3{font-weight:750;font-stretch:92%}
.btn.small{padding:9px 14px;font-size:.9rem}
.btn:disabled{opacity:.6;cursor:wait}

/* page body */
main.prose{padding-top:40px;padding-bottom:20px;max-width:1200px}
.prose>*{max-width:820px}
.prose>.toollist,.prose>.chips,.prose>.cards,.prose>.facts,.prose>.tablewrap,.prose>.calc,.prose>.out,.prose>.panel,.prose>.grid,.prose>section,.prose>div{max-width:none}
.prose h1{font-size:clamp(2.1rem,4.6vw,3.7rem);line-height:.98;margin:6px 0 20px}
.prose h2{font-size:clamp(1.45rem,2.6vw,2rem);margin:46px 0 14px;padding-top:14px;border-top:2px solid var(--ink);max-width:820px}
.prose h3{font-size:1.16rem;margin:26px 0 8px;line-height:1.2}
.prose p,.prose li{color:#d3dce6}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 18px}
.prose li{margin:5px 0}
.prose ul>li::marker{color:var(--gold)}
.prose ol>li::marker{font-family:var(--mono);color:var(--cy)}
.prose strong{color:var(--ink)}
.prose blockquote{margin:18px 0;padding:16px 20px;background:var(--bg2);border-left:4px solid var(--gold);border-radius:0 4px 4px 0}
.prose blockquote p{margin:0;color:var(--ink)}
.prose pre,.prose code{font-family:var(--mono);font-size:.9rem}
.prose pre{background:var(--bg2);border:1px solid var(--line2);border-radius:4px;padding:16px;overflow:auto}
pre.prompt{border-left:4px solid var(--cy)}
.prose img{max-width:100%;height:auto}
.prose hr{border:0;border-top:1px dashed var(--line2);margin:32px 0}
.prose>p.small.muted:first-child{font:500 .78rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.prose .lead{margin-bottom:24px;max-width:720px}
.kicker::before{content:"";width:8px;height:8px;background:var(--gold);display:inline-block}
.kicker{margin-bottom:14px}

/* tables */
.tablewrap{overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:6px}
.prose table{width:100%;border-collapse:collapse;font-size:.94rem}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font:600 .74rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:var(--bg2)}
.tablewrap table{margin:0}
.prose tr:last-child td{border-bottom:0}

/* panels */
.panel{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:20px}
.panel>*:last-child{margin-bottom:0}
.panel .kicker{margin-bottom:10px}

/* sign-up panels everywhere become the mint ticket */
.panel:has(form.signup){background:var(--cy);color:var(--bg);border:0;border-radius:8px;padding:30px 30px!important;box-shadow:6px 6px 0 var(--gold)}
.panel:has(form.signup) h2{color:var(--bg);border:0;padding:0;margin:0 0 10px!important;font-size:clamp(1.6rem,3vw,2.4rem)}
.panel:has(form.signup) p,.panel:has(form.signup) .muted,.panel:has(form.signup) .small.muted{color:#0b2a2a}
.panel:has(form.signup) a{color:var(--bg);font-weight:600}
.panel:has(form.signup) .kicker{color:var(--bg);background:var(--bg);color:var(--cy);padding:7px 10px;display:inline-flex}
.panel:has(form.signup) .kicker::before{background:var(--gold)}
.panel:has(form.signup) .btn{background:var(--bg);color:var(--cy);box-shadow:3px 3px 0 rgba(4,6,11,.35)}
.panel:has(form.signup) .signup{margin:14px 0 12px}
.panel:has(.packform) .btn{white-space:normal}

/* chips and badges */
.chips{margin:12px 0 18px}
.chip .n{font:500 .74rem/1 var(--mono);color:var(--dim)}
a.chip:hover{color:var(--ink);border-color:var(--cy)}
.chip[aria-pressed=true] .n{color:#4a5566}
.badge{display:inline-flex;align-items:center;height:22px;padding:0 9px 0 15px;font:600 .66rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(7px 0,100% 0,100% 100%,7px 100%,0 50%);position:relative;background:var(--bg3);color:var(--mut)}
.badge::before{content:"";position:absolute;left:6px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--bg)}
.badge.free{background:var(--gold);color:var(--bg)}
.badge.uk{background:var(--sky);color:var(--bg)}
.badge.paid{background:var(--bg3);color:var(--mut)}.badge.paid::before{background:var(--dim)}

/* tool cards (server-rendered lists) */
.toollist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:18px 0 26px}
.tool{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 20px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);transition:transform .12s,border-color .12s,box-shadow .12s}
.tool:hover{transform:translate(-2px,-2px);border-color:var(--cy);box-shadow:4px 4px 0 var(--cy);color:var(--ink)}
.tool h3{margin:0;font-size:1.14rem;line-height:1.15;font-weight:750;font-stretch:92%}
.tool p{margin:0;color:var(--mut);font-size:.93rem;line-height:1.5}
.tool .meta{display:flex;gap:6px;flex-wrap:wrap;order:3}
.tool>p{order:2}
.prose .tool p{color:var(--mut)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:18px 0}
.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--cy)}
.card.feature{border-color:var(--gold);box-shadow:4px 4px 0 var(--gold)}

/* tool facts */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;margin:20px 0;border:1px solid var(--line2);border-radius:6px;overflow:hidden;background:var(--bg2)}
.fact{padding:16px 18px;border-right:1px dashed var(--line2);border-bottom:1px dashed var(--line2)}
.fact h3{margin:0 0 6px!important;font:600 .72rem/1 var(--mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.fact p{margin:0;color:var(--ink);font-size:.95rem}
.sources{font-size:.88rem;color:var(--mut)}

/* search box on /tools/ */
.searchbox{display:flex;align-items:stretch;max-width:720px;background:var(--bg2);border:1.5px solid var(--line2);border-radius:4px;padding:6px;margin:18px 0 8px}
.searchbox:focus-within{border-color:var(--cy)}
.searchbox input{flex:1;min-width:0;background:transparent;border:0;color:var(--ink);font:inherit;padding:10px 10px}
.searchbox input:focus{outline:none}
.searchbox input::placeholder{color:var(--dim)}

/* calculators, forms */
.calc input,.calc select,.formgrid input,.formgrid textarea,.formgrid select,textarea.qt{border-radius:4px!important;border:1.5px solid var(--line2)!important;background:var(--bg)!important;color:var(--ink)!important;font:inherit;padding:11px 12px!important}
.calc input:focus,.calc select:focus,.formgrid input:focus,.formgrid textarea:focus,textarea.qt:focus{outline:none;border-color:var(--cy)!important}
.calc label,.formgrid label{color:var(--mut);font-weight:500}
.out{background:var(--ink)!important;color:var(--bg)!important;border:0!important;border-radius:4px;font-family:var(--mono)}
.out td{border-bottom:1px dashed rgba(4,6,11,.25)!important;color:var(--bg)}
.out .muted,.out .small{color:#3c4656!important}
.out tr.tot td{font-family:var(--disp);font-stretch:90%}
table.cmp th{color:var(--gold)}
.formgrid{display:grid;gap:12px;max-width:640px}
.formgrid label{display:grid;gap:6px;font-size:.92rem}
.copybtn{margin:8px 0 18px}
.docbtns{display:flex;gap:10px;flex-wrap:wrap}

/* sponsor strip (every page) */
.sponsorbar{margin-top:56px}
.sponsorbar .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;border-top:1px dashed var(--line2);border-bottom:1px dashed var(--line2);color:var(--mut);font-size:.95rem}
.sponsorbar .lbl{display:inline-flex;align-items:center;height:22px;padding:0 9px 0 15px;font:600 .68rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--sky);color:var(--bg);clip-path:polygon(7px 0,100% 0,100% 100%,7px 100%,0 50%)}
.sponsorbar a{margin-left:auto;font-weight:600;text-decoration:none}
.sponsor+.sponsorbar{display:none}

/* footer extras */
.foot{margin-top:56px}
.foot-extra{margin:28px 0 0;color:var(--dim);font-size:.85rem}
.foot-extra a{color:var(--mut)}
.foot-cols a[href^="mailto"]{word-break:break-all}

/* homepage additions (beyond the mock-up) */
.v3js .grid .card.x{display:none}
.v3js .grid.all .card.x{display:flex}
.v3js .grid .card.hide{display:none!important}
.ledger.three{grid-template-columns:1fr 1fr 1fr}
@media (max-width:1000px){.ledger.three{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ledger.three{grid-template-columns:1fr}}
.ledger .nm.sm{font-size:1.02rem;font-stretch:92%}
.home-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}
.home-links a{font-weight:600;text-decoration:none}

/* ---------- sidebars on inner pages, under the v3 header ---------- */
.sb-panel{background:var(--bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.sb-brand{display:none!important}
.sb-item{border-radius:4px}
.sb-item[aria-current]{background:var(--bg2);box-shadow:inset 3px 0 0 var(--gold)}
.sb-mono,.sb-n,.sb-tagf{border-radius:3px;font-family:var(--mono)}
.sb-panel h2,.sb-panel h3{font-family:var(--mono)!important;letter-spacing:.12em!important;color:var(--gold)!important}
.sb-new{border-radius:4px;background:var(--bg2);border-color:var(--line2)}
.sb-dot{border-radius:0;background:var(--gold);animation:none}
.sb-chips .chip,.sb-free .chip{border-radius:4px}
@media (min-width:1100px){
 .sb-panel{top:68px!important;height:calc(100vh - 68px)!important;height:calc(100dvh - 68px)!important}
 .sb-main>main.wrap{padding-left:clamp(24px,3vw,48px)!important;padding-right:clamp(24px,3vw,48px)!important}
}
@media (max-width:1099px){
 .sb-mbar{position:relative!important;top:auto!important;z-index:30!important;height:52px!important;justify-content:flex-end!important;background:var(--bg2)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 .sb-open{border-radius:4px!important;font-family:var(--mono)!important;font-size:.8rem!important;text-transform:uppercase;letter-spacing:.06em}
 .sb-js .sb-panel{background:var(--bg2)!important;z-index:95!important}
 .sb-js .sb-dhead{background:var(--bg2)!important}
}
.sb-close{border-radius:4px}
.v3js .chips:not(.allc) .chip.xc{display:none}
html:not(.v3js) .chip.more-chips,html:not(.v3js) .more{display:none}
.nav a[aria-current]:not(.btn){color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:6px}
.ticket .sigmsg{margin:12px 0 0!important;font-size:.88rem;color:#0b2a2a}
.ticket .sigmsg a{color:var(--bg);font-weight:600}
.kicker:has(.tick)::before{display:none}
.ledger .no{flex:none}
/* ticker links, Trades Pack item, sponsor slot (18 Oct 2026) */
.display a{color:inherit;text-decoration:none}
.display a:hover,.display a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.display a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.display:hover .display-track,.display:focus-within .display-track{animation-play-state:paused}
.display .tp a{color:var(--gold)}
.display .tp b{color:var(--gold)}
.display i.new,.display i.spl{font-style:normal;display:inline-block;padding:3px 6px;margin-right:8px;border-radius:2px;font-size:10px;line-height:1}
.display i.new{background:var(--gold);color:#000}
.display i.spl{border:1px solid currentColor;opacity:.85}
@media (prefers-reduced-motion:reduce){.display{overflow-x:auto}.display-track{animation:none}}
/* Trades Pack hero video */
.tp-hero{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
.tp-hero .tp-vid{max-width:760px}
.tp-vid{margin:0}
.tp-vid video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#05080d;border:1px solid var(--line2);border-radius:6px}
.tp-vid figcaption{margin-top:6px}
@media (max-width:860px){.tp-vid video{aspect-ratio:9/16;max-height:64vh;width:auto;max-width:100%;margin:0 auto}}
/* homepage Trades Pack strip with click-to-play video */
.tp-strip{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}
.tp-strip .tp-txt{text-decoration:none;color:var(--ink)}
.tp-strip .tp-txt b{display:block;font-size:1.15rem;margin:6px 0}
.tp-play{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line2);border-radius:6px;background:#05080d;cursor:pointer;overflow:hidden;aspect-ratio:16/9}
.tp-play img,.tp-play video{display:block;width:100%;height:100%;object-fit:cover}
.tp-play .pl{position:absolute;inset:auto auto 10px 10px;background:var(--gold);color:#000;font:600 12px/1 var(--mono);padding:7px 10px;border-radius:3px;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:700px){.tp-strip{grid-template-columns:1fr}}
/* official tool logos (sidebar + homepage cards); .lt = dark logo on a white tile */
.sb-logo{border-radius:3px}
.mono-logo{flex:none;display:block;width:40px;height:40px;border-radius:4px;object-fit:contain}
.mono-logo.lt{background:#fff;padding:3px}


/*ls:start*/
/* list search boxes (pipeline/list_search.py + /list-search.js) */
.ls-box{margin:18px 0 22px;max-width:680px}
.ls-box .search{max-width:none}
.ls-box .search input{font-size:1.1rem;padding:12px 8px}
.ls-box .search .prompt{font-size:.85rem}
.ls-count{margin:8px 2px 0;min-height:1.5em;font:500 1rem/1.5 var(--sans);color:var(--mut)}
.ls-none{margin:6px 0 0;padding:14px 16px;border:1px dashed var(--line2);border-radius:6px;font-size:1.08rem;line-height:1.55;color:var(--ink);background:var(--bg2)}
.ls-none a,.ls-none button{color:var(--cy);font:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ls-none b{color:var(--gold)}
.trades a[hidden],.toollist [hidden],.cards [hidden],.ledger[hidden],.ls-none[hidden],main h2[hidden],.prose [hidden]{display:none!important}
.ls-res .no{min-width:5.2em;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:520px){.ls-box{margin:14px 0 18px}.ls-box .search input{font-size:1.06rem}}
/*ls:end*/
/* v3: directory components now live in /style.css */
/*sidebar:start*/
/* The AI Till sidebars: left browse nav + right filters. Uses v2 tokens from /style.css. */
.sb-panel [hidden],.sb-mbar [hidden]{display:none!important}
.sb-layout{position:relative}
.sb-panel{--sbw:272px;font-size:.92rem;line-height:1.45;color:var(--ink)}
.sb-panel h2,.sb-panel h3{font:600 .72rem/1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin:0}
.sb-panel a{text-decoration:none}
.sb-panel .sr,.sb-mbar .sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sb-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:700 1.12rem/1 var(--disp);letter-spacing:-.015em}
.sb-brand img{border-radius:9px;box-shadow:0 0 22px rgba(94,230,208,.35)}
.sb-brand:hover{color:var(--ink)}
.sb-tag{margin:12px 0 14px;color:var(--mut);font-size:.88rem;line-height:1.5}
.sb-cta{width:100%;justify-content:center}
.sb-new{display:flex;gap:10px;align-items:flex-start;margin:14px 0 4px;padding:10px 12px;border-radius:12px;background:rgba(94,230,208,.06);border:1px solid rgba(94,230,208,.22);color:var(--mut);font-size:.84rem;line-height:1.4;transition:border-color .2s,background .2s}
.sb-new b{color:#c9f7ef;font-weight:600;margin-right:2px}.sb-new:hover{border-color:rgba(94,230,208,.5);background:rgba(94,230,208,.1);color:var(--ink)}
.sb-dot{flex:0 0 auto;width:7px;height:7px;margin-top:6px;border-radius:50%;background:var(--cy);box-shadow:0 0 0 0 rgba(94,230,208,.6);animation:ping 2.2s infinite}
.sb-sec{margin-top:26px}
.sb-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;padding:0 2px}
.sb-h a{font-size:.8rem;color:var(--dim)}.sb-h a:hover{color:var(--cy)}
.sb-legend{margin:-2px 2px 8px;font-size:.76rem;color:var(--dim)}
.sb-list{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.sb-list>li{position:relative}
.sb-item{display:flex;align-items:center;gap:10px;min-height:34px;padding:6px 8px;border-radius:9px;color:#d5dee8;transition:background .15s,color .15s}
.sb-item:hover{background:rgba(255,255,255,.05);color:var(--ink)}
.sb-item[aria-current]{background:linear-gradient(90deg,rgba(94,230,208,.14),rgba(155,140,255,.06));color:var(--ink);box-shadow:inset 2px 0 0 var(--cy)}
.sb-row:has(details) .sb-item{padding-right:36px}
.sb-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-mono{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;font:700 .64rem/1 var(--disp);letter-spacing:.02em;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.sb-n{flex:0 0 auto;min-width:28px;padding:2px 7px;border-radius:99px;text-align:center;font:500 .74rem/1.4 var(--sans);font-variant-numeric:tabular-nums;color:var(--mut);background:rgba(255,255,255,.05);border:1px solid var(--line)}
.sb-item:hover .sb-n,.sb-item[aria-current] .sb-n{color:var(--ink);border-color:var(--line2)}
.sb-tagf{flex:0 0 auto;padding:2px 7px;border-radius:6px;font:600 .68rem/1.4 var(--sans);letter-spacing:.04em;color:var(--cy);background:rgba(94,230,208,.12)}
.sb-sub>summary{position:absolute;right:4px;top:5px;display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:var(--dim);cursor:pointer;list-style:none;transition:background .15s,color .15s,transform .2s}
.sb-sub>summary::-webkit-details-marker{display:none}
.sb-sub>summary:hover{background:rgba(255,255,255,.07);color:var(--ink)}
.sb-sub[open]>summary{color:var(--cy);transform:rotate(180deg)}
.sb-subin{margin:2px 0 8px 42px;padding:6px 0 4px 12px;border-left:1px solid var(--line2)}
.sb-subt{margin:6px 0 4px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.sb-subin ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.sb-subin li a{display:inline-block;padding:3px 9px;border-radius:99px;font-size:.8rem;color:var(--mut);border:1px solid var(--line)}
.sb-subin li a:hover,.sb-subin li a[aria-current]{color:var(--cy);border-color:rgba(94,230,208,.45)}
.sb-subm{display:inline-block;margin-top:6px;font-size:.8rem;color:var(--cy)}
.sb-more{margin:6px 0 0;padding:6px 8px;border:0;background:none;color:var(--cy);font:500 .84rem/1.2 var(--sans);cursor:pointer;border-radius:8px}
.sb-more:hover{background:rgba(94,230,208,.08)}
.sb-search{margin:0 0 8px}
.sb-search input{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--line2);background:rgba(0,0,0,.3);color:var(--ink);font:inherit;font-size:1rem}
.sb-search input::placeholder{color:var(--dim)}
.sb-search input:focus{outline:none;border-color:rgba(244,201,93,.8)}
.sb-none{margin:8px 2px 0;font-size:.95rem;line-height:1.5;color:var(--mut)}
.sb-none a{color:var(--cy)}
.sb-js [data-sb-list] .sb-x{display:none}
.sb-chips{margin:0;gap:6px}
.sb-chips .chip{font-size:.82rem;padding:5px 10px;background:rgba(255,255,255,.03);transition:border-color .15s,color .15s,background .15s}
.sb-chips .chip[aria-pressed="true"],.sb-free .chip[aria-pressed="true"]{background:rgba(94,230,208,.12);border-color:var(--cy);color:var(--ink)}
.sb-free{margin-top:12px}
.sb-free .chip{width:100%;justify-content:center;padding:8px 12px;font-weight:600;background:rgba(244,201,93,.06);border-color:rgba(244,201,93,.3)}
.sb-free .chip::before{content:"";width:14px;height:14px;border-radius:4px;border:1.5px solid currentColor;opacity:.8}
.sb-free .chip[aria-pressed="true"]::before{background:var(--cy);border-color:var(--cy);box-shadow:inset 0 0 0 2px #04121a}
.sb-foot{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);font-size:.8rem;color:var(--dim)}
.sb-foot p{margin:0 0 6px}.sb-foot b{color:var(--ink);font-weight:600}
.sb-foot a{color:var(--mut)}.sb-foot a:hover{color:var(--cy)}
.sb-dhead{display:none}
.sb-close{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer}
.sb-close:hover{border-color:rgba(94,230,208,.5)}
.sb-apply{position:sticky;bottom:0;margin:20px -20px -20px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(6,9,16,.95) 30%)}
.sb-apply .btn{width:100%}
.sb-mbar{display:none}
.sb-scrim{position:fixed;inset:0;z-index:89;background:rgba(2,4,8,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.sb-scrim[hidden]{display:none}

/* ---------- desktop: sticky columns ---------- */
@media (min-width:1100px){
 .sb-layout{display:grid;grid-template-columns:272px minmax(0,1fr)}
 .sb-3col{grid-template-columns:272px minmax(0,1fr) 300px}
 .sb-panel{position:sticky;top:0;align-self:start;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:26px 20px 24px;background:linear-gradient(180deg,rgba(8,13,22,.72),rgba(6,9,16,.5));backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);scrollbar-width:thin;scrollbar-color:rgba(160,200,255,.18) transparent}
 .sb-left{border-right:1px solid var(--line)}
 .sb-right{border-left:1px solid var(--line);padding-top:32px}
 .sb-right>.sb-sec:first-of-type{margin-top:18px}
 .sb-right .sb-dhead{display:block}.sb-right .sb-dtitle{font:700 1.05rem/1.2 var(--disp);letter-spacing:-.01em;text-transform:none;color:var(--ink)}
 .sb-main{min-width:0}
 .sb-main>main.wrap{padding-left:clamp(24px,4vw,56px);padding-right:clamp(24px,4vw,56px)}
}
/* ---------- mobile and tablet ---------- */
@media (max-width:1099px){
 .sb-mbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:10px;height:60px;padding:0 16px;background:linear-gradient(180deg,rgba(4,6,11,.85),rgba(4,6,11,.6));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
 .sb-mbar .sb-brand{font-size:1.02rem}
 .sb-mbtns{display:flex;gap:8px}
 .sb-open{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:10px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--ink);font:500 .9rem/1 var(--sans);cursor:pointer}
 .sb-open:hover,.sb-open[aria-expanded="true"]{border-color:rgba(94,230,208,.55);color:var(--ink);background:rgba(94,230,208,.08)}
 .sb-open svg{color:var(--cy)}
 .sb-open .sb-badge{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--cy);color:#04121a;font:700 .7rem/18px var(--sans);text-align:center}
 /* without JS the panels sit in the page after the content */
 .sb-layout{display:flex;flex-direction:column}.sb-main{order:-1}
 .sb-panel{padding:24px 18px;border-top:1px solid var(--line)}
 .sb-left>.sb-brand{display:none}
 /* with JS they become drawers */
 .sb-js .sb-panel{position:fixed;top:0;bottom:0;z-index:90;width:min(360px,88vw);overflow-y:auto;overscroll-behavior:contain;padding:16px 20px 20px;border:0;background:rgba(7,11,19,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 0 0 1px var(--line2),0 30px 80px rgba(0,0,0,.6);visibility:hidden;transition:transform .32s var(--ease),visibility 0s linear .32s}
 .sb-js .sb-left{left:0;transform:translateX(-102%)}
 .sb-js .sb-right{right:0;transform:translateX(102%)}
 .sb-js .sb-panel.is-open{visibility:visible;transform:none;transition:transform .32s var(--ease),visibility 0s}
 .sb-js .sb-dhead{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-16px;z-index:2;margin:-16px -20px 8px;padding:12px 16px 12px 20px;background:rgba(7,11,19,.97);border-bottom:1px solid var(--line)}
 .sb-js .sb-dtitle{font:700 1.05rem/1 var(--disp);letter-spacing:-.01em;text-transform:none;color:var(--ink)}
 .sb-js .sb-left>.sb-brand{display:none}
 .sb-js .sb-item{min-height:42px}
 .sb-js .sb-sub>summary{top:8px;width:30px;height:30px}
 .sb-lock,.sb-lock body{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.sb-panel,.sb-panel *{transition:none!important;animation:none!important}}
@media (min-width:1100px){.sb-panel .sb-close,.sb-panel .sb-apply{display:none!important}}
.sb-list[data-sb-list="tools"] .sb-item{padding-right:36px}
.sb-mbar a{text-decoration:none}

/*no-shift*/ html:not(.sb-js) .sb-search,html:not(.sb-js) .sb-more{display:none}
@media (max-width:1099px){.sb-js .sb-panel:target{visibility:visible;transform:none}}

/*qa 17 Oct 2026: long bare URLs in issues wrap instead of overflowing at 390px*/ main p a,main li a{overflow-wrap:anywhere}
.sb-logo{flex:0 0 auto;display:block;width:24px;height:24px;border-radius:7px;object-fit:contain}
.sb-logo.lt{background:#fff;padding:2px}

/*sidebar:end*/
