/* Shared Butler hub design: template directory + hub page styles. Used by /grok-bot/, /grok-bot-templates/, /grok-bot-skills/ and /menu/. Built by staging/grokbot_hub_20261025/build/build.py */
.gbt{--r:22px;margin:1.6rem 0 2rem;position:relative}
.gbt-h{margin-bottom:.4rem!important}
.gbt-feat{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 22px;border-radius:var(--r);background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.62));border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(31,41,80,.12),inset 0 1px 0 #fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:relative;z-index:1;margin-bottom:-14px}
.gbt-feat::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:radial-gradient(120% 140% at 0% 0%,#ffe1ec 0,transparent 45%),radial-gradient(120% 140% at 100% 0%,#e1ecff 0,transparent 50%),radial-gradient(100% 120% at 50% 100%,#fff4d6 0,transparent 55%);opacity:.9}
.gbt-fic{width:104px;height:114px}.gbt-fic svg{width:104px;height:114px}
.gbt-meta{margin:0 0 .25rem!important;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.gbt-badge{display:inline-block;padding:.18rem .7rem;border-radius:999px;font:700 .78rem/1.4 Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.gbt-num{font:600 .85rem/1 Inter,system-ui,sans-serif;color:#64748b}
.gbt-ft{font:800 clamp(1.35rem,3.4vw,2rem)/1.15 Inter,system-ui,sans-serif;color:#0a0a0a;margin:.1rem 0 .3rem!important;letter-spacing:-.01em}
.gbt-fd{margin:0 0 .7rem!important;color:#334155;font-size:1.02rem}
a.gbt-fbtn{display:inline-block;background:#0a0a0a;color:#fff!important;text-decoration:none!important;border-radius:999px;padding:.55rem 1.05rem;font:600 .95rem/1.2 Inter,system-ui,sans-serif}
a.gbt-fbtn:hover{background:#1a56db}a.gbt-fbtn:focus-visible,.gbt-row:focus-visible,.gbt-chip:focus-visible{outline:3px solid #1a56db;outline-offset:2px}
.gbt-by-box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 18px 14px;border-radius:24px;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);min-width:120px}
.gbt-av{display:block;width:56px;height:56px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 30%,#ffffff 0,#f1ecff 55%,#dfeafe 100%);box-shadow:0 0 0 3px rgba(255,255,255,.95),0 0 0 4px rgba(99,102,241,.18),0 6px 14px rgba(15,23,42,.16)}
.gbt-av picture,.gbt-av img{display:block;width:100%;height:100%}.gbt-av img{object-fit:cover;border-radius:50%}
.gbt-cbw{display:flex;flex-direction:column;align-items:center;gap:2px}
.gbt-cb{font:700 .68rem/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.gbt-cn{font:800 1rem/1.2 Inter,system-ui,sans-serif;color:#0a0a0a}
.gbt-chips{display:flex;gap:6px;overflow-x:auto;padding:26px 14px 10px;margin:0;border-radius:var(--r) var(--r) 0 0;background:linear-gradient(120deg,#fde7f1 0,#ece8fe 35%,#e3f1ff 65%,#e6f8ef 100%);scrollbar-width:none}
.gbt-chips::-webkit-scrollbar{display:none}
.gbt-chip{flex:0 0 auto;border:1px solid rgba(15,23,42,.08)!important;background:rgba(255,255,255,.7)!important;color:#0f172a!important;border-radius:999px;padding:.32rem .75rem;font:600 .82rem/1.2 Inter,system-ui,sans-serif;cursor:pointer}
.gbt-chip[style]{color:var(--c)!important;background:var(--t)!important}
.gbt-chip.is-on{background:#0a0a0a!important;color:#fff!important}
.gbt-list{list-style:none;margin:0!important;padding:8px 10px 14px!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 10px;border-radius:0 0 var(--r) var(--r);background:linear-gradient(160deg,#fbe9f2 0,#f1ecff 30%,#e6f1ff 60%,#eaf8f0 85%,#fff6e0 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 8px 24px rgba(31,41,80,.08)}
.gbt-list li{margin:0!important;padding:0!important}.gbt-list li[hidden]{display:none}
a.gbt-row{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:14px;text-decoration:none!important;color:inherit!important;border:1px solid transparent;transition:background .15s,border-color .15s}
a.gbt-row:hover,a.gbt-row:focus-visible{background:rgba(255,255,255,.6)}
a.gbt-row.is-sel{background:rgba(255,255,255,.88);border-color:#f9a8c9;box-shadow:0 4px 14px rgba(236,72,153,.15)}
.gbt-icw{flex:0 0 auto;display:inline-block;line-height:0}
.gbt-row .gbt-ic{width:34px;height:38px;filter:drop-shadow(0 2px 2px rgba(15,23,42,.22));overflow:visible}
.gbt-fsvg{overflow:visible}.gbt-fsvg .gbt-bd{filter:drop-shadow(0 6px 6px rgba(15,23,42,.18))}
.gbt-tx{display:flex;flex-direction:column;min-width:0}
.gbt-t{font:700 .95rem/1.25 Inter,system-ui,sans-serif;color:#0a0a0a}
.gbt-d{font-size:.82rem;line-height:1.3;color:#64748b}
.gbt-by{font:600 .74rem/1.3 Inter,system-ui,sans-serif;margin-top:1px}
.gbt-ey,.gbt-lid,.gbt-bd{transform-box:fill-box;transform-origin:50% 50%}
.gbt-ey{transition:transform .12s ease-out}
@media (max-width:900px){.gbt-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.gbt-feat{grid-template-columns:auto 1fr;padding:16px}.gbt-fic,.gbt-fic svg{width:76px;height:84px}.gbt-by-box{grid-column:1/-1;flex-direction:row;justify-content:flex-start;gap:10px;padding:6px 14px 6px 6px;min-width:0;border-radius:999px;justify-self:start}.gbt-av{width:40px;height:40px}.gbt-cbw{align-items:flex-start}.gbt-list{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){
.gbt-run .gbt-m0 .gbt-bd{animation:gbt-bob 3.2s ease-in-out var(--dl) infinite}
.gbt-run .gbt-m1 .gbt-bd{animation:gbt-tilt 3.8s ease-in-out var(--dl) infinite}
.gbt-run .gbt-m2 .gbt-bd{animation:gbt-squish 2.9s ease-in-out var(--dl) infinite;transform-origin:50% 100%}
.gbt-run .gbt-big .gbt-bd{animation:gbt-bob 3.4s ease-in-out infinite}
.gbt-run .gbt-big .gbt-shadow{transform-box:fill-box;transform-origin:50% 50%;animation:gbt-sh 3.4s ease-in-out infinite}
.gbt-run .gbt-lid{animation:gbt-blink var(--bk,5s) linear var(--bd,0s) infinite}
.gbt-run .gbt-big .gbt-lid{animation-duration:4.6s}
.gbt-run .gbt-list li:nth-child(4n+2) .gbt-ey{animation:gbt-glance 7s ease-in-out var(--bd) infinite}
.gbt-run a.gbt-row:hover .gbt-ey,.gbt-run a.gbt-row.is-sel .gbt-ey{animation:none}
a.gbt-row:hover .gbt-bd{animation:gbt-hop .7s cubic-bezier(.3,1.6,.5,1) 1!important}}
@keyframes gbt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6%)}}
@keyframes gbt-tilt{0%,100%{transform:rotate(0)}30%{transform:rotate(-7deg)}65%{transform:rotate(6deg)}}
@keyframes gbt-squish{0%,100%{transform:scale(1,1)}45%{transform:scale(1.08,.9)}60%{transform:scale(.96,1.05)}}
@keyframes gbt-sh{0%,100%{transform:scale(1);opacity:.16}50%{transform:scale(.8);opacity:.1}}
@keyframes gbt-blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@keyframes gbt-glance{0%,70%,100%{transform:translate(0,0)}76%,86%{transform:translate(-4px,1px)}90%{transform:translate(3px,0)}}
@keyframes gbt-hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-14%) scale(1.05,.95)}70%{transform:translateY(0) scale(1.06,.92)}}
@media (prefers-reduced-motion:reduce){.gbt *{animation:none!important;transition:none!important}}

.gbh-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;align-items:center;margin:.6rem 0 1.4rem}
.gbh-hero figure{margin:0}.gbh-hero img{width:100%;height:auto;border-radius:18px;display:block;box-shadow:0 10px 30px rgba(15,23,42,.12)}
figcaption{font-size:.82rem;color:#64748b;margin-top:.35rem}
.qa{background:#f6f8fb;border:1px solid #e6eaf0;border-radius:16px;padding:14px 16px;margin:.8rem 0}
a.src{font-size:.78rem;color:#1a56db!important;text-decoration:underline!important;text-underline-offset:2px;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}a.src:hover{color:#1e429f!important}
.ptable th,.ptable td,.cmp th,.cmp td{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}.ptable .pnum,.ptable th,.pcards .pnum{white-space:nowrap!important}.pcards .pnum{background:none!important;color:inherit!important;padding:0!important;border-radius:0!important;font-weight:800}.ptable .pick,.pcards .pick{font-size:.8rem;color:#92400e;white-space:nowrap}
.pcards{display:none;list-style:none;padding:0!important;margin:.6rem 0!important}.pcards li{margin:0 0 8px!important;border:1px solid #e6eaf0;border-radius:14px;padding:10px 12px}.pcards li.rec{background:#fff8e6;border-color:#f5c26b}.pcards p{margin:0!important}.pc-n{font-weight:800}.pc-r{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.92rem;color:#334155}.pc-r span{white-space:nowrap}
.srcline p{margin:.15rem 0!important;font-size:.85rem}
@media (max-width:479px){.pt-wide{display:none}.pcards{display:block}}
.onebot{margin:1.4rem 0;padding:18px 20px;border-radius:22px;background:linear-gradient(135deg,rgba(236,233,254,.75),rgba(224,242,254,.75));border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(15,23,42,.08)}.onebot h2,.onebot h3{margin-top:0!important}.ob-list{list-style:none;padding:0!important;margin:0!important;display:grid;gap:8px}.ob-list li{margin:0!important;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.7)}
.gbh-123{list-style:none;padding:0!important;margin:1.2rem 0 1.6rem!important;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:s}
.gbh-123 li{margin:0!important;border-radius:20px;padding:18px 18px 16px;background:linear-gradient(150deg,#fde7f1,#ece8fe);position:relative}
.gbh-123 li:nth-child(2){background:linear-gradient(150deg,#e3f1ff,#e6f8ef)}.gbh-123 li:nth-child(3){background:linear-gradient(150deg,#fff3df,#fde9e9)}
.gbh-123 .n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#0a0a0a;color:#fff;font:800 1.3rem/1 Inter,system-ui,sans-serif;margin-bottom:8px}
.gbh-123 .h{display:block;font:800 1.25rem/1.2 Inter,system-ui,sans-serif;color:#0a0a0a;margin-bottom:4px}
.gbh-123 a.go{display:inline-block;margin-top:8px;font-weight:700}
.ptable{width:100%!important;border-collapse:collapse;margin:.6rem 0;font-size:.95rem}.ptable th,.ptable td{border-bottom:1px solid #e6eaf0;padding:8px 6px;text-align:left;vertical-align:top}
.ptable tr.rec td{background:#fff8e6;font-weight:600}.twrap{overflow-x:auto}
.rec-box{border:2px solid #0a0a0a;border-radius:18px;padding:16px 18px;margin:1rem 0;background:#fffdf5}
.rec-box .lbl{display:inline-block;background:#0a0a0a;color:#fff;border-radius:999px;padding:.15rem .7rem;font:700 .75rem/1.5 Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.jobs{columns:2;column-gap:28px;padding-left:1.1rem}.jobs li{break-inside:avoid;margin:0 0 .35rem}
.xpost{margin:1.4rem auto;max-width:550px}.xpost blockquote{margin:0}.xpost .cred{font-size:.85rem;color:#475569;margin:.3rem 0 0}
.steps{counter-reset:st;padding-left:0!important;list-style:none}.steps>li{position:relative;padding-left:44px!important;margin-bottom:.8rem}
.steps>li::before{counter-increment:st;content:counter(st);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:#1a56db;color:#fff;display:grid;place-items:center;font:700 .95rem/1 Inter,system-ui,sans-serif}
.cmp{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}.cmp th,.cmp td{border:1px solid #e6eaf0;padding:7px;vertical-align:top;text-align:left}.cmp th{background:#f6f8fb}
.faq details{border-bottom:1px solid #e6eaf0;padding:.55rem 0}.faq summary{cursor:pointer;font-weight:700}.faq details p{margin:.4rem 0 .2rem}
.sources ol{padding-left:1.2rem}.sources li{margin-bottom:.35rem;font-size:.9rem}.sources .chk{color:#64748b;overflow-wrap:anywhere}
.ind{font-size:.85rem;color:#64748b;border-top:1px solid #e6eaf0;padding-top:.8rem;margin-top:1.6rem}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:.6rem 0 1rem}.pills a{text-decoration:none!important;display:inline-block;padding:.4rem .8rem;border-radius:999px;background:#eef2ff;font-weight:600}
.cmp th[scope=row]{min-width:78px;overflow-wrap:normal!important;word-break:normal!important;hyphens:none}.cmp td,.cmp th{overflow-wrap:break-word}
@media (max-width:760px){.cmp{font-size:.82rem}.gbh-hero{grid-template-columns:1fr;gap:14px}.gbh-123{grid-template-columns:1fr}.jobs{columns:1}}
