/* SymbolHero Library — scoped to .shl */
.shl{--bg:#0d0f14;--bg2:#12151c;--card:#171b23;--card2:#1d222b;--edge:#2b313c;--edge2:#3a4150;--fg:#f2f4f7;--soft:#a3abb8;--dim:#7c8494;--key:#e6a544;--key-hi:#ffc46b;--cool:#5b8def;--r:14px;--r-lg:22px;--wrap:1140px;
--f-head:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--f-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
--f-glyph:"Segoe UI Symbol","Apple Symbols","Noto Sans Symbols","Noto Sans Symbols 2","Noto Sans Math","Cambria Math","Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",-apple-system,"Segoe UI",sans-serif;
color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.shl-body{background:#0d0f14;margin:0}
main.shl{display:block;background:var(--bg);overflow-x:clip}
.shl *,.shl *::before,.shl *::after{box-sizing:border-box}
.shl a{color:var(--key);text-decoration:none}
.shl a:hover{color:var(--key-hi);text-decoration:underline;text-underline-offset:3px}
.shl :focus-visible{outline:2px solid var(--key);outline-offset:2px;border-radius:6px}
.shl h1,.shl h2,.shl h3{font-family:var(--f-head);color:var(--fg);letter-spacing:-.02em;margin:0 0 .6em;line-height:1.15}
.shl h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem)}
.shl h3{font-size:1.1rem}
.shl p{margin:0 0 1em}
.shl code,.shl kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
.shl code{background:#0a0c10;border:1px solid var(--edge);border-radius:6px;padding:.1em .4em;color:#ffd9a0;word-break:break-all}
.shl kbd{display:inline-block;min-width:1.6em;text-align:center;background:linear-gradient(#262c36,#1b2028);border:1px solid var(--edge2);border-bottom-width:3px;border-radius:6px;padding:0 .4em;color:var(--fg);line-height:1.5}
.shl-wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.shl-sec{padding:28px 0}
.shl-sec+.shl-sec{padding-top:8px}
.shl-note{color:var(--dim);font-size:.9em}
.shl-sub{color:var(--dim);font-weight:500;font-size:.7em;letter-spacing:0}

/* hero */
.shl-hero{position:relative;padding:28px 0 36px;background:radial-gradient(900px 420px at 80% 0%,rgba(230,165,68,.13),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(91,141,239,.08),transparent 60%),var(--bg);border-bottom:1px solid #191d25}
.shl-hero-in{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:center}
.shl-hero-sm .shl-hero-in{grid-template-columns:1.5fr .5fr}
.shl-hero h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.3rem);font-weight:700}
.shl-hero h1 span{color:var(--key)}
.shl-lead{color:var(--soft);font-size:1.08rem;max-width:62ch}
.shl-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--key);background:rgba(230,165,68,.08);border:1px solid rgba(230,165,68,.28);border-radius:999px;padding:4px 12px;margin-bottom:14px}
.shl-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--key);box-shadow:0 0 10px var(--key)}
.shl-stats{display:flex;gap:34px;flex-wrap:wrap;margin-top:18px}
.shl-stats b{display:block;font-family:var(--f-head);font-size:1.9rem;line-height:1}
.shl-stats span{color:var(--dim);font-size:.85rem}
.shl-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 16px;font-size:.84rem;color:var(--dim)}
.shl-crumbs li+li::before{content:"›";margin-right:6px;color:var(--edge2)}
.shl-crumbs a{color:var(--soft)}

/* 3D orbit of tiles */
.shl-orbit{position:relative;height:300px;perspective:900px;transform-style:preserve-3d}
.shl-hero-sm .shl-orbit{height:200px}
.shl-tile{position:absolute;display:grid;place-items:center;width:78px;height:78px;border-radius:18px;font-family:var(--f-glyph);font-size:34px;color:var(--fg);
background:linear-gradient(145deg,#262c37,#12161d);border:1px solid #333a47;box-shadow:0 18px 40px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(230,165,68,.06);
transform-style:preserve-3d;animation:shl-float 9s ease-in-out infinite}
.shl-tile::after{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,rgba(255,196,107,.55),transparent 35%,transparent 70%,rgba(255,196,107,.25));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;pointer-events:none}
.shl-tile.t0{left:8%;top:6%;--z:60px;--r:-14deg;animation-delay:-1s;color:var(--key)}
.shl-tile.t1{left:52%;top:0;--z:-40px;--r:12deg;animation-delay:-3s;width:64px;height:64px;font-size:28px}
.shl-tile.t2{left:74%;top:28%;--z:90px;--r:-8deg;animation-delay:-5s}
.shl-tile.t3{left:30%;top:36%;--z:140px;--r:10deg;animation-delay:-2s;width:92px;height:92px;font-size:42px;color:var(--key)}
.shl-tile.t4{left:2%;top:58%;--z:20px;--r:16deg;animation-delay:-4s;width:62px;height:62px;font-size:26px}
.shl-tile.t5{left:60%;top:62%;--z:40px;--r:-12deg;animation-delay:-6s}
.shl-tile.t6{left:84%;top:74%;--z:-60px;--r:8deg;animation-delay:-7s;width:56px;height:56px;font-size:24px}
.shl-tile.t7{left:22%;top:84%;--z:-20px;--r:-6deg;animation-delay:-8s;width:58px;height:58px;font-size:24px}
.shl-tile.t8{left:40%;top:-6%;--z:-90px;--r:18deg;animation-delay:-2.5s;width:50px;height:50px;font-size:20px;opacity:.7}
.shl-tile.t9{left:88%;top:0;--z:-120px;--r:-18deg;animation-delay:-4.5s;width:48px;height:48px;font-size:20px;opacity:.6}
@keyframes shl-float{0%,100%{transform:translate3d(0,0,var(--z)) rotateX(8deg) rotateY(var(--r))}50%{transform:translate3d(0,-14px,calc(var(--z) + 30px)) rotateX(-6deg) rotateY(calc(var(--r) * -1))}}

/* symbol page hero */
.shl-sym-in{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.shl-sym-copy h1 span{font-family:var(--f-glyph);color:var(--key);font-weight:400}
.shl-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.shl-btn{display:inline-flex;align-items:center;gap:8px;font:600 .95rem var(--f-body);color:#1a1206;background:linear-gradient(180deg,#f2b457,#e19a33);border:0;border-radius:12px;padding:12px 20px;cursor:pointer;box-shadow:0 8px 24px rgba(230,165,68,.25),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .15s,box-shadow .15s}
.shl-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.shl-btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(230,165,68,.35),inset 0 1px 0 rgba(255,255,255,.35)}
.shl-btn-ghost{color:var(--fg);background:var(--card);border:1px solid var(--edge2);box-shadow:none}
.shl-btn-ghost:hover{background:var(--card2);box-shadow:none}
.shl-btn-sm{padding:6px 12px;font-size:.82rem;border-radius:9px}
.shl-btn.is-done,.shl-mini.is-done,.shl-code.is-done{background:#1f7a4d;color:#fff}
.shl-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.shl-quick div{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:10px 14px}
.shl-quick span{display:block;font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.shl-quick b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;color:var(--fg);font-weight:600;word-break:break-word}
.shl-stage{perspective:1000px;display:grid;place-items:center;padding:20px 0}
.shl-big{position:relative;width:min(300px,70vw);aspect-ratio:1;border-radius:36px;display:grid;place-items:center;
background:radial-gradient(120% 90% at 30% 10%,#2c3340,#141820 60%);border:1px solid #373f4d;
box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 0 1px rgba(230,165,68,.08),inset 0 1px 0 rgba(255,255,255,.1),inset 0 -20px 60px rgba(0,0,0,.35);
transform:rotateX(10deg) rotateY(-14deg);transform-style:preserve-3d;transition:transform .25s ease-out}
.shl-big::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,rgba(255,196,107,.28),transparent 30%);pointer-events:none}
.shl-big-g{font-family:var(--f-glyph);font-size:clamp(90px,16vw,150px);line-height:1;color:var(--fg);transform:translateZ(60px);text-shadow:0 10px 30px rgba(0,0,0,.6),0 0 40px rgba(230,165,68,.25)}
.shl-big.is-emoji .shl-big-g{text-shadow:0 12px 30px rgba(0,0,0,.5)}
.shl-big-cp{position:absolute;bottom:16px;right:20px;font:600 .8rem ui-monospace,Menlo,Consolas,monospace;color:var(--dim);transform:translateZ(30px)}
.shl-shadow{width:60%;height:24px;margin-top:22px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);filter:blur(4px)}
.shl-inv{display:inline-grid;place-items:center;font:600 .8em ui-monospace,Menlo,Consolas,monospace;color:var(--key);border:1px dashed rgba(230,165,68,.6);border-radius:8px;padding:.15em .35em;letter-spacing:0}
.shl-big.is-inv .shl-big-g{font-size:clamp(30px,6vw,46px)}

/* search */
.shl-searchbar{position:relative}
.shl-searchbar svg{position:absolute;left:18px;top:50%;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:var(--dim);stroke-width:2;pointer-events:none}
.shl input.shl-q,.shl input.shl-filter-q{width:100%;font:500 1.05rem var(--f-body);color:var(--fg);background:#0a0c11;border:1px solid var(--edge2);border-radius:16px;padding:17px 18px 17px 50px;outline:none;box-shadow:inset 0 2px 10px rgba(0,0,0,.35);transition:border-color .15s,box-shadow .15s}
.shl input.shl-q:focus,.shl input.shl-filter-q:focus{border-color:var(--key);box-shadow:0 0 0 4px rgba(230,165,68,.14),inset 0 2px 10px rgba(0,0,0,.35)}
.shl input.shl-q::placeholder,.shl input.shl-filter-q::placeholder{color:#6b7382}
.shl-filter{margin-bottom:14px}
.shl input.shl-filter-q{padding-top:13px;padding-bottom:13px;font-size:.98rem}
.shl-chips{display:flex;gap:8px;overflow-x:auto;padding:14px 0 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.shl-chip{flex:0 0 auto;font:600 .82rem var(--f-body);color:var(--soft);background:var(--card);border:1px solid var(--edge);border-radius:999px;padding:7px 14px;cursor:pointer;white-space:nowrap}
.shl-chip:hover{color:var(--fg);border-color:var(--edge2)}
.shl-chip[aria-pressed="true"]{color:#1a1206;background:var(--key);border-color:var(--key)}
.shl-count{color:var(--dim);font-size:.86rem;margin:10px 0}
.shl-more{display:block;margin:18px auto 0;font:600 .9rem var(--f-body);color:var(--fg);background:var(--card);border:1px solid var(--edge2);border-radius:12px;padding:11px 26px;cursor:pointer}
.shl-more:hover{border-color:var(--key)}

/* grid cards */
.shl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.shl-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1f28,#151920);border:1px solid var(--edge);border-radius:var(--r);transition:transform .18s,border-color .18s,box-shadow .18s;min-width:0}
.shl-card:hover{transform:translateY(-3px);border-color:rgba(230,165,68,.55);box-shadow:0 14px 30px rgba(0,0,0,.45),0 0 0 1px rgba(230,165,68,.12)}
.shl-g{display:grid;place-items:center;height:78px;font:400 34px/1 var(--f-glyph);color:var(--fg);background:none;border:0;cursor:copy;border-radius:var(--r) var(--r) 0 0;padding:0}
.shl-g:hover{color:var(--key-hi)}
.shl-g.is-done{color:#4fd18b}
.shl-n{display:block;font-size:.72rem;line-height:1.3;color:var(--soft);text-align:center;padding:0 8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shl a.shl-n{color:var(--soft)}
.shl a.shl-n:hover{color:var(--key)}
.shl-card.is-inv .shl-g{font-size:14px}
.shl-card[hidden],.shl tr[hidden]{display:none}

/* categories */
.shl-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.shl a.shl-catcard{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:14px 16px;background:linear-gradient(180deg,#1a1f28,#141820);border:1px solid var(--edge);border-radius:var(--r);color:var(--fg);text-decoration:none;transition:transform .18s,border-color .18s}
.shl a.shl-catcard:hover{transform:translateY(-2px);border-color:rgba(230,165,68,.55);text-decoration:none}
.shl-catcard.is-on{border-color:var(--key)}
.shl-rep{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#0d1016;border:1px solid var(--edge);font:22px/1 var(--f-glyph);color:var(--key);letter-spacing:-2px;overflow:hidden}
.shl-catname{font-weight:600;font-size:.95rem;line-height:1.25}
.shl-catcount{font-size:.78rem;color:var(--dim)}

/* tools */
.shl-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.shl a.shl-tool{display:flex;gap:14px;align-items:center;padding:16px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);color:var(--fg);text-decoration:none}
.shl a.shl-tool:hover{border-color:rgba(230,165,68,.55);text-decoration:none}
.shl-tool-i{flex:0 0 46px;height:46px;display:grid;place-items:center;border-radius:12px;background:rgba(230,165,68,.1);color:var(--key);font:700 1.05rem var(--f-glyph)}
.shl-tool strong{display:block;font-size:.95rem}
.shl-tool small{display:block;color:var(--dim);font-size:.8rem;line-height:1.35}

/* tables */
.shl-table-wrap{overflow-x:auto;border:1px solid var(--edge);border-radius:var(--r);background:#11141a;margin-bottom:20px}
.shl-table{width:100%;border-collapse:collapse;font-size:.92rem}
.shl-table th,.shl-table td{padding:10px 14px;border-bottom:1px solid #1f242d;text-align:left;vertical-align:middle}
.shl-table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);background:#151920;position:sticky;top:0}
.shl-table tbody th{color:var(--soft);font-weight:500;white-space:nowrap}
.shl-table tr:last-child td,.shl-table tr:last-child th{border-bottom:0}
.shl-table tbody tr:hover{background:#151a22}
.shl-codes td:last-child{width:1%}
.shl-mini{min-width:44px;height:40px;padding:0 10px;font:400 22px/1 var(--f-glyph);color:var(--fg);background:var(--card2);border:1px solid var(--edge2);border-radius:10px;cursor:copy}
.shl-codes .shl-mini{font:600 .78rem var(--f-body);height:32px}
.shl-mini:hover{border-color:var(--key)}
.shl-code{font:600 .85rem ui-monospace,Menlo,Consolas,monospace;color:#ffd9a0;background:#0a0c10;border:1px solid var(--edge);border-radius:8px;padding:4px 8px;cursor:copy}
.shl-ent-c{font:22px/1 var(--f-glyph);text-align:center}
.shl-two{display:grid;grid-template-columns:1fr 1fr;gap:28px}

/* how-to */
.shl-howto{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:12px}
.shl-how{background:var(--card);border:1px solid var(--edge);border-radius:var(--r-lg);padding:18px 20px}
.shl-how h3 span{color:var(--key);margin-right:6px}
.shl-how ul{margin:0;padding-left:18px;color:var(--soft)}
.shl-how li{margin:0 0 8px}
.shl-how strong{color:var(--fg)}
.shl-examples{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.shl-examples li{background:var(--card);border:1px solid var(--edge);border-left:3px solid var(--key);border-radius:10px;padding:10px 14px;font-family:var(--f-glyph),var(--f-body)}
.shl-guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.shl a.shl-guide{display:block;padding:14px 16px;background:var(--card);border:1px solid var(--edge);border-radius:12px;color:var(--fg);font-weight:600}
.shl a.shl-guide span{color:var(--key)}
.shl-morelink{margin-top:14px;font-weight:600}
.shl-faq details{background:var(--card);border:1px solid var(--edge);border-radius:12px;margin-bottom:8px}
.shl-faq summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none;position:relative;padding-right:44px}
.shl-faq summary::-webkit-details-marker{display:none}
.shl-faq summary::after{content:"+";position:absolute;right:18px;top:12px;color:var(--key);font-size:1.3rem;line-height:1}
.shl-faq details[open] summary::after{content:"–"}
.shl-faq details p{padding:0 18px 14px;margin:0;color:var(--soft)}
.shl-prose{max-width:820px}
.shl-prose p{color:var(--soft)}
.shl-pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}
.shl-pager a,.shl-pager span{min-width:42px;height:42px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--edge2);color:var(--fg);font-weight:600}
.shl-pager span{background:var(--key);color:#1a1206;border-color:var(--key)}
.shl-ad{margin:22px 0;min-height:100px}

/* tools */
.shl-toolbox{background:var(--card);border:1px solid var(--edge);border-radius:var(--r-lg);padding:20px}
.shl-label{display:block;font-weight:600;margin-bottom:8px}
.shl textarea.shl-area,.shl input.shl-input{width:100%;font:500 1.05rem var(--f-glyph),var(--f-body);color:var(--fg);background:#0a0c11;border:1px solid var(--edge2);border-radius:12px;padding:14px 16px;outline:none}
.shl textarea.shl-area:focus,.shl input.shl-input:focus{border-color:var(--key);box-shadow:0 0 0 4px rgba(230,165,68,.14)}
.shl-conv-mode{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0;color:var(--soft);font-size:.9rem}
.shl-conv-mode input{accent-color:var(--key)}
.shl-conv-card{border:1px solid var(--edge);border-radius:14px;background:#11141a;margin-bottom:12px;overflow:hidden}
.shl-conv-head{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #1f242d}
.shl-conv-head .shl-mini{font-size:26px;height:48px;min-width:52px}
.shl-conv-head b{display:block}
.shl-conv-head small{color:var(--dim)}
.shl-conv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.shl-conv-grid div{padding:10px 16px;border-right:1px solid #1f242d;border-bottom:1px solid #1f242d}
.shl-conv-grid span{display:block;font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.shl-lk-flag{display:inline-block;margin-left:6px;font-size:.7rem;font-weight:700;color:#1a1206;background:var(--key);border-radius:6px;padding:1px 6px;vertical-align:middle}

/* inline copy chip (blog posts) */
.shl.shl-chipcopy{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(180deg,#1a1f28,#151920);border:1px solid #2b313c;border-radius:16px;padding:10px 14px 10px 10px;margin:6px 0 14px;max-width:100%;color:#f2f4f7}
.shl-cc-g{display:grid;place-items:center;min-width:58px;height:58px;padding:0 8px;border-radius:12px;background:#0d1016;border:1px solid #2b313c;font:32px/1 var(--f-glyph);color:#f2f4f7}
.shl-cc-meta{display:flex;flex-direction:column;line-height:1.3}
.shl-cc-n{font-weight:600;font-size:.95rem}
.shl-cc-cp{font:.8rem ui-monospace,Menlo,Consolas,monospace;color:#7c8494}
.shl .shl-cc-link{font-size:.85rem;font-weight:600}

/* toast */
.shl-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#f2f4f7;color:#0d0f14;font:600 .9rem -apple-system,"Segoe UI",Roboto,sans-serif;padding:10px 18px;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.4);transition:opacity .2s,transform .2s;z-index:99999}
.shl-toast.is-on{opacity:1;transform:translate(-50%,0)}
.shl-embed{background:transparent}

@media (max-width:900px){
 .shl-hero-in,.shl-hero-sm .shl-hero-in,.shl-sym-in,.shl-two,.shl-howto{grid-template-columns:1fr}
 .shl-orbit{height:220px;max-width:420px}
 .shl-hero-sm .shl-orbit{display:none}
 .shl-stage{padding:0 0 8px}
 .shl-big{width:min(190px,52vw);border-radius:28px}
 .shl-big-g{font-size:92px}
}
@media (max-width:600px){
 .shl-wrap{padding:0 16px}
 .shl-hero .shl-orbit{display:none}
 .shl-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
 .shl-g{height:66px;font-size:30px}
 .shl-cats{grid-template-columns:1fr 1fr}
 .shl a.shl-catcard{grid-template-columns:1fr;grid-template-rows:auto;row-gap:6px}
 .shl-rep{grid-row:auto;width:44px;height:44px;font-size:18px}
 .shl-table th,.shl-table td{padding:9px 10px}
 .shl-stats{gap:22px}
}
@media (prefers-reduced-motion:reduce){
 .shl-tile{animation:none}
 .shl-card,.shl-big,.shl-btn,.shl a.shl-catcard{transition:none}
 .shl-card:hover{transform:none}
}

.shl input.shl-q,.shl input.shl-filter-q{-webkit-appearance:none;appearance:none;margin:0;height:auto;line-height:1.4}
.shl button{text-transform:none;letter-spacing:normal;min-height:0}

/* ---------- blog, pages, listings ---------- */
.shl-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--dim);font-size:.88rem;margin:0}
.shl-meta span+span::before{content:"·";margin-right:18px;color:var(--edge2)}
.shl a.shl-eyebrow{text-decoration:none}
.shl-hero-post h1{font-size:clamp(1.9rem,1.3rem + 2.4vw,3rem)}
.shl-article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}
.shl-sticky{position:sticky;top:90px;display:grid;gap:14px}
.shl-aside-box,.shl-toc{background:linear-gradient(180deg,#171b23,#12151c);border:1px solid var(--edge);border-radius:var(--r-lg);padding:16px 18px}
.shl-aside-h{font:700 .74rem var(--f-body);text-transform:uppercase;letter-spacing:.09em;color:var(--key);margin:0 0 10px}
.shl-toc ol{margin:0;padding-left:18px;color:var(--dim);font-size:.88rem;line-height:1.45}
.shl-toc li{margin:0 0 7px}
.shl-toc a{color:var(--soft)}
.shl-toc a.is-on{color:var(--key-hi);font-weight:600}
.shl-grid-sm{grid-template-columns:repeat(3,1fr);gap:8px}
.shl-grid-sm .shl-g{height:54px;font-size:24px}
.shl-grid-sm .shl-n{font-size:.62rem;padding-bottom:7px}
.shl-aside-links{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.9rem}
.shl-aside-links a::before{content:"→ ";color:var(--key)}
.shl-prose{max-width:760px;font-size:1.04rem;line-height:1.75;color:#d7dce4}
.shl-prose>*:first-child{margin-top:0}
.shl-prose p{margin:0 0 1.1em;color:#d7dce4}
.shl-prose h2{font-size:clamp(1.4rem,1.15rem + .9vw,1.8rem);margin:2em 0 .6em;scroll-margin-top:90px;padding-top:.2em}
.shl-prose h2::before{content:"";display:block;width:36px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--key),transparent);margin-bottom:14px}
.shl-prose h3{font-size:1.18rem;margin:1.6em 0 .5em;color:var(--fg)}
.shl-prose ul,.shl-prose ol{margin:0 0 1.2em;padding-left:1.35em}
.shl-prose li{margin:0 0 .45em}
.shl-prose li::marker{color:var(--key)}
.shl-prose strong{color:var(--fg)}
.shl-prose a{color:var(--key);text-decoration:underline;text-decoration-color:rgba(230,165,68,.35);text-underline-offset:3px}
.shl-prose blockquote{margin:1.2em 0;padding:12px 18px;border-left:3px solid var(--key);background:var(--card);border-radius:0 12px 12px 0}
.shl-prose img{max-width:100%;height:auto;border-radius:14px}
.shl-prose hr{border:0;border-top:1px solid var(--edge);margin:2em 0}
.shl-prose .shl-table-wrap{margin:1.2em 0 1.6em}
.shl-prose .shl-table td,.shl-prose .shl-table th{font-size:.9rem}
.shl-prose table:not(.shl-table){width:100%;border-collapse:collapse}
.shl-page-body{margin:0 auto}
.shl-progress{position:fixed;left:0;top:0;right:0;height:3px;z-index:9999;pointer-events:none}
.shl-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--key),#ffd08a);box-shadow:0 0 12px rgba(230,165,68,.6)}
.shl-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin-top:10px}
.shl a.shl-pcard{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--r-lg);background:linear-gradient(160deg,#1b2029,#12151b);border:1px solid var(--edge);color:var(--fg);text-decoration:none;transform-style:preserve-3d;transition:border-color .2s,box-shadow .2s;overflow:hidden}
.shl a.shl-pcard::after{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at var(--mx,80%) var(--my,0%),rgba(230,165,68,.12),transparent 60%);pointer-events:none}
.shl a.shl-pcard:hover{border-color:rgba(230,165,68,.55);box-shadow:0 24px 50px rgba(0,0,0,.5);text-decoration:none}
.shl-pcard-tile{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#2a303b,#0f1217);border:1px solid rgba(230,165,68,.3);box-shadow:0 14px 28px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);transform:translateZ(30px) rotateX(10deg) rotateY(-12deg);margin-bottom:6px}
.shl-pcard-tile span{font:30px/1 var(--f-glyph);color:var(--key)}
.shl-pcard-cat{font:700 .72rem var(--f-body);text-transform:uppercase;letter-spacing:.08em;color:var(--key)}
.shl-pcard-t{font:700 1.12rem/1.3 var(--f-head);color:var(--fg)}
.shl-pcard-x{color:var(--soft);font-size:.9rem;line-height:1.5}
.shl-pcard-m{margin-top:auto;padding-top:6px;color:var(--dim);font-size:.82rem;display:flex;justify-content:space-between}
.shl-pcard-m b{color:var(--key);transition:transform .2s}
.shl a.shl-pcard:hover .shl-pcard-m b{transform:translateX(4px)}
.shl-chips-links{margin-bottom:6px}
.shl a.shl-chip{text-decoration:none}
.shl a.shl-chip span{opacity:.6;margin-left:4px}
.shl a.shl-chip[aria-current="page"]{color:#1a1206;background:var(--key);border-color:var(--key)}
.shl-band{position:relative;overflow:hidden;text-align:center;padding:44px 24px;border-radius:28px;border:1px solid rgba(230,165,68,.3);background:radial-gradient(600px 240px at 50% 0%,rgba(230,165,68,.16),transparent 70%),linear-gradient(180deg,#171b23,#101318);perspective:800px}
.shl-band h2{margin-bottom:.3em}
.shl-band p{color:var(--soft);max-width:560px;margin:0 auto 18px}
.shl-band-form{display:flex;gap:10px;max-width:560px;margin:0 auto;position:relative;z-index:1}
.shl-band-form input{flex:1;min-width:0;font:500 1rem var(--f-body);color:var(--fg);background:#0a0c11;border:1px solid var(--edge2);border-radius:12px;padding:12px 16px;outline:none}
.shl-band-form input:focus{border-color:var(--key)}
.shl-band-orbit span{position:absolute;font:28px/1 var(--f-glyph);color:rgba(230,165,68,.28);animation:shl-float 11s ease-in-out infinite;--z:0px;--r:10deg}
.shl-band-orbit span:nth-child(1){left:6%;top:18%}.shl-band-orbit span:nth-child(2){left:88%;top:22%;animation-delay:-3s}.shl-band-orbit span:nth-child(3){left:12%;top:70%;animation-delay:-6s}.shl-band-orbit span:nth-child(4){left:80%;top:68%;animation-delay:-2s}.shl-band-orbit span:nth-child(5){left:48%;top:84%;animation-delay:-8s;opacity:.6}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.shl-form{display:grid;gap:14px;max-width:640px}
.shl-form-row label{display:block;font-weight:600;margin-bottom:6px}
.shl select.shl-input{appearance:auto}
.shl-hp{position:absolute;left:-9999px}
.shl-form-ok,.shl-form-err{padding:12px 16px;border-radius:12px;margin:0}
.shl-form-ok{background:rgba(31,122,77,.18);border:1px solid #1f7a4d}
.shl-form-err{background:rgba(179,38,30,.18);border:1px solid #b3261e}
@media (max-width:1000px){.shl-article-grid{grid-template-columns:minmax(0,1fr)}.shl-sticky{position:static}.shl-aside{order:2}}
@media (max-width:600px){.shl-band-form{flex-direction:column}.shl-pgrid{grid-template-columns:1fr}.shl-prose{font-size:1rem}}
@media (prefers-reduced-motion:reduce){.shl-band-orbit span{animation:none}}

.shl-table-wrap{max-width:100%}
.shl-post-body,.shl-page-body{min-width:0;overflow-wrap:anywhere}
.shl-chips{scrollbar-color:#3a4150 transparent}
.shl-chips::-webkit-scrollbar{height:6px}.shl-chips::-webkit-scrollbar-thumb{background:#3a4150;border-radius:6px}.shl-chips::-webkit-scrollbar-track{background:transparent}
.shl-tpl-post .shl h1,.shl-tpl-page .shl h1{padding:0;border:0}

.shl-acc-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.shl-acc-t h3{margin:0 0 8px}
.shl-acc-t .shl-mini{height:34px;min-width:38px;font-size:18px;margin-right:6px}
.shl-acc-t td{font-size:.86rem}
.shl .shl-acc-t kbd{font-size:.78rem}
