/* gss-abuse shared components (abuse.globestar.nl + bastionblock.eu). Blue Globestar palette. */
.ab-card{background:rgba(30,41,59,.72);border:1px solid #334155;border-radius:1rem;padding:22px;margin:18px 0}
html.light .ab-card{background:#fff;border-color:#e2e8f0}
.ab-hero{background:radial-gradient(circle at 15% 0,rgba(29,78,216,.35),transparent 60%),rgba(30,41,59,.72)}
.ab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.ab-step{background:rgba(15,23,42,.7);border:1px solid #334155;border-radius:.9rem;padding:16px}
html.light .ab-step{background:#f8fafc;border-color:#e2e8f0}
.ab-step b{color:#60a5fa;font-size:1.25rem;display:block;margin-bottom:4px}
.ab-big{font-size:2.4rem;font-weight:800;color:#60a5fa}
.ab-in,.ab-ta{width:100%;padding:11px 12px;border-radius:.75rem;border:1px solid #475569;background:#0f172a;color:#e2e8f0;font-size:1rem}
html.light .ab-in,html.light .ab-ta{background:#fff;color:#0f172a;border-color:#cbd5e1}
.ab-lbl{display:block;margin:12px 0 5px;color:#cbd5e1;font-size:.95rem}html.light .ab-lbl{color:#334155}
.ab-btn{display:inline-block;background:#2563eb;color:#fff!important;border:0;border-radius:.75rem;padding:11px 20px;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;margin-top:12px}
.ab-btn:hover{background:#1d4ed8}.ab-btn.ghost{background:transparent;border:1px solid #3b82f6;color:#93c5fd!important}
.ab-ok{border-left:5px solid #22c55e}.ab-bad{border-left:5px solid #ef4444}.ab-warn{border-left:5px solid #f59e0b}
.ab-err{background:#7f1d1d;color:#fecaca;padding:10px 14px;border-radius:.75rem}
.ab-tbl{overflow-x:auto}.ab-tbl table{width:100%;border-collapse:collapse;font-size:.92rem}
.ab-tbl td,.ab-tbl th{text-align:left;padding:7px 8px;border-bottom:1px solid #334155;vertical-align:top}.ab-tbl th{color:#94a3b8;font-weight:600}
.ab-pre{background:#0b1222;border:1px solid #334155;border-radius:.6rem;font-size:.86rem;padding:12px;overflow-x:auto;color:#e2e8f0;white-space:pre}
.ab-code{background:#0b1222;border:1px solid #334155;border-radius:.4rem;padding:1px 6px;font-size:.88rem;color:#e2e8f0}
.ab-muted{color:#94a3b8}.ab-hp{position:absolute;left:-9999px}
.ab-h1{font-size:2rem;line-height:1.25;font-weight:800;margin:.1em 0 .5em;color:#fff}html.light .ab-h1{color:#0f172a}
.ab-h2{color:#60a5fa;font-size:1.3rem;font-weight:700;margin:1.4em 0 .4em}
.ab-pill{display:inline-block;border:1px solid #3b82f666;color:#93c5fd;border-radius:999px;padding:3px 12px;font-size:.82rem;margin:0 6px 6px 0}
.ab-main{max-width:1000px;padding:28px 24px 60px}
@media(max-width:600px){.ab-h1{font-size:1.55rem}.ab-card{padding:16px}.ab-main{padding:18px 14px 40px}}
/* BastionBlock product shell */
.bb{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#0b1120;color:#e2e8f0;line-height:1.6}
.bb a{color:#93c5fd}.bb-top{position:sticky;top:0;z-index:20;background:rgba(11,17,32,.88);backdrop-filter:blur(8px);border-bottom:1px solid #1e293b}
.bb-bar{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 20px}
.bb-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;color:#fff!important;text-decoration:none;margin-right:auto}
.bb-brand svg{width:28px;height:28px}.bb-nav a{color:#cbd5e1;text-decoration:none;padding:6px 10px;border-radius:8px;font-size:.95rem}
.bb-nav a.on,.bb-nav a:hover{background:#1e3a8a66;color:#fff}.bb-lang{border:1px solid #334155;border-radius:8px;padding:3px 9px;font-size:.85rem;text-decoration:none}
.bb-wrap{max-width:1080px;margin:0 auto;padding:36px 20px 60px}.bb-hero{padding:30px 0 10px}
.bb-hero h1{font-size:2.6rem;line-height:1.15;margin:.2em 0 .4em;color:#fff;font-weight:800;max-width:780px}
.bb-hero p{font-size:1.15rem;color:#cbd5e1;max-width:720px}.bb-tag{color:#60a5fa;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}
.bb-foot{border-top:1px solid #1e293b;color:#64748b;font-size:.85rem;padding:22px 20px;text-align:center}
@media(max-width:600px){.bb-hero h1{font-size:1.75rem}.bb-bar{gap:6px}.bb-nav a{padding:5px 7px;font-size:.88rem}}
.gs-dash .ab-main{padding-top:calc(var(--gs-nav-h,72px) + 28px)}
@media(max-width:1023px){.gs-dash .ab-main{padding-top:calc(var(--gs-nav-h,60px) + var(--gs-dash-bar-h,52px) + 18px)}}
