/* eu.css: END USER pass (2026-10-24, outreach/agents/SITE-END-USER.md). Grouped nav, home router, feedback control,
   article reading aids, tools hub, crate verdicts, LLM picker. Nothing here hides content behind an animation. */
:root{--hh:62px}
@media(max-width:820px){:root{--hh:56px}}

/* ---------- grouped nav ---------- */
.top .in{position:relative}
.gnav{display:flex;align-items:center;gap:2px;flex:1;min-width:0}
.gg{position:relative}
.gb{all:unset;box-sizing:border-box;cursor:pointer;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:9px 12px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent}
.gb::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
.gb:hover,.gg.open .gb{color:var(--bone);border-color:var(--line)}
.gb:focus-visible,.gtog:focus-visible,.gd a:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.gg.cur .gb{color:var(--bone);box-shadow:inset 0 -2px 0 var(--acid)}
.gd{display:none;position:absolute;left:0;top:calc(100% + 6px);min-width:300px;background:var(--ink2);border:1px solid var(--edge);padding:8px;z-index:60;box-shadow:10px 10px 0 rgba(0,0,0,.35)}
.gg.open .gd{display:block}
@media(hover:hover) and (min-width:821px){.gg:hover .gd{display:block}.gg:hover .gd::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}}
@media(min-width:821px){.gg:focus-within .gd{display:block}}
.gd a{display:block;padding:10px 12px;text-decoration:none;color:var(--bone);font:800 16px/1.2 var(--disp);border-left:2px solid transparent}
.gd a small{display:block;font:400 13px/1.35 var(--disp);color:var(--mute);margin-top:3px}
.gd a:hover{background:rgba(200,255,61,.07);border-left-color:var(--acid)}
.gd a[aria-current]{border-left-color:var(--acid)}
.gtog{display:none}
@media(max-width:820px){
 .top .in{flex-wrap:nowrap!important;height:var(--hh)!important;padding:0 14px!important;gap:10px!important}
 .gtog{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bone);border:1px solid var(--edge);padding:9px 12px;min-height:40px}
 .gt-i{width:16px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
 .gt-i::after{content:"";position:absolute;left:0;right:0;top:2px;border-top:2px solid currentColor}
 .gtog[aria-expanded=true] .gt-i{border-color:transparent}
 .gtog[aria-expanded=true] .gt-i::after{border-color:currentColor;transform:rotate(45deg);top:2px}
 .top .hire{margin-left:auto}
 .gnav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);border-bottom:1px solid var(--edge);max-height:calc(100vh - var(--hh));overflow-y:auto;padding:6px 16px 18px}
 .js .gnav{display:none}.js .gnav.open{display:flex}
 .gb{pointer-events:none;padding:16px 0 6px;color:var(--acid);border:0!important;box-shadow:none!important}
 .gb::after{display:none}
 .gd{display:block;position:static;min-width:0;border:0;padding:0;background:none;box-shadow:none}
 .gd a{padding:10px 10px;border-top:1px solid var(--line)}
}
@media(max-width:380px){.top .hire{padding:8px 10px;font-size:13px}.logo span{font-size:16px}}

/* ---------- feedback ---------- */
.eufb{max-width:1100px;margin:40px auto 10px;padding:0 20px;position:relative;z-index:2}
.eufb-in{border:1px solid var(--edge);background:var(--ink2);padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.eufb-q{font:800 19px/1.3 var(--disp);color:var(--bone);margin:0}
.eufb-b{display:flex;gap:10px;flex-wrap:wrap}
.eufb button{font:700 15px var(--disp);padding:10px 16px;cursor:pointer;border:1px solid var(--edge);background:transparent;color:var(--bone);min-height:44px}
.eufb button:hover{border-color:var(--bone)}
.eufb button[aria-pressed=true]{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.eufb button:focus-visible,.eufb input:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.eufb-f{flex-basis:100%;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.eufb-f[hidden]{display:none}
.eufb-f label{flex-basis:100%;font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.eufb-f input{flex:1 1 220px;min-width:0;font:16px var(--disp);padding:11px 12px;background:var(--ink);border:1px solid var(--edge);color:var(--bone);border-radius:0}
.eufb-ok{flex-basis:100%;margin:0;font:600 14px var(--mono);color:var(--cash)}
.eufb-ok:empty{display:none}

/* ---------- home router ---------- */
.eur{margin:26px 0 8px;max-width:820px}
.eur-h{font:900 clamp(26px,3vw,36px)/1 var(--disp)!important;letter-spacing:-.02em;margin:0 0 6px;color:var(--bone)}
.eur-hi{font:600 13px/1.5 var(--mono);color:var(--mute);margin:0 0 14px;min-height:1.5em}
.eur-hi b{color:var(--acid);font-weight:600}
.eur-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.eur-c{display:flex;flex-direction:column;gap:4px;padding:14px 14px 15px;background:rgba(23,19,58,.92);border:1px solid var(--line);text-decoration:none;color:var(--bone);transition:border-color .15s,transform .15s;min-width:0}
.eur-c:hover,.eur-c:focus-visible{border-color:var(--acid);transform:translateY(-2px)}
.eur-c:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.eur-c small{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.eur-c b{font:900 19px/1.15 var(--disp)}
.eur-c span{font-size:14px;line-height:1.4;color:var(--mute)}
.eur-c.top{border-color:var(--acid);box-shadow:inset 3px 0 0 var(--acid)}
.eur-c.top small{color:var(--acid)}
@media(max-width:900px){.eur-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.eur-c{padding:12px}.eur-c b{font-size:17px}.eur-c span{font-size:13px}}
.eu-ship{margin:60px auto 0}
.eu-ship .box2{border:1px solid var(--line);background:var(--ink2);padding:28px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:start}
.eu-ship h2{font-size:clamp(30px,4vw,52px)!important;line-height:1!important;margin:0 0 12px}
.eu-ship p{color:var(--bone);font-size:17px;line-height:1.55;max-width:60ch;margin:0 0 12px}
@media(max-width:820px){.eu-ship .box2{grid-template-columns:1fr;padding:20px}}

/* ---------- article reading aids ---------- */
.eutoc{position:sticky;top:var(--hh);z-index:40;margin:0 0 22px;background:rgba(14,11,36,.94);backdrop-filter:blur(8px);border:1px solid var(--line)}
.eutoc-in{display:flex;align-items:center;gap:10px;height:46px;padding:0 6px 0 0}
.eutoc-b{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:100%;padding:0 12px}
.eutoc-b:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}
.eutoc-k{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid);white-space:nowrap}
.eutoc-k::after{content:" \25BE"}
.eutoc-c{font:700 15px/1.2 var(--disp);color:var(--bone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.eutoc-p{font:600 11px var(--mono);color:var(--mute);white-space:nowrap;padding-right:6px}
.eutoc-l{list-style:none;margin:0;padding:6px 0;border-top:1px solid var(--line);max-height:min(60vh,520px);overflow-y:auto}
.eutoc-l[hidden]{display:none}
.eutoc-l a{display:block;padding:9px 14px;color:var(--bone);text-decoration:none;font:15px/1.35 var(--disp);border-left:3px solid transparent}
.eutoc-l a:hover,.eutoc-l a[aria-current]{border-left-color:var(--acid);background:rgba(200,255,61,.06)}
.eutoc-l a:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}
.eutoc-bar{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent;overflow:hidden}
.eutoc-bar b{display:block;height:100%;background:var(--acid);transform-origin:0 50%;transform:scaleX(0)}
.eu3{border:1px solid var(--line);border-left:4px solid var(--acid);background:var(--ink2);padding:18px 20px 16px;margin:0 0 26px}
.eu3 h2{font:600 12px var(--mono)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--acid);margin:0 0 10px!important}
.eu3 ol{margin:0;padding-left:24px}
.eu3 li{font:17px/1.5 var(--disp);color:var(--bone);margin:0 0 8px}
.eu3 li::marker{font-weight:900;color:var(--acid)}
.eu3 p{font:12px/1.5 var(--mono);color:var(--mute);margin:8px 0 0}
.eunext{border:1px solid var(--acid);background:var(--ink2);padding:20px 22px;margin:34px 0 26px}
.eunext .k{font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid);margin:0 0 6px}
.eunext h2{font:900 26px/1.15 var(--disp)!important;color:var(--bone);margin:0 0 8px!important;letter-spacing:-.01em}
.eunext p{font:16px/1.5 var(--disp);color:var(--mute);margin:0 0 14px}
.eunext .row{display:flex;gap:10px;flex-wrap:wrap}
.eunext .row a{margin:0}
@media(max-width:640px){.eunext h2{font-size:22px!important}.eu3 li{font-size:16px}}
/* articles flip to a light reading column in light mode (articles only); mirror that here */
@media (prefers-color-scheme: light){
 html:not([data-read=dark]) .art .eu3,html:not([data-read=dark]) .art .eunext{background:#F1EEF8;border-color:#D9D4EA}
 html:not([data-read=dark]) .art .eu3{border-left-color:#3D2BB8}
 html:not([data-read=dark]) .art .eu3 h2,html:not([data-read=dark]) .art .eunext .k{color:#3D2BB8}
 html:not([data-read=dark]) .art .eu3 li,html:not([data-read=dark]) .art .eunext h2{color:var(--ink)}
 html:not([data-read=dark]) .art .eu3 li::marker{color:#3D2BB8}
 html:not([data-read=dark]) .art .eu3 p,html:not([data-read=dark]) .art .eunext p{color:var(--mute-l)}
 html:not([data-read=dark]) .art .eunext{border-color:#3D2BB8}
}
html[data-read=light] .art .eu3,html[data-read=light] .art .eunext{background:#F1EEF8;border-color:#D9D4EA}
html[data-read=light] .art .eu3{border-left-color:#3D2BB8}
html[data-read=light] .art .eu3 h2,html[data-read=light] .art .eunext .k{color:#3D2BB8}
html[data-read=light] .art .eu3 li,html[data-read=light] .art .eunext h2{color:var(--ink)}
html[data-read=light] .art .eu3 p,html[data-read=light] .art .eunext p{color:var(--mute-l)}
html[data-read=light] .art .eunext{border-color:#3D2BB8}

/* ---------- tools hub ---------- */
.eut{max-width:1320px;margin:0 auto;padding:44px 20px 20px;position:relative;z-index:2}
.eut h1{font:900 clamp(44px,7vw,104px)/.92 var(--disp);letter-spacing:-.035em;margin:12px 0 14px}
.eut .lede2{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--bone);max-width:60ch;margin:0 0 22px}
.eut-s{display:flex;max-width:640px}
.eut-s input{flex:1;min-width:0;background:var(--ink);border:1px solid var(--edge);color:var(--bone);font:600 17px var(--mono);padding:15px 16px;border-radius:0}
.eut-s input:focus{outline:2px solid var(--acid);outline-offset:0}
.eut-f{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}
.eut-f button{font:600 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:9px 12px;border:1px solid var(--edge);background:transparent;color:var(--bone);cursor:pointer;min-height:40px}
.eut-f button span{opacity:.6;margin-left:6px}
.eut-f button[aria-pressed=true]{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.eut-f button:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.eut-n{font:600 12px var(--mono);color:var(--mute);margin:6px 0 14px;min-height:1.5em}
.eut-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.eut-c{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);background:var(--ink2);padding:16px 18px;text-decoration:none;color:var(--bone);transition:border-color .15s,transform .15s}
.eut-c:hover,.eut-c:focus-visible{border-color:var(--acid);transform:translateY(-2px)}
.eut-c:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.eut-c small{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid)}
.eut-c b{font:900 20px/1.15 var(--disp)}
.eut-c span{color:var(--mute);font-size:15px;line-height:1.45}
.eut-c[hidden]{display:none}
.eut-data{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;font:600 13px var(--mono);color:var(--mute);align-items:center}
.eut-data a{border:1px solid var(--edge);padding:8px 12px;color:var(--bone);text-decoration:none}
.eut-data a:hover{border-color:var(--acid)}
.eushop{margin-top:70px}
.eushop .sh h2{font-size:clamp(32px,4.5vw,64px)}

/* ---------- crate verdict ---------- */
.crv{border:1px solid var(--line);background:var(--ink2);margin:18px 0;max-width:86ch}
.crv-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:16px 18px 6px}
.crv-tag{font:700 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;color:var(--ink);background:var(--acid)}
.crv-tag.v-stable{background:var(--lilac)}.crv-tag.v-watch{background:var(--ember)}.crv-tag.v-down{background:var(--alarm)}.crv-tag.v-small{background:var(--bone)}
.crv-q{font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.crv-a{font:800 clamp(20px,2.4vw,26px)/1.25 var(--disp);color:var(--bone);margin:4px 18px 8px}
.crv-w{font-size:17px;line-height:1.55;color:#E6E1F2;margin:0 18px 14px;max-width:76ch}
.crv-f{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.crv-f div{padding:12px 16px;border-right:1px solid var(--line)}
.crv-f div:last-child{border-right:0}
.crv-f b{display:block;font:900 20px/1.15 var(--disp);color:var(--bone)}
.crv-f span{font:600 11px/1.4 var(--mono);color:var(--mute)}
.crv details{border-top:1px solid var(--line);padding:10px 18px;font:13px/1.6 var(--mono);color:var(--mute)}
.crv summary{cursor:pointer;color:var(--bone);font-weight:600}
.crv summary:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.crv details ul{margin:8px 0 4px;padding-left:18px}
@media(max-width:700px){.crv-f{grid-template-columns:repeat(2,minmax(0,1fr))}.crv-f div:nth-child(2){border-right:0}.crv-f div:nth-child(-n+2){border-bottom:1px solid var(--line)}.crv-w{font-size:16px}}
.vt{font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;color:var(--ink);background:var(--acid);white-space:nowrap}
.vt.v-stable{background:var(--lilac)}.vt.v-watch{background:var(--ember)}.vt.v-down{background:var(--alarm)}.vt.v-small{background:var(--bone)}
.cpb{font:700 13px var(--mono);padding:9px 12px;border:1px solid var(--edge);background:var(--ink);color:var(--bone);cursor:pointer;min-height:40px}
.cpb:hover{border-color:var(--acid)}.cpb:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.cpb.done{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.crcode{display:block;font:12px/1.45 var(--mono);background:var(--ink);border:1px solid var(--line);padding:8px 10px;color:var(--bone);overflow-x:auto;white-space:pre;margin:6px 0 8px}
.crcmp{border:1px solid var(--edge);background:var(--ink2);padding:18px;margin:16px 0 8px}
.crcmp-r{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.crcmp label{display:flex;flex-direction:column;gap:6px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);flex:1 1 200px}
.crcmp input{font:600 16px var(--mono);padding:12px 12px;background:var(--ink);border:1px solid var(--edge);color:var(--bone);border-radius:0;min-width:0}
.crcmp input:focus{outline:2px solid var(--acid);outline-offset:0}
.crcmp-o{margin-top:14px;min-height:0}
.crcmp-o p{color:var(--bone);font-size:17px;line-height:1.5;margin:0 0 10px}

/* ---------- LLM picker + filters + verdict ---------- */
.lpick{border:1px solid var(--acid);background:var(--ink2);padding:20px;margin:20px 0 10px}
.lpick h2{margin:0 0 6px!important}
.lpick .sub{color:var(--mute);font-size:15px;line-height:1.5;margin:0 0 14px;max-width:80ch}
.lpick-f{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lpick label,.lfil label.t{display:flex;flex-direction:column;gap:6px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.lpick select,.lpick input,.lfil input[type=search],.lfil input[type=number]{font:600 15px var(--mono);padding:11px 10px;background:var(--ink);border:1px solid var(--edge);color:var(--bone);border-radius:0;min-width:0;width:100%}
.lpick select:focus,.lpick input:focus,.lfil input:focus{outline:2px solid var(--acid);outline-offset:0}
.lpick-o{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.lrec{border:1px solid var(--line);background:var(--ink);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.lrec .r{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid)}
.lrec b{font:900 21px/1.15 var(--disp);color:var(--bone)}
.lrec b a{color:var(--bone)}
.lrec .c{font:700 15px var(--mono);color:var(--cash)}
.lrec p{font-size:14px;line-height:1.45;color:var(--mute);margin:0}
.lpick .note{font:12px/1.5 var(--mono);color:var(--mute);margin:12px 0 0}
.lfil{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;border:1px solid var(--line);background:var(--ink2);padding:14px 16px;margin:12px 0 6px}
.lfil .grp{display:flex;flex-wrap:wrap;gap:6px}
.lfil .grp button{font:600 12px var(--mono);padding:9px 10px;border:1px solid var(--edge);background:transparent;color:var(--bone);cursor:pointer;min-height:40px}
.lfil .grp button[aria-pressed=true]{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.lfil .grp button:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.lfil .ck{display:flex;align-items:center;gap:8px;font:600 13px var(--mono);color:var(--bone);min-height:40px;cursor:pointer}
.lfil .ck input{width:18px;height:18px;accent-color:#C8FF3D}
.lfil .s{flex:1 1 200px}.lfil .mx{flex:0 1 170px}
.lcount{font:600 12px var(--mono);color:var(--mute);margin:4px 0 0;min-height:1.5em}
.lbf{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.lbf>div{border:1px solid var(--line);background:var(--ink2);padding:14px 16px}
.lbf h3{font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}
.lbf .bf h3{color:var(--cash)}.lbf .sk h3{color:var(--alarm)}
.lbf ul{margin:0;padding-left:18px}.lbf li{color:#E6E1F2;font-size:15px;line-height:1.5;margin:0 0 6px}
.lbf p{grid-column:1/-1;font:12px/1.5 var(--mono);color:var(--mute);margin:0}
@media(max-width:820px){.lpick-f{grid-template-columns:1fr 1fr}.lpick-o{grid-template-columns:1fr}.lbf{grid-template-columns:1fr}}
/* home hero: smaller H1 so the router sits above the fold */
.hero{min-height:auto;padding-top:5vh}
.hero h1{font-size:clamp(38px,4.6vw,68px)!important;line-height:.98!important;margin:14px 0 18px!important;max-width:21ch}
.hero .lede{max-width:52ch;display:block;background:none;padding:0;font-size:clamp(17px,1.4vw,20px);line-height:1.5}
.lj .rv{opacity:1!important;transform:none!important}
.eutoc~.toc{display:none}
.eutl{margin:0 0 22px}.eutl summary{cursor:pointer;font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:6px 0}
.eutl summary:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.eutl[open] summary{margin-bottom:10px}
@media(max-width:820px){.gt-i::before{content:"";position:absolute;left:0;right:0;top:2px;border-top:2px solid transparent}
 .gtog[aria-expanded=true] .gt-i::before{border-color:currentColor;transform:rotate(-45deg)}}
/* body overflow-x:hidden + html overflow-x:clip made body a scroll container, so position:sticky (site header, contents bar) never stuck. clip keeps the no-horizontal-scroll guard without that. */
body{overflow-x:clip!important}

/* ===== pass 2 (2026-10-24): search, keep-reading parts ===== */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* search */
.gs{position:relative;margin-left:auto;flex:0 1 230px;min-width:150px}
.gs input{width:100%;font:600 13px var(--mono);padding:9px 10px;background:var(--ink);border:1px solid var(--edge);color:var(--bone);border-radius:0}
.gs input::placeholder{color:var(--mute)}
.gs input:focus{outline:2px solid var(--acid);outline-offset:0}
.gsr{position:absolute;right:0;top:calc(100% + 6px);width:min(520px,92vw);max-height:70vh;overflow-y:auto;background:var(--ink2);border:1px solid var(--edge);z-index:70;box-shadow:10px 10px 0 rgba(0,0,0,.35)}
.gsr[hidden]{display:none}
.gsr a{display:block;padding:10px 14px;text-decoration:none;color:var(--bone);border-left:3px solid transparent}
.gsr a[aria-selected=true],.gsr a:hover{background:rgba(200,255,61,.07);border-left-color:var(--acid)}
.gsr small{font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid);margin-right:8px}
.gsr b{font:800 15px/1.3 var(--disp)}
.gsr span{display:block;font-size:13px;line-height:1.4;color:var(--mute);margin-top:2px}
.gsr p{padding:12px 14px;margin:0;font:13px var(--mono);color:var(--mute)}
@media(max-width:1180px) and (min-width:821px){.gs{flex-basis:160px;min-width:120px}.gb{padding:9px 8px}}
@media(max-width:820px){.gs{order:-1;margin:8px 0 4px;flex:none;width:100%}.gs input{font-size:16px;padding:12px}.gsr{position:static;width:auto;max-height:none;box-shadow:none;margin-top:6px}}
/* home router: card with optional expansion */
.eur-c{padding:0}
.eur-a{display:flex;flex-direction:column;gap:4px;padding:14px 14px 15px;text-decoration:none;color:var(--bone);height:100%}
.eur-a:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.eur-c.wide{grid-column:1/-1}
.eur-x{list-style:none;margin:0;padding:0 14px 14px;display:flex;flex-wrap:wrap;gap:8px}
.eur-x[hidden]{display:none}
.eur-x li.eur-xh{flex-basis:100%;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid)}
.eur-x a{display:block;border:1px solid var(--edge);padding:8px 10px;color:var(--mute);text-decoration:none;font-size:13px}
.eur-x a b{color:var(--bone);font:800 15px var(--disp);margin-right:4px}
.eur-x a:hover{border-color:var(--acid)}
.euviz{margin:22px 0 4px;max-width:820px}
.euviz img{width:100%;height:auto;border:1px solid var(--line);display:block}
.euviz figcaption{font-size:15px;line-height:1.5;color:var(--bone);margin-top:10px}
.euviz figcaption a{color:var(--acid);font-weight:800}
.euviz figcaption span{display:block;font:12px var(--mono);color:var(--mute);margin-top:4px}
.lab-latest .agrid>.acard:nth-child(n+4){display:none}
.lab-latest .lab-free{display:none}
/* article top */
.art .cover img{max-height:40vh;width:auto;max-width:100%;margin:0 auto}
.eu3-f{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:6px}
.eu3-f p{margin:0!important}
.eu3-only{padding:12px 16px}
.eudl{margin:0}
.eupath{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border:1px solid var(--line);padding:10px 14px;margin:0 0 18px;font:600 12px var(--mono);color:var(--mute)}
.eupath-k{letter-spacing:.1em;text-transform:uppercase;color:var(--acid)}
.eupath-n{color:var(--bone);font:800 15px var(--disp);text-decoration:none}
.eupath-n:hover{text-decoration:underline}
.eupath-d{list-style:none;display:flex;gap:5px;margin:0;padding:0;flex-wrap:wrap}
.eupath-d a{display:block;width:14px;height:14px;border:1.5px solid var(--edge)}
.eupath-d a.read{background:var(--edge)}
.eupath-d a[aria-current]{background:var(--acid);border-color:var(--acid)}
.eupath-d a:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.eupath-r{flex-basis:100%;color:var(--mute)}
.eupath-r[hidden]{display:none}
@media (prefers-color-scheme: light){html:not([data-read=dark]) .art .eupath{border-color:#D9D4EA;color:var(--mute-l)}html:not([data-read=dark]) .art .eupath-k{color:#3D2BB8}html:not([data-read=dark]) .art .eupath-n{color:var(--ink)}html:not([data-read=dark]) .art .eupath-d a{border-color:#8F89B8}html:not([data-read=dark]) .art .eupath-d a.read{background:#8F89B8}html:not([data-read=dark]) .art .eupath-d a[aria-current]{background:#3D2BB8;border-color:#3D2BB8}}
html[data-read=light] .art .eupath{border-color:#D9D4EA;color:var(--mute-l)}html[data-read=light] .art .eupath-k{color:#3D2BB8}html[data-read=light] .art .eupath-n{color:var(--ink)}html[data-read=light] .art .eupath-d a[aria-current]{background:#3D2BB8;border-color:#3D2BB8}
/* up next */
.eunx{max-width:1100px;margin:46px auto 10px;padding:0 20px;position:relative;z-index:2}
.eunx-k{font:600 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--acid);margin:0 0 10px}
.eunx-c{display:flex;flex-direction:column;gap:8px;border:2px solid var(--acid);background:var(--ink2);padding:22px 24px;text-decoration:none;color:var(--bone);transition:transform .15s}
.eunx-c:hover{transform:translateY(-2px)}
.eunx-c:focus-visible{outline:3px solid var(--bone);outline-offset:3px}
.eunx-r{font:600 12px var(--mono);letter-spacing:.06em;color:var(--acid)}
.eunx-t{font:900 clamp(24px,3vw,36px)/1.1 var(--disp);letter-spacing:-.015em}
.eunx-d{color:#E6E1F2;font-size:17px;line-height:1.5;max-width:75ch}
.eunx-go{font:800 16px var(--disp);color:var(--acid)}
.eunx-trail{border:1px solid var(--line);padding:12px 16px;margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--mute)}
.eunx-trail b{color:var(--bone)}
.eunx-trail a{color:var(--bone)}
.eunx-trail[hidden]{display:none}
.eunx-more{margin-top:16px}
.eunx-more p{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:0 0 8px}
.eunx-more ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.eunx-more a{display:flex;flex-direction:column;gap:4px;height:100%;border:1px solid var(--line);padding:12px 14px;text-decoration:none;color:var(--bone)}
.eunx-more a:hover{border-color:var(--acid)}
.eunx-more b{font:800 16px/1.25 var(--disp)}
.eunx-more span{font:12px/1.4 var(--mono);color:var(--mute)}
@media(max-width:820px){.eunx-more ul{grid-template-columns:1fr}.eunx-c{padding:18px}}
.eubar{position:fixed;left:50%;bottom:14px;z-index:80;width:min(640px,calc(100vw - 24px));transform:translate(-50%,160%);transition:transform .25s ease-out;display:flex;align-items:center;gap:10px;background:var(--ink2);border:2px solid var(--acid);padding:10px 10px 10px 14px;box-shadow:8px 8px 0 rgba(0,0,0,.4);visibility:hidden}
.eubar.on{transform:translate(-50%,0);visibility:visible}
.eubar a{flex:1;min-width:0;text-decoration:none;color:var(--bone)}
.eubar small{display:block;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid)}
.eubar b{display:block;font:800 15px/1.25 var(--disp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eubar button{all:unset;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;color:var(--mute);font:20px var(--mono)}
.eubar button:focus-visible,.eubar a:focus-visible{outline:2px solid var(--acid)}
@media(prefers-reduced-motion:reduce){.eubar{transition:none}}
/* feedback: next pages on No */
.eufb-n{flex-basis:100%}
.eufb-n p{font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
.eufb-n ul{margin:0 0 6px;padding-left:18px}.eufb-n li{margin:0 0 4px}.eufb-n a{color:var(--acid);font-weight:700}
/* hub strips */
.euhub{margin:26px 0 30px;position:relative;z-index:2}
.euhub-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.euhub-c{border:1px solid var(--line);background:var(--ink2);padding:14px 16px;min-width:0}
.euhub-c h2{font:600 12px var(--mono)!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--acid);margin:0 0 8px!important;line-height:1.4!important}
.euhub-c ol{list-style:none;margin:0;padding:0}
.euhub-c li{border-top:1px solid var(--line)}
.euhub-c li[hidden]{display:none}
.euhub-c a{display:block;padding:8px 0;text-decoration:none;color:var(--bone)}
.euhub-c a:hover b{color:var(--acid)}
.euhub-c b{display:block;font:800 15px/1.3 var(--disp)}
.euhub-c span{font:12px var(--mono);color:var(--mute)}
.euhub-s{font:12px/1.4 var(--mono);color:var(--mute);margin:0 0 6px}
.euhub-f{font:11px/1.5 var(--mono);color:var(--mute);margin:8px 0 0}
/* preview cards */
.eupv{position:absolute;z-index:90;width:min(340px,calc(100vw - 24px));background:var(--ink2);border:1px solid var(--acid);padding:12px 14px;box-shadow:8px 8px 0 rgba(0,0,0,.4);color:var(--bone);font:15px/1.45 var(--disp)}
.eupv small{display:block;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acid);margin-bottom:4px}
.eupv b{display:block;font:800 16px/1.25 var(--disp);margin-bottom:4px}
.eupv span{display:block;color:#E6E1F2;font-size:14px}
.eupv a{display:inline-block;margin-top:8px;color:var(--acid);font:800 14px var(--disp)}
.eupv[hidden]{display:none}
/* the header is sticky and in flow, so the old 110px top padding was dead space above every article */
.art{padding-top:36px!important}
@media(max-width:820px){.art{padding-top:22px!important}}
.art .eunx,.art .eufb{padding:0;margin-left:0;margin-right:0}
.art .eunx{margin-top:36px}
/* up next + feedback inside the light article column */
@media (prefers-color-scheme: light){
 html:not([data-read=dark]) .art .eunx-k{color:#3D2BB8}
 html:not([data-read=dark]) .art .eunx-more p,html:not([data-read=dark]) .art .eunx-more span{color:var(--mute-l)}
 html:not([data-read=dark]) .art .eunx-more a{color:var(--ink);border-color:#D9D4EA;background:#fff}
 html:not([data-read=dark]) .art .eunx-more a:hover{border-color:#3D2BB8}
 html:not([data-read=dark]) .art .eunx-trail{color:var(--mute-l);border-color:#D9D4EA}
 html:not([data-read=dark]) .art .eunx-trail b,html:not([data-read=dark]) .art .eunx-trail a{color:var(--ink)}
 html:not([data-read=dark]) .art .eutl summary{color:var(--mute-l)}
}
html[data-read=light] .art .eunx-k{color:#3D2BB8}
html[data-read=light] .art .eunx-more p,html[data-read=light] .art .eunx-more span{color:var(--mute-l)}
html[data-read=light] .art .eunx-more a{color:var(--ink);border-color:#D9D4EA;background:#fff}
html[data-read=light] .art .eunx-trail{color:var(--mute-l);border-color:#D9D4EA}
html[data-read=light] .art .eunx-trail b,html[data-read=light] .art .eunx-trail a{color:var(--ink)}
html[data-read=light] .art .eutl summary{color:var(--mute-l)}

/* ===== home hero, main session (2026-10-24): an established studio, a real layout ===== */
.hx{max-width:1240px;margin:0 auto;padding:64px 24px 36px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,4vw,64px);align-items:center}
.hx .kick{margin:0}
.hx h1{font:900 clamp(40px,4.6vw,70px)/.98 var(--disp)!important;letter-spacing:-.035em;margin:14px 0 20px!important;max-width:15ch;text-shadow:none}
.hx .lede{font-size:clamp(17px,1.3vw,19px);line-height:1.6;max-width:54ch;color:var(--bone);margin:0 0 26px}
.hx-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 26px}
.hx-cta .btn{padding:14px 20px;font-size:16px}
.hx .featuredin{margin:0!important;line-height:2}
.hx-viz .euviz{margin:0;max-width:none}
.hx-viz .euviz img{width:100%;height:auto;border:1px solid var(--line);box-shadow:14px 14px 0 rgba(0,0,0,.35);background:#07060d}
.hx-viz .euviz figcaption{font-size:14px;line-height:1.5;margin-top:14px}
body .eur{max-width:1240px;margin:8px auto 24px;padding:0 24px}
body .eur .eur-h{font-size:clamp(24px,2.4vw,32px)!important}
@media(max-width:980px){.hx{grid-template-columns:1fr;gap:28px;padding:36px 16px 20px}.hx h1{max-width:none}body .eur{padding:0 16px}}
/* article ends: everything after comments sits in one "More" disclosure */
.eumore{border:1px solid var(--line);margin:34px 0 10px}
.eumore>summary{cursor:pointer;list-style:none;padding:16px 18px;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);display:flex;justify-content:space-between;gap:12px}
.eumore>summary::-webkit-details-marker{display:none}
.eumore>summary::after{content:"+";font-size:18px;line-height:1;color:var(--acid)}
.eumore[open]>summary::after{content:"\2212"}
.eumore>summary:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.eumore-in{padding:0 18px 18px}
.art .nlbox{margin-top:30px}
@media (prefers-color-scheme: light){html:not([data-read=dark]) .art .eumore{border-color:#D9D4EA}html:not([data-read=dark]) .art .eumore>summary{color:var(--mute-l)}html:not([data-read=dark]) .art .eumore>summary::after{color:#3D2BB8}}
html[data-read=light] .art .eumore{border-color:#D9D4EA}html[data-read=light] .art .eumore>summary{color:var(--mute-l)}
.hx .lede{padding:0!important;background:none!important;margin-left:0!important}
.hx .featuredin a{white-space:nowrap}
.hx h1{max-width:17ch}
.hx .featuredin>span{display:block;white-space:nowrap;margin:0 0 4px!important}.hx .lede{margin-bottom:28px!important}
/* counts (readers / runs, last 30 days) */
.vw{white-space:nowrap}
.vwl{font:600 13px var(--mono);color:var(--mute);margin:-6px 0 14px}
.mc-r,.eut-u{font:600 11px var(--mono);letter-spacing:.04em;color:var(--cash);margin:0;font-style:normal}
