:root{color-scheme:light;--md-ref-typeface-brand: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--md-ref-typeface-plain: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--md-sys-color-primary: #006b5f;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #9ff2e1;--md-sys-color-on-primary-container: #00201c;--md-sys-color-secondary: #4a635e;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #cce8df;--md-sys-color-on-secondary-container: #06201b;--md-sys-color-tertiary: #456179;--md-sys-color-tertiary-container: #cce5ff;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-background: #f8fbf8;--md-sys-color-on-background: #191c1b;--md-sys-color-surface: #f8fbf8;--md-sys-color-on-surface: #191c1b;--md-sys-color-surface-container-low: #f2f5f2;--md-sys-color-surface-container: #ecefeb;--md-sys-color-surface-container-high: #e6e9e6;--md-sys-color-outline: #6f7975;--md-sys-color-outline-variant: #bec9c4;--md-sys-color-inverse-surface: #2e312f;--md-sys-color-inverse-on-surface: #eff1ee;--app-warning: #8a4b00;--app-warning-container: #ffddb3;--app-success: #0b6b3a;--app-success-container: #b9f2c8;--app-radius-sm: 12px;--app-radius-md: 18px;--app-radius-lg: 28px;--app-gap: 16px;font-family:var(--md-ref-typeface-plain)}*{box-sizing:border-box}body{background:var(--md-sys-color-background);color:var(--md-sys-color-on-background);margin:0;min-height:100vh}button{font:inherit}h1,h2,h3,p{margin:0}md-outlined-text-field,md-outlined-select{width:100%}.loading-page,.login-page{align-items:center;display:grid;min-height:100vh;padding:24px;place-items:center}.loading-page{gap:12px;text-align:center}.login-card{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--app-radius-lg);box-shadow:0 18px 44px #191c1b14;display:grid;gap:18px;max-width:480px;padding:32px;width:100%}.brand-mark{align-items:center;background:var(--md-sys-color-primary);border-radius:20px;color:var(--md-sys-color-on-primary);display:flex;font-weight:800;height:56px;justify-content:center;width:56px}.brand-mark.small{border-radius:16px;height:44px;width:44px}.overline{color:var(--md-sys-color-secondary);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.supporting,.login-card p,.field-meta,.project-nav p,.question-card p,.phase-detail-card p,.criterion-card small{color:var(--md-sys-color-secondary);line-height:1.45}.health-row,.action-row,.sticky-actions,.header-actions,.phase-facts,.question-title{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.status-chip{align-items:center;background:var(--md-sys-color-surface-container-high);border-radius:999px;color:var(--md-sys-color-on-surface);display:inline-flex;font-size:12px;font-weight:800;min-height:28px;padding:5px 10px;white-space:nowrap}.status-chip.success{background:var(--app-success-container);color:var(--app-success)}.status-chip.warning{background:var(--app-warning-container);color:var(--app-warning)}.status-chip.danger{background:var(--md-sys-color-error-container);color:var(--md-sys-color-error)}.app-shell-v2{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);min-height:100vh}.nav-pane{background:var(--md-sys-color-surface-container);border-right:1px solid var(--md-sys-color-outline-variant);display:flex;flex-direction:column;gap:18px;max-height:100vh;overflow:auto;padding:18px}.nav-brand{align-items:center;display:flex;gap:12px}.nav-brand div:last-child{display:grid;gap:2px;min-width:0}.nav-brand span,.nav-section-title,.field-meta{color:var(--md-sys-color-secondary);font-size:12px}.nav-brand span,.project-button strong{overflow-wrap:anywhere}.nav-health{display:grid;gap:8px}.project-nav{display:grid;gap:10px}.nav-section-title{align-items:center;display:flex;justify-content:space-between;text-transform:uppercase}.project-button{background:transparent;border:1px solid transparent;border-radius:var(--app-radius-md);color:var(--md-sys-color-on-surface);cursor:pointer;display:grid;gap:6px;padding:12px;text-align:left}.project-button span{color:var(--md-sys-color-secondary);font-size:12px}.project-button.active,.project-button:hover{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary-container)}.main-pane{display:flex;flex-direction:column;gap:18px;max-height:100vh;overflow:auto;padding:24px}.workspace-header,.panel-heading,.askuser-header,.phase-detail-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.workspace-header h1,.panel-heading h2,.askuser-header h2,.phase-detail-header h2{font-size:clamp(24px,3vw,36px);line-height:1.1;max-width:980px}.progress-steps{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0}.progress-steps li{align-items:center;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--app-radius-md);display:flex;gap:8px;min-width:0;padding:10px}.progress-steps span{align-items:center;background:var(--md-sys-color-surface-container-high);border-radius:999px;display:flex;flex:0 0 28px;height:28px;justify-content:center}.progress-steps strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-steps .done,.progress-steps .current{border-color:var(--md-sys-color-primary)}.progress-steps .current{background:var(--md-sys-color-primary-container)}.feedback{border-radius:var(--app-radius-sm);padding:12px 14px}.feedback.success{background:var(--app-success-container);color:var(--app-success)}.feedback.error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-error)}.next-action-card,.composer-panel,.askuser-surface,.review-layout{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--app-radius-lg);display:grid;gap:16px;padding:20px}.next-action-card{align-items:center;display:flex;justify-content:space-between}.next-action-card span{color:var(--md-sys-color-secondary)}.next-action-card strong{font-size:18px}.brief-field{min-height:220px}.field-meta{align-items:center;display:flex;gap:10px;justify-content:space-between}.field-meta strong{color:var(--app-warning);font-weight:700}.select-label{color:var(--md-sys-color-secondary);font-size:13px;font-weight:800}.stack-grid,.question-grid,.criteria-grid,.review-summary{display:grid;gap:12px}.stack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stack-choice{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--app-radius-md);cursor:pointer;display:grid;gap:10px;padding:14px;text-align:left}.stack-choice span{align-items:center;display:flex;gap:8px;justify-content:space-between}.stack-choice small{color:var(--md-sys-color-secondary);line-height:1.4}.stack-choice.selected{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.stack-summary-card,.question-card,.metric-card,.constitution-card,.phase-detail-card,.empty-card{display:grid;gap:12px;padding:16px}.stack-summary-card dl{display:grid;gap:8px;margin:0}.stack-summary-card div{display:grid;gap:2px}.stack-summary-card dt{color:var(--md-sys-color-secondary);font-size:12px;font-weight:800;text-transform:uppercase}.stack-summary-card dd{margin:0}.question-group{display:grid;gap:10px}.question-group h3{text-transform:capitalize}.question-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-title{justify-content:space-between}.sticky-actions{background:var(--md-sys-color-surface-container-low);bottom:0;justify-content:flex-end;padding:10px 0 0;position:sticky}.review-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card span{color:var(--md-sys-color-secondary);font-size:12px}.metric-card strong{font-size:22px}.constitution-card{align-items:flex-start;display:flex;justify-content:space-between}.phase-workspace{display:grid;gap:16px;grid-template-columns:minmax(250px,330px) minmax(0,1fr)}.phase-rail{display:grid;gap:8px;align-content:start}.phase-nav{align-items:center;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--app-radius-md);cursor:pointer;display:grid;gap:8px;grid-template-columns:32px minmax(0,1fr) auto;padding:10px;text-align:left}.phase-nav>span{align-items:center;background:var(--md-sys-color-surface-container-high);border-radius:999px;display:flex;height:32px;justify-content:center;width:32px}.phase-nav strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-nav.selected{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.phase-detail-card{min-width:0}.phase-facts{border-bottom:1px solid var(--md-sys-color-outline-variant);padding-bottom:12px}.spec-list-v2{display:grid;gap:8px;margin:10px 0 0;padding-left:20px}.spec-list-v2 li{line-height:1.45}.criteria-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.criterion-card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-left:4px solid var(--md-sys-color-tertiary);border-radius:var(--app-radius-sm);display:grid;gap:6px;padding:12px}.criterion-card.security{border-left-color:var(--md-sys-color-primary)}.criterion-card span{color:var(--md-sys-color-secondary);font-size:12px}.review-box-v2{border-top:1px solid var(--md-sys-color-outline-variant);display:grid;gap:12px;padding-top:16px}@media(max-width:1120px){.app-shell-v2,.phase-workspace,.stack-grid,.question-grid,.criteria-grid{grid-template-columns:1fr}.nav-pane,.main-pane{max-height:none}.progress-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.main-pane,.nav-pane{padding:14px}.workspace-header,.panel-heading,.askuser-header,.phase-detail-header,.constitution-card,.next-action-card{align-items:stretch;flex-direction:column}.progress-steps,.review-summary{grid-template-columns:1fr}.header-actions,.action-row,.sticky-actions{align-items:stretch;flex-direction:column}.header-actions md-filled-button,.header-actions md-outlined-button,.action-row md-filled-button,.action-row md-outlined-button,.sticky-actions md-filled-button,.sticky-actions md-outlined-button{width:100%}}
