/* A quiet writing desk. Loaded after the original workspace stylesheet. */
:root {
  --font-editorial: Georgia, Cambria, "Times New Roman", serif;
  --paper: #f7f5ef;
  --ink: #24362c;
  --green: #285749;
  --muted: #59665e;
  --line: #dce0d5;
  --sage: #edf0e7;
  font-family: var(--font-editorial);
  color: var(--ink);
  background: var(--paper);
}
body { background: var(--paper); color: var(--ink); font-family: var(--font-editorial); font-size: 17px; line-height: 1.65; }
button, input, textarea, select { font-family: var(--font-editorial); }
button { min-height: 44px; font-size: 15px; line-height: 1.35; padding: 11px 15px; border-radius: 8px; }
button:disabled { opacity: .62; }
input, textarea, select { font-size: 17px; line-height: 1.7; padding: 12px 14px; background: #fffefa; border-color: #cfd7ca; }
input::placeholder, textarea::placeholder { color: #69766b; opacity: 1; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--green); width: 18px; height: 18px; flex-shrink: 0; }
h1, h2, h3, .brand { font-family: var(--font-editorial); color: var(--ink); }
h1, .intro h1, .library-heading h1 { font-size: clamp(34px, 3vw, 46px); line-height: 1.14; letter-spacing: -.8px; font-weight: 600; }
h2, .card h2, .screenplay-toolbar h2, .scene-inspector h2 { font-size: 26px; line-height: 1.25; font-weight: 600; }
h3 { font-size: 20px; line-height: 1.35; }
p, .intro p, .card p { font-size: 17px; line-height: 1.7; color: var(--muted); }
label { font-size: 15px; line-height: 1.5; color: #3e5044; margin: 19px 0 9px; }
small, .notice, .count, .badge, .eyebrow, summary { font-size: 14px; line-height: 1.5; }
.eyebrow { letter-spacing: 1.25px; }
summary { color: var(--green); padding: 4px 0; }
.notice, .card .notice { color: var(--muted); font-size: 14px; }
.badge { color: #4d6147; background: #eef1e7; padding: 6px 11px; }
.toolbar { gap: 10px; flex-wrap: wrap; }
.toolbar button, .small-link, .danger, .wide-dashed, .menu-actions button, .history-tabs button, .panel-tabs button { font-size: 15px; }
.card { padding: 28px; border-radius: 12px; box-shadow: 0 3px 14px #263b3004; }
.card-head { margin-bottom: 22px; align-items: flex-start; }
.tip { padding: 23px; background: #edf1e5; }
.tip h3, .scene-inspector .tip h3 { font-size: 20px; }
.tip p, .scene-inspector .tip p { font-size: 16px; color: #51634b; }
.tip button, .scene-inspector .tip button { font-size: 15px; padding: 10px 13px; }
.setup-note strong, .setup-note p, .alert, .ready-step, .toast, .toast button { font-size: 14px; }
.setup-note p { color: #53694a; }
.alert { line-height: 1.65; }
.editorial-note { max-width: 68ch; color: var(--muted); font-size: 14px; padding: 11px 0; }
.icon, .avatar, .connection-links a, .film-research a, .back-to-draft { font-size: 15px; }
.final-bar h3 { font-size: 20px; }
.final-bar p, .final-bar button, .ai-brief > summary, .script-placeholder { font-size: 14px; }
.mode-choice h2 { font-size: 24px; }
.mode-choice p { font-size: 16px; color: var(--muted); }
.mode-choice .eyebrow, .scene-beat .card-head .eyebrow, .writing-title span, .inspector-stats > span { font-size: 14px; }
.writing-title h2 { font-size: 24px; }

/* Keep a single, stable set of four clickable steps. */
.shell, .simple-shell { grid-template-columns: 276px minmax(0, 1fr); }
.shell > aside, .simple-shell > aside { padding: 24px 20px; gap: 19px; background: #edf0e7; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-size: 23px; line-height: 1.15; letter-spacing: -.65px; font-weight: 600; vertical-align: middle; }
.brand img { display: block; width: 40px; height: 40px; flex: 0 0 40px; }
.brand span { white-space: nowrap; }
.brand b { width: 34px; height: 34px; }
.back-projects { font-size: 15px; color: #4f6655; min-height: 34px; }
.project-tile { padding: 15px; font-size: 17px; line-height: 1.45; }
.project-tile small { font-size: 14px; margin-top: 6px; }
.simple-shell > aside > .workflow-nav { gap: 6px; }
.simple-shell > aside > .workflow-nav button { min-height: 68px; padding: 11px 10px; gap: 12px; }
.workflow-number { width: 33px; height: 33px; font-size: 15px; color: #4f6652; }
.workflow-label strong { font-size: 17px; line-height: 1.3; }
.workflow-label small { font-size: 14px; color: #596b55; }
.project-context p, .side-scenes p, .simple-shell .side-scenes p { font-size: 14px; }
.shell > aside nav button, .simple-shell .side-bottom nav button { font-size: 15px; line-height: 1.4; }
.simple-shell .side-bottom nav { margin-bottom: 10px; }
.simple-shell .side-bottom nav button { min-height: 39px; padding: 7px 4px; }
.simple-shell .side-scenes { padding-top: 16px; min-height: 155px; }
.simple-shell .side-scenes nav button { font-size: 15px; padding: 10px 5px; gap: 7px; }
.side-scenes nav button span:first-child { font-size: 14px; color: #557049; min-width: 23px; }
.side-scenes nav button span:last-child { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.4; }
.account-tile strong, .account-tile small, .account-tile .avatar { font-size: 14px; }
.account-tile small { color: var(--muted); }
.simple-shell:has(.side-scenes) > aside { padding-top: 16px; padding-bottom: 16px; gap: 10px; }
.simple-shell:has(.side-scenes) > aside > .back-projects { min-height: 28px; }
.simple-shell:has(.side-scenes) > aside > .project-tile { padding: 10px 13px; }
.simple-shell:has(.side-scenes) > aside > .project-tile small { display: none; }
.simple-shell:has(.side-scenes) > aside > .workflow-nav { gap: 4px; }
.simple-shell:has(.side-scenes) > aside > .workflow-nav button { min-height: 54px; padding: 7px 9px; }
.simple-shell:has(.side-scenes) .workflow-label { gap: 2px; }
.simple-shell:has(.side-scenes) .workflow-label strong { font-size: 16px; }
.simple-shell:has(.side-scenes) .side-scenes { padding-top: 10px; min-height: 185px; gap: 5px; }
.simple-shell:has(.side-scenes) .side-scenes nav { margin-top: 4px; }
.simple-shell:has(.side-scenes) .side-scenes nav button { padding: 8px 5px; min-height: 41px; }
.simple-shell:has(.side-scenes) .side-bottom nav { margin-bottom: 7px; }
.simple-shell:has(.side-scenes) .side-bottom nav button { min-height: 32px; padding: 5px 4px; font-size: 14px; }
.simple-shell:has(.side-scenes) .account-tile { padding-top: 10px; }
.mobile-scene-picker { display: none; }
.shell header, header { min-height: 88px; height: auto; padding: 18px 36px; background: #fffefa; flex-wrap: wrap; }
.crumb, .crumb button, .shell header .crumb, .shell header .crumb button { font-size: 14px; }
.crumb strong { max-width: 280px; color: #435c45; }
.save-status, .shell header .save-status { font-size: 14px; color: #466a4c; }
.draft-picker, .draft-picker > span { font-size: 14px; color: var(--muted); }
.draft-picker select { width: 190px; font-size: 16px; padding: 9px 12px; background: #f8faf2; }
.workspace { padding: 38px 36px 76px; max-width: 1540px; }
.intro { margin-bottom: 30px; }
.intro p { max-width: 68ch; }
.step-footer { padding-top: 24px; }

/* Project shelf and versions share the same readable hierarchy. */
.library-shell > header { min-height: 106px; }
.library-main { max-width: 1440px; padding: 50px; }
.library-tools input { font-size: 17px; }
.project-grid { gap: 25px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.project-card-body { padding: 25px; }
.project-card-body h3 { font-size: 25px; line-height: 1.25; }
.project-card-body p, .project-card-body > small, .project-card-footer { font-size: 14px; line-height: 1.6; color: var(--muted); }
.project-card-footer > .primary { font-size: 15px; padding: 10px 14px; }
.project-cover small { font-size: 14px; color: #48663e; }
.new-project-card h3 { font-size: 24px; }
.new-project-card p, .library-bottom p, .library-bottom button, .library-empty p { font-size: 15px; }
.version { padding: 23px 0; }
.version small { font-size: 14px; }
.version-preview .script-title h2 { font-size: 24px; }

/* Large boards remain scannable, with explicit reading order. */
.scene-board-section > .board-toolbar h2 { font-size: 26px; line-height: 1.3; }
.scene-board-section > .board-toolbar p, .scene-board-section > .board-toolbar > .toolbar button { font-size: 15px; }
.board-toolbar .badge { font-size: 14px; }
.board-toolbar { padding: 24px; gap: 18px; }
.board-filterbar { padding: 16px 24px; flex-wrap: wrap; gap: 10px; }
.board-filterbar > input { font-size: 16px; max-width: 340px; padding: 11px 13px; }
.board-filterbar > button, .board-filterbar > .view-toggle button { font-size: 15px; padding: 10px 13px; }
.board-layout { background: #f0f2e8; }
.board-layout.with-order { grid-template-columns: minmax(0, 1fr) 320px; }
.ordered-scenes, .board-focus .ordered-scenes { grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 24px; padding: 24px; }
.scene-board-section .scene-card { background: #fffefa; border-color: #d1dbcb; }
.scene-board-section .scene-number { font-size: 14px; color: #506d43; letter-spacing: .5px; }
.scene-board-section .scene-number b { font-size: 28px; }
.scene-board-section .scene-card-top { padding: 17px 20px 3px; }
.scene-board-section .drag-handle { min-height: 44px; min-width: 34px; color: #5f784d; }
.scene-board-section .scene-card-open { padding: 12px 20px 18px; min-height: 220px; }
.scene-board-section .scene-card h3, .board-focus .scene-card h3 { font-size: 20px; line-height: 1.35; }
.scene-board-section .scene-card-open > p { height: auto; min-height: 50px; font-size: 15px; color: var(--muted); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.scene-board-section .card-characters { gap: 7px; margin: 17px 0; flex-wrap: wrap; }
.scene-board-section .card-characters > span { font-size: 14px; padding: 5px 8px; color: #405e35; }
.scene-board-section .card-characters > .no-character { color: #66725f; }
.scene-board-section .scene-card-footer { font-size: 14px; color: #526b44; }
.scene-board-section .card-order-actions { padding: 8px; gap: 3px; }
.scene-board-section .card-order-actions button { font-size: 14px; color: #4f6843; padding: 7px; }
.scene-board-section .card-order-actions button:nth-child(2) { min-width: 70px; }
.scene-board-section .scene-card.floating .scene-card-open { min-height: 205px; }
.scene-board-section .scene-card.floating h3 { min-height: 54px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.scene-board-section .scene-card.floating .scene-card-open > p { min-height: 48px; -webkit-line-clamp: 2; }
.scene-board-section .scene-card.floating .card-characters { margin: 12px 0; }
.scene-board-section .scene-card.floating .card-order-actions button { font-size: 14px; padding: 6px 4px; }
.scene-board-section .board-controls > span, .scene-board-section .board-controls button { font-size: 14px; }
.board-controls .toolbar > span, .scene-card-footer b, .card-order-actions span { font-size: 14px; }
.scene-board-section .board-help { color: var(--muted); font-size: 14px !important; }
.order-panel-heading h3 { font-size: 20px; }
.order-panel > p { font-size: 14px; color: var(--muted); }
.order-title { font-size: 16px; line-height: 1.45; }
.order-title small { font-size: 14px; color: var(--muted); }
.order-number { font-size: 17px; min-width: 42px; }
.order-row { min-height: 82px; }
.board-focus > .board-toolbar, .board-focus > .board-filterbar { background: #fffefa; }

/* Writing is the primary activity; secondary controls remain light. */
.scene-editor-toolbar > button, .scene-editor-toolbar .badge, .scene-menu button { font-size: 15px; }
.scene-editor-grid { grid-template-columns: minmax(0, 1fr) 285px; gap: 28px; }
.scene-editor-grid > div:first-child { min-width: 0; }
.scene-beat .card-head h3 { font-size: 20px; }
.scene-beat .card-head button { font-size: 15px; }
.scene-beat details summary, .scene-inspector .eyebrow { font-size: 14px; }
.scene-beat textarea { font-family: var(--font-editorial); font-size: 18px; line-height: 1.8; }
.dialogue-block { padding: 22px; background: #f3f3e9; border-color: #d8dfcc; }
.dialogue-block label, .dialogue-block input { font-size: 15px; }
.dialogue-block-head select { font-size: 17px; max-width: 290px; }
.dialogue-block textarea { font-family: var(--font-editorial); font-size: 18px; line-height: 1.8; min-height: 130px; }
.scene-inspector .checks label { font-size: 16px; gap: 9px; }
.screenplay-toolbar p, .screenplay-toolbar label { font-size: 15px; }
.screenplay-toolbar label { max-width: 450px; }
.screenplay-toolbar select { font-size: 17px; }
.screenplay-scene-heading button { font-family: var(--font-editorial); font-size: 14px; }
.screenplay, .screenplay h2, .screenplay h3, .screenplay p, .script-action, .script-dialogue { font-family: "Courier New", Courier, monospace; }
.screenplay-scene-heading h3, .script-action, .script-dialogue > strong, .script-dialogue p { font-size: 16px; color: var(--ink); }
.script-title p { font-size: 15px; }
.writing-search { width: 100%; margin-top: 6px; padding: 7px 10px; font-size: 15px; min-height: 38px; line-height: 1.5; flex-shrink: 0; }
.writing-filter { width: 100%; margin: 0; padding: 6px 9px; font-size: 14px; min-height: 36px; line-height: 1.5; flex-shrink: 0; }
.scene-status { display: inline-flex; align-items: center; gap: 6px; color: #4d6543; background: #eef3e6; border: 1px solid #d4dfca; border-radius: 20px; padding: 5px 11px; font-size: 14px; }
.storyboard-scene .card-head h2 { font-size: 26px; }
.storyboard-scene .card-head button, .storyboard-scene > details > button, .drawing-option > button { font-size: 15px; }
.storyboard-scene .frame { color: #5d6c52; }
.storyboard-scene .frame span { font-size: 15px; }
.panel-tabs { gap: 10px; }
.alternatives { gap: 20px; }

/* One contextual assistant, independent of the current work view. */
.assistant-trigger { border-color: #b4c5a8; background: #edf3e6; color: #34592b; white-space: nowrap; }
.assistant-backdrop { position: fixed; inset: 0; z-index: 6990; background: #23372c45; backdrop-filter: blur(2px); }
.assistant-drawer { position: fixed; inset: 0 0 0 auto; z-index: 7000; width: 420px; max-width: 100%; height: 100dvh; display: flex; flex-direction: column; padding: 22px 25px; gap: 14px; background: #fffefa; color: var(--ink); border-left: 1px solid #ced8c5; box-shadow: -14px 0 50px #263b301f; overflow-y: auto; overscroll-behavior: contain; scroll-padding-top: 22px; }
.assistant-drawer > * { flex-shrink: 0; }
body:has(.assistant-drawer) { overflow: hidden; }
.assistant-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.assistant-heading { position: sticky; top: -22px; z-index: 2; background: #fffefa; padding: 8px 0; flex-shrink: 0; }
.assistant-heading h2 { font-size: 28px; margin: 0; }
.assistant-heading button { flex-shrink: 0; min-width: 44px; }
.assistant-context { padding: 10px 13px; border: 1px solid #d8e0cf; border-radius: 9px; background: #f2f5ea; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; color: #425b36; }
.assistant-context strong { display: block; font-size: 17px; }
.assistant-drawer p { font-size: 16px; line-height: 1.7; }
.assistant-drawer label, .assistant-drawer small, .assistant-drawer summary { font-size: 14px; }
.assistant-drawer > label { margin: 0; }
.assistant-drawer input, .assistant-drawer select, .assistant-drawer textarea { font-size: 17px; line-height: 1.5; padding: 8px 11px; margin-top: 5px; }
.assistant-drawer textarea { min-height: 95px; }
.assistant-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.assistant-task-grid button { text-align: left; padding: 10px 12px; min-height: 44px; font-size: 15px; background: #fff; }
.assistant-task-grid button:last-child:nth-child(odd) { grid-column: 1 / -1; }
.assistant-task-grid button.active, .assistant-task-grid button[aria-pressed="true"] { background: #eaf1e2; border-color: #8daa79; color: #2d5326; }
.assistant-options { display: block; margin: 0; padding: 0; }
.assistant-options details { margin: 6px 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; }
.assistant-options summary { font-size: 15px; }
.assistant-result { padding-top: 18px; border-top: 1px solid var(--line); }
.assistant-result h3 { font-size: 21px; margin-bottom: 12px; }
.assistant-result ul { padding-left: 22px; }
.assistant-result li { margin: 10px 0; font-size: 16px; line-height: 1.65; }
.assistant-compare { display: grid; gap: 12px; }
.assistant-compare > div, .assistant-finding { padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: #f8f8f1; }
.assistant-compare > div:last-child { background: #f0f5e8; border-color: #c8dab9; }
.assistant-compare p { white-space: pre-wrap; }
.assistant-compare strong { display: block; font-size: 15px; margin-bottom: 8px; }
.assistant-finding { margin: 12px 0; }
.assistant-finding h3, .assistant-finding strong { font-size: 18px; }
.assistant-finding p { margin: 8px 0; }
.assistant-finding button { font-size: 14px; margin-top: 10px; }
.assistant-footer { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 0; padding-top: 14px; border-top: 1px solid var(--line); }
.assistant-footer button { flex: 1; min-width: 115px; }
.assistant-status { font-size: 14px; line-height: 1.65; padding: 12px 14px; background: #f0f4e8; border-radius: 8px; color: #4d6343; }
.assistant-field-tools { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.assistant-field-tools button { font-size: 14px; padding: 8px 11px; min-height: 38px; border-color: #d2deca; color: #3b6331; background: #f8faf3; }
.scene-plan-dialog { max-width: 580px; padding: 30px; }
.scene-plan-dialog h2 { font-size: 28px; }
.scene-plan-dialog .checks { gap: 8px 14px; margin-top: 16px; }
.scene-plan-dialog .checks label { font-size: 16px; }
.scene-plan-dialog textarea { min-height: 110px; }
.assistant-drawer details { margin-top: 0; }
.assistant-drawer details > summary { min-height: 36px; padding: 7px 0; }
.assistant-options > label { margin: 8px 0 0; }
.assistant-option { margin: 18px 0 24px; }
.assistant-option > button { margin-top: 12px; }

/* The login view follows the same typography, without requiring a web font. */
.login-copy h1 { font-size: clamp(40px, 4vw, 60px); line-height: 1.1; letter-spacing: -1px; }
.login-copy p, .login-form-inner > p { font-size: 17px; }
.login-form-inner h2 { font-size: 36px; }
.mini-scene small, .mini-scene p, .mini-scene span, .login-foot, .login-divider { font-size: 14px; }
.mini-scene strong { font-size: 17px; }
.google-button, .guest-button { font-size: 17px; }
.login-privacy { font-size: 14px !important; color: var(--muted); }

@media (max-width: 1250px) {
  .shell, .simple-shell { grid-template-columns: 260px minmax(0, 1fr); }
  .workspace { padding: 30px 25px 60px; }
  .shell header { padding: 17px 25px; }
  .scene-editor-grid { grid-template-columns: minmax(0, 1fr); }
  .scene-inspector { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .scene-inspector .card, .scene-inspector .tip { margin-bottom: 0; }
  .scene-menu { grid-column: 1 / -1; }
  .ordered-scenes, .board-focus .ordered-scenes { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
}
@media (max-width: 1000px) {
  .board-layout.with-order { grid-template-columns: minmax(0, 1fr); }
  .with-order .scene-surface { display: none; }
  .with-order .order-panel { height: 590px !important; border-left: 0 !important; }
  .board-focus .with-order .order-panel { height: 100% !important; }
  .board-filterbar > input { order: 4; margin-left: 0; flex: 1 1 100%; max-width: none; }
  .simple-shell header .toolbar { justify-content: flex-start; }
  .login-story { padding: 36px; }
}
@media (max-width: 700px) {
  .brand { font-size: 20px; gap: 9px; }
  .brand img { width: 36px; height: 36px; flex-basis: 36px; }
  body { font-size: 17px; }
  .shell, .simple-shell { display: block; }
  .shell > aside, .simple-shell > aside { position: relative; height: auto; padding: 18px 15px; gap: 15px; }
  .simple-shell > aside > .workflow-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .simple-shell > aside > .workflow-nav button { flex-direction: row; justify-content: flex-start; text-align: left; gap: 9px; padding: 9px; min-height: 61px; }
  .workflow-label strong { font-size: 15px; }
  .workflow-label small { display: none; }
  .workflow-number { font-size: 14px; width: 28px; height: 28px; }
  .simple-shell:has(.side-scenes) > aside { padding: 18px 15px; gap: 15px; }
  .simple-shell:has(.side-scenes) > aside > .workflow-nav button { min-height: 61px; padding: 9px; }
  .mobile-scene-picker { display: block; width: 100%; margin: 0; color: #435c45; font-size: 14px; }
  .mobile-scene-picker select { margin-top: 5px; min-height: 44px; font-size: 17px; width: 100%; }
  .shell header { padding: 15px 17px; gap: 14px; }
  .shell header .toolbar button { font-size: 14px; padding: 10px 12px; }
  .draft-picker select { max-width: 160px; font-size: 16px; }
  .crumb strong { max-width: 180px; }
  .workspace { padding: 27px 16px 55px; }
  .intro h1 { font-size: 34px; }
  .intro p { font-size: 16px; }
  .card { padding: 22px; }
  .card h2, .scene-board-section > .board-toolbar h2 { font-size: 25px; }
  .board-toolbar, .board-focus > .board-toolbar { padding: 20px 18px; }
  .board-filterbar, .board-focus > .board-filterbar { padding: 14px 18px; }
  .board-toolbar > .toolbar { justify-content: flex-start; gap: 8px; }
  .scene-board-section > .board-toolbar > .toolbar button { font-size: 14px; padding: 10px 11px; }
  .board-filterbar > button, .board-filterbar > .view-toggle button { font-size: 14px; padding: 10px; }
  .ordered-scenes, .board-focus .ordered-scenes { grid-template-columns: 1fr; padding: 18px; gap: 18px; }
  .scene-board-section .scene-card-open { min-height: 210px; }
  .scene-board-section .card-order-actions button { font-size: 14px; padding: 7px; }
  .scene-inspector { grid-template-columns: 1fr; }
  .scene-editor-toolbar, .screenplay-toolbar { align-items: flex-start; gap: 16px; }
  .dialogue-block { padding: 18px; }
  .dialogue-block-head { align-items: flex-end; flex-wrap: wrap; gap: 12px; }
  .dialogue-block-head .toolbar { gap: 6px; }
  .dialogue-block-head select { min-width: 180px; }
  .screenplay { padding: 30px 22px; }
  .screenplay-scene-heading h3 { font-size: 15px; }
  .script-dialogue { width: 88%; }
  .step-footer { flex-wrap: wrap; }
  .step-footer button, .ready-step { font-size: 14px; }
  .library-main { padding: 32px 20px; }
  .library-shell > header { padding: 20px; }
  .project-grid { grid-template-columns: 1fr; gap: 20px; }
  .library-heading h1 { font-size: 38px; }
  .library-heading p, .library-heading > .primary { font-size: 16px; }
  .library-shell .account-tile strong { font-size: 14px; }
  .library-tools input { max-width: none; }
  .assistant-drawer { width: min(420px, calc(100vw - 12px)); padding: 20px 21px; }
  .assistant-heading h2 { font-size: 27px; }
  .login-form-inner h2 { font-size: 34px; }
  .login-copy h1 { font-size: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  button { transition: none; }
}
@media print {
  body { background: white; color: black; }
  .assistant-drawer, .assistant-backdrop, .assistant-trigger, .assistant-field-tools, .editorial-note, .writing-search, .writing-filter, .scene-status, .mobile-scene-picker { display: none !important; }
  body:has(.assistant-drawer) { overflow: visible; }
  .screenplay, .screenplay h2, .screenplay h3, .screenplay p, .script-action, .script-dialogue { font-family: "Courier New", Courier, monospace; color: black; }
  .screenplay-scene-heading h3, .script-action, .script-dialogue > strong, .script-dialogue p { font-size: 12pt; line-height: 1.6; }
  .print-artifact, .storyboard-print { font-family: var(--font-editorial); }
}

/* Imported single drawings use the available reading width. */
.alternatives:has(> :only-child) { grid-template-columns: 1fr; }
