:root{--color-bg: #f8f9fa;--color-surface: #ffffff;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-disabled: #93c5fd;--color-primary-light: #eff6ff;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-border: #d1d5db;--color-border-focus: #2563eb;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}.app{max-width:1200px;margin:0 auto;padding:0 1.5rem 2rem}.app-main{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:768px){.app-main{grid-template-columns:1fr}}.form-column,.dimensions-column{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.cover-form h2{font-size:1.1rem;margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.form-field{margin-bottom:1rem}.form-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem;color:var(--color-text)}.form-field input[type=text],.form-field input[type=number],.form-field select,.form-field textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;transition:border-color .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2563eb1a}.form-field .field-error{border-color:var(--color-error)}.form-field textarea{resize:vertical;min-height:80px}.description-toolbar{display:flex;gap:.25rem;margin-bottom:.25rem}.toolbar-btn{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:.25rem .5rem;font-size:.8rem;cursor:pointer;color:var(--color-text);line-height:1;min-width:28px;text-align:center}.toolbar-btn:hover{background:var(--color-border)}.toolbar-btn-bold{font-weight:700}.toolbar-btn-italic{font-style:italic}.error-message{display:block;color:var(--color-error);font-size:.8rem;margin-top:.25rem}.radio-group{display:flex;flex-wrap:wrap;gap:1rem}.radio-label{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:400;cursor:pointer}.radio-label input[type=radio]{width:auto}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;accent-color:var(--color-primary)}.field-hint{display:block;color:var(--color-text-secondary);font-size:.78rem;margin-top:.25rem;line-height:1.4}.spine-text-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;margin-bottom:1rem}.spine-text-section h3{font-size:.9rem;color:var(--color-text-secondary);margin:.75rem 0 .25rem;border-top:1px solid var(--color-border);padding-top:.75rem}.spine-text-section select{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;background:var(--color-surface);color:var(--color-text)}.spine-size-input,.spine-color-input{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.spine-size-input input[type=number]{width:5rem}.spine-color-input input[type=color]{width:3rem;height:2rem;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;padding:0}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius);padding:1.5rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;min-height:120px;display:flex;align-items:center;justify-content:center}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--color-primary);background:#2563eb0a}.drop-zone.field-error{border-color:var(--color-error)}.drop-zone p{color:var(--color-text-secondary);font-size:.9rem}.cover-preview{max-width:100%;max-height:200px;border-radius:4px}.custom-size-inputs{display:flex;gap:1rem;margin-top:.5rem}.custom-size-inputs>div{flex:1}.custom-size-inputs label{font-size:.75rem}.custom-size-inputs input{width:100%;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:6px;font-size:.85rem}.dimensions-panel h2{font-size:1.1rem;margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.dimensions-placeholder{color:var(--color-text-secondary);font-style:italic;font-size:.9rem}.dimension-group{margin-bottom:1.25rem}.dimension-group h3{font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:var(--color-primary)}.dimension-group dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;font-size:.85rem}.dimension-group dt{color:var(--color-text-secondary);font-weight:500}.dimension-group dd{font-family:SF Mono,Menlo,Monaco,monospace;font-size:.85rem}.barcode-diagram{margin:.5rem 0}.barcode-back-cover{position:relative;width:100%;max-width:200px;background:#f0f4f8;border:1px solid var(--color-border);border-right:2px solid var(--color-primary);border-radius:4px 0 0 4px}.barcode-spine-edge{position:absolute;right:-1px;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-lr;font-size:.6rem;font-weight:600;color:#fff;background:var(--color-primary);padding:.25rem .15rem;border-radius:0 2px 2px 0;letter-spacing:.05em}.barcode-zone{position:absolute;border:1.5px dashed #e07c3a;background:#f59e0b1f;border-radius:2px;display:flex;align-items:center;justify-content:center}.barcode-zone-label{font-size:.6rem;font-weight:600;color:#b45309;font-family:SF Mono,Menlo,Monaco,monospace;white-space:nowrap}.barcode-margin-right,.barcode-margin-bottom{position:absolute;font-size:.55rem;color:var(--color-text-secondary);font-family:SF Mono,Menlo,Monaco,monospace}.barcode-margin-right{transform:translateY(50%) translate(50%)}.barcode-margin-bottom{transform:translate(50%) translateY(50%)}.barcode-note{font-size:.75rem;color:var(--color-text-secondary);font-style:italic;margin-top:.5rem;line-height:1.4}.generate-section{text-align:center;margin-top:1rem}.generate-button{background:var(--color-primary);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:background .15s}.generate-button:hover:not(:disabled){background:var(--color-primary-hover)}.generate-button:disabled{background:var(--color-primary-disabled);cursor:not-allowed}.generate-button[aria-busy=true]{opacity:.8}.generate-error{margin-top:.75rem;font-size:.9rem}.generate-warning{margin-top:.75rem;font-size:.9rem;color:#b45309;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:.5rem .75rem}.generate-warnings{list-style:none;padding:0;margin:.5rem 0 0}.generate-warnings li{margin-top:.5rem;font-size:.9rem;color:#b45309;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:.5rem .75rem}.image-quality-badge{display:block;font-size:.75rem;margin-top:.375rem;padding:.2rem .4rem;border-radius:4px}.quality-ok{color:#166534;background:#dcfce7}.quality-warn{color:#92400e;background:#fef3c7}.landing-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:4rem 0 3rem}.hero-title{font-size:2.25rem;font-weight:800;line-height:1.2;margin-bottom:1rem;color:var(--color-text)}.hero-subtitle{font-size:1.1rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:2rem}.hero-cta{display:inline-block;background:var(--color-primary);color:#fff;border:none;padding:.875rem 2rem;font-size:1.1rem;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:background .15s,transform .1s}.hero-cta:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.hero-visual{display:flex;justify-content:center}.hero-diagram{display:flex;align-items:center;gap:1.5rem}.diagram-ebook{width:100px;height:160px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:4px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #2563eb4d}.diagram-ebook-inner{text-align:center}.diagram-label-small{color:#fff;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.diagram-arrow{flex-shrink:0}.diagram-wrap{display:flex;border-radius:4px;overflow:hidden;box-shadow:0 4px 12px #00000026}.diagram-back{width:90px;height:160px;background:linear-gradient(180deg,#dbeafe,#93c5fd);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--color-primary)}.diagram-spine{width:20px;height:160px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:600;color:#fff;writing-mode:vertical-lr;text-orientation:mixed}.diagram-front{width:100px;height:160px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:#fff}@media(max-width:768px){.landing-hero{grid-template-columns:1fr;padding:2rem 0;text-align:center}.hero-title{font-size:1.75rem}.hero-visual{order:-1}.hero-diagram{transform:scale(.85)}}.section-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:2rem;color:var(--color-text)}.how-it-works{padding:3rem 0;border-top:1px solid var(--color-border)}.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.step-card{text-align:center;position:relative}.step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:50%;font-size:.8rem;font-weight:700;margin-bottom:.75rem}.step-icon{color:var(--color-primary);margin-bottom:.75rem}.step-title{font-size:1rem;font-weight:600;margin-bottom:.5rem}.step-description{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}@media(max-width:768px){.steps-row{grid-template-columns:1fr;gap:1.5rem}}.trust-signals{padding:3rem 0;border-top:1px solid var(--color-border)}.signals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.signal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;text-align:center;transition:box-shadow .15s}.signal-card:hover{box-shadow:var(--shadow)}.signal-icon{color:var(--color-primary);margin-bottom:.75rem}.signal-title{font-size:.9rem;font-weight:600;margin-bottom:0}.comparison-section{padding:3rem 0;border-top:1px solid var(--color-border)}.comparison-subtitle{text-align:center;color:var(--color-text-secondary);font-size:.95rem;margin-top:-1.25rem;margin-bottom:2rem}.comparison-table-wrapper{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;font-size:.9rem}.comparison-table th,.comparison-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.comparison-table thead th{font-weight:600;background:var(--color-bg);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary)}.comparison-table .col-us{text-align:center;min-width:140px}.comparison-table thead .col-us{color:var(--color-primary)}.comparison-table .col-alt{color:var(--color-text-secondary);font-size:.85rem}.comparison-table .feature-name{font-weight:500}.comparison-table tbody tr:hover{background:var(--color-primary-light)}.check-yes{display:inline-flex}.app-main{padding-top:3rem;border-top:1px solid var(--color-border)}.progress-indicator{margin-top:1rem;max-width:400px;margin-left:auto;margin-right:auto}.progress-bar{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:3px;transition:width .3s ease}.progress-label{font-size:.8rem;color:var(--color-text-secondary);margin-top:.5rem}.success-panel{background:var(--color-success-bg);border:1px solid #bbf7d0;border-radius:var(--radius);padding:2rem;display:inline-block;max-width:420px}.success-icon{margin-bottom:.75rem}.success-title{font-size:1.25rem;font-weight:600;color:var(--color-success);margin-bottom:.5rem}.success-filename{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:1.25rem;font-family:SF Mono,Menlo,Monaco,monospace}.success-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.success-kdp-link{display:inline-block;background:var(--color-primary);color:#fff;text-decoration:none;padding:.5rem 1.25rem;border-radius:var(--radius);font-size:.9rem;font-weight:600;transition:background .15s}.success-kdp-link:hover{background:var(--color-primary-hover)}.success-reset{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.5rem 1.25rem;border-radius:var(--radius);font-size:.9rem;cursor:pointer;transition:border-color .15s}.success-reset:hover{border-color:var(--color-text-secondary)}.email-delivery-section{margin-top:1rem;text-align:center}.email-toggle-btn{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:.4rem 1rem;border-radius:var(--radius);font-size:.85rem;cursor:pointer;transition:background .15s,color .15s}.email-toggle-btn:hover{background:var(--color-primary);color:#fff}.email-form{text-align:left}.email-form label{font-size:.85rem;color:var(--color-text-secondary);display:block;margin-bottom:.35rem}.email-input-row{display:flex;gap:.5rem}.email-input-row input{flex:1;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem}.email-send-btn{background:var(--color-primary);color:#fff;border:none;padding:.4rem 1rem;border-radius:var(--radius);font-size:.85rem;cursor:pointer;white-space:nowrap}.email-send-btn:disabled{opacity:.5;cursor:not-allowed}.email-status{font-size:.8rem;margin-top:.35rem}.email-success{color:var(--color-success)}.email-error{color:var(--color-error)}.preview-panel{background:var(--color-primary-light);border:1px solid #bfdbfe;border-radius:var(--radius);padding:2rem;display:inline-block;max-width:480px}.preview-icon{margin-bottom:.75rem}.preview-title{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin-bottom:.25rem}.preview-filename{font-size:.85rem;color:var(--color-text-secondary);font-family:SF Mono,Menlo,Monaco,monospace;margin-bottom:.5rem}.watermark-notice{font-size:.8rem;color:var(--color-text-secondary);font-style:italic;margin-bottom:1rem}.preview-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.purchase-button{background:var(--color-success);color:#fff;border:none;padding:.625rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:background .15s,transform .1s}.purchase-button:hover{background:#15803d;transform:translateY(-1px)}.preview-thumbnail-container{position:relative;margin:.75rem 0;border-radius:4px;overflow:hidden;display:inline-block}.preview-thumbnail{max-width:100%;max-height:300px;display:block;border-radius:4px;border:1px solid var(--color-border)}.preview-watermark-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.preview-watermark-overlay span{font-size:2.5rem;font-weight:800;color:#dc262633;letter-spacing:.15em;transform:rotate(-25deg);-webkit-user-select:none;user-select:none}.transition-panel{display:inline-flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem}.transition-text{font-size:.95rem;color:var(--color-text-secondary)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.compliance-checklist{margin:1rem 0;text-align:left}.compliance-heading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:.5rem}.compliance-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem}.compliance-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-secondary)}.compliance-item.passed{color:var(--color-success)}.cover-layout-preview{margin:1rem 0}.cover-layout-diagram{display:flex;margin:0 auto;border:1px solid var(--color-border);border-radius:3px;overflow:hidden;box-shadow:0 2px 8px #00000014}.cover-zone{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.cover-zone-back{background:linear-gradient(180deg,#e2e8f0,#cbd5e1)}.cover-zone-spine{background:var(--color-primary);flex-shrink:0}.cover-zone-front{background:#e2e8f0}.cover-zone-image{width:100%;height:100%;object-fit:cover}.zone-label{font-size:.65rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.spine-text{writing-mode:vertical-lr;text-orientation:mixed;font-size:.5rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:90%}.cover-layout-labels{display:flex;justify-content:space-between;margin-top:.375rem;font-size:.7rem;color:var(--color-text-secondary);font-family:SF Mono,Menlo,Monaco,monospace}.spine-label{color:var(--color-primary)}.faq-section{padding:3rem 0;border-top:1px solid var(--color-border)}.faq-list{max-width:700px;margin:0 auto}.faq-item{border-bottom:1px solid var(--color-border)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 0;background:none;border:none;font-size:.95rem;font-weight:500;color:var(--color-text);cursor:pointer;text-align:left;gap:1rem}.faq-question:hover{color:var(--color-primary)}.faq-chevron{flex-shrink:0;transition:transform .2s;color:var(--color-text-secondary)}.faq-open .faq-chevron{transform:rotate(180deg)}.faq-answer{padding:0 0 1rem}.faq-answer p{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6}.site-footer{padding:2rem 0;margin-top:2rem;border-top:1px solid var(--color-border);text-align:center}.footer-links{margin-bottom:.75rem}.footer-link{background:none;border:none;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.footer-link:hover{color:var(--color-primary)}.footer-divider{margin:0 .5rem;color:var(--color-border);font-size:.8rem}.language-selector{margin:.75rem 0;display:inline-flex;align-items:center;gap:.5rem}.language-selector label{font-size:.8rem;color:var(--color-text-secondary)}.language-selector select{font-size:.8rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer}.footer-disclaimer{font-size:.75rem;color:var(--color-text-secondary);margin-bottom:.25rem}.footer-copyright{font-size:.75rem;color:var(--color-text-secondary)}.legal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.legal-modal{background:var(--color-surface);border-radius:var(--radius);max-width:640px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.legal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.legal-header h2{font-size:1.1rem;font-weight:600}.legal-close{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:.25rem;border-radius:4px}.legal-close:hover{color:var(--color-text);background:var(--color-bg)}.legal-body{padding:1.5rem;overflow-y:auto;font-size:.85rem;line-height:1.7;color:var(--color-text-secondary)}.legal-body h3{font-size:.95rem;font-weight:600;color:var(--color-text);margin-top:1.25rem;margin-bottom:.5rem}.legal-body p{margin-bottom:.5rem}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.error-boundary-content{text-align:center;max-width:420px}.error-boundary-content h1{font-size:1.5rem;margin:1rem 0 .5rem}.error-boundary-content p{color:var(--color-text-secondary);margin-bottom:1.5rem}.error-boundary-refresh{background:var(--color-primary);color:#fff;border:none;padding:.625rem 1.5rem;font-size:.9rem;font-weight:600;border-radius:var(--radius);cursor:pointer;margin-right:.75rem}.error-boundary-refresh:hover{background:var(--color-primary-hover)}.error-boundary-details-toggle{background:none;border:none;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;text-decoration:underline}.error-boundary-details{margin-top:1rem;text-align:left;background:var(--color-bg);border-radius:var(--radius);padding:1rem;font-size:.75rem;font-family:SF Mono,Menlo,monospace;overflow-x:auto;max-height:200px;overflow-y:auto;color:var(--color-error)}@media(max-width:480px){.app{padding:0 .75rem 1.5rem}.form-column,.dimensions-column{padding:1rem}.landing-hero{padding:1.5rem 0}.hero-title{font-size:1.4rem}.hero-subtitle{font-size:.95rem}.hero-cta{padding:.75rem 1.5rem;font-size:1rem;width:100%}.hero-visual{overflow:hidden}.hero-diagram{transform:scale(.7);transform-origin:center center;gap:.75rem}.section-title{font-size:1.2rem;margin-bottom:1.25rem}.how-it-works,.trust-signals,.faq-section{padding:2rem 0}.steps-row{gap:1rem}.step-title{font-size:.9rem}.step-description{font-size:.8rem}.signals-grid{gap:.75rem}.signal-card{padding:.75rem .5rem}.signal-title{font-size:.8rem}.custom-size-inputs{flex-direction:column;gap:.5rem}.generate-button{width:100%;padding:.75rem 1rem;font-size:.95rem}.success-panel{max-width:100%;padding:1.25rem}.success-actions{flex-direction:column;gap:.5rem}.success-kdp-link,.success-reset{width:100%;text-align:center}.preview-panel{max-width:100%;padding:1.25rem}.preview-actions{flex-direction:column;gap:.5rem}.purchase-button,.preview-actions .success-reset{width:100%;text-align:center}.preview-thumbnail{max-height:200px}.preview-watermark-overlay span{font-size:1.75rem}.compliance-list{grid-template-columns:1fr}.faq-question{font-size:.9rem;padding:.875rem 0;min-height:44px}.faq-answer p{font-size:.85rem}.legal-overlay{padding:.5rem}.legal-modal{max-height:90vh}.legal-header,.legal-body{padding:1rem}.cookie-banner-content{flex-direction:column;text-align:center}.cookie-banner{padding:.75rem}.cookie-banner-actions{width:100%}.cookie-accept,.cookie-decline{flex:1}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -2px 10px #0000001a;z-index:999;padding:1rem 1.5rem}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.cookie-banner-text{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5;flex:1}.cookie-banner-actions{display:flex;gap:.5rem;flex-shrink:0}.cookie-accept{background:var(--color-primary);color:#fff;border:none;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:background .15s}.cookie-accept:hover{background:var(--color-primary-hover)}.cookie-decline{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.5rem 1.25rem;font-size:.85rem;border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.cookie-decline:hover{border-color:var(--color-text-secondary)}@media(max-width:768px){.cookie-banner-content{flex-direction:column;text-align:center}}.cover-diagram{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-top:1rem}.cover-diagram h3{font-size:.95rem;margin-bottom:.25rem;color:var(--color-text)}.diagram-label-total{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:.5rem}.diagram-container{display:flex;position:relative;border:1px solid var(--color-border);border-radius:2px;overflow:hidden;margin:0 auto}.diagram-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;height:100%;min-width:0}.diagram-zone-label{font-size:.7rem;color:var(--color-text-secondary);font-weight:500}.diagram-zone-label-v{font-size:.65rem;color:#fff;writing-mode:vertical-lr;text-orientation:mixed}.diagram-dim{font-size:.6rem;color:var(--color-text-secondary);position:absolute;bottom:2px}.diagram-back{background:#e2e8f0}.diagram-spine{background:var(--color-primary)}.diagram-front{background:#cbd5e1}.diagram-wrap{background:#fef3c7}.diagram-hinge{background:#fed7aa}.diagram-bleed-border{z-index:1}.diagram-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:var(--color-text-secondary)}.legend-item{display:flex;align-items:center;gap:.25rem}.legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;border:1px solid var(--color-border)}.legend-back{background:#e2e8f0}.legend-spine{background:var(--color-primary)}.legend-front{background:#cbd5e1}.legend-wrap{background:#fef3c7}.legend-hinge{background:#fed7aa}.legend-bleed{background:transparent;border:1px dashed rgba(255,0,0,.5)}[data-theme=dark] .diagram-back{background:#374151}[data-theme=dark] .diagram-front{background:#4b5563}[data-theme=dark] .diagram-wrap{background:#78350f}[data-theme=dark] .diagram-hinge{background:#9a3412}[data-theme=dark] .legend-back{background:#374151}[data-theme=dark] .legend-front{background:#4b5563}[data-theme=dark] .legend-wrap{background:#78350f}[data-theme=dark] .legend-hinge{background:#9a3412}.batch-mode-toggle{margin-bottom:.75rem}.batch-section{margin-top:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.batch-section h2{font-size:1.1rem;margin-bottom:.75rem}.batch-drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius);padding:1.5rem;text-align:center;cursor:pointer;color:var(--color-text-secondary);font-size:.875rem;transition:border-color .2s,background .2s}.batch-drop-zone:hover,.batch-drop-zone.drag-over{border-color:var(--color-primary);background:var(--color-primary-light)}.batch-file-list{list-style:none;margin-top:.75rem}.batch-file-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.batch-file-item:last-child{border-bottom:none}.batch-thumb{width:40px;height:60px;object-fit:cover;border-radius:3px;border:1px solid var(--color-border)}.batch-file-info{flex:1;min-width:0}.batch-filename{font-size:.8rem;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-page-count{display:flex;align-items:center;gap:.35rem;margin-top:.2rem;font-size:.75rem;color:var(--color-text-secondary)}.batch-page-count input{width:4.5rem;padding:.15rem .3rem;font-size:.8rem}.batch-remove{background:none;border:none;font-size:1.2rem;color:var(--color-text-secondary);cursor:pointer;padding:.25rem}.batch-remove:hover{color:var(--color-error)}.batch-generate-btn{width:100%;margin-top:.75rem;padding:.75rem;font-size:.95rem;font-weight:600;border:none;border-radius:var(--radius);background:var(--color-primary);color:#fff;cursor:pointer}.batch-generate-btn:disabled{background:var(--color-primary-disabled);cursor:not-allowed}.batch-message{text-align:center;font-size:.85rem;margin-top:.5rem;color:var(--color-success)}.batch-message.error{color:var(--color-error)}.download-history{max-width:900px;margin:1.5rem auto;padding:0 1rem}.history-toggle{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;font-size:.9rem;font-weight:500;color:var(--color-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.history-chevron{font-size:.7rem;transition:transform .2s}.history-chevron.open{transform:rotate(180deg)}.history-list{list-style:none;border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius) var(--radius);background:var(--color-surface);max-height:300px;overflow-y:auto}.history-item{padding:.5rem 1rem;border-bottom:1px solid var(--color-border)}.history-item:last-child{border-bottom:none}.history-filename{font-size:.85rem;font-weight:500;color:var(--color-text)}.history-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--color-text-secondary);margin-top:.15rem}.history-badge{background:var(--color-primary-light);color:var(--color-primary);padding:0 .35rem;border-radius:3px;font-weight:500;font-size:.7rem;text-transform:uppercase}.history-clear{display:block;margin:.5rem auto;background:none;border:none;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;text-decoration:underline}.history-clear:hover{color:var(--color-error)}.book-mockup-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-top:1rem}.book-mockup-wrapper h3{font-size:.95rem;margin-bottom:.75rem;color:var(--color-text)}.book-mockup{display:flex;justify-content:center;padding:2rem 0}.book-body{position:relative;transform-style:preserve-3d;transform:rotateY(-25deg) rotateX(5deg);transition:transform .4s ease}.book-body:hover{transform:rotateY(-40deg) rotateX(5deg)}.book-front,.book-spine,.book-back{position:absolute;backface-visibility:hidden}.book-front{border-radius:2px;box-shadow:2px 2px 10px #0000004d}.book-spine{background:linear-gradient(to right,#555,#777);display:flex;align-items:center;justify-content:center;overflow:hidden}.book-spine-text{writing-mode:vertical-lr;text-orientation:mixed;color:#fff;font-size:.6rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:90%}.book-back{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-radius:2px}[data-theme=dark] .book-back{background:linear-gradient(135deg,#374151,#4b5563)}.theme-toggle{position:fixed;top:1rem;right:1rem;z-index:1000;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:background .2s,border-color .2s}.theme-toggle:hover{border-color:var(--color-primary)}[data-theme=dark]{--color-bg: #111827;--color-surface: #1f2937;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-primary-disabled: #1e40af;--color-primary-light: #1e3a5f;--color-error: #f87171;--color-error-bg: #451a1a;--color-success: #4ade80;--color-success-bg: #14532d;--color-text: #f3f4f6;--color-text-secondary: #9ca3af;--color-border: #374151;--color-border-focus: #3b82f6;--shadow: 0 1px 3px rgba(0, 0, 0, .4)}[data-theme=dark] .landing-hero{background:linear-gradient(135deg,#1e3a5f,#111827)}[data-theme=dark] .hero-diagram .diagram-ebook-inner,[data-theme=dark] .hero-diagram .diagram-print-back,[data-theme=dark] .hero-diagram .diagram-print-spine,[data-theme=dark] .hero-diagram .diagram-print-front{background:#374151;border-color:#4b5563}[data-theme=dark] .hero-diagram .diagram-arrow svg path{stroke:#60a5fa}[data-theme=dark] .how-it-works{background:#1f2937}[data-theme=dark] .trust-signals{background:var(--color-bg)}[data-theme=dark] .faq-section{background:#1f2937}[data-theme=dark] .footer{background:#0f172a}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#374151;color:var(--color-text);border-color:var(--color-border)}[data-theme=dark] .drop-zone{background:#1f2937;border-color:var(--color-border)}[data-theme=dark] .drop-zone:hover,[data-theme=dark] .drop-zone.drag-over{border-color:var(--color-primary);background:#1e3a5f}[data-theme=dark] .dimensions-panel{background:var(--color-surface)}[data-theme=dark] .cookie-banner{background:#1f2937;border-top-color:var(--color-border)}[data-theme=dark] .legal-modal-content{background:var(--color-surface);color:var(--color-text)}
