/* Studio layouts share the same Refero-inspired foundation as the public site. */
a { color: inherit; text-decoration: none; }
.topbar { min-height: 80px; padding: var(--space-4) var(--space-7); display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); background: white; }
.wordmark { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-24); font-weight: 600; color: var(--ink); }
.logo { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-14); background: var(--ink); color: white; font-size: var(--text-caption); font-weight: 700; }
.studio-label { font-size: var(--text-small); font-weight: 400; padding-left: var(--space-4); margin-left: var(--space-1); border-left: 1px solid var(--line); color: var(--muted); }
.top-actions { display: flex; align-items: center; gap: var(--space-3); }
.mode, .draft-label { display: inline-flex; align-items: center; gap: var(--space-2); border: 1px solid var(--line); padding: 6px 10px; border-radius: var(--radius-12); color: var(--muted); background: var(--soft); font-size: var(--text-caption); white-space: nowrap; }
.quiet, .outline, .primary, .send { display: inline-flex; justify-content: center; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); min-height: 44px; border: 1px solid transparent; border-radius: var(--radius-14); font-size: var(--text-ui); font-weight: 500; line-height: 1.4; white-space: nowrap; background: transparent; color: var(--color-iron); }
.quiet:hover { background: var(--paper); }
.outline { border-color: var(--color-mist); background: white; }
.outline:hover { background: var(--soft); border-color: var(--color-steel); }
.primary, .send { background: var(--ink); color: white; border-color: var(--color-slate); }
.primary:hover:enabled, .send:hover:enabled { background: var(--color-slate); }
.top-actions .primary { border-radius: var(--radius-pill); }
.workspace { display: grid; grid-template-columns: 336px minmax(0,1fr); gap: var(--space-4); padding: var(--space-4); min-height: calc(100vh - 80px); }
.chat-panel { display: flex; flex-direction: column; background: var(--color-graphite); color: white; border: 1px solid var(--color-slate); border-radius: var(--radius-card); padding: var(--space-7) var(--space-6) var(--space-5); height: calc(100vh - 112px); position: sticky; top: 16px; overflow: auto; }
.chat-top, .examples, .composer, .privacy-note { flex-shrink: 0; }
.chat-top .eyebrow { font-size: var(--text-11); color: var(--color-mist); margin: 0 0 var(--space-3); }
.chat-top h1 { font-size: var(--text-28); line-height: 1.2; font-weight: 600; color: white; margin: 0 0 var(--space-3); }
.chat-top > p:last-child { font-size: var(--text-ui); color: var(--color-mist); line-height: 1.5; margin: 0 0 var(--space-4); }
.conversation { flex: 1; min-height: 0; overflow: auto; scrollbar-width: thin; scrollbar-color: var(--color-steel) transparent; padding-right: var(--space-1); }
.message { font-size: var(--text-ui); line-height: 1.6; margin-bottom: var(--space-5); }
.message p { margin: var(--space-2) 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.message-author { color: var(--color-mist); font-size: var(--text-10); letter-spacing: .08em; }
.message.assistant { color: var(--color-cloud); }
.message.user { padding: 14px var(--space-4); margin-left: var(--space-6); background: var(--color-iron); border-radius: var(--radius-20); color: white; }
.message.user p { margin: 0; }
.examples { display: flex; flex-wrap: wrap; gap: 6px; margin: var(--space-4) 0 var(--space-3); }
.examples button { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--color-iron); border-radius: var(--radius-12); padding: var(--space-2) 10px; background: transparent; color: var(--color-cloud); font-size: var(--text-11); }
.examples button:hover { background: var(--color-slate); }
.examples .rw-icon { width: 14px; height: 14px; }
.composer { background: var(--color-slate); border: 1px solid var(--color-steel); border-radius: var(--radius-28); padding: var(--space-3); }
.composer textarea { border: 0; background: none; width: 100%; min-height: 60px; max-height: 170px; resize: vertical; color: white; font-size: var(--text-ui); line-height: 1.5; padding: 0; }
.composer textarea::placeholder { color: var(--color-mist); }
.composer textarea:focus-visible { outline-color: var(--color-mist); }
.composer-bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-2); }
.composer-bottom > span { color: var(--color-mist); font-size: var(--text-11); }
.send { background: white; color: var(--ink); font-size: var(--text-caption); padding: 10px var(--space-3); border-color: white; }
.send:hover:enabled { background: var(--color-cloud); }
.privacy-note { font-size: var(--text-11); line-height: 1.5; color: var(--color-mist); margin: var(--space-3) var(--space-1) 0; }
.main-panel { min-width: 0; display: flex; flex-direction: column; background: var(--soft); border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; }
.projectbar { min-height: 80px; padding: 18px var(--space-7); display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); background: white; border-bottom: 1px solid var(--line); }
.projectbar > div { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: var(--text-body); font-weight: 500; }
#project-name { max-width: 350px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-dot { width: 6px; height: 6px; border-radius: var(--radius-round); background: var(--color-steel); flex: none; }
.draft-label { font-size: var(--text-11); padding: var(--space-1) var(--space-2); }
.tabs { display: flex; gap: var(--space-6); overflow-x: auto; border-bottom: 1px solid var(--line); background: white; padding: 0 var(--space-7); }
.tabs button { position: relative; display: inline-flex; align-items: center; gap: var(--space-2); white-space: nowrap; font-size: var(--text-small); border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); padding: var(--space-5) 0; }
.tabs button.active { color: var(--ink); border-bottom-color: var(--ink); }
.tabs button .rw-icon { width: 18px; height: 18px; }
.empty-state { padding: var(--space-16) var(--space-10); max-width: 1120px; }
.empty-tag { display: inline-flex; border: 1px solid var(--line); border-radius: var(--radius-12); padding: 6px 10px; color: var(--muted); font-size: var(--text-11); margin-bottom: var(--space-6); background: white; }
.empty-state h2 { font-size: clamp(40px,4.6vw,64px); font-weight: 600; line-height: 1.12; margin: 0 0 var(--space-6); }
.empty-state > p { color: var(--muted); font-size: var(--text-body); line-height: 1.6; margin: 0; }
.starter-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); margin: var(--space-10) 0 var(--space-6); }
.starter-grid button { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); text-align: left; padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius-card); background: white; color: var(--ink); }
.starter-grid button:hover { border-color: var(--color-steel); }
.starter-grid strong { font-size: var(--text-16); line-height: 1.4; font-weight: 600; }
.starter-grid button > span:last-child { font-size: var(--text-small); line-height: 1.5; color: var(--muted); }
.empty-foot { font-size: var(--text-caption) !important; }
.workspace-footer { display: flex; justify-content: space-between; gap: var(--space-5); margin-top: auto; padding: var(--space-6) var(--space-7); border-top: 1px solid var(--line); color: var(--muted); font-size: var(--text-11); background: white; }
.workspace-footer a { text-decoration: underline; text-underline-offset: 4px; }
.workspace-footer .rw-icon { width: 16px; height: 16px; }
.tab-panel { padding: var(--space-7); max-width: 1440px; }
.section-heading { margin-bottom: var(--space-7); }
.eyebrow, .card-kicker { font-size: var(--text-caption); color: var(--muted); font-weight: 400; margin: 0 0 var(--space-4); }
.eyebrow .rw-icon { width: 16px; height: 16px; }
.section-heading h2 { font-size: var(--text-40); font-weight: 600; line-height: 1.28; margin: 0 0 var(--space-3); }
.section-heading p:last-child { font-size: var(--text-body); color: var(--muted); margin: 0; line-height: 1.5; }
.overview-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-6); }
.overview-card, .assumptions-card { padding: var(--space-card); border: 1px solid var(--line); border-radius: var(--radius-card); background: white; }
.overview-card label { display: block; color: var(--color-iron); font-size: var(--text-small); margin-bottom: var(--space-2); }
.overview-card input, .overview-card textarea, .overview-card select { width: 100%; border: 1px solid var(--color-mist); border-radius: var(--radius-14); padding: var(--space-3) var(--space-4); background: white; color: var(--color-graphite); font-size: var(--text-ui); line-height: 1.5; margin-bottom: var(--space-5); }
.overview-card textarea { resize: vertical; min-height: 100px; }
.overview-card textarea:last-child { margin-bottom: 0; }
.assumptions-card { background: var(--color-graphite); border-color: var(--color-graphite); color: white; }
.assumptions-card .card-kicker { color: var(--color-mist); }
.assumptions-card h3 { color: white; font-size: var(--text-32); font-weight: 600; line-height: 1.2; margin: var(--space-6) 0; }
.assumptions-card ul { padding-left: 18px; color: var(--color-cloud); font-size: var(--text-ui); line-height: 1.6; }
.assumptions-card li { margin: var(--space-3) 0; }
.assumptions-card p { font-size: var(--text-small); color: var(--color-mist); line-height: 1.6; }
.discovery-check { border-top: 1px solid var(--color-iron); margin-top: var(--space-6); padding-top: var(--space-6); font-size: var(--text-ui); }
.discovery-check ul { list-style: none; padding-left: 0; }
.discovery-check li { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--text-small); }
.discovery-check .rw-icon { width: 16px; height: 16px; margin-top: 2px; }
.next-row { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5); margin-top: var(--space-7); }
.next-row > span { font-size: var(--text-caption); color: var(--muted); }
.scope-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.scope-group-controls { display: flex; gap: var(--space-1); padding: var(--space-1); border: 1px solid var(--line); border-radius: var(--radius-14); background: var(--paper); }
.scope-group-controls button { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: var(--muted); border: 1px solid transparent; border-radius: var(--radius-12); font-size: var(--text-caption); padding: 9px var(--space-3); }
.scope-group-controls button.active { background: white; color: var(--ink); border-color: var(--line); }
.scope-group-controls .rw-icon { width: 16px; height: 16px; }
.scope-history { display: flex; gap: 6px; }
.scope-history button { padding: 10px; min-height: 40px; font-size: var(--text-caption); }
.scope-history .rw-icon { width: 16px; height: 16px; }
.scope-search { display: flex; gap: var(--space-2); margin-left: auto; }
.scope-search input { width: 180px; border: 1px solid var(--color-mist); border-radius: var(--radius-14); padding: 10px var(--space-3); font-size: var(--text-small); background: white; }
.scope-summary { color: var(--muted); font-size: var(--text-small); margin: 0 0 var(--space-4); }
.feature-table { border: 1px solid var(--line); border-radius: var(--radius-28); background: white; overflow-x: auto; }
.feature-header, .feature-row { display: grid; grid-template-columns: minmax(220px,2.2fr) minmax(140px,1.2fr) minmax(110px,.8fr) 80px 100px 72px; min-width: 840px; gap: var(--space-3); padding: var(--space-5); align-items: start; }
.feature-header { font-size: var(--text-caption); color: var(--muted); background: var(--paper); align-items: center; }
.feature-row { border-top: 1px solid var(--line); }
.feature-row input, .feature-row textarea, .feature-row select { width: 100%; border: 1px solid transparent; border-radius: var(--radius-12); padding: var(--space-2); background: transparent; color: var(--color-iron); font-size: var(--text-small); line-height: 1.5; }
.feature-row input:hover, .feature-row textarea:hover { border-color: var(--line); }
.feature-row input:focus, .feature-row textarea:focus { border-color: var(--color-mist); }
.feature-row input.title { color: var(--ink); font-size: var(--text-ui); font-weight: 600; }
.feature-row textarea { min-height: 80px; resize: vertical; }
.feature-row input[type=number], .feature-row select { background: var(--soft); border-color: var(--line); }
.feature-story .epic-field { font-size: var(--text-caption); background: var(--soft); margin-top: var(--space-2); }
.feature-story details { font-size: var(--text-caption); margin-top: var(--space-3); color: var(--muted); }
.feature-story summary { cursor: pointer; padding: var(--space-1); }
.feature-actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-1); }
.feature-actions button { display: inline-flex; justify-content: center; align-items: center; padding: var(--space-2); min-height: 34px; background: white; border: 1px solid var(--line); border-radius: var(--radius-12); color: var(--color-steel); }
.feature-actions button:hover { border-color: var(--color-steel); }
.feature-actions .rw-icon { width: 16px; height: 16px; }
.scope-group-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-5); min-width: 840px; border-top: 1px solid var(--line); background: var(--soft); }
.scope-group-heading button { display: inline-flex; align-items: center; gap: var(--space-2); border: 0; background: transparent; color: var(--color-iron); padding: var(--space-2); border-radius: var(--radius-12); font-size: var(--text-small); text-align: left; }
.scope-group-heading > button:first-child { font-weight: 600; }
.scope-group-heading button:hover { background: var(--paper); }
.scope-group-actions { display: flex; gap: var(--space-1); }
.scope-group-actions .rw-icon { width: 16px; height: 16px; }
.scope-no-results { color: var(--muted); font-size: var(--text-ui); padding: var(--space-7); }
.estimate-controls { display: flex; flex-wrap: wrap; gap: var(--space-5); margin-bottom: var(--space-7); }
.estimate-controls label { display: grid; gap: var(--space-2); font-size: var(--text-small); color: var(--muted); }
.estimate-controls input { font-size: var(--text-ui); background: white; border: 1px solid var(--color-mist); border-radius: var(--radius-14); padding: var(--space-3) var(--space-4); width: 180px; }
.estimate-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-4); }
.estimate-cards article { padding: var(--space-card); border: 1px solid var(--line); border-radius: var(--radius-card); background: white; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.estimate-cards small { font-size: var(--text-caption); color: var(--muted); }
.estimate-cards strong { font-size: var(--text-32); font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; }
.estimate-cards span { font-size: var(--text-caption); color: var(--muted); }
.release-comparison { font-size: var(--text-small); color: var(--muted); line-height: 1.6; margin-top: var(--space-5); }
.subhead { font-size: var(--text-20); font-weight: 600; margin: var(--space-7) 0 var(--space-5); }
.effort-breakdown { display: grid; grid-template-columns: repeat(5,1fr); gap: var(--space-3); }
.effort-breakdown > div { display: flex; flex-direction: column; gap: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-20); padding: var(--space-5); background: white; }
.effort-breakdown span { font-size: var(--text-caption); color: var(--muted); }
.effort-breakdown strong { font-size: var(--text-ui); font-weight: 500; }
.timeline { border: 1px solid var(--line); border-radius: var(--radius-28); background: white; overflow: hidden; }
.timeline-row { display: grid; grid-template-columns: 200px 1fr; gap: var(--space-4); padding: var(--space-5); border-bottom: 1px solid var(--line); font-size: var(--text-small); color: var(--muted); }
.timeline-row:last-child { border: 0; }
.timeline-track { background: var(--paper); border-radius: var(--radius-12); height: 24px; }
.timeline-bar { height: 24px; background: var(--color-mist); border-left: 2px solid var(--color-iron); border-radius: var(--radius-12); min-width: 5px; }
.estimate-note { font-size: var(--text-caption); color: var(--muted); line-height: 1.7; padding: var(--space-5) 0; }
.review-handoff { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-7); border: 1px solid var(--line); border-radius: var(--radius-card); background: white; margin: var(--space-7) 0; }
.review-handoff h3 { font-size: var(--text-20); margin: 0 0 var(--space-3); }
.review-handoff p { font-size: var(--text-ui); line-height: 1.5; color: var(--muted); margin: 0; }
.review-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-6); }
.preview-toolbar strong { display: block; font-size: var(--text-16); font-weight: 600; }
.preview-toolbar span { display: block; color: var(--muted); font-size: var(--text-caption); margin-top: var(--space-1); }
.preview-controls { display: flex; flex-wrap: wrap; gap: 6px; }
.preview-controls button { display: inline-flex; align-items: center; gap: var(--space-2); background: white; color: var(--muted); border: 1px solid var(--line); border-radius: var(--radius-12); padding: 10px var(--space-3); font-size: var(--text-caption); }
.preview-controls button.active { color: var(--ink); border-color: var(--color-steel); }
.preview-controls .rw-icon { width: 16px; height: 16px; }
.preview-stage { display: flex; justify-content: center; padding: var(--space-3); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-28); min-height: 660px; }
.preview-stage iframe { width: 100%; height: 650px; border: 0; border-radius: var(--radius-20); background: white; }
.preview-stage.mobile iframe { width: 390px; max-width: 100%; }
.preview-empty { padding: 80px var(--space-7); text-align: center; background: white; border: 1px dashed var(--color-mist); border-radius: var(--radius-card); }
.preview-empty h2 { font-size: var(--text-32); font-weight: 600; }
.preview-empty p { color: var(--muted); font-size: var(--text-body); margin: var(--space-5) 0 var(--space-7); }
.preview-note { color: var(--muted); font-size: var(--text-caption); line-height: 1.6; margin-top: var(--space-4); }
.source-layout { display: grid; grid-template-columns: 180px minmax(0,1fr); background: var(--color-graphite); border-radius: var(--radius-28); overflow: hidden; min-height: 420px; }
.source-layout nav { border-right: 1px solid var(--color-iron); padding: var(--space-4) var(--space-3); }
.source-layout button { display: inline-flex; align-items: center; gap: var(--space-2); width: 100%; text-align: left; background: transparent; border: 0; border-radius: var(--radius-12); padding: var(--space-3); color: var(--color-mist); font: 12px ui-monospace,monospace; }
.source-layout button.active { background: var(--color-slate); color: white; }
.source-layout button .rw-icon { width: 16px; height: 16px; }
.source-layout pre { padding: var(--space-6); margin: 0; overflow: auto; max-height: 650px; color: var(--color-cloud); font: 12px/1.8 ui-monospace,monospace; }
.alert, .run-activity { margin: var(--space-5) var(--space-7) 0; border: 1px solid var(--color-mist); border-radius: var(--radius-20); padding: var(--space-5); background: white; color: var(--color-iron); font-size: var(--text-ui); line-height: 1.5; }
.alert.error { border-color: var(--color-iron); border-left-width: 4px; font-weight: 500; }
.alert.busy::before { content: ''; display: inline-block; width: 12px; height: 12px; border: 2px solid var(--color-steel); border-top-color: transparent; border-radius: var(--radius-round); animation: spin var(--duration-700) linear infinite; margin-right: var(--space-3); }
@keyframes spin { to { transform: rotate(360deg); } }
.run-heading { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-ui); }
.run-heading > span { margin-left: auto; font-size: var(--text-caption); text-transform: capitalize; }
.run-activity ol { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); list-style: none; padding: 0; margin: var(--space-5) 0; }
.run-activity li { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-caption); }
.run-activity li .rw-icon { width: 16px; height: 16px; }
.run-activity p { font-size: var(--text-caption); color: var(--muted); margin-bottom: 0; }
.run-actions { display: flex; gap: var(--space-2); margin-top: var(--space-4); }
dialog { border: 1px solid var(--line); border-radius: var(--radius-card); padding: var(--space-card); width: min(460px,94vw); }
dialog::backdrop { background: rgb(9 9 11 / .5); }
dialog h2 { font-size: var(--text-24); font-weight: 600; }
dialog p { font-size: var(--text-ui); color: var(--muted); line-height: 1.6; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-3); margin-top: var(--space-6); }
@media (min-width: 1550px) {
  .workspace { grid-template-columns: 380px minmax(0,1fr); }
  .chat-panel { padding: var(--space-9) var(--space-7); }
  .chat-top h1 { font-size: var(--text-40); }
  .empty-state { padding: 80px 56px; }
}
@media (max-width: 1250px) {
  .workspace { grid-template-columns: 300px minmax(0,1fr); }
  .chat-panel { padding: var(--space-6) var(--space-5); }
  .starter-grid { grid-template-columns: 1fr; }
  .starter-grid button { display: grid; grid-template-columns: 48px 1fr; gap: var(--space-3) var(--space-5); }
  .starter-grid button .icon-badge { grid-row: 1 / 3; }
  .overview-grid { grid-template-columns: 1fr; }
  .estimate-cards { grid-template-columns: 1fr; }
  .effort-breakdown { grid-template-columns: repeat(3,1fr); }
  .review-handoff { align-items: flex-start; flex-direction: column; }
  .tabs { gap: var(--space-5); }
}
@media (max-width: 950px) {
  .workspace { grid-template-columns: 280px minmax(0,1fr); }
  .topbar { padding-inline: var(--space-5); }
  .tab-panel, .empty-state { padding: var(--space-7) var(--space-5); }
  .projectbar, .tabs, .workspace-footer { padding-inline: var(--space-5); }
  .projectbar > div { font-size: var(--text-small); }
  .projectbar .draft-label, .project-dot { display: none; }
  .projectbar .primary { font-size: var(--text-caption); }
  .next-row, .preview-toolbar { align-items: flex-start; flex-direction: column; }
  .source-layout { grid-template-columns: 1fr; }
  .source-layout nav { display: flex; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid var(--color-iron); }
  .source-layout button { width: auto; }
}
@media (max-width: 760px) {
  .topbar { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-3); padding: var(--space-4); }
  .wordmark { font-size: var(--text-22); }
  .top-actions { display: contents; }
  .top-actions .mode { grid-column: 2; grid-row: 1; justify-self: end; }
  #new-project { grid-column: 1; grid-row: 2; justify-self: start; }
  #download { grid-column: 2; grid-row: 2; }
  .top-actions button { font-size: var(--text-caption); padding: 10px var(--space-3); }
  .top-actions .rw-icon { width: 16px; height: 16px; }
  .mode { font-size: var(--text-11); padding: 6px var(--space-2); }
  .workspace { display: flex; flex-direction: column; padding: var(--space-3); gap: var(--space-3); }
  .chat-panel { position: static; height: auto; border-radius: var(--radius-28); padding: var(--space-6); }
  .chat-top h1 { font-size: var(--text-32); }
  .chat-top h1 br { display: none; }
  .chat-top > p:last-child { margin-bottom: var(--space-5); }
  .conversation { min-height: 0; max-height: 240px; }
  .main-panel { border-radius: var(--radius-28); }
  .projectbar { min-height: 72px; padding: var(--space-4) var(--space-5); }
  .tabs { gap: var(--space-5); }
  .tabs button { font-size: var(--text-caption); padding: 18px 0; }
  .tabs button .rw-icon { width: 16px; height: 16px; }
  .empty-state h2 { font-size: var(--text-40); }
  .section-heading h2 { font-size: var(--text-32); }
  .overview-card, .assumptions-card, .estimate-cards article { padding: var(--space-6); border-radius: var(--radius-28); }
  .scope-toolbar { gap: var(--space-2); }
  .scope-group-controls { width: 100%; }
  .scope-group-controls button { flex: 1; padding: var(--space-2); font-size: var(--text-11); }
  .scope-history { width: 100%; }
  .scope-search { width: 100%; margin-left: 0; }
  .scope-search input { width: 0; flex: 1; }
  .scope-search .outline { font-size: var(--text-caption); padding: 10px; }
  .effort-breakdown { grid-template-columns: repeat(2,1fr); }
  .effort-breakdown > div { padding: var(--space-4); }
  .estimate-controls { gap: var(--space-3); }
  .estimate-controls label { flex: 1 1 140px; }
  .estimate-controls input { width: 100%; }
  .timeline-row { grid-template-columns: 100px 1fr; padding: var(--space-4); font-size: var(--text-caption); }
  .review-handoff { padding: var(--space-6); border-radius: var(--radius-28); }
  .review-actions { display: grid; width: 100%; }
  .review-actions button { white-space: normal; }
  .preview-stage { padding: var(--space-2); min-height: 550px; }
  .preview-stage iframe { height: 540px; }
  .preview-controls { gap: var(--space-1); }
  .preview-controls button { font-size: var(--text-11); padding: 9px; }
  .workspace-footer { flex-direction: column; gap: var(--space-3); }
  .alert, .run-activity { margin: var(--space-4) var(--space-5) 0; padding: var(--space-4); }
  .dialog-actions { flex-wrap: wrap; }
}
@media (max-width: 440px) { .studio-label { display: none; } }
