:root{--page:#f4f1e9;--paper:#fffdf7;--ink:#292d27;--muted:#73766d;--line:#e2e0d4;--accent:#8c4c38;--accent-hover:#723e2d;--soft:#f7f5ee;--green:#586b55;--danger:#a03f35;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary,label.drop-zone{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b17453;outline-offset:4px}input[type=checkbox]{accent-color:var(--accent)}[hidden]{display:none!important}.shell{max-width:1192px;padding:0 38px;margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:107px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:38px;height:43px;display:grid;place-items:center}.brand-mark svg{width:32px;height:36px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand strong{display:block;font:30px/1 var(--serif);letter-spacing:-1.2px}.brand small{display:block;font-size:10px;color:var(--muted);margin-top:8px;letter-spacing:.85px}.header-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:#829077}.intro{padding:47px 0 32px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--accent)}h1{font:44px/1.2 var(--serif);letter-spacing:-1.6px;font-weight:400;margin:12px 0 14px}h1 em{font-weight:400;color:var(--accent)}.intro>p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.workspace{display:grid;grid-template-columns:1.11fr 1fr;gap:22px;align-items:stretch}.paper{background:var(--paper);border:1px solid var(--line);border-radius:5px;box-shadow:0 4px 18px #302d1e03;min-width:0}.input-panel{padding:27px}.panel-heading{display:flex;align-items:center;gap:13px;margin-bottom:25px}.step-number{font:italic 23px var(--serif);color:#9b9c8f;padding-right:14px;border-right:1px solid var(--line);line-height:1.5}h2{margin:0;font:22px/1.25 var(--serif);letter-spacing:-.5px;font-weight:400}.panel-heading p{font-size:11px;color:var(--muted);margin:4px 0 0}.file-type{margin-left:auto;font-size:9px;letter-spacing:1px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:3px 6px}.drop-zone{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:192px;padding:20px;border:1px dashed #c8c4b6;border-radius:4px;background:var(--soft);cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.drop-zone:hover,.drop-zone.dragging{background:#eeeadf;border-color:var(--accent)}.drop-zone:focus-within{outline:3px solid #b17453;outline-offset:3px}.drop-zone.selected{border-style:solid;border-color:#b9c2ae;background:#f2f4ed}.drop-zone.disabled{pointer-events:none;opacity:.65}.file-input{position:absolute;width:1px;height:1px;opacity:0}.upload-symbol{display:grid;place-items:center;width:44px;height:47px;margin-bottom:9px;color:#8c8574}.upload-symbol svg{width:37px;height:42px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.drop-zone strong{font-size:13px;font-weight:600;max-width:100%;overflow-wrap:anywhere}.drop-zone>span:not(.upload-symbol){font-size:12px;color:var(--muted);margin-top:3px}.link-text{color:var(--accent);border-bottom:1px solid #cba997}.drop-zone .upload-limits{font-size:10px!important;letter-spacing:.2px;margin-top:13px!important}.metadata-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:15px;margin-top:24px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:11px;font-weight:600}.optional{font-size:9px;font-weight:400;color:#939387;margin-left:4px}input[type=text],input[type=password],select{width:100%;height:40px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);padding:0 11px;font-size:11px;min-width:0}input::placeholder{color:#96968a;opacity:1}input:hover,select:hover{border-color:#c3bcac}input:disabled,select:disabled{opacity:.6}.settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px}.settings summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;cursor:pointer;font-size:11px;font-weight:500}.settings summary::-webkit-details-marker{display:none}.settings summary>span{display:flex;align-items:center;gap:9px}.settings summary svg{height:15px;width:15px;fill:none;stroke:var(--muted);stroke-width:1.3;stroke-linecap:round}.settings summary .chevron{height:12px;width:12px;transition:transform .15s}.settings[open] summary .chevron{transform:rotate(180deg)}.settings-body{padding:0 0 17px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.help-text{font-size:10px;line-height:1.65;color:var(--muted);margin:12px 0 16px}.check-field{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.6;margin-top:11px;cursor:pointer}.check-field input{margin:3px 0 0;flex-shrink:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:1px solid transparent;border-radius:3px;min-height:44px;font-size:12px;font-weight:500;padding:12px 18px;text-decoration:none;transition:background .15s,box-shadow .15s}.button.primary{background:var(--accent);color:#fffdf6}.button.primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 2px 5px #713c2a18}.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.convert-button{width:100%;margin-top:22px;justify-content:space-between;min-height:48px;padding-left:20px;padding-right:18px}.privacy-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:var(--muted);margin:13px 0 0}.privacy-note svg{width:12px;height:14px;fill:none;stroke:#848977;stroke-width:1.2;flex-shrink:0}.result-panel{padding:27px;background:#fdfbf5;overflow:hidden}.result-panel>.panel-heading{margin-bottom:12px}.book-scene{position:relative;width:230px;height:251px;margin:4px auto 22px;perspective:900px}.book-shadow{position:absolute;width:152px;height:21px;background:#4b402b26;filter:blur(12px);left:38px;bottom:4px;transform:rotate(-7deg)}.book-cover{position:absolute;left:29px;top:13px;width:165px;height:219px;background:#e6e4ce;border:1px solid #d2d0b9;border-radius:1px 4px 4px 1px;transform:rotate(-7deg);padding:20px 21px;color:#4e5a44;box-shadow:5px 5px 0 #e6e0ce,6px 5px 0 #c7c3ae,8px 8px 16px #4b402b18}.book-cover:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:1px;background:#fffff65e}.book-spine{position:absolute;top:23px;left:24px;width:16px;height:217px;border-radius:4px 0 0 4px;background:#bcc0a6;transform:rotate(-7deg);box-shadow:inset 3px 0 3px #62705118}.book-series{display:block;font-size:7px;line-height:1.6;letter-spacing:1.25px}.book-cover-title{display:block;font:25px/1.07 var(--serif);letter-spacing:-.8px;margin-top:15px}.book-cover-title em{font-weight:400}.book-rule{display:block;height:1px;background:#6d77534d;margin-top:15px;width:28px}.book-format{font-size:8px;display:flex;justify-content:space-between;align-items:center;letter-spacing:1.5px;margin-top:13px}.book-format>span{font-size:16px;line-height:1}.type-badge{position:absolute;right:8px;bottom:29px;background:#fffdf6;border:1px solid #dedacc;border-radius:50%;width:57px;height:57px;display:flex;align-items:center;justify-content:center;font:26px var(--serif);box-shadow:0 3px 9px #4337200c;transform:rotate(8deg)}.type-badge>span{font-size:17px;margin:6px 0 0 1px}.feature-row{display:flex;gap:13px;padding:16px 0;border-top:1px solid var(--line)}.feature-row:last-child{padding-bottom:0}.feature-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 26px;color:#8b8875;font:21px var(--serif);height:28px;line-height:1}.feature-symbol svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}.feature-row strong{font-size:11px;font-weight:600;display:block;margin-bottom:4px}.feature-row p{font-size:11px;color:var(--muted);line-height:1.65;margin:0;max-width:305px}.reading-note{display:flex;gap:14px;align-items:flex-start;margin:23px 3px 0;padding-bottom:32px;max-width:850px}.reading-note>span{font-size:19px;color:#999480;line-height:1.6}.reading-note p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.reading-note strong{font-weight:500;color:#5d6055}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:20px 0 24px;color:#89897b;font-size:9px;letter-spacing:.35px}footer>span>span{margin:0 9px;color:#b4ae9c}.notice{border:1px solid #e6cebe;background:#faf1e7;color:#77503a;padding:12px 14px;border-radius:3px;font-size:12px;line-height:1.6;margin-bottom:18px;overflow-wrap:anywhere}.error-notice{background:#fcf0eb;border-color:#e6c4bb;color:var(--danger)}.field-error{font-size:11px;color:var(--danger);margin:8px 0 0}.access-panel{padding:22px 25px;background:var(--paper);border:1px solid var(--line);border-radius:4px;margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.access-panel h2{font-size:21px;margin-top:6px}.access-panel p{font-size:11px;color:var(--muted);margin:6px 0 0}.access-panel form{display:flex;align-items:center;gap:8px}.access-panel input{height:44px}.access-panel button{white-space:nowrap}.access-panel>.field-error{grid-column:1/-1;color:var(--danger)}.job-state{padding-top:19px}.job-status-icon{width:52px;height:52px;border:1px solid #dcdacc;background:#f3f0e5;display:grid;place-items:center;border-radius:50%;margin:3px 0 28px;color:var(--accent);font:27px var(--serif)}.spinner{width:22px;height:22px;border:1.5px solid #c6bcaa;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.job-caption{display:flex;justify-content:space-between;align-items:center}.job-caption .eyebrow{font-size:9px;letter-spacing:1.3px}.job-caption>span:last-child{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.job-state h3{font:29px/1.2 var(--serif);letter-spacing:-.7px;font-weight:400;margin:12px 0 13px;outline:none}.job-message{font-size:12px;line-height:1.7;color:var(--muted);min-height:40px;margin:0 0 19px;overflow-wrap:anywhere}.progress-track{width:100%;height:4px;background:#e6e2d5;border-radius:2px;overflow:hidden}.progress-track>div{height:100%;width:0;background:var(--accent);transition:width .35s}.progress-detail{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-top:9px;font-size:10px;color:var(--muted);min-height:26px}.progress-detail>span:last-child{max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:26px;padding-top:17px;border-top:1px solid var(--line)}.text-button{border:0;background:transparent;padding:4px 0;color:var(--accent);font-size:11px;text-decoration:underline;text-decoration-color:#c7ad9e;text-underline-offset:4px;line-height:1.6}.text-button:hover{color:var(--accent-hover);text-decoration-color:var(--accent-hover)}.text-button.muted{color:var(--muted);text-decoration-color:#c8c6b9;font-size:10px}.secondary-downloads{display:flex;justify-content:center;gap:11px;align-items:center;color:#b4ad9c;margin:9px 0 0}.download-actions>.button{width:100%}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 23px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px}.stat-value{font:23px var(--serif);display:block;color:var(--ink)}.stat-label{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin-top:3px}.warnings-block{background:#f4f1e7;border-left:2px solid #b0a17e;padding:12px 14px;margin-top:22px}.warnings-block h4{font-size:11px;font-weight:600;margin:0 0 6px}.warnings-block ul{margin:0;padding-left:15px;font-size:10px;line-height:1.7;color:#77705e}.warnings-block li+li{margin-top:5px}.preview-block{margin-top:20px;border-top:1px solid var(--line);padding-top:13px}.preview-block summary{font-size:11px;cursor:pointer;color:var(--muted)}.preview-block summary>span{float:right}.text-preview{margin-top:14px;padding:16px;background:#f5f2e9;border:1px solid var(--line);border-radius:3px;font:14px/1.8 var(--serif);white-space:pre-wrap;max-height:280px;overflow:auto;overflow-wrap:anywhere}.preview-block>p{font-size:9px;color:var(--muted);margin:8px 0 0}.small-notice{font-size:10px;margin:13px 0}.job-state.completed .job-status-icon{background:#edf1e6;border-color:#d9e0ce;color:var(--green)}.job-state.failed .job-status-icon{background:#f8ede6;border-color:#e4cdbf;color:var(--danger)}.job-state.cancelled .job-status-icon{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1250px){.shell{padding:0 38px}.intro{padding-top:52px;padding-bottom:36px}.workspace{gap:25px}.input-panel,.result-panel{padding:29px}.book-scene{margin-top:9px;margin-bottom:25px}}@media(max-width:900px){.shell{padding:0 24px}.workspace{grid-template-columns:1.05fr 1fr;gap:16px}.input-panel,.result-panel{padding:21px}.metadata-grid{grid-template-columns:1fr;gap:14px}.settings-grid{grid-template-columns:1fr}.optional{margin-left:5px}.book-scene{margin-top:22px;margin-bottom:38px}h1{font-size:39px}.feature-row p{font-size:10px}.access-panel{grid-template-columns:1fr}.access-panel form{max-width:480px}}@media(max-width:650px){.shell{padding:0 19px}.site-header{min-height:88px}.brand{gap:8px}.brand strong{font-size:27px}.brand small{font-size:8px;letter-spacing:.55px}.brand-mark{width:31px}.brand-mark svg{width:28px}.header-note{font-size:9px;gap:5px}.status-dot{width:5px;height:5px}.intro{padding:32px 0 26px}.intro>.eyebrow{font-size:8px;letter-spacing:1.4px}h1{font-size:36px;letter-spacing:-1.3px;max-width:360px;margin-top:12px;margin-bottom:14px}h1 em{display:block}.intro>p{font-size:12px;line-height:1.75;max-width:340px}.desktop-break{display:none}.workspace{grid-template-columns:1fr;gap:17px}.input-panel,.result-panel{padding:23px}.panel-heading{margin-bottom:22px}h2{font-size:21px}.drop-zone{min-height:181px}.metadata-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.metadata-grid>.field:first-child{grid-column:1/-1}.metadata-grid>.field:last-child{grid-column:1/-1}.field>span{font-size:11px}input[type=text],input[type=password],select{height:43px;font-size:12px}.settings-grid{grid-template-columns:1fr 1fr}.settings-grid .field>span{font-size:10px}.settings-grid select{font-size:11px;padding:0 7px}.settings summary{font-size:11px}.privacy-note{font-size:9px;line-height:1.6;align-items:flex-start}.privacy-note svg{margin-top:2px}.book-scene{margin-top:0;margin-bottom:14px;height:239px}.result-panel>.panel-heading{margin-bottom:10px}.feature-row strong{font-size:11px}.feature-row p{font-size:11px;max-width:none}.reading-note{margin-top:20px;gap:11px;padding-bottom:25px}.reading-note p{font-size:10px}footer{font-size:8px;gap:18px;line-height:1.7;padding:17px 0 23px}footer>span:last-child{text-align:right}.access-panel{padding:20px}.access-panel form{flex-direction:column;align-items:stretch}.access-panel button{width:100%}.job-state h3{font-size:28px}.job-status-icon{margin-bottom:23px}.job-state{padding-top:15px}.job-message{min-height:0}.job-actions{margin-top:21px}.drop-zone>span:not(.upload-symbol){font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spinner{animation-duration:2s}}
.reader-field{grid-column:1/-1}.field>span.help-text{font-size:10px;font-weight:400;margin:0;line-height:1.65;color:var(--muted)}.download-hint{font-size:10px;line-height:1.7;color:var(--muted);margin:10px 0 14px;text-align:center}.format-downloads{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin:14px 0 4px}.format-downloads button{border:1px solid #d9d5c7;background:transparent;border-radius:3px;padding:6px 11px;min-height:33px;font-size:10px;color:var(--accent)}.format-downloads button:hover{background:#f1ede2}.format-downloads:empty{display:none}
.all-formats{margin:14px 0 18px;text-align:center}.all-formats summary{font-size:11px;color:var(--muted);cursor:pointer}.all-formats .format-downloads{margin:12px 0 0}
