/* Public colours, type scale and navigation live in site-experience.css. */
/* The cover journey shares the document, renderer and export controls with the studio. */
.cover-start-hero.home-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 5vw, 84px); max-width: 1440px; margin: auto; padding: 132px 6vw 72px; }
.cover-start-hero.home-hero .hero-copy { max-width: 560px; text-align: left; margin: 0; }
.cover-start-hero.home-hero h1 { font-size: clamp(40px, 3.4vw, 52px); line-height: 1.04; letter-spacing: -1.6px; margin: 17px 0; }
.cover-start-hero.home-hero h1 em { color: var(--wine); }
.cover-start-hero.home-hero .hero-subcopy { font-size: 17px; line-height: 1.6; margin: 0 0 27px; max-width: 430px; }
.cover-start-hero.home-hero .idea-card { max-width: none; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; }
.cover-start-hero .idea-card input, .cover-start-hero .idea-card select { background: #fff; border: 1px solid #cecece; border-radius: 7px; min-height: 48px; }
.cover-start-hero .idea-card > .field-label { margin: 17px 0 8px; font-size: 13px; letter-spacing: 0; text-transform: none; }
.cover-start-hero .idea-card > .field-label:first-of-type { margin-top: 0; }
.cover-start-hero .genre-insight { display: none; }
.book-optional-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 17px 0 24px; }
.book-optional-fields > div { min-width: 0; }
.book-optional-fields .field-label { margin: 0 0 8px; text-transform: none; letter-spacing: 0; font-size: 13px; }
.book-optional-fields .field-label span { font-size: 11px; margin-left: 5px; color: var(--muted-text); font-weight: 400; }
.cover-start-hero .generate-button { background: var(--wine); color: white; box-shadow: none; justify-content: center; min-height: 52px; padding: 0 22px; margin: 0; font-size: 15px; }
.cover-start-hero .generate-button:hover, .journey-primary:hover { background: var(--accent-hover, #444444); }
.journey-price-note { color: var(--muted-text); text-align: center; font-size: 12px; line-height: 1.6; margin: 12px 0 0; }
.journey-alternate-links { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; margin-top: 24px; font-size: 12px; }
.journey-alternate-links button { border: 0; background: none; padding: 0; text-decoration: underline; text-underline-offset: 4px; }
.journey-alternate-links a { text-decoration: underline; text-underline-offset: 4px; }
.cover-start-proof { position: relative; background: radial-gradient(ellipse at 50% 20%, #ffffff, #ededed 85%); border: 1px solid #dddddd; border-radius: 16px; padding: 32px 27px 24px; min-width: 0; }
.cover-proof-shelf { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 305px; padding: 24px 0 35px; perspective: 1100px; isolation: isolate; }
.cover-proof-shelf::before { content: ""; position: absolute; left: 4%; right: 0; bottom: 14px; height: 32px; background: radial-gradient(ellipse, #333b2d45, transparent 70%); filter: blur(8px); }
.proof-book { --book-depth: 19px; --book-edge: #29312b; position: relative; flex: 0 0 34%; max-width: 178px; aspect-ratio: 5 / 8; transform-style: preserve-3d; transform: rotateY(-26deg); }
.proof-book::before { content: ""; position: absolute; inset: 0; background: var(--book-edge); border-radius: 1px 3px 3px 1px; transform: translateZ(calc(var(--book-depth) * -1)); box-shadow: 14px 14px 22px #28302428, 3px 3px 5px #20251c33; }
.proof-book-front { position: absolute; inset: 0; transform: translateZ(1px); border-radius: 1px 3px 3px 1px; overflow: hidden; background: var(--book-edge); box-shadow: inset 0 0 0 1px #ffffff1a; }
.proof-book-front::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #0005, #fff2 1.5%, #0003 3%, transparent 5%, #ffffff08 48%, transparent 85%, #0002); box-shadow: inset -1px 0 #ffffff4d, inset 0 1px #ffffff26; }
.proof-book-front img { display: block; width: 100%; height: 100%; object-fit: cover; }
.proof-book-pages { position: absolute; width: var(--book-depth); top: 2px; bottom: 2px; left: calc(100% - 1px); transform-origin: left; transform: rotateY(90deg); background: repeating-linear-gradient(90deg, #ddd9cd 0, #faf8ee .8px, #f0ede1 1.4px); border: solid var(--book-edge); border-width: 2px 1px; box-shadow: inset 0 7px 10px -8px #0009, inset 0 -5px 8px -6px #0009; }
.proof-book-romance { --book-edge: #273a50; transform: translate(10px, -4px) rotateY(-28deg) rotateZ(-4deg); }
.proof-book-literary { z-index: 2; transform: translate(0, 9px) translateZ(50px) rotateY(-22deg); }
.proof-book-thriller { --book-edge: #141916; transform: translate(-5px, -7px) rotateY(-29deg) rotateZ(3deg); }
.cover-proof-foot { display: flex; justify-content: space-between; padding-top: 17px; gap: 12px; font-size: 10px; color: #626262; }
.create-route .feedback-bubble, .cover-options-route .feedback-bubble, body:has(.focused-studio.visible) .feedback-bubble { display: none; }
.create-route .cover-start-hero .hero-copy { width: 100%; }
.create-route .cover-start-hero .create-page-intro #createPageTitle { font: 500 47px/1.07 var(--serif); letter-spacing: -1.5px; margin: 12px 0; }
.create-route .cover-start-hero .create-page-intro p { margin: 0 0 27px; }
.cover-options-route #landingView > :not(#coverOptionsView) { display: none !important; }
.create-route #landingView { width: 100%; max-width: none; margin: 0; padding: 0; }
.cover-options-route #landingView { width: 100%; max-width: none; margin: 0; padding: 0; }
.create-route .cover-start-hero.home-hero { display: grid; padding: 120px 6vw 60px; }
.cover-options-view { max-width: 1280px; margin: 0 auto; padding: 115px 40px 64px; }
.journey-progress { display: flex; align-items: center; justify-content: center; gap: 50px; margin-bottom: 50px; font-size: 12px; color: #777a71; }
.journey-progress span { display: flex; gap: 9px; align-items: center; }
.journey-progress b { font-weight: 500; }
.journey-progress [aria-current] { color: var(--wine); font-weight: 700; }
.journey-progress [aria-current] b { font-weight: 700; }
.cover-options-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 30px; }
.cover-options-header h2 { font: 500 clamp(32px, 3.5vw, 47px)/1.12 var(--serif); letter-spacing: -1px; margin: 10px 0 13px; overflow-wrap: anywhere; }
.cover-options-header p:not(.journey-eyebrow) { font-size: 14px; color: var(--ink-soft); margin: 0; line-height: 1.5; }
.journey-text-button { min-height: 44px; flex-shrink: 0; border: 0; background: transparent; padding: 10px 0; font-size: 13px; color: var(--wine); text-decoration: underline; text-underline-offset: 5px; }
.cover-options-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cover-option { display: block; width: 100%; min-width: 0; border: 2px solid transparent; border-radius: 10px; background: #f4f4f4; padding: 22px 20px 16px; text-align: left; transition: border-color .15s, background .15s; }
.cover-option:hover { background: #e9e9e9; }
.cover-option[aria-pressed="true"] { border-color: var(--wine); background: #f0f0f0; }
.cover-option-preview { width: 100%; aspect-ratio: 5 / 8; display: flex; align-items: center; justify-content: center; font-size: 12px; text-align: center; color: var(--muted-text); background: #dddddd; box-shadow: 4px 8px 15px #30332720; overflow: hidden; }
.cover-option-preview canvas { width: 100%; height: 100%; object-fit: contain; }
.cover-option-caption { display: flex; flex-direction: column; gap: 7px; margin-top: 18px; font-size: 12px; }
.cover-option-caption strong { font-size: 13px; font-weight: 600; }
.cover-option-caption > span { color: var(--wine); }
.cover-options-meta { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin: 12px 0 20px; }
.cover-options-meta p { font-size: 11px; line-height: 1.6; color: var(--muted-text); max-width: 530px; }
.cover-options-next { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); padding: 24px 0 0; }
.cover-options-next strong { font-size: 15px; font-weight: 600; }
.cover-options-next p { font-size: 12px; color: var(--muted-text); margin: 8px 0 0; line-height: 1.5; }
.journey-primary { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 25px; border-radius: 7px; background: var(--wine); color: white; border: 0; font-size: 14px; font-weight: 600; flex-shrink: 0; }
.journey-primary:disabled { opacity: .4; cursor: default; }
.journey-error { font-size: 13px; color: var(--danger); line-height: 1.5; }
.auth-cover-preview { width: 76px; aspect-ratio: 5 / 8; overflow: hidden; margin: 0 auto 16px; box-shadow: 3px 6px 12px #17181626; }
.auth-cover-preview canvas { width: 100%; height: 100%; }
/* A cover-first workspace: the technical inspector stays in advanced mode. */
.focused-editor-heading { display: flex; align-items: center; padding: 0; background: none; border: 0; }
.focused-editor-heading .journey-text-button { color: #555; font-size: 12px; text-decoration: none; padding: 8px 12px; border: 1px solid #dedede; border-radius: 6px; }
.focused-cover-controls { display:flex; flex-direction:column; justify-content:flex-start; padding:26px 26px; background:#fff; border-right:1px solid #e4e4e4; overflow-y:auto; }
.focused-book-fields { display:grid; grid-template-columns:1fr; gap:14px; }
.focused-book-fields > div { min-width: 0; }
.focused-title-field { grid-column: 1 / -1; }
.focused-book-fields label { display:block; margin:0 0 8px; font-size:12px; font-weight:500; }
.focused-book-fields label span { color: #737373; font-weight: 400; font-size: 11px; }
.focused-book-fields input { width:100%; min-height:44px; background:#fff; border:1px solid #d3d3d3; border-radius:6px; padding:10px 12px; font-size:14px; }
.focused-book-fields input:focus-visible { outline: 2px solid #242424; outline-offset: 2px; }
.focused-design-section { margin:18px 0 12px; }
.focused-design-section > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.focused-design-section h2 { font: 600 14px/1.4 var(--sans); margin: 0; }
#focusedGenreName { font-size: 11px; color: #737373; text-align: right; }
.focused-design-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.cover-style-choice { min-width: 0; padding: 5px; border: 1px solid #dedede; border-radius: 7px; background: #fafafa; text-align: left; color: #373737; }
.cover-style-choice:hover { border-color: #777; background: #f0f0f0; }
.cover-style-choice[aria-pressed="true"] { border-color: #202020; box-shadow: 0 0 0 1px #202020; background: #fff; }
.cover-style-choice:focus-visible { outline: 3px solid #202020; outline-offset: 4px; }
.cover-style-choice:disabled { cursor: progress; }
.cover-style-preview { display: flex; align-items: center; justify-content: center; width: 100%; height: 70px; background: #e9e9e9; overflow: hidden; font-size: 10px; text-align: center; }
.cover-style-preview canvas { display: block; width: 100%; height: 100%; object-fit: contain; }
.cover-style-name { display: block; min-height: 24px; padding: 5px 2px 0; font-size: 11px; line-height: 1.35; font-weight: 600; }
.focused-design-status { display:none; color: #646464; font-size: 12px; line-height: 1.5; min-height: 0; margin: 7px 0 0; }
.focused-artwork-button { width: 100%; min-height: 44px; border: 1px solid #cecece; background: #fff; border-radius: 6px; padding: 10px 14px; font-size: 13px; font-weight: 600; }
.focused-artwork-note, #focusedSaveNotice { font-size: 11px; line-height: 1.5; color: #737373; }
.focused-next { border-top: 1px solid #e7e7e7; margin-top: 20px; padding-top: 20px; }
.focused-next .journey-primary { width: 100%; justify-content: space-between; min-height: 45px; background: #202020; }
.focused-studio:not(.interior-stage-active) .studio-layout { grid-template-columns:340px minmax(0,1fr); grid-template-rows:minmax(0,1fr); height:calc(100svh - 72px); }
.focused-studio:not(.interior-stage-active) .directions-panel, .focused-studio:not(.interior-stage-active) .controls-panel, .focused-studio:not(.interior-stage-active) .editing-tools, .focused-studio:not(.interior-stage-active) .canvas-toolbar .view-toggle, .focused-studio:not(.interior-stage-active) .view-select, .focused-studio:not(.interior-stage-active) .studio-stage-switch, .focused-studio:not(.interior-stage-active) .selection-box, .focused-studio:not(.interior-stage-active) .rendering-status, .focused-studio:not(.interior-stage-active) .trim { display: none !important; }
.focused-studio:not(.interior-stage-active) .canvas-toolbar { display:none; }
.focused-studio:not(.interior-stage-active) .canvas-area { background: #ededed; min-height: 0; }
.focused-studio:not(.interior-stage-active) .canvas-workspace { grid-template-rows: minmax(0,1fr); grid-template-columns: minmax(0,1fr); background: radial-gradient(ellipse at 50% 45%, #fafafa, #e7e7e7); }
.focused-studio:not(.interior-stage-active) .main-cover { width: 400px; transition: none; }
.focused-studio .studio-header { background: #fff; grid-template-columns: 1fr auto; }
.focused-studio .studio-save-button[hidden] { display:none; }
.focused-studio .cover-stage .editable-layer { cursor: default; }
.focused-studio .selection-handle, .focused-studio .selection-outline { display: none; }
.focused-studio .editor-grid { display: none; }
.focused-studio .art-hotspot, .focused-studio .focused-editor-heading { display:none; }
.create-route .create-page-intro { text-align: left; }
.journey-primary:focus-visible, .cover-option:focus-visible, .journey-text-button:focus-visible, .journey-alternate-links button:focus-visible { outline: 3px solid var(--wine); outline-offset: 4px; }
@media (max-width: 1000px) {
  .cover-start-hero.home-hero { padding: 112px 5vw 50px; gap: 35px; }
  .cover-start-proof { padding: 25px 18px 20px; border-radius: 14px; }
  .cover-proof-shelf { min-height: 250px; }
  .cover-option { padding: 14px 12px; }
  .focused-studio:not(.interior-stage-active) .studio-layout { grid-template-areas: none; }
  .focused-studio:not(.interior-stage-active) .canvas-area { grid-area: auto; min-height: 0; }
}
@media (max-width: 650px) {
  .create-route .cover-start-hero.home-hero { display: flex; padding: 97px 22px 40px; }
  .cover-start-hero.home-hero { padding: 97px 22px 40px; display: flex; flex-direction: column; gap: 30px; }
  .cover-start-hero.home-hero .hero-copy { max-width: none; }
  .cover-start-hero.home-hero h1 { font-size: 40px; letter-spacing: -1.4px; margin: 12px 0 15px; }
  .cover-start-hero.home-hero .hero-subcopy { font-size: 14px; line-height: 1.55; margin-bottom: 21px; }
  .book-optional-fields { grid-template-columns: 1fr; gap: 17px; }
  .cover-start-proof { width: 100%; border-radius: 12px; padding: 15px 20px 18px; }
  .cover-proof-shelf { min-height: 0; max-width: 270px; margin: auto; padding: 20px 0 25px; perspective: 700px; }
  .proof-book { --book-depth: 12px; }
  .proof-book-literary { transform: translate(0, 6px) translateZ(24px) rotateY(-22deg); }
  .journey-alternate-links { font-size: 12px; margin-top: 18px; }
  .cover-options-view { padding: 100px 18px 30px; }
  .journey-progress { gap: 22px; margin-bottom: 28px; font-size: 11px; }
  .cover-options-header { display: block; margin-bottom: 16px; }
  .cover-options-header h2 { font-size: 34px; }
  .cover-options-header > button { margin-top: 5px; }
  .cover-options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cover-option { padding: 12px 12px 14px; }
  .cover-option-caption { margin-top: 14px; font-size: 11px; }
  .cover-option-caption strong { font-size: 12px; }
  .cover-options-meta { display: block; margin: 12px 0; }
  .cover-options-next { position: sticky; bottom: 0; display: block; background: var(--paper); padding: 15px 0 max(16px, env(safe-area-inset-bottom)); box-shadow: 0 -8px 15px var(--paper); }
  .cover-options-next strong { font-size: 13px; }
  .cover-options-next p { font-size: 11px; margin-top: 6px; }
  .cover-options-next .journey-primary { width: 100%; margin-top: 13px; }
  .focused-editor-heading { padding: 0; }
  .focused-editor-heading .journey-text-button { font-size: 11px; padding: 6px 8px; }
  .focused-studio:not(.interior-stage-active) .studio-layout { display: flex; flex-direction: column; height: auto; }
  .focused-studio:not(.interior-stage-active) .canvas-area { order:0; position:relative; top:auto; min-height:280px; max-height:none; flex:0 0 min(46svh, 400px); }
  .focused-studio:not(.interior-stage-active) .canvas-toolbar { height: 34px; flex: 0 0 34px; }
  .focused-studio:not(.interior-stage-active) .main-cover { width: 280px; }
  .focused-studio:not(.interior-stage-active) .focused-cover-controls { order: 1; overflow: visible; padding: 22px; border-right: 0; }
  .focused-studio .focused-book-fields { gap:12px; }
  .focused-studio .simple-main-actions { margin-top:20px; }
  .focused-studio .project-options-button { display: none; }
  .focused-studio .studio-actions { gap: 7px; }
  .focused-studio .studio-header { padding-inline: 12px; }
  .focused-studio .project-name { max-width: 92px; }
  .focused-studio .studio-header { position: sticky; top: 0; z-index: 25; display: flex; justify-content: space-between; height: 64px; min-height: 64px; }
  .focused-studio .saved-state { display: none; }
}

/* Public homepage. The creation form belongs only to /create. */
body:not(.create-route) .cover-start-hero { display: none; }
.create-route [data-home-section], .create-route .home-faq { display: none; }
.home-masthead { max-width: 1440px; margin: 0 auto; padding: 154px 6vw 86px; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 36px; }
.home-masthead-copy { min-width: 0; }
.home-masthead h1 { font: 450 clamp(48px, 4.75vw, 72px)/.99 var(--serif); letter-spacing: -.035em; margin: 0 0 25px; }
.home-masthead h1 em, .home-section h2 em, .home-finish h2 em { color: var(--wine); font-weight: 450; }
.home-masthead-copy > p:not(.home-free-note) { max-width: 440px; color: #626262; font-size: 17px; line-height: 1.65; margin: 0 0 30px; }
.home-main-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.home-primary-link { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 52px; padding: 14px 23px; border: 1px solid var(--wine); border-radius: 7px; background: var(--wine); color: white; font-size: 15px; font-weight: 600; text-decoration: none; }
.home-primary-link:hover { background: var(--accent-hover, #444444); border-color: var(--accent-hover, #444444); color: white; }
.home-primary-link svg, .home-secondary-link svg, .home-other-tools h3 svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.home-secondary-link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.home-free-note { color: #626262; font-size: 12px; line-height: 1.75; margin: 17px 0 0; }
.home-book-display { min-width: 0; padding-top: 5px; }
.home-book-scene { position: relative; display: flex; justify-content: center; align-items: flex-end; padding: 45px 28px 55px; min-height: 366px; perspective: 1300px; isolation: isolate; }
.home-book-scene::before { content: ""; position: absolute; inset: -20px -10px 0; z-index: -1; background: radial-gradient(ellipse at 55% 57%, #e0e0e0 0, #efefef80 45%, transparent 72%); }
.home-book-scene::after { content: ""; position: absolute; left: 2%; right: -1%; height: 40px; bottom: 27px; background: radial-gradient(ellipse, #22222230, transparent 67%); filter: blur(8px); z-index: -1; }
.home-book-scene .proof-book { flex-basis: 34%; max-width: 190px; --book-depth: 23px; }
.home-book-scene .proof-book-romance { transform: translate(6px,-10px) rotateY(-27deg) rotateZ(-5deg); }
.home-book-scene .proof-book-literary { transform: translate(0,9px) translateZ(65px) rotateY(-20deg); }
.home-book-scene .proof-book-thriller { transform: translate(-5px,-6px) rotateY(-30deg) rotateZ(4deg); }
.home-genre-switch { display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; margin-top: 7px; }
.home-genre-switch button { min-height: 40px; border: 1px solid transparent; border-radius: 20px; padding: 8px 12px; background: transparent; color: #626262; font-size: 12px; }
.home-genre-switch button[aria-pressed="true"] { border-color: #d1d1d1; background: #f0f0f0; color: var(--ink); }
.home-genre-switch button:hover { color: var(--wine); background: #f0f0f0; }
.home-example-caption { text-align: center; font-size: 11px; color: #717171; line-height: 1.6; margin: 14px 0 0; }
.home-section { width: calc(100% - 12vw); max-width: 1258px; margin: 0 auto; padding: 74px 0; }
.home-section h2, .home-faq h2 { margin: 0; font: 450 clamp(33px, 3.2vw, 48px)/1.05 var(--serif); letter-spacing: -.025em; }
.home-section > header { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 36px; }
.home-section > header > p { max-width: 355px; margin: 0; color: #626262; font-size: 15px; line-height: 1.6; }
.home-path { border-top: 1px solid #dddddd; }
.home-path ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; padding: 0; margin: 0; list-style: none; }
.home-path li { border-top: 1px solid #dddddd; padding-top: 24px; }
.home-path li > span { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: 50%; background: #f0f0f0; color: #242424; font-size: 12px; margin-bottom: 20px; }
.home-path h3, .home-file-grid h3, .home-other-tools h3 { margin: 0 0 12px; font-size: 19px; line-height: 1.35; font-weight: 550; }
.home-path li p, .home-file-grid p { color: #626262; font-size: 15px; line-height: 1.7; margin: 0; }
.home-edit { display: grid; grid-template-columns: .75fr 1.25fr; gap: 46px; align-items: center; padding: 55px 42px; background: #f0f0f0; border-radius: 14px; margin-top: 16px; margin-bottom: 22px; }
.home-edit h2 { font-size: clamp(32px,3vw,44px); }
.home-edit-copy p { margin: 22px 0; font-size: 15px; line-height: 1.7; color: #535353; }
.home-edit-copy .home-secondary-link { font-size: 13px; }
.home-product-demo { min-width: 0; background: #ffffff; border: 1px solid #d2d2d2; border-radius: 9px; overflow: hidden; box-shadow: 0 15px 28px #282e2320; }
.home-demo-switch { display: flex; gap: 4px; padding: 10px 12px; border-bottom: 1px solid #dddddd; }
.home-demo-switch button { background: transparent; border: 0; border-radius: 5px; padding: 9px 12px; min-height: 40px; font-size: 12px; color: #626262; }
.home-demo-switch button[aria-pressed="true"] { background: #e8e8e8; color: #444444; }
.home-product-demo img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 717; object-fit: contain; }
.home-product-demo p { color: #626262; text-align: center; margin: 0; padding: 12px; font-size: 11px; border-top: 1px solid #dddddd; }
.home-file-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.home-file-icon { color: #242424; margin: 6px 0 20px; }
.home-file-icon svg { display: block; width: 51px; height: 51px; fill: none; stroke: currentColor; stroke-width: 1.2; }
.home-file-grid h3 { font-size: 17px; }
.home-file-grid p { font-size: 14px; }
.home-print-note { margin: 30px 0 0; border-top: 1px solid #dddddd; padding-top: 20px; font-size: 12px; color: #626262; line-height: 1.7; max-width: 860px; }
.home-print-note a, .home-access-note a, .home-useful-links a { text-decoration: underline; text-underline-offset: 4px; }
.home-pricing { border-top: 1px solid #dddddd; }
.home-pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.home-pricing-grid article { padding: 30px; border: 1px solid #dddddd; border-radius: 10px; background: #ffffff; }
.home-pricing-grid h3 { font: 550 19px/1.4 var(--sans); margin: 0 0 20px; }
.home-plan-price { margin: 0 0 25px; font: 450 53px/1 var(--serif); letter-spacing: -1.5px; }
.home-plan-price span { display: block; margin-top: 10px; font: 400 13px/1.5 var(--sans); letter-spacing: 0; color: #626262; }
.home-pricing-grid ul { list-style: none; padding: 22px 0 0; border-top: 1px solid #dddddd; margin: 0; }
.home-pricing-grid li { position: relative; padding-left: 18px; margin: 12px 0 0; font-size: 13px; line-height: 1.55; color: #535353; }
.home-pricing-grid li::before { content: "✓"; position: absolute; left: 0; color: #242424; }
.home-pricing-grid .home-week-plan { background: #232323; border-color: #232323; color: #ffffff; }
.home-week-plan .home-plan-price span, .home-week-plan li { color: #dddddd; }
.home-week-plan ul { border-color: #555555; }
.home-week-plan li::before { color: #dddddd; }
.home-access-note { margin: 22px 0; font-size: 12px; line-height: 1.7; color: #626262; max-width: 850px; }
.home-other-tools { padding-top: 48px; border-top: 1px solid #dddddd; }
.home-other-tools > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.home-other-tools > div > a { display: block; border-top: 1px solid #dddddd; padding-top: 22px; }
.home-other-tools h3 { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; font-size: 17px; }
.home-other-tools > div p { font-size: 14px; line-height: 1.7; color: #626262; margin: 0; }
.home-other-tools > div > a:hover h3 { color: var(--wine); }
.home-useful-links { display: flex; gap: 24px; flex-wrap: wrap; margin: 24px 0 0; font-size: 12px; color: #626262; }
body:not(.create-route) .home-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; width: calc(100% - 12vw); max-width: 1258px; padding: 55px 0 65px; margin: 0 auto; border: 0; border-top: 1px solid #dddddd; border-radius: 0; background: transparent; }
.home-faq > header { display: block; margin: 0; }
.home-faq h2 { font-size: clamp(33px,3.2vw,46px); }
.home-faq > div { display: block; }
.home-faq details { padding: 17px 0; border: 0; border-bottom: 1px solid #dddddd; background: transparent; border-radius: 0; }
.home-faq details:first-child { padding-top: 0; }
.home-faq summary { padding: 0; min-height: 26px; color: #333333; font-size: 15px; font-weight: 550; line-height: 1.5; }
.home-faq details p { font-size: 14px; line-height: 1.7; color: #626262; padding: 0; margin: 13px 0 0; }
.home-faq > p { grid-column: 2; font-size: 11px; line-height: 1.7; color: #717171; margin: -30px 0 0; }
.home-finish { margin: 20px auto 0; padding: 65px 24px 76px; text-align: center; background: #f0f0f0; }
.home-finish h2 { font: 450 clamp(42px,4.5vw,62px)/1.01 var(--serif); letter-spacing: -.025em; margin: 0 0 27px; }
.home-finish p { margin: 17px 0 0; font-size: 13px; line-height: 1.6; color: #626262; }
.home-primary-link:focus-visible, .home-secondary-link:focus-visible, .home-genre-switch button:focus-visible, .home-demo-switch button:focus-visible { outline: 3px solid var(--wine); outline-offset: 4px; }
@media (max-width: 1000px) {
  .home-masthead { padding: 127px 5vw 60px; gap: 10px; }
  .home-masthead h1 { font-size: 52px; }
  .home-masthead-copy > p:not(.home-free-note) { font-size: 15px; }
  .home-book-scene { padding: 35px 15px 45px; min-height: 290px; }
  .home-book-scene .proof-book { --book-depth: 16px; }
  .home-genre-switch button { font-size: 11px; padding-inline: 9px; }
  .home-main-actions { gap: 10px; }
  .home-section { width: 90%; padding-top: 55px; padding-bottom: 55px; }
  .home-path ol { gap: 22px; }
  .home-edit { grid-template-columns: 1fr; padding: 36px; gap: 25px; }
  .home-edit-copy { max-width: 610px; }
  .home-file-grid { grid-template-columns: repeat(2,1fr); }
  .home-pricing-grid article { padding: 22px; }
  .home-plan-price { font-size: 45px; }
}
@media (max-width: 650px) {
  .home-masthead { padding: 102px 22px 42px; display: flex; flex-direction: column; gap: 22px; }
  .home-masthead h1 { font-size: 44px; line-height: 1.01; margin-bottom: 19px; }
  .site-header:not(.on-marketing-page) .brand-primary .brand-logo { display: block; width: 140px; }
  .site-header:not(.on-marketing-page) .brand-primary .brand-mobile-mark { display: none; }
  .home-masthead-copy > p:not(.home-free-note) { font-size: 15px; margin-bottom: 22px; line-height: 1.6; }
  .home-main-actions { gap: 12px; }
  .home-primary-link { min-height: 49px; padding: 12px 18px; gap: 15px; font-size: 14px; }
  .home-secondary-link { font-size: 12px; }
  .home-free-note { font-size: 11px; margin-top: 13px; }
  .home-book-display { width: 100%; }
  .home-book-scene { padding: 15px 15px 35px; min-height: 235px; max-width: 370px; margin: auto; }
  .home-book-scene .proof-book { --book-depth: 14px; }
  .home-book-scene .proof-book-literary { transform: translate(0,6px) translateZ(28px) rotateY(-20deg); }
  .home-genre-switch { gap: 0; margin-top: 0; }
  .home-genre-switch button { font-size: 11px; min-height: 39px; padding: 7px 10px; }
  .home-example-caption { font-size: 10px; margin-top: 10px; }
  .home-section { width: calc(100% - 44px); padding: 40px 0; }
  .home-section > header { display: block; margin-bottom: 26px; }
  .home-section h2 { font-size: 34px; }
  .home-section > header > p { font-size: 14px; margin-top: 17px; }
  .home-path ol { grid-template-columns: 1fr; gap: 22px; }
  .home-path li { display: grid; grid-template-columns: 35px 1fr; column-gap: 15px; padding-top: 21px; }
  .home-path li > span { grid-row: 1/3; margin: 0; }
  .home-path h3 { margin: 4px 0 10px; font-size: 17px; }
  .home-path li p { grid-column: 2; font-size: 14px; }
  .home-edit { padding: 28px 20px; width: calc(100% - 28px); margin-top: 8px; }
  .home-edit-copy p { font-size: 14px; margin: 16px 0; }
  .home-edit-copy .home-secondary-link { font-size: 12px; }
  .home-demo-switch { padding: 5px; gap: 0; }
  .home-demo-switch button { font-size: 11px; padding-inline: 8px; }
  .home-product-demo p { font-size: 10px; }
  .home-file-grid { grid-template-columns: 1fr; gap: 26px; }
  .home-file-grid h3 { font-size: 16px; }
  .home-file-grid p { font-size: 13px; }
  .home-file-icon { margin-bottom: 15px; }
  .home-print-note { font-size: 11px; margin-top: 23px; }
  .home-pricing-grid { grid-template-columns: 1fr; gap: 12px; }
  .home-pricing-grid article { padding: 24px; }
  .home-pricing-grid ul { padding-top: 12px; }
  .home-plan-price { margin-bottom: 20px; }
  .home-access-note { font-size: 11px; }
  .home-other-tools > div { grid-template-columns: 1fr; gap: 22px; }
  .home-other-tools > div > a { padding-top: 20px; }
  .home-other-tools h3 { font-size: 17px; }
  .home-useful-links { gap: 15px; font-size: 11px; }
  body:not(.create-route) .home-faq { display: block; width: calc(100% - 44px); padding: 40px 0; }
  .home-faq > header { margin-bottom: 28px; }
  .home-faq h2 { font-size: 34px; }
  .home-faq > p { margin: 20px 0 0; font-size: 11px; }
  .home-faq summary { font-size: 14px; }
  .home-faq details p { font-size: 13px; }
  .home-finish { margin-top: 0; padding: 45px 22px; }
  .home-finish h2 { font-size: 44px; }
  .home-finish p { font-size: 12px; }
}

.title-treatment-field { display: grid; gap: 8px; margin: 18px 0; font-size: 12px; font-weight: 600; }
.title-treatment-field select { width: 100%; min-height: 40px; border: 1px solid #ccc; border-radius: 6px; padding: 8px; background: white; font: inherit; }
.artwork-brief-field { display: grid; gap: 8px; margin: 20px 0 8px; font-size: 13px; font-weight: 600; }
.artwork-brief-field span, .artwork-brief-help { color: #656565; font-size: 12px; line-height: 1.5; font-weight: 400; }
.artwork-brief-field textarea { width: 100%; min-height: 110px; resize: vertical; border: 1px solid #bbb; border-radius: 6px; padding: 11px; background: #fff; color: #222; font: 400 13px/1.5 var(--sans); }
.artwork-brief-field textarea:focus-visible { outline: 2px solid #333; outline-offset: 2px; }
.artwork-brief-help { margin: 0 0 15px; }

/* Three direct jobs: words, text appearance, and artwork. */
.simple-text-controls, .simple-image-controls { border-top:1px solid #e5e5e5; margin-top:16px; padding-top:14px; }
.simple-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.simple-section-heading label, .simple-image-controls h2 { font:600 13px/1.4 var(--sans); margin:0; }
#simpleFont { width:100%; min-height:42px; padding:10px; background:#fff; color:#222; border:1px solid #d3d3d3; border-radius:6px; font:14px var(--sans); }
.simple-image-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.simple-image-actions button { min-height:43px; padding:9px 7px; border:1px solid #ccc; border-radius:6px; background:white; color:#222; font:500 12px/1.4 var(--sans); }
.simple-image-actions button:hover { background:#f4f4f4; border-color:#777; }
.simple-image-controls p { font:11px/1.6 var(--sans); color:#777; margin:10px 0 0; }
#simpleAiSignIn { padding:11px 20px; border:0; border-radius:6px; background:#222; color:#fff; }
#simpleAiSignIn[hidden], #simpleAiRetry[hidden] { display:none; }
.simple-quiet-action { display:block; border:0; padding:5px 0; background:none; color:#777; font:400 11px/1.5 var(--sans); text-decoration:underline; text-underline-offset:3px; }
.simple-quiet-action[hidden] { display:none; }
#simpleUndo { margin-top:14px; align-self:center; }
.simple-colour-section header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; gap:8px; }
.simple-colour-section h2 { font:600 13px/1.4 var(--sans); margin:0; }
.simple-colour-section header button { border:0; padding:2px 0; background:none; color:#555; font:500 11px/1.5 var(--sans); text-decoration:underline; text-underline-offset:3px; }
.focused-design-section > header { gap:8px; }
#focusedGenreName { display:none; }
.simple-colour-section { margin:10px 0; }
.simple-colour-choices { display:flex; align-items:center; gap:9px; }
.simple-colour-choices > button { width:29px; height:29px; flex:0 0 29px; border-radius:50%; background:var(--swatch); border:1px solid #bbb; }
.simple-colour-choices > button[aria-pressed="true"] { outline:2px solid #262626; outline-offset:3px; }
.simple-custom-colour { display:flex; align-items:center; gap:6px; margin-left:auto; font-size:11px; color:#555; cursor:pointer; }
.simple-custom-colour input { width:28px; height:28px; padding:1px; border:1px solid #bbb; border-radius:5px; background:#fff; cursor:pointer; }
.simple-readability { font-size:11px; line-height:1.5; color:#6e561c; margin:10px 0 0; }
.simple-readability:empty { display:none; }
#focusedSaveNotice { margin:8px 0 0; }
.simple-choice-modal { position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center; padding:28px; }
.simple-choice-modal.visible { display:flex; }
.simple-choice-scrim { position:absolute; inset:0; background:#14141470; backdrop-filter:blur(5px); }
.simple-choice-card { position:relative; width:min(100%,820px); max-height:calc(100svh - 56px); overflow:auto; background:#fff; border-radius:14px; padding:28px; box-shadow:0 24px 100px #0003; }
.simple-choice-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.simple-choice-card h2 { margin:0; font:600 25px/1.2 var(--sans); letter-spacing:-.7px; }
.simple-choice-card header p { color:#686868; font-size:13px; margin:9px 0 0; max-width:620px; line-height:1.5; }
.simple-choice-card header > button { border:0; border-radius:50%; width:32px; height:32px; background:#f3f3f3; color:#333; font-size:24px; }
.simple-choice-tabs { display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid #e4e4e4; padding:20px 0 14px; margin-bottom:20px; }
.simple-choice-tabs button { border:1px solid #ddd; border-radius:6px; padding:9px 13px; color:#555; background:#fff; font:500 12px/1.4 var(--sans); }
.simple-choice-tabs button[aria-pressed="true"] { background:#222; border-color:#222; color:#fff; }
#simpleUpload { margin-left:auto; }
.simple-choice-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.choosing-cover .simple-choice-tabs { display:none; }
.choosing-cover .simple-choice-gallery { margin-top:24px; }
.simple-choice-footer { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:20px; }
.simple-choice-gallery[hidden] { display:none; }
.simple-choice-option { min-width:0; padding:6px; background:#f5f5f5; border:1px solid #e1e1e1; border-radius:6px; text-align:left; color:#444; }
.simple-choice-option:hover { border-color:#777; }
.simple-choice-option[aria-pressed="true"] { outline:2px solid #222; outline-offset:2px; }
.simple-choice-preview { display:flex; width:100%; aspect-ratio:5/8; align-items:center; justify-content:center; background:#e9e9e9; font-size:12px; }
.simple-choice-preview canvas { display:block; width:100%; height:100%; object-fit:contain; }
.simple-choice-option > span:last-child { display:block; padding:9px 3px 4px; font-size:11px; line-height:1.4; }
.simple-more-library, #simpleAiRetry, #simpleAiGetCredits { display:block; margin:0; border:1px solid #ddd; border-radius:6px; padding:10px 20px; background:#fff; color:#444; font-size:12px; }
#simpleAiRetry, #simpleAiGetCredits { margin:20px auto 0; }
.simple-more-library[hidden], #simpleAiGetCredits[hidden] { display:none; }
.simple-choice-status { color:#6a6a6a; font-size:12px; line-height:1.5; margin:18px 0 0; }
.simple-choice-status:empty { display:none; }
.simple-ai-form { max-width:660px; margin:25px auto; }
.simple-ai-form[hidden] { display:none; }
.simple-ai-form label { display:block; font-size:15px; font-weight:600; margin-bottom:12px; }
.simple-ai-form textarea { box-sizing:border-box; width:100%; resize:vertical; min-height:130px; border:1px solid #c9c9c9; border-radius:8px; padding:14px; font:14px/1.6 var(--sans); }
.simple-ai-form p { font-size:12px; color:#6a6a6a; line-height:1.5; }
.simple-ai-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:14px; margin-top:20px; border-top:1px solid #e7e7e7; }
.simple-ai-footer p { max-width:320px; }
.simple-ai-footer button { white-space:nowrap; min-height:43px; font-size:12px; background:#202020; border-color:#202020; color:#fff; }
.simple-ai-footer button:disabled { opacity:.45; }
.simple-export-readability { padding:13px; border:1px solid #d7d0bd; background:#fffdf5; border-radius:6px; margin:15px 0; }
.simple-export-readability p { font-size:12px; line-height:1.5; margin:0 0 10px; }
.simple-export-readability button { border:1px solid #cfc7b5; background:#fff; padding:7px 10px; border-radius:5px; font-size:11px; margin-right:6px; }
@media (max-width:640px) {
  .simple-choice-modal { padding:10px; }
  .simple-choice-card { padding:20px 16px; max-height:calc(100svh - 20px); }
  .simple-choice-card h2 { font-size:22px; }
  .simple-choice-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .simple-choice-tabs { gap:6px; }
  .simple-choice-tabs button { padding:8px 10px; font-size:11px; }
  #simpleUpload { margin-left:0; }
  .simple-ai-footer { flex-direction:column; align-items:stretch; gap:8px; }
  .simple-ai-footer button { justify-content:center; }
}

/* The download dialog shares the editor's print settings. */
.simple-download [data-export-destination="all"], .simple-download #openCanvaExport { display:none; }
.simple-print-setup { margin:16px 0; padding:14px; border:1px solid #ddd; border-radius:8px; }
.simple-print-setup[hidden] { display:none; }
.simple-print-setup > summary { font:600 13px/1.5 var(--sans); cursor:pointer; }
.simple-print-setup #printSetupPanel { padding:14px 0; border:0; display:block; }
.simple-print-setup .print-panel-heading, .simple-print-setup .print-result-summary, .simple-print-setup #buildWrap, .simple-print-setup .print-note { display:none; }
.simple-print-setup > label { display:block; font:500 12px/1.4 var(--sans); margin:12px 0 8px; }
.simple-print-setup > textarea { width:100%; padding:10px; border:1px solid #ccc; border-radius:6px; font:13px/1.5 var(--sans); }
#simplePrintDone { margin-top:12px; border:1px solid #ccc; padding:9px 12px; border-radius:5px; background:white; color:#222; font-size:12px; }

.simple-print-preview { width:100%; padding:20px; }
.simple-print-preview[hidden], .simple-download .export-preview-shell[hidden] { display:none; }
.simple-print-preview .wrap-preview { display:flex; width:100%; height:auto !important; transform:none !important; box-shadow:none; }
.simple-print-setup > input, .simple-print-setup > select { width:100%; padding:10px; border:1px solid #ccc; border-radius:6px; font:13px var(--sans); background:#fff; color:#222; }
.simple-download .modal-card { width:min(1100px,calc(100vw - 40px)); grid-template-columns:minmax(300px, .9fr) minmax(400px, 1.1fr); background:#fff; max-height:calc(100svh - 40px); min-height:0; }
.simple-download .modal-art { background:#efefef; min-width:0; }
.simple-download .modal-content { padding:28px; min-width:0; }
.simple-download .modal-content h2 { margin:2px 30px 12px 0; font:600 25px/1.25 var(--sans); letter-spacing:-.6px; }
.simple-download .export-preview-shell { min-height:560px; padding:32px; }
.simple-download .export-preview-shell > img { width:min(100%,280px); height:auto; max-height:calc(100svh - 110px); object-fit:contain; box-shadow:0 12px 32px #0002; }
.simple-download .export-packages { grid-template-columns:1fr 1fr; gap:10px; }
.simple-download .export-package { background:white; border-color:#ddd; padding:14px 12px; }
.simple-download .export-package.selected { border-color:#222; background:#fafafa; box-shadow:0 0 0 1px #222; }
.simple-download .package-head { gap:10px; flex-wrap:wrap; }
.simple-download .package-badge { display:none; }
.simple-download .export-package small { font-size:12px; line-height:1.5; }
.simple-download .purchase-panel.export-checkout { border:0; padding:0; background:white; box-shadow:none; }
.simple-download .export-primary-action { margin-top:0; }
.simple-download .simple-export-readability { background:#fafafa; border-color:#ddd; padding:10px 12px; }
.simple-download .simple-export-readability p { font-size:11px; }
.simple-download .modal-content label { text-transform:none; letter-spacing:0; font-weight:500; }
.simple-download .export-file-row { border-color:#ddd; background:#fafafa; }
.simple-download .simple-print-preview { padding:28px; }
.simple-download .bleed-label { display:none; }
@media (max-width:700px) {
  .simple-download .modal-card { width:calc(100vw - 20px); display:block; overflow-y:auto; }
  .simple-download .modal-art { display:none; }
  .simple-download:has([data-export-destination="print"][aria-pressed="true"]) .modal-art { display:grid; padding:28px 30px 0; }
  .simple-download .simple-print-preview { max-width:360px; padding:20px; }
  .simple-download .modal-content { padding:24px 20px; overflow:visible; }
  .simple-download .export-packages { grid-template-columns:1fr; }
}

.focused-studio #editorGuideButton { display:none; }

/* The simple editor offers reversible previews and one connected project. */
.simple-style-open { width:100%; display:flex; justify-content:space-between; gap:12px; text-align:left; padding:12px; background:#fff; border:1px solid #ccc; border-radius:6px; color:#222; font:500 12px/1.4 var(--sans); }
.simple-style-open > span:last-child { color:#777; font-size:11px; }
.simple-project-actions { display:grid; gap:12px; margin-top:20px; padding-top:18px; border-top:1px solid #e5e5e5; }
.simple-project-actions button { background:none; border:0; padding:0; text-align:left; color:#333; font:500 12px/1.4 var(--sans); }
.simple-project-actions p { margin:0; color:#777; font:11px/1.5 var(--sans); }
.simple-text-card { width:min(100%,850px); }
.simple-text-preview-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; margin-top:24px; }
.simple-text-preview { min-height:320px; display:flex; justify-content:center; align-items:center; padding:16px; background:#eeeeed; border-radius:8px; }
.simple-text-preview canvas { display:block; width:auto; max-width:100%; max-height:440px; height:auto; box-shadow:0 12px 28px #0003; }
.simple-text-settings { display:flex; flex-direction:column; gap:10px; }
.simple-text-settings label { margin-top:8px; font:600 12px/1.4 var(--sans); }
.simple-text-settings select { min-width:0; width:100%; min-height:43px; padding:10px; border:1px solid #ccc; border-radius:6px; color:#222; background:#fff; }
.simple-text-settings p { font:12px/1.6 var(--sans); color:#777; margin:6px 0; }
.simple-text-apply { display:flex; flex-wrap:wrap; gap:12px; margin-top:auto; }
.simple-text-apply > button:not(.journey-primary) { background:none; border:0; color:#555; }
#bookArtworkBrief { width:100%; box-sizing:border-box; min-height:94px; resize:vertical; padding:14px; border:1px solid #ccc; border-radius:7px; background:#fff; color:#222; font:14px/1.5 var(--sans); }
.brief-help { margin:7px 0 16px; font:12px/1.5 var(--sans); color:#777; }
#browseSuggestedCovers { width:100%; margin-top:8px; font-size:12px; }
.simple-mockup .mockup-controls { background:#fff; }
.simple-mockup .mockup-resolution-settings, .simple-mockup .mockup-field-hint { display:none; }
.simple-mockup:not(.show-all-scenes) [data-mockup-scene]:not([data-mockup-scene="photo-dramatic-studio"]):not([data-mockup-scene="photo-sunlit-linen"]):not([data-mockup-scene="photo-flatlay"]):not([data-mockup-scene="photo-ereader"]):not([data-mockup-scene="photo-nightstand"]):not([data-mockup-scene="photo-shelf"]) { display:none; }
#mockupMoreScenes { display:none; }
.simple-mockup #mockupMoreScenes { display:block; margin:0 0 20px; }
#downloadMockupPreview { display:block; margin:12px auto; }
#mockupStatus { font:12px/1.5 var(--sans); color:#666; }
#mockupStatus:empty { display:none; }
.mockup-purchase .export-destination-tabs, .mockup-purchase #simplePrintSetup, .mockup-purchase #simplePrintPreview, .mockup-purchase #exportOwnedPanel, .mockup-purchase #downloadPreview, .mockup-purchase .modal-art { display:none !important; }
.mockup-purchase .modal-card { width:min(640px,calc(100vw - 32px)); grid-template-columns:1fr; }
@media (max-width:600px) {
  .simple-text-preview-layout { grid-template-columns:1fr; gap:18px; }
  .simple-text-preview { min-height:0; padding:12px; }
  .simple-text-preview canvas { max-height:260px; }
  .simple-text-card { max-height:calc(100svh - 20px); }
}
.simple-choice-modal .journey-primary { background:#222; border-color:#222; color:#fff; }
.simple-choice-modal .journey-text-button, .simple-mockup .journey-text-button { color:#555; }
.simple-mockup .mockup-preview-column { min-height:0; padding:28px; background:#eee; }
.simple-mockup .mockup-controls { padding:32px; }
.simple-mockup .mockup-controls h2 { margin:0 36px 12px 0; font:600 25px/1.2 var(--sans); letter-spacing:-.7px; }
.simple-mockup .mockup-controls legend { text-transform:none; letter-spacing:0; color:#333; font-weight:600; }
.simple-mockup .mockup-format-grid button.active { background:#222; color:#fff; border-color:#222; box-shadow:none; }
.simple-mockup .mockup-preview-column canvas { max-height:510px; }
@media (max-width:600px) {
  .simple-mockup .mockup-preview-column { padding:20px; }
  .simple-mockup .mockup-preview-column canvas { max-height:280px; }
  .simple-mockup .mockup-controls { padding:24px 20px; }
}
.interior-stage-active #focusedEditorHeading { display:none; }

.simple-project-actions { grid-template-columns:1fr 1fr; gap:10px 12px; margin-top:14px; padding-top:12px; }
.simple-project-actions p { grid-column:1 / -1; }

/* Direct visual choices stay inside the existing text preview. */
.simple-style-samples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.simple-style-samples button { display:flex; flex-direction:column; justify-content:center; gap:7px; min-height:76px; min-width:0; padding:10px 5px; border:1px solid #ddd; border-radius:7px; background:#fff; color:#191919; }
.simple-style-samples button[aria-pressed="true"] { border-color:#191919; box-shadow:0 0 0 1px #191919; background:#f4f4f4; }
.simple-style-samples span { font-size:20px; line-height:1.2; overflow-wrap:anywhere; }
.simple-style-samples small { font:10px/1.3 var(--sans); color:#666; }
.simple-text-card { width:min(100%,960px); }
.simple-text-preview { align-self:start; position:sticky; top:0; }
@media(max-width:680px) { .simple-text-preview { position:static; } .simple-style-samples span { font-size:19px; } }
.simple-style-samples button { min-height:62px; padding:8px 5px; gap:5px; }
.simple-text-preview-layout { margin-top:20px; }
.simple-text-settings { gap:7px; }
.simple-text-settings>label { margin-top:0; }
.simple-text-tweaks { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.simple-text-tweaks label { display:block; margin:0 0 6px; }
.simple-shadow-choice { grid-column:1 / -1; }
#simpleNextPreview { padding:3px 0; font-size:12px; min-height:24px; }
.simple-text-settings .simple-placement-note { margin:0; }
.simple-text-apply { position:sticky; bottom:-28px; padding:12px 0; background:#fff; }
.simple-font-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.simple-font-heading label { margin:0; }
.simple-style-samples button { min-height:56px; }
.simple-text-apply { padding:6px 0; }
/* Show the possibilities at the entry point, using the real editable samples. */
.cover-start-proof .cover-sample-heading { margin:0 0 8px; font:600 24px/1.2 var(--sans); letter-spacing:-.6px; }
.cover-sample-intro { margin:0 0 24px; font:14px/1.6 var(--sans); color:#666; }
.cover-sample-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cover-sample-gallery a { color:#222; text-decoration:none; min-width:0; }
.cover-sample-gallery img { width:100%; height:auto; border-radius:3px 7px 7px 3px; box-shadow:2px 4px 0 #ddd,0 14px 24px #0002; transition:transform .2s; }
.cover-sample-gallery a:hover img { transform:translateY(-5px); }
.cover-sample-gallery span { display:block; margin-top:16px; font:600 13px/1.5 var(--sans); }
.cover-sample-gallery b { display:block; margin-top:5px; font-size:11px; font-weight:400; color:#666; }
.simple-font-toolbar { display:flex; gap:6px; align-items:center; }
.simple-font-toolbar button { flex:1; border:1px solid #ddd; border-radius:6px; padding:8px 6px; font:600 12px/1.3 var(--sans); background:#fff; color:#555; }
.simple-font-toolbar button[aria-pressed="true"] { background:#222; color:#fff; border-color:#222; }
.simple-font-toolbar #simpleNextPreview { flex:0 0 30px; font-size:20px; }
#simpleFontCount { font:11px/1.4 var(--sans); color:#777; }
#simpleFontSearch { width:100%; min-height:36px; border:1px solid #ccc; border-radius:6px; padding:8px 12px; font:13px var(--sans); color:#222; background:#fff; }
.simple-style-samples { max-height:210px; overflow-y:auto; scrollbar-width:thin; padding:2px; }
.simple-style-samples.all-fonts { grid-template-columns:repeat(2,minmax(0,1fr)); }
.simple-style-samples button { min-height:68px; padding:8px; }
.simple-style-samples span { width:100%; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:21px; }
.simple-style-samples small { font-size:11px; }
#simpleMoreFonts { margin:0; font-size:12px; padding:2px 0; min-height:24px; }
@media(max-width:680px) { .cover-sample-gallery { gap:10px; } .cover-start-proof { padding:24px 18px; } .simple-style-samples { max-height:190px; } }

.mockup-photo-tile canvas { display:block; width:100%; height:100%; object-fit:cover; }
.mockup-photo-tile { min-width:0; }
.mockup-photo-tile:focus-visible { outline:3px solid #666; outline-offset:3px; }
/* Reserve one clean specimen line; never cut a second line through its letters. */
.simple-style-samples { max-height:135px; flex:0 0 auto; }
.simple-style-samples button { min-height:64px; }
.simple-style-samples span { display:block; flex:0 0 28px; height:28px; line-height:28px; white-space:nowrap; text-overflow:ellipsis; -webkit-line-clamp:unset; }
.simple-text-settings { gap:6px; }
.simple-font-toolbar button { padding:7px 6px; }
.simple-text-preview-layout { margin-top:14px; }
@media(max-width:680px) { .simple-style-samples { max-height:160px; } }

.journey-sample-entry { margin: -6px 0 20px; padding: 0; text-align: left; }

@media(max-width:680px) {
  .simple-mockup .mockup-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .simple-mockup .mockup-photo-tile { min-height:70px; aspect-ratio:4/3; }
  .simple-mockup .mockup-photo-tile span { font-size:10px; padding:6px 4px; }
  .simple-mockup .mockup-card > .modal-close { position:fixed; top:18px; right:18px; z-index:3; background:#fffffff2; }
}
/* Keep the desktop preview and close control fixed while scene choices scroll. */
@media(min-width:961px) {
  .mockup-card { grid-template-rows:minmax(0,1fr); }
  .mockup-controls { min-height:0; }
}

/* Print editing uses the same simple editor, with one set of publishing fields. */
.simple-cover-views { display:none; }
.focused-studio:not(.interior-stage-active) .studio-layout { position:relative; }
.focused-studio:not(.interior-stage-active) .canvas-area { padding-top:61px; }
.focused-studio:not(.interior-stage-active) .simple-cover-views:not([hidden]) { position:absolute; top:0; left:340px; right:0; display:flex; justify-content:center; gap:4px; padding:12px 16px; background:#fff; border-bottom:1px solid #ddd; flex-shrink:0; z-index:4; }
.simple-cover-views button { border:0; border-radius:6px; padding:9px 16px; background:transparent; color:#666; font:500 13px/1.4 var(--sans); }
.simple-cover-views button[aria-pressed="true"] { background:#171816; color:#fff; }
.simple-cover-views button:focus-visible, .simple-wrap-edit:focus-visible { outline:2px solid #333; outline-offset:3px; }
.focused-print-controls[hidden], #focusedFrontControls[hidden], .simple-print-fields section[hidden], .simple-print-edit-links[hidden], #simplePrintCustomBackgroundLabel[hidden] { display:none; }
.focused-print-controls h2 { margin:0 0 8px; font:600 18px/1.4 var(--sans); }
.simple-print-help { font:12px/1.6 var(--sans); color:#666; margin:8px 0 14px; }
.simple-print-help.has-error { color:#a33126; }
.simple-print-edit-links { display:flex; gap:8px; margin:18px 0; }
.simple-print-edit-links button { flex:1; background:#fff; border:1px solid #ccc; border-radius:6px; padding:10px 7px; color:#222; font:500 12px/1.4 var(--sans); }
.simple-print-fields label { display:block; margin:14px 0 7px; font:600 12px/1.5 var(--sans); }
.simple-print-fields label span { font-weight:400; color:#777; }
.simple-print-fields input:not([type="color"]), .simple-print-fields textarea, .simple-print-fields select { width:100%; min-height:42px; padding:10px; border:1px solid #ccc; border-radius:6px; background:#fff; color:#222; font:13px/1.5 var(--sans); }
.simple-print-fields textarea { resize:vertical; }
.simple-arrange-button { display:flex; flex-direction:column; align-items:flex-start; gap:4px; width:100%; padding:12px; border:1px solid #ccc; border-radius:6px; background:#fff; color:#222; font:600 13px/1.4 var(--sans); cursor:pointer; }
.simple-arrange-button span { font:400 11px/1.4 var(--sans); color:#666; }
.simple-arrange-button:disabled { opacity:.5; cursor:default; }
.simple-print-layout-choices { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.simple-print-layout-choices button { padding:14px 8px; border:1px solid #ccc; border-radius:6px; background:#fff; color:#333; font:500 12px/1.4 var(--sans); }
.simple-print-layout-choices button[aria-pressed="true"] { border-color:#222; box-shadow:0 0 0 1px #222; background:#f4f4f4; }
.simple-print-layout-preview { overflow:hidden; }
.simple-print-layout-preview[data-surface="spine"] { min-height:200px; }
#simplePrintLayoutModal .simple-text-preview-layout[data-surface="spine"] { grid-template-columns:1fr; gap:16px; }
#simplePrintLayoutModal .simple-text-preview-layout[data-surface="spine"] .simple-text-settings { max-width:560px; width:100%; margin:auto; }
#simplePrintLayoutModal .simple-print-layout-preview[data-surface="spine"] { position:static; min-height:140px; }
.simple-print-layout-sheet { position:relative; isolation:isolate; overflow:hidden; flex:none; box-shadow:0 10px 24px #0003; margin:0; }
#simpleSpineDirectionField[hidden] { display:none; }
.simple-print-layout-sheet .barcode span { font-size:7px; }
@media(max-width:680px) { .simple-print-layout-preview[data-surface="back"] .simple-print-layout-sheet { max-width:210px !important; } #simplePrintLayoutModal .simple-print-layout-preview[data-surface="spine"] { min-height:100px; } }
.colour-preset-control { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.colour-preset-swatches { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:3px; }
.colour-preset-swatches > button { position:relative; flex:0 0 34px; width:34px; height:34px; padding:0; border:1px solid #aaa; border-radius:50%; background:var(--swatch); cursor:pointer; }
.colour-preset-swatches > button[aria-pressed="true"] { outline:2px solid #222; outline-offset:3px; }
.colour-preset-swatches > button:focus-visible { outline:3px solid #555; outline-offset:3px; }
.colour-preset-swatches > button:disabled { opacity:.45; cursor:default; }
.colour-custom-control, .simple-print-fields .colour-custom-control { display:flex; align-items:center; gap:8px; margin:0; color:#555; font:500 12px/1.5 var(--sans); letter-spacing:0; cursor:pointer; }
.colour-custom-control input[type="color"], .simple-print-fields .colour-custom-control input[type="color"] { display:block; flex:0 0 32px; width:32px; height:32px; padding:2px; border:1px solid #aaa; border-radius:6px; background:#fff; cursor:pointer; }
.colour-custom-control input[type="color"]::-webkit-color-swatch-wrapper { padding:2px; }
.colour-custom-control input[type="color"]::-webkit-color-swatch { border:0; border-radius:2px; }
.colour-preset-field { display:grid; justify-content:stretch; gap:10px; letter-spacing:0; }
.artwork-overlay-colours { margin-top:12px; }
#mockupBackgroundFieldset > .colour-preset-swatches { margin-bottom:12px; }
@media(pointer:coarse) { .colour-preset-swatches > button { flex-basis:40px; width:40px; height:40px; } .colour-custom-control input[type="color"], .simple-print-fields .colour-custom-control input[type="color"] { flex-basis:40px; width:40px; height:40px; } }
.simple-print-fields input:disabled { background:#f4f4f4; color:#777; }
.simple-print-fields small { display:block; margin:7px 0; color:#777; font:11px/1.6 var(--sans); }
.simple-barcode-fields { border-top:1px solid #e1e1e1; margin-top:20px; padding-top:3px; }
.simple-editor-print-setup { border-top:1px solid #ddd; margin-top:20px; padding-top:16px; }
.simple-editor-print-setup > summary { cursor:pointer; font:600 13px/1.5 var(--sans); }
.simple-editor-print-setup > summary span { display:block; margin:4px 0 0 14px; font:400 11px/1.5 var(--sans); color:#777; }
.focused-print-controls #printSetupPanel { border:0; padding:16px 0 0; display:block; }
.focused-print-controls .print-panel-heading, .focused-print-controls #buildWrap, .focused-print-controls .print-note { display:none; }
.focused-print-controls .print-primary-fields { grid-template-columns:1fr; }
.simple-wrap-edit { display:none; }
.focused-studio .simple-wrap-edit { display:block; position:absolute; top:8px; left:50%; transform:translateX(-50%); z-index:4; border:1px solid #ccc; border-radius:4px; background:#fff; color:#444; font:500 10px/1.4 var(--sans); padding:4px 8px; white-space:nowrap; opacity:.85; }
.focused-studio .wrap-spine .simple-wrap-edit { inset:0; width:100%; writing-mode:horizontal-tb; transform:none; padding:0; border:0; background:transparent; color:transparent; }
.spine-cover-editor.spine-text-disabled .spine-editor-stage { visibility:hidden; }
.focused-studio .spine-cover-editor::after { opacity:.15; }
.focused-studio .wrap-preview { margin-top:20px; }
.wrap-preview .barcode span { font:600 7px/1.2 var(--sans); color:#444; text-align:center; margin:auto; }
@media (max-width:650px) {
  .focused-studio:not(.interior-stage-active) .simple-cover-views:not([hidden]) { position:sticky; top:64px; left:auto; right:auto; order:-1; z-index:24; padding:8px 10px; gap:3px; }
  .focused-studio:not(.interior-stage-active) .canvas-area { padding-top:0; }
  .simple-cover-views button { padding:8px 12px; font-size:12px; }
  .focused-studio:not(.interior-stage-active) .canvas-workspace { min-height:0; }
  .simple-print-fields input:not([type="color"]), .simple-print-fields textarea, .simple-print-fields select { font-size:16px; }
}
