/* Approved calculator palette. UI surfaces only; book renderers and artwork stay unchanged. */
:root{--page-bg:#fdfbf7;--panel:#fff;--ink:#334155;--muted:#64748b;--line:#e2e8f0;--accent:#be123c;--accent-soft:#fff1f2;--error:#9f1239;--radius-lg:18px;--radius-md:10px;--shadow:0 1px 3px rgba(51,65,85,.05);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
body{background:var(--page-bg)}
.page-head{display:flex;flex-direction:column;align-items:stretch;gap:22px;margin-bottom:30px}
.brand-lockup{display:flex;align-items:center;gap:11px}
.brand-symbol{width:45px;height:45px;flex-shrink:0;display:block;overflow:hidden}
.brand-symbol img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.27)}
.brand-name{font-size:20px;line-height:30px;font-weight:650;letter-spacing:.03em;margin:0}
.brand-signature{font-size:12px;line-height:20px;color:var(--muted);margin:0;letter-spacing:.06em}
.brand-intro .eyebrow{font-size:14px;line-height:22px;letter-spacing:.06em;font-weight:500;margin:0 0 9px}
.brand-intro h1{font-family:inherit;font-size:30px;line-height:46px;font-weight:650;letter-spacing:.015em;max-width:1000px}
.book-library{background:transparent;box-shadow:none;border-color:transparent}
.public-template{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
.public-tag{color:#64748b}.public-template h3{color:var(--ink)}
.primary-button,.secondary-button,.draft-tools summary,.mobile-views button{border-radius:10px;box-shadow:none;min-height:44px;font-family:inherit}
.primary-button,.secondary-button{font-weight:500}
.primary-button{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}
.primary-button:hover:not(:disabled){background:#ffe4e6;border-color:#fda4af;box-shadow:none;transform:none}
.secondary-button{background:#fff;color:#475569;border:1px solid #e2e8f0}
.secondary-button:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8;transform:none}
.text-button{color:#475569}.danger-link{color:#9f1239}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7dd3fc;outline-offset:3px}
.editor-topbar{padding:10px 0;margin-bottom:22px}
.editor-topbar h2{font-size:24px;line-height:32px;font-weight:650}
.editor-topbar .step-label{font-size:12px;line-height:20px;font-weight:500;letter-spacing:.06em}
.editor-topbar .save-status{color:#64748b;font-size:14px;line-height:22px}
.editor-topbar .save-status[data-state=saved]{color:#047857}
.editor-topbar .save-status.is-dirty{color:#64748b}.editor-topbar .save-status.is-error{color:#9f1239}
.draft-tools summary{background:#fff;color:#475569;border-color:#e2e8f0;font-size:16px}
.draft-tools-content{background:#fff;border-color:#e2e8f0;box-shadow:0 8px 24px rgba(51,65,85,.08)}
.book-progress{background:#fff;border-color:#e2e8f0;border-radius:14px;padding:17px 20px;margin-bottom:22px}
.book-progress-copy strong{font-size:17px;line-height:26px}.book-progress-copy span{font-size:14px;line-height:22px;color:#64748b}
.book-progress-track{background:#f1f5f9;height:6px}.book-progress-track span{background:#7dd3fc}
.control-panel,.preview-panel,.book-review-panel,.print-preparation{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:var(--shadow)}
.control-panel,.preview-panel{padding:22px}
.section-head{border-bottom-color:#f1f5f9}.section-head h2,.preview-toolbar h2{font-size:18px;line-height:28px;font-weight:600}
.page-count{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.field-group>label,.field-label,.field-list label,.book-field-list label{color:#334155;font-size:16px;line-height:26px;font-weight:500}
.field-group input,.field-group select,.field-list input,.book-field-list input,.photo-slot-card select{background:#fff;color:#334155;border:1px solid #e2e8f0;border-radius:10px;min-height:46px;font-size:16px;line-height:24px}
.field-group input:focus,.field-group select:focus,.field-list input:focus,.book-field-list input:focus{border-color:#7dd3fc;box-shadow:0 0 0 2px #f0f9ff;outline-color:#7dd3fc}
.drop-zone{background:#f8fcff;border:1px dashed #bae6fd;border-radius:12px;box-shadow:none}
.drop-zone:hover{background:#f0f9ff;border-color:#7dd3fc}
.upload-mark{background:#e0f2fe;color:#0369a1;border-color:#bae6fd;border-radius:10px}
.upload-copy strong{font-size:17px;line-height:28px;color:#475569}.upload-copy small{font-size:14px;line-height:22px;color:#64748b}
.file-note,.preview-note,.layout-check-control p,.photo-slot-intro{font-size:14px;line-height:22px;color:#64748b}
.inline-page-preview{background:#f8fafc;border:0;border-radius:12px;padding:16px}
.inline-page-preview>strong{color:#334155}.inline-page-preview p{color:#64748b}.inline-page-preview canvas{box-shadow:0 3px 12px rgba(51,65,85,.07)}
.photo-guide{background:transparent;border-color:#e2e8f0;color:#334155}
.photo-guide-title{color:#334155}.photo-guide-item>span{color:#64748b;font-size:14px;line-height:22px}
.photo-guide-item p,.photo-guide-item li{color:#475569;font-size:16px;line-height:26px}
.photo-guide-avoid{border-color:#e2e8f0}.photo-guide-avoid>span{color:#64748b}
.illustration-reference{border-top-color:#e2e8f0}.illustration-reference .public-muted{color:#64748b}
.layout-check-control{background:#f8fafc;border-color:#e2e8f0;border-radius:10px}
.layout-check-control input{accent-color:#0284c7}.layout-check-control label{color:#334155}
.preview-frame{background:#f6f8fb;border-color:transparent;border-radius:12px;padding:24px}
.orientation-badge{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.paired-spread-preview,.page-turn-preview{background:#f8fafc;border-color:#e2e8f0;border-radius:12px}
.paired-spread-head>span,.spread-surface figcaption{color:#64748b}
.photo-slot-card,.photo-slot-control{background:#fff;border-color:#e2e8f0;border-radius:12px}
.photo-slot-control{min-height:110px;padding:12px}
.photo-slot-control:hover,.photo-slot-control:focus-within,.photo-slot-control.has-photo{background:#f8fcff;border-color:#7dd3fc}
.photo-slot-number{background:#e0f2fe;color:#0369a1!important}
.photo-slot-copy strong{font-size:16px;line-height:26px;font-weight:500;white-space:normal;overflow:visible}
.photo-slot-copy small{font-size:14px;line-height:22px;white-space:normal;overflow-wrap:anywhere}
.photo-slot-card .secondary-button{background:#fff}.save-inline-status{color:#64748b}
.save-inline-status.is-saved{color:#047857}.save-inline-status.is-error,.status-line.is-error,.print-status.is-error{color:#9f1239}
.book-overview-intro{background:#f8fafc;border-left:0;border-radius:10px;color:#334155}
.book-overview-intro p,.review-summary{color:#475569}
.surface-overview-row{background:#fff;border-color:#e2e8f0;border-radius:12px}
.surface-overview-row:hover{background:#f8fcff;border-color:#bae6fd}
.surface-overview-row.is-ready{background:#fff;border-color:#d1fae5}
.surface-overview-meta{color:#64748b}.surface-overview-status{color:#9f1239}
.surface-overview-row.is-ready .surface-overview-status{color:#047857}
.overview-page-thumb{background:#f8fafc;border-radius:6px}
.output-choices [aria-pressed=true],.mobile-views button[aria-pressed=true]{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}
.product-output,.output-print-help{border-color:#e2e8f0}.output-note{color:#64748b}
.output-status.is-error{background:#fff1f2;color:#9f1239;border-radius:10px}
.product-output select{border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;padding:10px 12px;font-size:16px}
.output-card-preview img{border-color:#e2e8f0}.output-summary,.output-status,.output-intro{color:#475569}
.book-guide-link{color:#0369a1}.guide-shell{max-width:760px;color:#334155}
.guide-shell h1{font-family:inherit;font-size:30px;line-height:42px;font-weight:650}
.guide-shell a{color:#0369a1}.guide-meta{color:#64748b}
.guide-nav,.guide-section{border-color:#e2e8f0}
.guide-chapter,.guide-cases dl{background:#fff;border-color:#e2e8f0;box-shadow:none}
.guide-cases dt{color:#64748b}.guide-cta{background:#fff1f2;border:1px solid #fecdd3;color:#be123c!important}
.guide-brand{display:flex;align-items:center;gap:10px;margin:20px 0 28px}.guide-brand .brand-name{font-size:17px;line-height:26px}.guide-brand .brand-symbol{width:38px;height:38px}
.guide-brand .brand-name,.guide-brand .brand-signature{margin:0}
.guide-shell :focus-visible{outline-color:#7dd3fc}
#public-dialog{background:#fff;border-color:#e2e8f0;box-shadow:0 12px 40px rgba(51,65,85,.12)}
#public-dialog::backdrop{background:rgba(51,65,85,.36)}
#operation-status{background:#f0f9ff;border-color:#bae6fd;color:#075985;box-shadow:var(--shadow)}
#operation-status[data-state=error]{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
.showcase-sheet,.showcase-zoom{background:#fdfbf7}.showcase-head p,.showcase-hint,.showcase-caption{color:#64748b}
.mobile-image-save{margin:20px 0;padding:18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;max-width:620px}
.mobile-image-save>strong{display:block;font-size:17px;line-height:28px;margin-bottom:14px}
.mobile-save-image{display:block;width:100%;height:auto;max-height:none;user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default;border-radius:4px;box-shadow:0 3px 12px rgba(51,65,85,.07)}
.mobile-save-image:not([src]){display:none}.mobile-image-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.mobile-image-actions button{min-height:48px;font-size:16px;line-height:24px}
@media(max-width:1000px){.workbench-grid{grid-template-columns:minmax(270px,.82fr) minmax(0,1.45fr)}}
@media(max-width:860px){
 .workbench-shell{padding-top:20px}.brand-intro h1{font-size:26px;line-height:40px}.page-head{gap:20px;margin-bottom:26px}
 .brand-name{font-size:20px}.brand-intro .eyebrow{font-size:14px;line-height:22px}
 .editor-topbar{padding:0;margin-bottom:18px}.editor-topbar .step-label{font-size:14px;line-height:22px}
 .editor-topbar h2{font-size:24px;line-height:32px}.editor-topbar .save-status{font-size:14px;line-height:22px}
 .book-progress{padding:14px;gap:12px}.book-progress-copy strong{font-size:17px;line-height:26px}.book-progress-copy span{font-size:14px;line-height:22px}
 .control-panel,.preview-panel{padding:16px;border-radius:18px}
 .section-head h2,.preview-toolbar h2{font-size:20px;line-height:28px}
 .public-toolbar{background:#fdfbf7}.mobile-views button{font-size:16px;line-height:24px;min-height:48px}
 .field-group input,.field-group select,.field-list input,.book-field-list input,.photo-slot-card select{font-size:17px;min-height:50px;line-height:26px}
 .preview-frame{padding:12px}.photo-guide-item p,.photo-guide-item li{font-size:16px;line-height:26px}
 .upload-copy strong{font-size:17px;line-height:28px}.upload-copy small{font-size:14px;line-height:22px}
 .action-row button,.print-actions button,.output-choices button{font-size:16px;line-height:24px;min-height:50px}
 .product-output select{font-size:17px;line-height:26px}.mobile-image-save{padding:12px}
 .surface-overview-copy strong{font-size:16px;line-height:26px}.surface-overview-meta,.surface-overview-status{font-size:14px;line-height:22px}
 .guide-shell h1{font-size:28px;line-height:38px}
}
@media(max-width:390px){.brand-intro h1{font-size:24px;line-height:36px}.mobile-image-actions button{flex:1 1 100px}.mobile-image-save{padding:10px}.control-panel,.preview-panel{padding:14px}}
@media(prefers-reduced-motion:reduce){.book-progress-track span{transition:none}}
.author-follow-card,.output-follow{margin:28px 0 18px;padding:24px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:16px;color:#334155}
.author-follow-card h3,.output-follow h3{font-size:20px;line-height:30px;margin:0 0 8px;font-weight:600}
.author-follow-card>p,.output-follow p{font-size:16px;line-height:26px;margin:8px 0 16px;color:#475569}
.author-profile summary{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;list-style:none}
.author-profile[open] summary{margin-bottom:18px}
.author-profile>div{padding-top:14px;border-top:1px solid #bae6fd}
.author-profile strong{font-size:18px;line-height:28px}.author-profile p{font-size:16px;line-height:26px;margin:10px 0;color:#475569}
.author-profile .primary-button{display:inline-flex;align-items:center;text-decoration:none;margin-top:8px;min-height:48px}
.final-edition-shell{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:var(--shadow)}
.final-edition-downloads .primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;text-decoration:none;border-radius:10px}
.final-edition-count{color:#64748b}.final-edition-intro{color:#475569}.final-edition-downloads .public-note{font-size:14px;line-height:22px;margin-top:12px}
.final-page-card{background:#f8fafc;border-color:#e2e8f0}.final-page-card figcaption{font-size:14px;line-height:22px}
@media(max-width:600px){.author-follow-card,.output-follow{padding:20px}.author-profile summary{display:flex;justify-content:center}.final-edition-shell{padding:16px}.final-edition-head{flex-wrap:wrap;gap:12px}.final-edition-title{overflow-wrap:anywhere}}

#final-edition-shell[data-edition-kind="local-family"] .final-page-card img{height:auto;aspect-ratio:auto;object-fit:contain}
#final-edition-title{overflow-wrap:anywhere}

.author-profile a.primary-button,#final-edition-downloads a.primary-button{display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:16px;line-height:24px;font-weight:700;min-height:48px}
