/* A compact workspace: all five stages stay visible, without a nested scroll area.
   Natural page flow remains available for large text and unusually long topics. */
html.atelier-theme body.home-mode:has(.generation-home.has-generation) {
 height:auto;min-height:100dvh;overflow-y:auto;
}
html.atelier-theme body.home-mode:has(.generation-home.has-generation) :is(#app,.shell) {
 height:auto;min-height:100dvh;
}
html.atelier-theme body.home-mode:has(.generation-home.has-generation) .main.page-home {
 display:flex;flex:1;align-items:center;min-height:0;padding:24px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation {
 flex:none;max-width:860px;gap:0;margin:auto;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation :is(.generation-stage,.generation-thread) {
 height:auto;max-height:none;min-height:0;overflow:visible;margin:0;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project {
 padding:24px 28px;border-radius:22px;box-shadow:0 12px 40px #292b3606;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project-head {
 align-items:center;gap:16px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .project-eyebrow {
 margin:0 0 4px;font-size:11px;line-height:1.5;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project-head h1 {
 font-size:23px;line-height:1.45;overflow-wrap:anywhere;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .project-level {
 margin:0;padding:6px 9px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress {
 margin:18px 0 0;padding:18px 0 0;border-top:1px solid var(--line);
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress-head {
 align-items:center;gap:12px;flex-wrap:nowrap;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-heading {
 flex:1;min-width:0;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress-head h2 {
 font-size:20px;line-height:1.45;margin:0;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation :is(.progress-eyebrow,.progress-context) {
 display:none;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-artwork {
 flex:0 0 64px;width:64px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-artwork img {
 width:64px;height:48px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-badge {
 margin:0;padding:5px 8px;font-size:11px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-overview {
 margin:18px 0 10px;gap:12px;align-items:baseline;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-stage-count strong {
 font-size:27px;line-height:1;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-stage-count>span {
 font-size:11px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-current-label {
 color:var(--accent);font-size:12px;font-weight:500;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-pipeline {
 display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 0;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step {
 display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
 gap:7px;min-height:0;padding:12px 6px;border-radius:12px;text-align:center;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step.is-active {
 border-color:#e4bccd;background:#fbf1f5;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step.is-failed {
 border-color:#edd4dc;background:#fff7f9;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step-index {
 align-self:center;width:26px;height:26px;margin:0;font-size:11px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step-copy strong {
 font-size:12px;line-height:1.55;font-weight:500;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step-copy p {
 display:none;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step-short {
 display:none;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step-state {
 align-self:center;margin:0;font-size:10px;line-height:1.4;text-align:center;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-current-detail {
 margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.7;text-align:center;overflow-wrap:anywhere;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-footer {
 align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;border:0;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-status-indicator {
 margin:0;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-footer p {
 flex:1;font-size:12px;line-height:1.7;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-background-note {
 margin:7px 0 0;font-size:11px;line-height:1.6;text-align:left;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-failure {
 margin:14px 0 0;padding:14px 0 0;border:0;border-top:1px solid var(--line);
 border-radius:0;background:transparent;
}
html.atelier-theme body.home-mode .generation-service-note {
 display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;
 padding:12px 14px;border:1px solid #d99e4726;border-radius:12px;background:#fff9ed;
 color:var(--ink);text-align:left;
}
html.atelier-theme body.home-mode .generation-service-note[hidden] {display:none;}
html.atelier-theme body.home-mode .generation-service-note strong {display:block;font-size:11px;font-weight:500;color:#8b642a;}
html.atelier-theme body.home-mode .generation-service-note p {margin:3px 0 0;font-size:12px;line-height:1.5;}
html.atelier-theme body.home-mode .generation-service-note .generation-service-advice {font-size:10px;color:#8b642a;}
html.atelier-theme body.home-mode .generation-service-actions {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex-shrink:0;}
html.atelier-theme body.home-mode .generation-service-actions :is(a,button) {padding:7px 8px;min-height:32px;border:1px solid #d99e4733;border-radius:8px;background:transparent;color:#805b27;font-size:11px;text-decoration:none;cursor:pointer;}
html.atelier-theme body.home-mode .generation-service-actions button:disabled {cursor:wait;opacity:.55;}
/* A failed task already offers these actions in its recovery area. */
html.atelier-theme body.home-mode .generation-home.has-generation:has(.generation-project[data-state=failed]) .generation-service-actions {display:none;}
html.atelier-theme body.home-mode .generation-home.has-generation:has(.generation-project[data-state=failed]) .generation-service-note {padding:8px 12px;margin-bottom:10px;}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project[data-state=failed] .progress-artwork {display:none;}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] {margin-top:12px;padding-top:12px;}
html.atelier-theme body.home-mode .generation-failure-summary {display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-error {
 margin:0;font-size:13px;line-height:1.6;flex:1;
}
html.atelier-theme body.home-mode .generation-interruption {display:flex;flex-wrap:wrap;gap:5px;font-size:10px;line-height:1.6;color:var(--muted);flex-shrink:0;}
html.atelier-theme body.home-mode .generation-interruption b {font-weight:500;color:var(--ink);}
html.atelier-theme body.home-mode .generation-recovery-advice {margin:6px 0 0;font-size:12px;line-height:1.6;color:var(--muted);}
html.atelier-theme body.home-mode .generation-safety {display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 0 0;padding:8px 10px;border-radius:9px;background:var(--soft);font-size:11px;line-height:1.5;color:var(--muted);}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-refund {
 display:inline-flex;align-items:center;gap:4px;margin:0;font-size:11px;line-height:1.5;color:var(--blue);
}
html.atelier-theme body.home-mode .generation-refund svg {width:12px;height:12px;}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-recovery-actions {
 display:flex;flex-wrap:wrap;margin:10px 0 0;gap:7px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-recovery-actions :is(button,a) {
 display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 11px;font-size:12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);white-space:normal;text-decoration:none;cursor:pointer;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-recovery-actions :is(.recovery-study,.retry-generation:not(:disabled)) {background:var(--accent);border-color:var(--accent);color:#fff;}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-recovery-actions .recovery-study~.retry-generation {background:transparent;border-color:var(--line);color:var(--ink);}
html.atelier-theme body.home-mode .generation-recovery-actions button:disabled {opacity:.45;cursor:not-allowed;}
html.atelier-theme body.home-mode .generation-recovery-actions svg {width:14px;height:14px;}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-result {
 margin:16px 0 0;display:grid;grid-template-columns:100px minmax(0,1fr);border-radius:14px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-result>img {
 width:100px;height:100%;min-height:0;object-fit:contain;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .result-copy {
 padding:14px 16px;gap:5px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .result-copy h2 {
 font-size:18px;line-height:1.5;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .result-copy .btn {
 margin-top:4px;min-height:40px;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .result-usage {
 margin:8px 0 0;font-size:10px;line-height:1.5;
}
html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=done] .progress-footer {
 display:none;
}
@media(min-width:601px) {
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=done] .progress-step {flex-direction:row;justify-content:center;padding:8px 6px;gap:6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=done] .progress-step-index {flex-shrink:0;width:22px;height:22px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=done] .progress-step-copy strong {font-size:11px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] .progress-step {flex-direction:row;justify-content:center;padding:8px 6px;gap:6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] .progress-step-index {flex-shrink:0;width:22px;height:22px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] .progress-step-copy strong {font-size:11px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] .progress-step-state {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
}

@media(max-width:600px) {
 html.atelier-theme body.home-mode .generation-service-note {align-items:stretch;gap:8px;padding:10px 12px;}
 html.atelier-theme body.home-mode .generation-service-actions {flex-direction:column;justify-content:center;gap:4px;}
 html.atelier-theme body.home-mode .generation-service-actions :is(a,button) {padding:5px 7px;min-height:28px;font-size:10px;text-align:center;}
 html.atelier-theme body.home-mode .generation-failure-summary {display:block;}
 html.atelier-theme body.home-mode .generation-interruption {margin-top:3px;}
 html.atelier-theme body.home-mode .generation-recovery-advice {font-size:11px;margin-top:5px;}
 html.atelier-theme body.home-mode .generation-safety {gap:4px 8px;padding:7px 9px;margin-top:7px;font-size:10px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-refund {font-size:10px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-recovery-actions :is(button,a) {flex:1 1 calc(50% - 7px);min-height:34px;padding:7px 8px;font-size:11px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project[data-state=failed] :is(.progress-context,.progress-artwork) {display:none;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project[data-state=failed] {padding:16px 14px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] {margin-top:10px;padding-top:10px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] .progress-badge {display:none;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] .progress-overview {margin-top:10px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] .progress-step {padding-top:8px;padding-bottom:8px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-failure {margin-top:10px;padding-top:10px;}
 html.atelier-theme body.home-mode .generation-home:not(.has-generation):has(.generation-service-note:not([hidden])) .studio-emblem {height:64px;}
 html.atelier-theme body.home-mode .generation-home:not(.has-generation):has(.generation-service-note:not([hidden])) .generation-welcome {gap:8px;}
 html.atelier-theme body.home-mode .generation-home:not(.has-generation):has(.generation-service-note:not([hidden])) .generation-service-note {margin-bottom:4px;}
 html.atelier-theme body.home-mode .generation-home:not(.has-generation):has(.generation-service-note:not([hidden])) .generation-stage {padding-top:6px;padding-bottom:8px;}
 html.atelier-theme body.home-mode:has(.generation-home.has-generation) .main.page-home {padding:16px 14px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project {padding:18px 16px;border-radius:18px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project-head h1 {font-size:20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress {margin-top:14px;padding-top:14px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress-head {gap:8px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress-head h2 {font-size:18px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-artwork {flex-basis:44px;width:44px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-artwork img {width:44px;height:36px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-badge {font-size:10px;padding:4px 6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-overview {margin-top:14px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-pipeline {gap:4px;margin-top:12px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step {gap:6px;padding:10px 3px;border-radius:9px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation :is(.progress-step-copy strong,.progress-step-state) {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step-short {display:block;font-size:11px;font-weight:500;line-height:1.5;color:inherit;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step.is-active .progress-step-short {color:var(--accent);}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step.is-done .progress-step-short {color:var(--blue);}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-step.is-failed .progress-step-short {color:var(--red);}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-current-detail {font-size:11px;margin-top:10px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .progress-footer p {font-size:11px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-result {grid-template-columns:minmax(0,1fr);}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-result>img {display:none;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .result-copy {padding:12px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .result-copy h2 {font-size:17px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-background-note {font-size:10px;}
}
@media(max-height:650px) and (min-width:601px) {
 html.atelier-theme body.home-mode:has(.generation-home.has-generation) .main.page-home {padding-top:12px;padding-bottom:12px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project {padding:18px 24px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress {margin-top:12px;padding-top:12px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project[data-state=done] {padding:14px 22px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=done] .progress-artwork {display:none;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=done] .progress-overview {margin-top:12px;}
}
@media(max-width:600px) and (max-height:650px) {
 html.atelier-theme body.home-mode:has(.generation-home.has-generation) .main.page-home {padding-top:10px;padding-bottom:10px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project-head h1 {-webkit-line-clamp:2;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-project[data-state=failed] {padding-top:12px;padding-bottom:12px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .course-progress[data-state=failed] .progress-step {padding-top:6px;padding-bottom:6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation .generation-failure {margin-top:8px;padding-top:8px;}
 /* Keep both the historical failure and the current service notice readable on short phones. */
 html.atelier-theme body.home-mode .generation-home.has-generation:has(.generation-project[data-state=failed]):has(.generation-service-note:not([hidden])) .generation-service-note {padding-top:4px;padding-bottom:4px;margin-bottom:6px;}
 html.atelier-theme body.home-mode .generation-home.has-generation:has(.generation-project[data-state=failed]):has(.generation-service-note:not([hidden])) .generation-service-advice {margin-top:1px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation:has(.generation-service-note:not([hidden])) .generation-project[data-state=failed] {padding-top:8px;padding-bottom:8px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation:has(.generation-service-note:not([hidden])) .course-progress[data-state=failed] .progress-overview {margin-top:6px;margin-bottom:6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation:has(.generation-service-note:not([hidden])) .course-progress[data-state=failed] .progress-pipeline {margin-top:6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation:has(.generation-service-note:not([hidden])) .generation-failure {margin-top:6px;padding-top:6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation:has(.generation-service-note:not([hidden])) .generation-recovery-actions {margin-top:6px;}
 html.atelier-theme body.home-mode:has(.generation-home.has-generation .generation-project[data-state=failed]):has(.generation-service-note:not([hidden])) .main.page-home {padding-top:6px;padding-bottom:6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation:has(.generation-service-note:not([hidden])) .generation-project[data-state=failed] .generation-project-head h1 {-webkit-line-clamp:1;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation:has(.generation-service-note:not([hidden])) .course-progress[data-state=failed] {margin-top:6px;padding-top:6px;}
 html.atelier-theme body.home-mode .main.page-home .generation-home.has-generation:has(.generation-service-note:not([hidden])) .course-progress[data-state=failed] .progress-step {padding-top:3px;padding-bottom:3px;}
}
