.reflect-lab { margin: 0; padding: 1.25rem; color: rgb(var(--fg-primary)); background: rgb(var(--bg-primary)); font-family: var(--font-primary, system-ui); font-size: 1rem; line-height: 1.5; }
.reflect-lab *, .reflect-lab *::before, .reflect-lab *::after { box-sizing: border-box; }
.reflect-lab #lab { max-width: 52rem; margin-inline: auto; }
.reflect-lab h1 { margin: 0; font-family: inherit; font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem); line-height: 1.25; letter-spacing: -.025em; }
.reflect-lab h2, .reflect-lab h3 { margin: 0 0 .75rem; font-family: inherit; font-size: 1.125rem; line-height: 1.5; }
.reflect-lab p { margin: .5rem 0 1rem; font-size: 1rem; line-height: 1.5; }
.reflect-lab .lab-eyebrow { margin: 0 0 .5rem; color: rgb(var(--fg-secondary)); font-size: .75rem; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; }
.reflect-lab .lab-instruction { color: rgb(var(--fg-secondary)); max-width: 65ch; }
.lab-stage { padding-block: 1rem; border-block: 1px solid rgb(var(--border-secondary)); }
.lab-stack { display: grid; gap: 1rem; }
.lab-stack > button { justify-self: start; max-width: 100%; }
.lab-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.lab-actions > * { max-width: 100%; }
.lab-state { padding: 1rem; margin: 0; background: rgb(var(--bg-secondary)); border-radius: .5rem; overflow-wrap: anywhere; }
.reflect-lab .lab-state p:last-child { margin-bottom: 0; }
.lab-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lab-columns > section { min-width: 0; padding: 1rem; border: 1px solid rgb(var(--border-secondary)); border-radius: .5rem; }
.lab-rows { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.lab-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; border-bottom: 1px solid rgb(var(--border-secondary)); padding: .75rem 0; }
.lab-notice { color: rgb(var(--fg-secondary)); }
.reflect-lab .lab-error { color: rgb(var(--fg-negative, 180 35 40)); }
.lab-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding-top: 1rem; }
.reflect-lab a { color: rgb(var(--fg-brand)); text-underline-offset: .2em; }
.reflect-lab details { margin-top: 1rem; }
.reflect-lab summary { cursor: pointer; min-height: 2.75rem; padding-block: .625rem; }
.reflect-lab pre { font-size: .8125rem; line-height: 1.5; overflow: auto; max-height: 24rem; padding: 1rem; }
.reflect-lab :where(a:focus-visible, summary:focus-visible) { outline: 2px solid rgb(var(--fg-brand)); outline-offset: .25rem; }
.reflect-lab .lab-log { padding-inline-start: 1.5rem; max-height: 12rem; overflow: auto; }
@media(max-width: 30rem) { .reflect-lab { padding: 1rem; } .lab-columns { grid-template-columns: minmax(0, 1fr); } }
