/* Lab / public workshop section */
.lab-hero, .lab-section, .lab-layout { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.lab-hero { padding: clamp(62px, 9vw, 108px) 0 clamp(36px, 6vw, 68px); }
.lab-hero h1 { max-width: 920px; }
.lab-hero .lead { max-width: 760px; }
.lab-note { margin-top: 28px; max-width: 780px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.74); color: var(--muted); font-size: 15px; }
.lab-section { padding: clamp(48px, 7vw, 82px) 0; border-top: 1px solid var(--line); }
.lab-section-header { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 26px; }
.lab-section-header p { max-width: 620px; color: var(--muted); margin: 0; }
.bucket-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.bucket-card, .project-card, .repo-card, .principle-card, .thesis-card, .build-note { display: block; padding: clamp(22px, 3vw, 30px); border: 1px solid var(--line); border-radius: 26px; background: var(--surface); color: inherit; text-decoration: none; }
.bucket-card:hover, .project-card:hover { border-color: rgba(0,102,204,.35); box-shadow: 0 18px 46px rgba(29,29,31,.08); transform: translateY(-1px); }
.bucket-card h2, .project-card h2, .repo-card h2, .principle-card h3, .thesis-card h2 { margin-bottom: 10px; }
.bucket-card p, .project-card p, .repo-card p, .principle-card p, .thesis-card p, .build-note p { color: var(--muted); margin-bottom: 18px; }
.bucket-meta, .tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
.bucket-meta span, .tag-row span, .status-pill { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px; background: rgba(245,245,247,.85); color: var(--muted); font-size: 12px; font-weight: 750; }
.lab-layout { display: grid; grid-template-columns: minmax(220px,.32fr) minmax(0,.68fr); gap: clamp(28px,6vw,76px); padding: clamp(48px,7vw,86px) 0; border-top: 1px solid var(--line); }
.lab-sidebar { position: sticky; top: 88px; align-self: start; }
.lab-sidebar p { color: var(--muted); }
.project-list { display: grid; gap: 16px; }
.project-card { display: grid; grid-template-columns: minmax(170px,.32fr) minmax(0,.68fr); gap: 22px; align-items: start; }
.repo-table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 18px; background: var(--surface); border: 1px solid var(--line); }
.repo-table th, .repo-table td { padding: 13px 14px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; font-size: 14px; }
.repo-table th { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.repo-table tr:last-child td { border-bottom: 0; }
.repo-table a, .small-link { color: var(--blue); font-weight: 750; text-decoration: none; }
.principle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.visual-hero { display: grid; grid-template-columns: minmax(0,.92fr) minmax(360px,1.08fr); gap: clamp(26px,5vw,58px); align-items: center; width: min(var(--max), calc(100% - 40px)); margin: 0 auto; padding: clamp(54px,8vw,92px) 0 clamp(36px,6vw,64px); }
.visual-hero-copy h1 { max-width: 720px; }
.visual-hero-copy .lead { max-width: 660px; }
.hero-art { margin: 0; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: var(--surface); box-shadow: 0 24px 70px rgba(29,29,31,.1); }
.hero-art img { display: block; width: 100%; height: auto; }
.thesis-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.thesis-card strong { display: block; margin-bottom: 8px; font-size: 14px; color: var(--blue); text-transform: uppercase; letter-spacing: .06em; }
.deep-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.deep-list li { padding: 16px 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.72); }
.deep-list b { display: block; margin-bottom: 4px; }
.deep-list span { color: var(--muted); }
.page-path { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; color: var(--muted); }
.build-note { border-left: 4px solid var(--blue); }
@media (max-width: 900px) { .bucket-grid, .project-card, .lab-layout, .principle-grid, .visual-hero, .thesis-grid { grid-template-columns: 1fr; } .lab-sidebar { position: static; } .lab-section-header { display: block; } }
@media (max-width: 620px) { .lab-hero, .lab-section, .lab-layout, .visual-hero { width: min(100% - 32px, var(--max)); } .repo-table { display: block; overflow-x: auto; } .hero-art { border-radius: 20px; } }
