.startup-lab { --lab-reading-width: 72ch; }
.lab-detail { max-width: 58rem; margin-inline: auto; }
.lab-now, .lab-current { padding: 1.75rem; background: var(--color-surface-overlay); border-radius: var(--radius-xl); border: 1px solid var(--color-border-default); }
.lab-now { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.lab-now-title { font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.25; }
.lab-now-meta { flex: none; font-size: .8125rem; line-height: 1.8; color: var(--color-text-tertiary); text-align: right; }
.lab-current { border-left: 4px solid var(--color-accent); }
.lab-current-message { margin-top: .75rem; line-height: 1.6; font-size: 1.125rem; overflow-wrap: anywhere; }
.lab-views { display: flex; flex-wrap: wrap; gap: .5rem; margin: 2rem 0; }
.lab-collection { margin-top: 2rem; }
.lab-collection-title { display: flex; gap: .75rem; font-size: 1.125rem; font-weight: 600; letter-spacing: -.02em; margin-bottom: .75rem; }
.lab-stage { font-size: .875rem; font-weight: 600; color: var(--color-text-primary); }
.lab-row-progress { margin-top: .75rem; font-size: .875rem; color: var(--color-text-secondary); border-left: 2px solid var(--color-accent); padding-left: .75rem; }
.lab-decision { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 0; }
.lab-activity { margin-top: 2.5rem; }
.lab-settings { border-top: 1px solid var(--color-border-subtle); margin-top: 2rem; padding-top: 1.25rem; }
.lab-settings > summary { cursor: pointer; font-weight: 500; color: var(--color-text-secondary); }
.lab-entry-body > summary { cursor: pointer; color: var(--color-text-link); font-size: .875rem; }
.startup-lab .page-title { overflow-wrap: anywhere; }
.startup-lab .page-header { flex-wrap: wrap; align-items: flex-start; gap: 1rem; }
.startup-lab .page-header > div { min-width: 0; flex: 1 1 20rem; }
.lab-sidebar > * { min-width: 0; overflow-wrap: anywhere; }
.startup-lab .empty-state .btn-primary { color: var(--color-text-on-accent); }
.lab-policy { border-left: 3px solid var(--color-accent); padding: .75rem 1.25rem; background: var(--color-surface-overlay); display: grid; gap: .4rem; border-radius: var(--radius-lg); }
.lab-proposal-list { border-top: 1px solid var(--color-border-subtle); }
.lab-proposal-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; padding: 1.75rem 0; border-bottom: 1px solid var(--color-border-subtle); }
.lab-proposal-aside { display: flex; flex-direction: column; align-items: flex-end; gap: .8rem; max-width: 17rem; }
.lab-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: 3rem; align-items: start; }
.lab-proposal-summary { border-top: 1px solid var(--color-border-subtle); }
.lab-summary-section { padding: 1.25rem 0; border-bottom: 1px solid var(--color-border-subtle); }
.lab-prose { max-width: var(--lab-reading-width); overflow-wrap: anywhere; line-height: 1.7; }
.lab-prose p + p { margin-top: .85rem; }
.lab-sidebar { display: grid; gap: 1.5rem; }
.lab-sidebar-note { padding: 0 .5rem; }
.lab-proposal-form { display: grid; gap: 1.5rem; }
.lab-entry { padding: 1.75rem 0; border-bottom: 1px solid var(--color-border-subtle); scroll-margin-top: 2rem; }
.lab-sources { list-style: disc; padding-left: 1.25rem; overflow-wrap: anywhere; }
.lab-feedback { margin-top: 1.5rem; padding-left: 1.25rem; border-left: 2px solid var(--color-border-default); }
.lab-feedback-note { padding: 1rem 0; border-bottom: 1px solid var(--color-border-subtle); }
.lab-feedback-response { margin-top: 1rem; padding: 1rem; background: var(--color-surface-overlay); border-radius: var(--radius-lg); }
.lab-feedback-composer { padding-top: 1rem; }
.startup-lab details > summary { transition: color .15s; }
.startup-lab details > summary:hover { color: var(--color-accent-hover); }
.startup-lab textarea.input { min-height: 5rem; resize: vertical; }
.startup-lab turbo-frame { display: block; scroll-margin-top: 2rem; }
@media (max-width: 850px) { .lab-workspace { grid-template-columns: minmax(0, 1fr); gap: 2rem; } .lab-sidebar { grid-row: 1; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); } }
@media (max-width: 600px) { .lab-proposal-row { grid-template-columns: minmax(0, 1fr); gap: 1rem; } .lab-proposal-aside { align-items: flex-start; max-width: none; } .lab-feedback { padding-left: .75rem; } }
@media (max-width: 600px) { .lab-now { flex-direction: column; gap: .75rem; padding: 1.25rem; } .lab-now-meta { text-align: left; } .lab-current { padding: 1.25rem; } }
