/* Extend the existing terminal palette and type; theme variables still own color. */
.launch{text-decoration:none;color:var(--bone)}
.lab-featured{display:grid;grid-template-columns:1.25fr 1fr;gap:1rem;margin-bottom:1.2rem}
.lab-game,.lab-gubbins{display:flex;align-items:center;gap:1rem;padding:1.4rem;color:var(--bone);border-top:4px solid var(--red);text-decoration:none;min-width:0}
.lab-game img{width:32%;height:auto;aspect-ratio:1;object-fit:contain;align-self:center}.lab-gubbins img{width:31%;height:auto;aspect-ratio:1;object-fit:contain;transform:rotate(-7deg)}
.lab-featured h3{font:400 2.5rem/1.1 Anton,Impact,sans-serif;text-transform:uppercase}.lab-featured p{font-size:.85rem;margin:.85rem 0;color:var(--bone-dim)}.lab-featured .lab-action{font-size:.78rem}.lab-featured small{display:block;color:var(--bone-dim);font-size:.63rem;margin-top:.8rem}.lab-game:hover,.lab-gubbins:hover{border-color:var(--bone)}
@media(max-width:900px){.lab-featured{grid-template-columns:1fr}.lab-game img,.lab-gubbins img{width:26%;max-width:170px}}
@media(max-width:440px){.lab-game,.lab-gubbins{padding:1rem;gap:.8rem}.lab-featured h3{font-size:2rem}}
.index-routes{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}
.index-routes a{color:var(--bone);text-decoration:underline;text-underline-offset:.25em}
.lab-intro{margin-bottom:1.8rem}
.lab-intro h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(2.6rem,7vw,4.5rem);line-height:1}
.lab-intro p{color:var(--bone-dim);margin-top:1rem;max-width:60ch}
.story-invite{display:flex;align-items:center;gap:2rem;border:2px solid var(--red);border-left-width:8px;padding:1.5rem;margin-bottom:1.2rem;color:var(--bone);background:var(--raise)}
.story-invite h3,.lab-card h3,.lab-signal h3{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:2rem;line-height:1.2;text-transform:uppercase}
.story-invite p{max-width:58ch;margin-top:.65rem}
.lab-action{display:block;color:var(--bone);font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:.3em;line-height:1.6}
.story-invite>.lab-action{flex:0 0 10rem;padding:.85rem 1rem;background:var(--red);color:var(--black);text-decoration:none;text-align:center}
.story-invite:hover,.lab-card:hover{border-color:var(--bone)}
.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lab-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:1.4rem;color:var(--bone)}
.lab-card p{color:var(--bone-dim);margin:.8rem 0 1.4rem;max-width:43ch;flex:1;font-size:1rem}
.lab-channel{border-top:4px solid var(--red)}
.lab-card-heading{display:flex;align-items:center;gap:1.1rem;min-height:72px;width:100%}
.lab-brand,.lab-channel-avatar{flex:0 0 72px;width:72px;height:72px}
.lab-channel-avatar{display:block;object-fit:cover;border-radius:50%}
.lab-brand{display:grid;place-items:center;background:var(--black);border:1px solid var(--line)}
.lab-brand img{display:block;width:48px;height:48px;object-fit:contain}
.lab-brand-discord{background:#5865f2;border-color:#5865f2}
.lab-brand-patreon{background:#101010;border-color:#ffffff30}
.lab-brand-podcast{background:#9933cc;border-color:#9933cc}
.lab-platform{display:flex;align-items:center;gap:.55rem;margin-top:.45rem;font-size:.7rem;color:var(--bone-dim)}
.lab-platform img{display:block;width:24px;height:24px;object-fit:contain}
.social-name{display:flex;align-items:center;gap:.75rem}
.social-name img{flex:0 0 24px;object-fit:contain}
.lab-signal{display:flex;align-items:center;gap:1.5rem;padding:1.6rem 0;margin-top:1rem;border-bottom:1px solid var(--line)}
.lab-signal p{color:var(--bone-dim);margin-top:.6rem;max-width:55ch}
.lab-signal .bigcta{flex:none;letter-spacing:0;font-size:.875rem}
.lab-outposts{padding-top:1.3rem}
.lab-outposts h3{font-size:1rem}
.lab-outposts p{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:.65rem}
.lab-outposts a{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;color:var(--bone-dim);font-size:.875rem;padding:.35rem 0;text-decoration:underline;text-underline-offset:.25em}
.lab-outposts img{display:block;flex:0 0 20px;width:20px;height:20px;object-fit:contain}
.lab-outposts a:hover{color:var(--bone)}
@media(max-width:640px){
  .lab-grid{grid-template-columns:1fr}
  .story-invite,.lab-signal{flex-direction:column;align-items:stretch;gap:1.2rem}
  .story-invite>.lab-action{flex:auto}
  .story-invite,.lab-card{padding:1.2rem}
  .lab-intro h2{font-size:3rem}
}
@media(max-width:380px){.lab-card-heading{gap:.8rem;min-height:60px}.lab-brand,.lab-channel-avatar{flex-basis:60px;width:60px;height:60px}.lab-brand img{width:40px;height:40px}}
