/* Pintu studio: navigation, draft, and canvas. Legacy editing mechanics stay intact. */
body.workbench {
  --bg: #f7f8fc;
  --ink: #202940;
  --muted: #7b8397;
  --line: #e6e9f1;
  --soft: #f8f9fd;
  --cyan: #a4afff;
  --cyan-soft: #f0f2ff;
  --cyan-deep: #5765d6;
  --lime: #e9edff;
  --lime-deep: #5260c5;
  --shadow: 0 4px 18px #28375604;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  min-width: 320px;
  background: var(--bg);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
}
body.workbench [hidden] { display: none !important; }
body.workbench :is(a, button, summary, input, textarea, select):focus-visible { outline: 3px solid #8e9af0; outline-offset: 3px; }
body.workbench button { transition: background 150ms ease, border-color 150ms ease; }
body.workbench .topbar {
  position: sticky; top: 0; z-index: 50;
  display: flex; flex-direction: row; align-items: center; gap: 24px;
  width: 100%; min-height: 74px; margin: 0; padding: 0 30px;
  background: #ffffffee; border-bottom: 1px solid var(--line); backdrop-filter: blur(16px);
}
body.workbench .brand { flex: 0 0 auto; }
body.workbench .brand-logo-img { width: auto; max-width: 130px; height: 36px; }
body.workbench .workbench-context { display: flex; align-items: center; gap: 22px; color: #727b91; font-size: 15px; }
body.workbench .workbench-context > span { color: #d4d9e4; font-size: 24px; font-weight: 300; }
body.workbench .topbar nav { display: flex; gap: 22px; margin-left: auto; }
body.workbench .topbar nav a { color: #71798d; font-size: 14px; font-weight: 500; }
body.workbench .topbar .auth-widget { margin-left: 0; }
body.workbench .auth-open-button, body.workbench .auth-account { border-color: var(--line); box-shadow: none; background: #fff; }
body.workbench .auth-account small, body.workbench .auth-account b { color: #6975cc; }
body.workbench .studio-shell { display: grid; grid-template-columns: 184px minmax(0, 1fr); min-height: calc(100dvh - 74px); }
body.workbench .studio-navigation {
  position: sticky; top: 74px; align-self: start;
  display: flex; flex-direction: column; min-width: 0;
  height: calc(100dvh - 74px); min-height: 420px; padding: 30px 14px 22px;
  border-right: 1px solid var(--line); background: #fcfcff;
}
body.workbench .mode-group-label { margin: 0 14px 18px; color: #939aad; font-size: 14px; font-weight: 500; }
body.workbench .studio-mode-list { display: grid; gap: 24px; }
body.workbench .studio-mode-list .segmented { display: grid; grid-template-columns: 1fr; gap: 6px; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.workbench .studio-mode-list button {
  display: flex; align-items: center; justify-content: flex-start; gap: 12px;
  width: 100%; min-width: 0; min-height: 46px; padding: 12px 14px;
  border: 1px solid transparent; border-radius: 10px; background: transparent;
  color: #788096; font-size: 15px; font-weight: 550; text-align: left; white-space: nowrap;
}
body.workbench .studio-mode-list [data-mode].active { border-color: #e4e7ff; color: #505fce; background: #edf0ff; box-shadow: none; font-weight: 750; }
body.workbench .studio-mode-list button:hover:not(.active) { background: #f1f3f9; color: #303c5d; }
body.workbench .studio-navigation svg { flex: 0 0 19px; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
body.workbench .studio-mode-list .more-modes { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.workbench .more-modes summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 14px; color: #9299aa; font-size: 14px; font-weight: 500; list-style: none; }
body.workbench .more-modes summary::after { display: none; }
body.workbench .more-modes summary::-webkit-details-marker { display: none; }
body.workbench .more-modes[open] summary svg { transform: rotate(180deg); }
body.workbench .more-mode-buttons { display: grid; grid-template-columns: 1fr; gap: 5px; padding: 12px 0 0; border: 0; }
body.workbench .studio-nav-footer { display: grid; gap: 6px; margin-top: auto; padding-top: 40px; }
body.workbench .studio-nav-footer a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 10px; color: #858da0; font-size: 14px; }
body.workbench .studio-nav-footer a:hover { background: #f0f2f9; color: #5362d2; }
body.workbench .generator-page { width: 100%; max-width: 1560px; margin: 0 auto; padding: 30px 30px 40px; min-width: 0; }
body.workbench .generator-hero { display: block; text-align: left; padding: 0; margin: 0 0 26px; }
body.workbench .generator-hero .badge { display: none; }
body.workbench .generator-hero h1 { margin: 0; font-size: 28px; line-height: 1.35; letter-spacing: -.035em; font-weight: 750; }
body.workbench .generator-hero > p:not(.badge) { display: none; }
body.workbench .progress { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 740px; margin: 0 0 28px; padding: 0; }
body.workbench .progress > i { display: none; }
body.workbench .progress-step { display: flex; gap: 10px; padding: 0; color: #a0a7b8; font-size: 14px; font-weight: 500; }
body.workbench .progress-step > span { display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 8px; color: #9ba3b7; background: #eceef5; font-size: 14px; }
body.workbench .progress-step.active { color: #5d68bd; }
body.workbench .progress-step.active > span { color: #fff; background: #6573db; }
body.workbench .generator-layout { display: grid; grid-template-columns: 292px minmax(0, 1fr); gap: 22px; align-items: start; }
body.workbench .control-column { display: grid; align-content: start; gap: 14px; min-width: 0; }
body.workbench .workspace-edition { padding: 0 2px 4px; color: #525c73; font-size: 15px; font-weight: 650; }
body.workbench .workspace-edition > span::before { display: none; }
body.workbench .workspace-edition .draft-label { color: #a0a6b5; font-size: 14px; font-weight: 400; }
body.workbench :is(.upload-card, .settings-card, .result-panel) { border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }
body.workbench .upload-card { padding: 18px; }
body.workbench .card-title { margin-bottom: 16px; }
body.workbench .card-title > div { gap: 0; }
body.workbench .card-title .round-icon { display: none; }
body.workbench .card-title strong { font-size: 15px; font-weight: 650; }
body.workbench .card-title em { color: #a1a8ba; font-size: 14px; font-weight: 500; }
body.workbench .dropzone { min-height: 164px; padding: 20px 12px; border: 1px dashed #d6dced; border-radius: 12px; gap: 10px; background: #fafbff; }
body.workbench .dropzone:hover, body.workbench .dropzone.dragging { background: #f1f3ff; border-color: #8895eb; }
body.workbench .dropzone .upload-icon { width: 36px; height: 36px; margin: 0; background: #edf0fc; color: #7380cb; }
body.workbench .dropzone strong { font-size: 15px; line-height: 1.6; font-weight: 600; }
body.workbench .dropzone small { color: #a0a7b8; font-size: 14px; }
body.workbench .upload-card:has(.upload-preview) .dropzone { min-height: 92px; padding: 14px 10px; }
body.workbench .upload-card:has(.upload-preview) .upload-icon { display: none; }
body.workbench .upload-preview { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfe; }
body.workbench .upload-preview-image { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 7px; }
body.workbench .upload-preview > span { min-width: 0; }
body.workbench .upload-preview strong { font-size: 14px; font-weight: 500; }
body.workbench .upload-preview small { font-size: 14px; color: #9ca4b5; }
body.workbench .settings-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; padding: 20px 18px; }
body.workbench .settings-card #prompt-field, body.workbench .settings-card .prompt-helper-status { grid-column: 1 / -1; }
body.workbench .settings-card .ratio-row { min-width: 0; }
body.workbench .settings-card label { display: grid; gap: 9px; color: #707990; font-size: 14px; font-weight: 500; line-height: 1.6; }
body.workbench .field-label-row { min-height: 24px; }
body.workbench .prompt-helper { gap: 5px; padding: 0; border: 0; color: #7380c9; background: transparent; font-size: 14px; box-shadow: none; }
body.workbench .prompt-helper svg { width: 14px; height: 14px; }
body.workbench .prompt-helper > span { display: none; }
body.workbench .prompt-helper b { font-size: 14px; font-weight: 500; }
body.workbench .settings-card :is(textarea, select) { border: 1px solid #e3e7f0; border-radius: 9px; padding: 10px 12px; background: #fafbfe; color: #4f5972; font-size: 14px; font-weight: 400; line-height: 1.7; }
body.workbench .requirements-input { min-height: 102px; height: 102px; resize: vertical; }
body.workbench .draft-language-options { grid-column: 1 / -1; border-top: 1px solid #eef0f6; padding-top: 12px; }
body.workbench .draft-language-options summary { color: #78849e; font-size: 14px; cursor: pointer; }
body.workbench .draft-language-options .language-field { margin-top: 12px; }
body.workbench .settings-card select { min-height: 42px; }
body.workbench .prompt-helper-status:empty { display: none; }
body.workbench .prompt-helper-status:not(:empty) { margin: -8px 0 0; font-size: 14px; }
body.workbench .analyze-button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; height: auto; border-radius: 10px; padding: 12px; border: 0; color: #fff; background: #5867d8; box-shadow: 0 4px 10px #5365d61a; font-size: 15px; font-weight: 650; }
body.workbench .analyze-button:hover { background: #4756c2; }
body.workbench .analyze-button:not(:disabled):hover, body.workbench .confirm-generate-button:not(:disabled):hover { transform: none; box-shadow: 0 4px 12px #5365d61a; }
body.workbench .analyze-button::after, body.workbench .confirm-generate-button::after { content: none; }
body.workbench .dropzone .upload-icon { animation: none; }
body.workbench .analyze-button svg { width: 16px; height: 16px; }
body.workbench .draft-status { border-color: #e0e4fc; color: #6977c4; background: #f3f5ff; font-size: 14px; }
body.workbench .result-panel { overflow: hidden; min-height: 660px; padding: 0; scroll-margin-top: 92px; }
body.workbench .result-head { display: flex; align-items: center; min-height: 66px; margin: 0; padding: 18px 24px; border-bottom: 1px solid #eef0f5; }
body.workbench .result-head > div:first-child { gap: 10px; }
body.workbench .result-head .round-icon { width: 28px; height: 28px; background: #f2f4ff; color: #7b85c3; }
body.workbench .result-head strong { color: #666f86; font-size: 15px; font-weight: 600; }
body.workbench .result-actions a, body.workbench .result-actions button { padding: 6px 10px; border-color: transparent; color: #949bb0; font-size: 14px; font-weight: 400; }
body.workbench .empty-result { min-height: 590px; padding: 45px 26px 38px; }
body.workbench .empty-result::before { display: none; content: none; }
body.workbench .empty-result span { display: inline; width: auto; height: auto; min-height: 0; border: 0; border-radius: 0; color: inherit; background: none; box-shadow: none; animation: none; }
body.workbench .empty-canvas { width: min(560px, 100%); border: 0; border-radius: 0; background: none; }
body.workbench .empty-canvas > span { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #e8eaf7; border-radius: 14px; background: #f4f5ff; color: #8e98da; }
body.workbench .empty-canvas h2 { margin: 22px 0 12px; font-size: clamp(23px, 2.2vw, 30px); font-weight: 650; line-height: 1.4; letter-spacing: -.03em; color: #424d68; }
body.workbench .empty-canvas > p.canvas-intro { display: block; margin: 0; color: #6e7b94; font-size: 15px; line-height: 1.9; }
body.workbench .canvas-example { display: flex; align-items: center; justify-content: center; gap: 18px; width: min(400px, 100%); margin: 32px 0 28px; text-align: left; }
body.workbench .canvas-source { flex: 0 1 132px; min-width: 0; margin: 0; padding: 8px 8px 10px; border: 1px solid #e6e9f3; border-radius: 12px; background: #fff; transform: rotate(-5deg); box-shadow: 0 7px 16px #36456606; }
body.workbench .canvas-source img { display: block; width: 100%; aspect-ratio: 1; height: auto; border-radius: 7px; object-fit: contain; }
body.workbench .canvas-source figcaption { margin-top: 8px; color: #79869f; font-size: 14px; text-align: center; white-space: nowrap; }
body.workbench .canvas-arrow { flex: 0 0 auto; color: #bbc2dc; font-size: 22px; }
body.workbench .canvas-script { display: grid; flex: 0 1 192px; gap: 8px; min-width: 0; padding: 14px; border: 1px solid #e1e6f6; border-radius: 12px; background: #fafbff; box-shadow: 0 9px 25px #36456605; transform: rotate(2deg); }
body.workbench .canvas-script > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; color: #7480a6; font-size: 14px; font-weight: 600; white-space: nowrap; }
body.workbench .canvas-script em { color: #a2aac1; font-size: 14px; font-weight: 400; font-style: normal; }
body.workbench .canvas-script > div { display: flex; align-items: center; gap: 10px; padding: 9px 8px; border: 1px solid #e9ecf5; border-radius: 6px; background: #fff; color: #6a7894; font-size: 14px; white-space: nowrap; }
body.workbench .canvas-script b { color: #a4add1; font-size: 14px; font-weight: 400; }
body.workbench .empty-upload-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px; border: 1px solid #e0e5fa; border-radius: 10px; background: #f0f3ff; color: #6775c9; font-size: 14px; font-weight: 600; }
body.workbench .empty-upload-trigger:hover { border-color: #bac4f0; background: #e7ecff; }
body.workbench .empty-upload-trigger > span { font-size: 18px; font-weight: 400; }
body.workbench .workspace-steps { gap: 10px; margin-top: 22px; color: #abb2c1; font-size: 14px; }
body.workbench .workspace-steps i { color: #c1c7d5; }
body.workbench .brief-card, body.workbench .confirm-card { margin: 0; padding: 28px; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
body.workbench .section-kicker, body.workbench .confirm-heading span { color: #8b96c4; font-size: 14px; letter-spacing: .04em; font-weight: 500; }
body.workbench .brief-card h2 { color: #3b4764; font-size: 26px; font-weight: 650; }
body.workbench .brief-intro, body.workbench .brief-context { color: #72809a; font-size: 14px; }
body.workbench .brief-materials img { border-color: var(--line); background: #f8f9fd; }
body.workbench .brief-fields label { color: #6e7890; font-size: 14px; font-weight: 500; }
body.workbench .brief-fields input, body.workbench .brief-fields textarea { border-color: #e3e7f1; background: #fbfcfe; border-radius: 9px; color: #56627d; font-size: 15px; }
body.workbench .brief-actions .brief-submit, body.workbench .confirm-generate-button { border-color: #5c6bd9; background: #5c6bd9; color: #fff; }
body.workbench .confirm-heading { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid #edf0f7; }
body.workbench .confirm-heading strong { margin-top: 8px; color: #36415f; font-size: 24px; font-weight: 650; }
body.workbench .confirm-heading em { color: #7e8bb7; background: #f0f3ff; font-size: 14px; font-weight: 400; }
body.workbench .confirm-heading em i { background: #94a1d9; }
body.workbench .analysis-brief { gap: 20px; margin-bottom: 24px; }
body.workbench .analysis-selling, body.workbench .analysis-visual { padding: 0; border: 0; background: none; box-shadow: none; }
body.workbench .analysis-brief h2, body.workbench .analysis-section-title h2 { margin: 0; color: #5b657e; font-size: 16px; font-weight: 650; }
body.workbench .analysis-direction { color: #727f99; font-size: 14px; line-height: 1.8; }
body.workbench .selling-point-item { border-color: #e6eaf4; background: #fafbfe; }
body.workbench .selling-point-input { font-size: 14px; font-weight: 400; color: #717d99; }
body.workbench .add-selling-point { border-color: #e2e6f2; color: #8a96b7; font-size: 14px; font-weight: 400; }
body.workbench .analysis-style-plan, body.workbench .analysis-output-plan { margin-top: 24px; padding: 24px 0 0; border: 0; border-top: 1px solid #edf0f7; border-radius: 0; background: none; }
body.workbench .analysis-section-title { align-items: center; }
body.workbench .analysis-section-title > span { color: #9da6bd; background: #f3f5fc; font-size: 14px; font-weight: 400; }
body.workbench .style-suggestions { gap: 10px; margin-top: 18px; }
body.workbench .style-card { padding: 14px; min-height: 82px; border-color: #e4e9f4; border-radius: 10px; background: #fcfcff; box-shadow: none; }
body.workbench .style-card.active { border-color: #8795e6; background: #f2f4ff; box-shadow: 0 0 0 1px #8795e61a; outline: none; transform: none; }
body.workbench .style-card.active:focus-visible { outline: 3px solid #8e9af0; outline-offset: 3px; }
body.workbench .style-card strong { color: #6a76a5; font-size: 14px; font-weight: 600; }
body.workbench .style-card span { display: none; }
body.workbench .custom-style-field, body.workbench .proposal-language-field { margin-top: 18px; color: #8c96b0; font-size: 14px; }
body.workbench .custom-style-input, body.workbench .proposal-language-select { border-color: #e2e7f2; background: #fbfcff; border-radius: 9px; color: #697693; font-size: 14px; }
body.workbench .analysis-plan-list { margin-top: 18px; }
body.workbench .analysis-plan-item { padding: 14px 16px; border-color: #e6eaf4; border-radius: 10px; background: #fbfcff; }
body.workbench .analysis-plan-copy strong { color: #7783a3; font-size: 14px; font-weight: 500; }
body.workbench .analysis-plan-copy small { display: none; }
body.workbench .plan-count-control { border-color: #e0e6f4; background: #fff; }
body.workbench .plan-count-control button { background: #f0f3fc; color: #7d8bbb; }
body.workbench .analysis-output-subhead { flex-direction: row; align-items: center; gap: 14px; margin-top: 20px; }
body.workbench .analysis-output-subhead > strong { display: none; }
body.workbench .storyboard-tools { margin-left: auto; }
body.workbench .storyboard-tools button, body.workbench .output-order-controls button { border-color: #e2e6f2; color: #8e9aba; background: #fff; font-weight: 400; }
body.workbench .storyboard-tools .save-proposal-button { border-color: #e0e5fd; color: #7582c9; background: #f5f7ff; }
body.workbench .proposal-status { color: #8a97c0; font-size: 14px; }
body.workbench .proposal-status.error { color: #b1783d; }
body.workbench .analysis-outputs { gap: 14px; margin-top: 18px; }
body.workbench .analysis-output { gap: 14px; padding: 18px; border-color: #e2e7f2; border-radius: 12px; background: #fcfcff; }
body.workbench .analysis-output-type { padding: 5px 9px; border-radius: 6px; color: #8592c6; background: #eff2ff; font-size: 14px; font-weight: 500; }
body.workbench .analysis-output input.analysis-output-title { height: 34px; color: #5d6b8d; font-size: 17px; font-weight: 600; }
body.workbench .analysis-output .analysis-output-role-input { max-width: 100%; color: #8b98bc !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; font-weight: 400 !important; }
body.workbench .analysis-output .analysis-output-description { min-height: 74px !important; padding: 12px; border-color: #e5eaf4 !important; border-radius: 8px; color: #6a7894; background: #fff !important; font-weight: 400; }
body.workbench .analysis-output-details summary { width: max-content; margin: 0; padding: 5px 0; color: #a1adc6; background: none; font-size: 14px; font-weight: 400; }
body.workbench .analysis-output-prompt { padding: 12px; border-color: #e4e9f4; border-radius: 8px; color: #7987a6; background: #fff; }
body.workbench .analysis-advanced { margin-top: 24px; border-color: #e7ebf4; border-radius: 10px; background: #fcfcff; }
body.workbench .analysis-advanced summary { padding: 14px; color: #9aa5bb; font-size: 14px; }
body.workbench .analysis-advanced summary strong { font-size: 14px; font-weight: 500; }
body.workbench .analysis-protection, body.workbench .analysis-warnings { color: #8e9bb6; font-size: 14px; line-height: 1.8; }
body.workbench .confirm-actions { position: sticky; bottom: 0; z-index: 5; margin: 24px -28px -28px; padding: 18px 28px; border-top: 1px solid #edf0f6; background: #fffffff5; backdrop-filter: blur(12px); }
body.workbench .confirm-actions button { min-height: 42px; border-radius: 9px; font-size: 14px; font-weight: 550; }
body.workbench .confirm-actions .reanalyze-button { border-color: #e6eaf4; color: #9aa5bf; background: #fff; }
body.workbench .confirm-credit-note { color: #a1acc1; font-size: 14px; }
body.workbench .processing-result { min-height: 590px; background: #fff; }
body.workbench .processing-mark { color: #98a2db; background: #f3f5ff; }
body.workbench .processing-bar { background: #edf0fc; }
body.workbench .processing-bar i { background: #7888e0; }
body.workbench .error-result { min-height: 500px; padding: 36px; }
body.workbench .error-card { border-color: #e4e8f4; border-radius: 14px; background: #fcfcff; }
body.workbench .results-gallery { padding: 24px; }
body.workbench .gallery-summary { gap: 16px; padding: 0 0 22px; border: 0; border-bottom: 1px solid #edf0f6; border-radius: 0; background: transparent; }
body.workbench .gallery-summary strong { color: #697799; font-size: 22px; font-weight: 600; }
body.workbench .gallery-summary > p { display: none; }
body.workbench .open-studio-button { border-color: #e1e7fb; color: #8996c4; background: #f3f5ff; font-size: 14px; font-weight: 500; }
body.workbench .result-card { border-color: #e2e8f4; border-radius: 12px; box-shadow: none; background: #fff; }
body.workbench .result-card-copy strong { color: #7281a0; font-size: 16px; font-weight: 600; }
body.workbench .result-card-actions button, body.workbench .result-card-actions a { border-color: #e3e9f6; color: #8b98ba; background: #f8faff; font-size: 14px; font-weight: 400; }
body.workbench.studio-mode .studio-shell { grid-template-columns: 1fr; }
body.workbench.studio-mode .studio-navigation { display: none; }
body.workbench.studio-mode .topbar { width: 100%; }
body.workbench.studio-mode .generator-page { width: 100%; max-width: 1700px; padding: 24px; }
body.workbench.studio-mode .generator-layout { grid-template-columns: minmax(0, 1fr); }
body.workbench.studio-mode .result-panel { min-height: 0; overflow: visible; border-radius: 16px; }
body.workbench .refine-shell { border: 0; border-radius: 16px; background: #fff; box-shadow: none; }
body.workbench .refine-toolbar { border-color: var(--line); background: #fff; }
body.workbench .studio-queue, body.workbench .chat-panel { border-color: var(--line); background: #fbfcff; }
body.workbench .chat-head, body.workbench .version-panel, body.workbench .chat-composer { border-color: var(--line); background: #fff; }
body.workbench .chat-input { border-color: #e0e6f5; background: #fbfcff; font-size: 15px; }
body.workbench .send-edit { color: #fff; background: #6c7bdc; }
body.workbench .version-item.active { border-color: #a5b0e8; background: #f0f3ff; }
@media (min-width: 1600px) {
  body.workbench .generator-layout { grid-template-columns: 316px minmax(0, 1fr); }
  body.workbench .generator-page { padding: 36px 40px; }
}
@media (max-width: 1180px) {
  body.workbench .studio-shell { grid-template-columns: 76px minmax(0, 1fr); }
  body.workbench .studio-navigation { padding: 28px 10px 18px; }
  body.workbench .mode-group-label, body.workbench .studio-mode-list button > span, body.workbench .studio-nav-footer a > span, body.workbench .nav-more-label { display: none; }
  body.workbench .studio-mode-list button, body.workbench .studio-nav-footer a { justify-content: center; padding: 13px; }
  body.workbench .more-modes summary { justify-content: center; padding: 10px; }
  body.workbench .generator-page { padding: 26px 24px 32px; }
  body.workbench .generator-layout { grid-template-columns: 270px minmax(0, 1fr); gap: 18px; }
  body.workbench .brief-card, body.workbench .confirm-card { padding: 22px; }
  body.workbench .style-suggestions { grid-template-columns: 1fr; gap: 8px; }
  body.workbench .style-card { min-height: 48px; }
  body.workbench .analysis-brief { grid-template-columns: 1fr; }
  body.workbench .confirm-actions { margin: 22px -22px -22px; padding: 16px 22px; }
  body.workbench .canvas-example { gap: 12px; }
  body.workbench .canvas-source { flex-basis: 112px; }
  body.workbench .canvas-script { flex-basis: 172px; padding: 10px; }
  body.workbench.studio-mode .refine-workspace, body.workbench.studio-mode .refine-shell { min-height: 0; height: auto; }
  body.workbench.studio-mode .refine-shell { overflow: visible; }
  body.workbench.studio-mode .refine-layout { grid-template-columns: minmax(0, 1fr); height: auto; overflow: visible; }
  body.workbench.studio-mode .studio-queue { display: flex; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid var(--line); }
  body.workbench.studio-mode .studio-queue-head, body.workbench.studio-mode .studio-target-toggle { width: 100%; }
  body.workbench.studio-mode .studio-queue-list { display: flex; flex-direction: row; flex: 1 1 100%; overflow-x: auto; overflow-y: hidden; min-width: 0; }
  body.workbench.studio-mode .queue-card { flex: 0 0 214px; width: 214px; }
  body.workbench.studio-mode .image-editor { grid-template-rows: minmax(380px, 52vh) auto; }
  body.workbench.studio-mode .chat-panel { min-height: 460px; border-top: 1px solid var(--line); border-left: 0; }
}
@media (max-width: 980px) and (min-width: 761px) {
  body.workbench .brief-fields { grid-template-columns: 1fr; }
  body.workbench .confirm-heading, body.workbench .confirm-actions { flex-wrap: wrap; gap: 16px; }
  body.workbench .canvas-example { gap: 12px; }
  body.workbench .canvas-source { flex-basis: 100px; }
  body.workbench .canvas-script { flex-basis: 156px; padding: 9px; }
  body.workbench .canvas-script > div { gap: 6px; padding: 8px 5px; }
  body.workbench .empty-result { padding: 32px 20px; }
  body.workbench .empty-canvas h2 { font-size: 23px; }
}
@media (max-width: 760px) {
  body.workbench .topbar { min-height: 66px; gap: 14px; padding: 0 18px; }
  body.workbench .brand-logo-img { height: 31px; max-width: 105px; }
  body.workbench .workbench-context { display: none; }
  body.workbench .workbench-context > span { font-size: 20px; }
  body.workbench .topbar nav { display: none; }
  body.workbench .topbar .auth-widget { margin-left: auto; }
  body.workbench .auth-account { padding-left: 8px; }
  body.workbench .auth-account span { display: none; }
  body.workbench .auth-profile-link { gap: 0; }
  body.workbench .auth-account small { font-size: 14px; }
  body.workbench .auth-account button { padding: 0 8px; font-size: 14px; }
  body.workbench .studio-shell { display: block; }
  body.workbench .studio-navigation { position: relative; top: auto; z-index: 20; width: 100%; height: auto; min-height: 0; padding: 10px 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  body.workbench .studio-mode-list { display: flex; align-items: center; gap: 8px; width: 100%; }
  body.workbench .studio-mode-list .segmented { display: grid; flex: 1 1 auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  body.workbench .studio-mode-list button { justify-content: center; gap: 8px; min-height: 40px; padding: 8px; font-size: 14px; }
  body.workbench .studio-mode-list button > span { display: inline; }
  body.workbench .studio-mode-list button svg { display: none; }
  body.workbench .studio-nav-footer { display: none; }
  body.workbench .studio-mode-list .more-modes { position: relative; flex: 0 0 36px; }
  body.workbench .more-modes summary { min-height: 40px; padding: 8px; border: 1px solid #e2e6f1; border-radius: 8px; }
  body.workbench .more-mode-buttons { position: absolute; top: 44px; right: 0; z-index: 30; width: 170px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 12px 30px #24315518; }
  body.workbench .more-mode-buttons button { justify-content: flex-start; padding: 12px; }
  body.workbench .generator-page { padding: 24px 16px 32px; }
  body.workbench .generator-hero { margin-bottom: 20px; }
  body.workbench .generator-hero h1 { font-size: 25px; }
  body.workbench .progress { max-width: none; gap: 6px; margin-bottom: 24px; }
  body.workbench .progress-step { align-items: center; gap: 7px; font-size: 14px; }
  body.workbench .progress-step > span { flex-basis: 22px; width: 22px; height: 22px; border-radius: 6px; font-size: 14px; }
  body.workbench .generator-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.workbench .control-column { gap: 12px; }
  body.workbench .settings-card { grid-template-columns: 1fr 1fr; gap: 18px 14px; padding: 20px; }
  body.workbench #prompt-field, body.workbench .prompt-helper-status { grid-column: 1 / -1; }
  body.workbench .settings-card > label:not(#prompt-field) { min-width: 0; }
  body.workbench .settings-card .ratio-row, body.workbench .settings-card select { min-width: 0; width: 100%; }
  body.workbench .settings-card .requirements-input { min-height: 90px; height: 90px; }
  body.workbench .upload-card { padding: 20px; }
  body.workbench .dropzone { min-height: 135px; }
  body.workbench .result-panel { min-height: 0; scroll-margin-top: 84px; }
  body.workbench .result-head { min-height: 60px; padding: 15px 18px; align-items: center; }
  body.workbench .result-actions { flex-direction: row; align-items: center; }
  body.workbench .empty-result { min-height: 520px; padding: 32px 20px; }
  body.workbench .empty-canvas h2 { font-size: 23px; }
  body.workbench .canvas-example { gap: 14px; max-width: 340px; margin: 28px 0; }
  body.workbench .canvas-source { flex-basis: 112px; }
  body.workbench .canvas-script { flex-basis: 174px; padding: 10px; }
  body.workbench .brief-card, body.workbench .confirm-card { padding: 22px 18px; }
  body.workbench .brief-card h2 { font-size: 24px; }
  body.workbench .brief-fields { grid-template-columns: 1fr; }
  body.workbench .brief-actions .brief-submit { flex-basis: 100%; }
  body.workbench .confirm-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  body.workbench .confirm-heading strong { font-size: 22px; }
  body.workbench .analysis-output { grid-template-columns: minmax(0, 1fr) auto; padding: 16px; }
  body.workbench .analysis-output-type { grid-column: auto; }
  body.workbench .output-order-controls { grid-column: auto; justify-content: flex-end; }
  body.workbench .output-order-controls button { min-height: 34px; padding: 6px 8px; }
  body.workbench .confirm-actions { align-items: stretch; flex-direction: column; margin: 24px -18px -22px; padding: 16px 18px; gap: 12px; }
  body.workbench .confirm-actions > div { flex-direction: column; align-items: stretch; width: 100%; gap: 10px; }
  body.workbench .confirm-actions .reanalyze-button { align-self: center; width: auto; min-height: 36px; padding: 6px 12px; }
  body.workbench .confirm-actions .confirm-credit-note { text-align: center; }
  body.workbench .results-gallery { padding: 20px 16px; }
  body.workbench .gallery-summary { align-items: flex-start; flex-direction: column; }
  body.workbench .gallery-summary strong { font-size: 22px; }
  body.workbench .processing-result { min-height: 420px; }
  body.workbench.studio-mode .generator-page { padding: 16px; }
}
@media (max-width: 380px) {
  body.workbench .workbench-context { display: none; }
  body.workbench .generator-page { padding-right: 12px; padding-left: 12px; }
  body.workbench .progress-step { flex-direction: column; align-items: flex-start; gap: 8px; }
  body.workbench .studio-mode-list button { padding-right: 5px; padding-left: 5px; }
  body.workbench .canvas-example { gap: 10px; }
  body.workbench .canvas-source { flex-basis: 96px; }
  body.workbench .canvas-script { padding: 8px; }
  body.workbench .canvas-source figcaption { white-space: normal; }
  body.workbench .analysis-output { grid-template-columns: 1fr; }
  body.workbench .output-order-controls { grid-column: 1; justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  body.workbench *, body.workbench *::before, body.workbench *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
