/* Shared footer. Works inside the site and on standalone printable pages. */
.site-footer.lab-footer{display:block;max-width:1100px;margin:48px auto 0;padding:0 clamp(16px,5vw,72px) 40px;box-sizing:border-box;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink,#0f172a);text-align:center}
.site-footer.standalone-footer{padding:24px 16px 32px;color:#0f172a}
.site-footer .footer-meta{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin:0 0 16px;font-size:.85rem;color:var(--ink-dim,#334155)}
.disclaimer-panel{display:flex;gap:16px;align-items:flex-start;text-align:left;margin:0 auto 22px;padding:20px 22px;border-radius:20px;border:2px solid #0f766e;
 background:linear-gradient(135deg,#dcfce7 0%,#d1fae5 35%,#dbeafe 100%);color:#0b1f2a;box-shadow:0 8px 30px rgba(15,118,110,.25)}
.disclaimer-panel h2{margin:0 0 6px;font-size:1.1rem;line-height:1.3;color:#052e2b;background:none;-webkit-text-fill-color:currentColor;text-shadow:none}
.disclaimer-panel .head-gem{display:none}
.disclaimer-panel p{margin:0 0 8px;font-size:1rem;line-height:1.6;color:#0b1f2a;max-width:none}
.disclaimer-panel p:last-child{margin-bottom:0}
.disclaimer-panel a{color:#082f49 !important;-webkit-text-fill-color:#082f49;background:#fffbeb;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;overflow-wrap:anywhere;padding:0 3px;border-radius:4px}
.disclaimer-ico{flex:none;width:52px;height:52px;color:#0f766e}
.disclaimer-ico svg{width:100%;height:100%;display:block}
.site-copy{margin:8px 0 4px;font-size:1rem;font-weight:700}
.footer-brand{margin:0 0 14px;font-size:1.35rem;font-weight:800;letter-spacing:.01em}
.brand-icons{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;width:fit-content;margin:4px auto 18px;padding:12px 18px;border-radius:28px;border:3px solid transparent;background:linear-gradient(#160b33,#241447) padding-box,linear-gradient(120deg,#22d3ee,#a78bfa,#f472b6,#fde047,#43e660) border-box;box-shadow:0 0 18px #a78bfa,0 0 36px rgba(34,211,238,.45);animation:brand-glow 3.2s ease-in-out infinite}
@keyframes brand-glow{50%{box-shadow:0 0 26px #22d3ee,0 0 48px rgba(244,114,182,.55)}}
.brand-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;color:#fff;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .15s,box-shadow .15s}
.brand-icon:hover,.brand-icon:focus-visible{transform:translateY(-3px) scale(1.06);box-shadow:0 10px 26px rgba(0,0,0,.35),0 0 0 3px #fde047;outline:none}
.brand-icon svg{width:40px;height:40px;display:block}
.brand-icon .monkey-icon,.brand-icon .lt-3d{width:56px;height:56px}
.brand-web{background:radial-gradient(circle at 30% 25%,#7c3aed,#312e81 70%);box-shadow:0 0 22px #a78bfa,0 6px 18px rgba(0,0,0,.28)}
.brand-gh{background:#24292f}.brand-lt{background:transparent;box-shadow:none;color:#fff}
@media (prefers-reduced-motion: reduce){.brand-icons{animation:none}}
.next-labs{margin:0}
.next-labs .next-title{margin:0 0 12px;font-size:1.05rem;background:none;-webkit-text-fill-color:currentColor}
.lab-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;text-align:left}
.lab-card{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;text-decoration:none;color:#0f172a;background:#fff;border:2px solid var(--c,#6366f1);box-shadow:0 4px 14px color-mix(in srgb,var(--c,#6366f1) 30%,transparent)}
.lab-card:hover,.lab-card:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--c,#6366f1) 45%,transparent);outline:none}
.lab-card-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;font-size:1.4rem;background:color-mix(in srgb,var(--c,#6366f1) 18%,#fff)}
.lab-card-copy{display:grid;gap:2px;min-width:0}.lab-card-copy strong{font-size:1rem}.lab-card-copy small{font-size:.82rem;line-height:1.35;color:#334155}
.footer-license{margin:18px 0 0;font-size:.85rem;opacity:.85}
@media(max-width:560px){.disclaimer-panel{flex-direction:column;padding:16px}.brand-icon{width:62px;height:62px}}
@media print{.brand-icons,.next-labs{display:none}.disclaimer-panel{box-shadow:none}}
