.epub-studio{--es-bg:var(--bg);--es-surface:var(--surface);--es-sunken:color-mix(in srgb,var(--bg) 70%,var(--border));--es-border:var(--border);--es-text:var(--text);--es-text-secondary:var(--muted);--es-text-muted:color-mix(in srgb,var(--muted) 75%,transparent);--es-accent:var(--accent);--es-accent-strong:var(--accent-strong);--es-accent-soft:color-mix(in srgb,var(--accent) 12%,transparent);--es-accent-gradient:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);--es-danger:#dc2626;--es-success:var(--accent-strong);--es-warning:#b45309;height:calc(100dvh - 72px);min-height:640px;display:flex;flex-direction:column;background:var(--es-bg);color:var(--es-text);font-family:var(--font-montserrat),system-ui,sans-serif;font-size:14px;overflow:hidden}.dark .epub-studio{--es-sunken:color-mix(in srgb,var(--navy) 70%,transparent);--es-danger:#f87171;--es-warning:#fbbf24}.epub-studio *,.epub-studio :after,.epub-studio :before{box-sizing:border-box}.epub-studio button{font-family:inherit;cursor:pointer}.epub-studio input,.epub-studio textarea{font-family:inherit;color:inherit}.epub-studio .studio-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;height:58px;padding:0 16px;border-bottom:1px solid var(--es-border);background:var(--es-surface)}.epub-studio .studio-brand{display:flex;align-items:center;gap:10px;min-width:0}.epub-studio .studio-title{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.epub-studio .brand-icon{color:var(--es-accent);flex:0 0 auto}.epub-studio .badge-kdp{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid color-mix(in srgb,var(--es-accent) 35%,transparent);border-radius:999px;background:var(--es-accent-soft);color:var(--es-accent);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.epub-studio .studio-actions{display:flex;align-items:center;gap:14px}.epub-studio .status-toast{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600}.epub-studio .status-toast.generating{color:var(--es-accent)}.epub-studio .status-toast.success{color:var(--es-success)}.epub-studio .status-toast.error{color:var(--es-danger)}.epub-studio .status-dot{width:8px;height:8px;border-radius:50%;background:var(--es-accent);animation:es-pulse 1.1s ease-in-out infinite}@keyframes es-pulse{0%,to{opacity:1}50%{opacity:.25}}.epub-studio .draft-note{font-size:11.5px;font-weight:600;color:var(--es-text-muted);white-space:nowrap}.epub-studio .draft-note.warn{color:var(--es-warning)}.epub-studio .btn-help{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--es-border);border-radius:7px;background:var(--es-bg);color:var(--es-text-secondary);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.epub-studio .btn-help:hover{border-color:var(--es-accent);color:var(--es-accent)}.epub-studio .btn-export{display:inline-flex;align-items:center;gap:8px;padding:9px 17px;border:none;border-radius:7px;background:var(--es-accent-gradient);color:#fff;font-size:13.5px;font-weight:600;box-shadow:0 2px 10px color-mix(in srgb,var(--es-accent) 35%,transparent);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.epub-studio .btn-export:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px color-mix(in srgb,var(--es-accent) 45%,transparent)}.epub-studio .btn-export:disabled{opacity:.6;cursor:not-allowed}.epub-studio .workspace{flex:1 1 auto;display:flex;align-items:stretch;min-height:0}.epub-studio .resizer{flex:0 0 auto;width:5px;cursor:col-resize;background:transparent;border-left:1px solid var(--es-border);transition:background-color .15s ease}.epub-studio .resizer:hover{background:color-mix(in srgb,var(--es-accent) 30%,transparent)}.epub-studio .sidebar-panel{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;background:var(--es-surface);border-right:1px solid var(--es-border)}.epub-studio .sidebar-tabs{display:flex;flex:0 0 auto;border-bottom:1px solid var(--es-border)}.epub-studio .sidebar-tab{flex:1;padding:12px 8px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--es-text-secondary);font-size:12.5px;font-weight:600;transition:color .15s ease,border-color .15s ease}.epub-studio .sidebar-tab:hover{color:var(--es-text)}.epub-studio .sidebar-tab.active{color:var(--es-accent);border-bottom-color:var(--es-accent)}.epub-studio .sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px}.epub-studio .btn-add-chapter{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px;margin-bottom:14px;border:1px dashed color-mix(in srgb,var(--es-accent) 45%,transparent);border-radius:8px;background:var(--es-accent-soft);color:var(--es-accent);font-size:13px;font-weight:600;transition:background-color .15s ease,border-color .15s ease}.epub-studio .btn-add-chapter:hover{background:color-mix(in srgb,var(--es-accent) 18%,transparent);border-color:var(--es-accent)}.epub-studio .chapter-list{display:flex;flex-direction:column;gap:7px}.epub-studio .chapter-card{display:flex;align-items:center;gap:8px;width:100%;padding:10px 11px;border:1px solid var(--es-border);border-radius:8px;background:var(--es-bg);text-align:left;transition:border-color .15s ease,background-color .15s ease}.epub-studio .chapter-card:hover{border-color:color-mix(in srgb,var(--es-accent) 45%,transparent)}.epub-studio .chapter-card.active{border-color:var(--es-accent);background:var(--es-accent-soft)}.epub-studio .chapter-card-body{flex:1 1 auto;min-width:0}.epub-studio .chapter-index{display:block;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--es-text-muted)}.epub-studio .chapter-card.active .chapter-index{color:var(--es-accent)}.epub-studio .chapter-name{display:block;margin-top:2px;font-size:13px;font-weight:600;color:var(--es-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.epub-studio .chapter-row-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto;opacity:0;transition:opacity .15s ease}.epub-studio .chapter-card:focus-within .chapter-row-actions,.epub-studio .chapter-card:hover .chapter-row-actions{opacity:1}.epub-studio .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:5px;background:transparent;color:var(--es-text-secondary);transition:background-color .15s ease,color .15s ease}.epub-studio .icon-btn:hover:not(:disabled){background:var(--es-sunken);color:var(--es-text)}.epub-studio .icon-btn:disabled{opacity:.3;cursor:not-allowed}.epub-studio .icon-btn.danger:hover:not(:disabled){color:var(--es-danger);background:color-mix(in srgb,var(--es-danger) 12%,transparent)}.epub-studio .settings-group{margin-bottom:22px}.epub-studio .settings-label{display:block;margin-bottom:10px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--es-accent)}.epub-studio .settings-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.epub-studio .link-btn{padding:0;border:none;background:transparent;color:var(--es-text-muted);font-size:11px;font-weight:600;transition:color .15s ease}.epub-studio .link-btn:hover{color:var(--es-accent)}.epub-studio .field{margin-bottom:11px}.epub-studio .field-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:11.5px;font-weight:600;color:var(--es-text-secondary)}.epub-studio .field-value{font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;color:var(--es-accent)}.epub-studio .slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;margin:6px 0;border-radius:999px;background:var(--es-sunken);border:1px solid var(--es-border);cursor:pointer}.epub-studio .slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border:none;border-radius:50%;background:var(--es-accent);box-shadow:0 1px 4px rgba(2,6,23,.3);cursor:grab}.epub-studio .slider::-webkit-slider-thumb:active{cursor:grabbing}.epub-studio .slider::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--es-accent);box-shadow:0 1px 4px rgba(2,6,23,.3);cursor:grab}.epub-studio .slider:focus-visible{outline:2px solid var(--es-accent);outline-offset:3px}.epub-studio .switch-row{justify-content:flex-start;padding:9px 11px}.epub-studio .switch-row,.epub-studio .text-input{width:100%;border:1px solid var(--es-border);border-radius:7px;background:var(--es-bg)}.epub-studio .text-input{padding:8px 10px;font-size:13px;transition:border-color .15s ease}.epub-studio .text-input:focus{outline:none;border-color:var(--es-accent)}.epub-studio .option-grid{display:grid;gap:6px}.epub-studio .option-grid.cols-2{grid-template-columns:repeat(2,1fr)}.epub-studio .option-grid.cols-3{grid-template-columns:repeat(3,1fr)}.epub-studio .option-grid.cols-4{grid-template-columns:repeat(4,1fr)}.epub-studio .option-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 6px;border:1px solid var(--es-border);border-radius:7px;background:var(--es-bg);color:var(--es-text-secondary);font-size:12px;font-weight:600;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.epub-studio .option-btn:hover{color:var(--es-text);border-color:color-mix(in srgb,var(--es-accent) 45%,transparent)}.epub-studio .option-btn.active{border-color:var(--es-accent);background:var(--es-accent-soft);color:var(--es-accent)}.epub-studio .btn-outline{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px;border:1px solid var(--es-border);border-radius:7px;background:var(--es-bg);color:var(--es-text);font-size:12.5px;font-weight:600;transition:border-color .15s ease,color .15s ease}.epub-studio .btn-outline:hover{border-color:var(--es-accent);color:var(--es-accent)}.epub-studio .btn-outline.danger:hover{border-color:var(--es-danger);color:var(--es-danger)}.epub-studio .settings-hint{margin:0 0 10px;font-size:11.5px;line-height:1.5;color:var(--es-text-muted)}.epub-studio .cover-preview{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--es-border);border-radius:8px;background:var(--es-bg)}.epub-studio .cover-thumb{flex:0 0 auto;width:52px;height:83px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid var(--es-border);background:var(--es-sunken)}.epub-studio .cover-meta{min-width:0}.epub-studio .cover-file{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.epub-studio .cover-dims{margin-top:3px;font-size:11px;color:var(--es-text-muted)}.epub-studio .cover-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.epub-studio .cover-warning{display:flex;align-items:flex-start;gap:7px;margin-top:8px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--es-warning) 35%,transparent);border-radius:7px;background:color-mix(in srgb,var(--es-warning) 10%,transparent);color:var(--es-warning);font-size:11.5px;line-height:1.45}.epub-studio .cover-warning svg{flex:0 0 auto;margin-top:1px}.epub-studio .editor-panel{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--es-bg)}.epub-studio .chapter-title-input{flex:0 0 auto;width:100%;padding:16px 22px 12px;border:none;background:transparent;font-size:21px;font-weight:700;letter-spacing:-.01em}.epub-studio .chapter-title-input:focus{outline:none}.epub-studio .chapter-title-input::-moz-placeholder{color:var(--es-text-muted)}.epub-studio .chapter-title-input::placeholder{color:var(--es-text-muted)}.epub-studio .toolbar{display:flex;align-items:center;gap:3px;flex:0 0 auto;flex-wrap:wrap;padding:7px 16px;border-top:1px solid var(--es-border);border-bottom:1px solid var(--es-border);background:var(--es-surface)}.epub-studio .toolbar-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:none;border-radius:6px;background:transparent;color:var(--es-text-secondary);transition:background-color .15s ease,color .15s ease}.epub-studio .toolbar-btn:hover{background:var(--es-sunken);color:var(--es-text)}.epub-studio .toolbar-btn.accent{color:var(--es-accent)}.epub-studio .toolbar-divider{width:1px;height:18px;margin:0 5px;background:var(--es-border)}.epub-studio .toolbar-spacer{flex:1 1 auto}.epub-studio .switch-label{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:var(--es-text-secondary);cursor:pointer;white-space:nowrap}.epub-studio .switch{position:relative;width:34px;height:19px;flex:0 0 auto;border-radius:999px;border:1px solid var(--es-border);background:var(--es-sunken);transition:background-color .18s ease,border-color .18s ease}.epub-studio .switch:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--es-text-secondary);transition:transform .18s ease,background-color .18s ease}.epub-studio .switch.on{background:var(--es-accent);border-color:var(--es-accent)}.epub-studio .switch.on:after{transform:translateX(15px);background:#fff}.epub-studio .editor-textarea{flex:1 1 auto;width:100%;min-height:0;padding:18px 22px;border:none;background:transparent;font-size:15px;line-height:1.6;resize:none}.epub-studio .editor-textarea:focus{outline:none}.epub-studio .empty-editor{display:flex;align-items:center;justify-content:center;height:100%;color:var(--es-text-muted);font-size:13px}.epub-studio .preview-panel{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;padding:14px;background:var(--es-surface);border-left:1px solid var(--es-border)}.epub-studio .preview-head{flex:0 0 auto;margin-bottom:11px}.epub-studio .preview-head h2{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--es-accent)}.epub-studio .preview-head p{margin:3px 0 0;font-size:11px;color:var(--es-text-muted)}.epub-studio .book-device{flex:1 1 auto;min-height:0;padding:14px 10px;border-radius:16px;background:var(--navy);box-shadow:0 12px 30px rgba(2,6,23,.28)}.epub-studio .book-screen{height:100%;overflow-y:auto;padding:26px 24px 40px;border-radius:4px;background:#faf2e8;color:#27211c;font-size:var(--preview-font-size,15px);line-height:1.62;text-align:justify}.epub-studio .book-screen.font-serif{font-family:var(--font-lora),Georgia,serif}.epub-studio .book-screen.font-sans{font-family:var(--font-montserrat),system-ui,sans-serif}.epub-studio .book-screen.align-justify{text-align:justify}.epub-studio .book-screen.align-left{text-align:left}.epub-studio .book-screen.align-center{text-align:center}.epub-studio .preview-title{margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid rgba(39,33,28,.18);font-family:var(--font-lora),Georgia,serif;font-size:1.5em;font-weight:600;line-height:1.25;text-align:center}.epub-studio .preview-body p{margin:0 0 1.05em;text-indent:1.5em}.epub-studio .preview-body .inline-image-container+p,.epub-studio .preview-body .page-break-indicator+p,.epub-studio .preview-body h2+p,.epub-studio .preview-body h3+p,.epub-studio .preview-body p.no-indent,.epub-studio .preview-body p:first-of-type{text-indent:0}.epub-studio .preview-body h2,.epub-studio .preview-body h3{margin:1.4em 0 .7em;font-family:var(--font-lora),Georgia,serif;font-weight:600;text-align:center}.epub-studio .preview-body h2{font-size:1.25em}.epub-studio .preview-body h3{font-size:1.1em}.epub-studio .preview-body blockquote{margin:1.2em 1.4em;padding-left:.9em;border-left:3px solid rgba(39,33,28,.25);font-style:italic;text-indent:0}.epub-studio .preview-body .scene-break{margin:1.5em 0;letter-spacing:.5em;text-align:center;text-indent:0}.epub-studio .preview-body .page-break-indicator{display:flex;align-items:center;gap:10px;margin:1.6em 0;text-indent:0}.epub-studio .preview-body .page-break-indicator:after,.epub-studio .preview-body .page-break-indicator:before{content:"";flex:1;height:1px;background:rgba(39,33,28,.22)}.epub-studio .preview-body .page-break-indicator span{font-family:var(--font-montserrat),system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em;color:rgba(39,33,28,.45)}.epub-studio .preview-body .inline-image-container{margin:1.6em 0;text-align:center;text-indent:0}.epub-studio .preview-body .preview-img{max-width:100%;height:auto;border-radius:3px}.epub-studio .preview-body .image-caption{margin-top:.5em;font-size:.85em;font-style:italic;color:rgba(39,33,28,.65)}.epub-studio .preview-body .error{color:var(--es-danger);font-style:italic;text-indent:0}.epub-studio .book-screen.has-drop-cap .preview-body p:first-of-type:first-letter{float:left;margin:.08em .08em 0 0;font-family:var(--font-lora),Georgia,serif;font-size:3.2em;font-weight:700;line-height:.85;color:var(--es-accent-strong)}@media (max-width:1023px){.epub-studio{height:auto;min-height:0;overflow:visible}.epub-studio .workspace{flex-direction:column}.epub-studio .resizer{display:none}.epub-studio .editor-panel,.epub-studio .preview-panel,.epub-studio .sidebar-panel{width:100%!important;border-left:none;border-right:none;border-bottom:1px solid var(--es-border)}.epub-studio .sidebar-scroll{max-height:460px}.epub-studio .editor-panel{height:70vh}.epub-studio .preview-panel{height:80vh}.epub-studio .studio-header{height:auto;flex-wrap:wrap;padding:10px 14px}}