:root{--ink:#252723;--muted:#687066;--line:#e3e6e0;--surface:#f7f8f5;--accent:#354f3c;--soft:#edf2e9;--danger:#ab342e;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Arial,sans-serif;color:var(--ink);font-size:14px;background:#fff;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:wait;opacity:.55}button,input{outline-offset:4px}button:focus-visible,input:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent)}button svg,.panel-footer svg,.privacy-strip>svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}svg.sprite{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button{border:0;background:none}button.primary,button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:7px;padding:10px 16px;font-weight:600;white-space:nowrap}.primary{background:var(--accent);color:#fff}.primary:hover{background:#273d2d}.secondary{border:1px solid var(--line);background:#fff}.secondary:hover{background:var(--surface)}.compact{padding:8px 12px!important}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:6px;font-size:22px}.icon-button:hover{background:var(--soft)}.text-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;padding:8px;color:var(--muted)}.text-button:hover{color:var(--ink);background:var(--surface);border-radius:6px}.danger{color:var(--danger)!important}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px;color:var(--muted)}.app-header{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:24px;background:white}.brand{display:flex;align-items:center;gap:12px;text-align:left;letter-spacing:1.9px;line-height:1.25;font-size:11px;padding:0;min-height:44px}.brand strong{font-size:14px;letter-spacing:1.4px}.brand-icon{width:36px;height:40px;display:flex;flex-direction:column;gap:4px;justify-content:center}.brand-icon span{height:7px;background:var(--accent);width:28px;transform:skewY(-12deg);border-radius:1px}.brand-icon span:nth-child(2){margin-left:5px}.brand-icon span:nth-child(3){margin-left:10px}.app-header nav{display:flex;align-self:stretch;gap:28px;margin-right:auto;margin-left:64px}.nav{border-bottom:2px solid transparent;min-width:66px;color:var(--muted);font-weight:600}.nav.active{border-color:var(--accent);color:var(--accent)}.header-end{display:flex;align-items:center;gap:20px}.local-badge{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:8px}.local-badge>span,.status-dot{background:#537d46;width:6px;height:6px;border-radius:100%;display:inline-block}.project-bar{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;height:100px;border-bottom:1px solid var(--line);gap:20px}.project-heading{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1}.project-heading input{font-size:23px;letter-spacing:-.7px;font-weight:650;padding:0;background:none;border:1px solid transparent;min-width:0;width:100%;max-width:560px;border-radius:4px;text-overflow:ellipsis}.project-heading input:hover,.project-heading input:focus{border-color:var(--line)}.project-actions{display:flex;align-items:center;gap:10px}.save-status{font-size:12px;color:var(--muted);max-width:200px}.save-status.error{color:var(--danger);font-weight:600}.editor-layout{display:grid;grid-template-columns:272px minmax(0,1fr) 260px;height:calc(100dvh - 180px);min-height:480px}.pages-panel,.settings-panel{background:#fff;display:flex;flex-direction:column;min-height:0}.pages-panel{border-right:1px solid var(--line)}.settings-panel{border-left:1px solid var(--line);overflow-y:auto}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;min-height:60px;gap:8px}.panel-title h2{font-size:15px;white-space:nowrap}.panel-title h2 span,.section-title h2 span{font-size:12px;background:var(--soft);color:var(--accent);border-radius:4px;padding:3px 6px;margin-left:6px}.panel-title .text-button{font-size:12px;padding:4px}.upload-area{margin:0 16px;padding:22px 8px 18px;border:1px dashed #a8b8a2;border-radius:8px;background:#fafbf9;display:flex;flex-direction:column;align-items:center;gap:8px;transition:background .1s}.upload-area svg{width:24px;height:24px;color:var(--accent);margin-bottom:4px}.upload-area strong{font-size:14px}.upload-area span{font-size:12px;color:var(--muted)}.upload-area small{font-size:10px;color:var(--muted);letter-spacing:.3px}.upload-area:hover,.upload-area.dragover{background:var(--soft);border-color:var(--accent)}.list-hint{font-size:10px;color:var(--muted);padding:16px 16px 10px}.page-list{list-style:none;margin:0;padding:0 10px 16px;overflow-y:auto;flex:1}.page-item{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:8px;border-radius:6px;margin:6px 0;background:#fff;position:relative}.page-item.dragging{opacity:.35}.page-item.drop-target{border-color:var(--accent);box-shadow:0 -3px 0 var(--accent)}.drag-handle{font-size:16px;color:#8a9385;cursor:grab;letter-spacing:-3px;padding-right:3px}.thumb-button{padding:0;flex:none;width:38px;height:58px;background:var(--surface);border-radius:3px;overflow:hidden}.thumb-button img{width:100%;height:100%;object-fit:cover;object-position:top}.page-info{min-width:0;flex:1}.page-info strong{font-size:11px;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:112px}.page-info small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.page-controls{display:flex;flex-direction:column;gap:0}.page-controls button{width:28px;height:24px;font-size:14px;border-radius:3px}.page-controls button:hover{background:var(--soft)}.page-controls .remove-page svg{width:13px;height:13px}.panel-footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:14px 16px;font-size:10px;color:var(--muted)}.panel-footer svg{width:14px;height:14px}.preview-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:#f0f1ee}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;height:56px;min-height:56px;border-bottom:1px solid #e0e3dc;padding:0 24px;background:#f9faf7}.preview-toolbar>div{display:flex;align-items:center;gap:8px}.preview-toolbar strong{font-size:12px;font-weight:600}.desktop-text{font-size:9px;letter-spacing:1.2px;color:#737b6e;margin-left:8px}.preview-toolbar .text-button{font-size:11px}.camera{width:80px;height:18px;background:#2c302b;border-radius:0 0 14px 14px;position:absolute;left:calc(50% - 40px);top:0}.manuscript{display:flex;flex-direction:column;background:#fff;gap:0}.manuscript img{display:block;width:100%;height:auto;flex:none;object-fit:contain}.empty-viewer{min-height:500px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--ink);padding:40px 12px;background:#fff}.empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:64px;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-bottom:24px;transform:rotate(-6deg)}.empty-icon svg{width:28px;height:28px;fill:none;stroke:#74866c;stroke-width:1.2}.empty-viewer h2{font-size:17px;letter-spacing:-.5px}.empty-viewer p{font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0 24px}.empty-viewer .secondary{font-size:12px;min-height:40px;padding:8px 12px}.empty-caption{font-size:8px;letter-spacing:1.6px;color:#75816d;margin-top:50px}.preview-bottom{height:56px;min-height:56px;background:#f9faf7;border-top:1px solid #e0e3dc;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:12px;color:var(--muted)}.preview-bottom .text-button{font-size:11px}.preview-bottom svg{width:16px;height:16px}.zoom-control{display:flex;align-items:center;gap:4px}.zoom-control output{min-width:40px;text-align:center;font-size:11px}.setting-group{padding:18px 20px;border-bottom:1px solid var(--line)}.control-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.setting-group label{font-size:12px;font-weight:600}.setting-group output{font-size:11px;background:var(--surface);border:1px solid var(--line);padding:4px 7px;border-radius:4px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--accent);height:20px;cursor:pointer;margin:4px 0}.range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:3px}.preset-row{display:flex;gap:6px;margin-top:14px}.preset-row button{flex:1;min-height:34px;font-size:11px;border:1px solid var(--line);border-radius:4px}.preset-row .selected{background:var(--soft);color:var(--accent);border-color:#a8b89e}.setting-help{font-size:10px;color:var(--muted);line-height:1.7;margin-top:10px}.swatch-row{display:flex;gap:8px;margin-top:14px}.swatch{padding:0;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:10px;color:var(--muted);flex:1;min-height:62px}.swatch>span{width:36px;height:36px;border-radius:50%;border:1px solid #a5aba1}.swatch.selected>span{outline:2px solid var(--accent);outline-offset:3px}.swatch .white{background:#fff}.swatch .black{background:#171717}.swatch .gray{background:#e5e5e5}.reset-button{font-size:10px;min-height:32px;padding:8px 0}.info-card{margin:24px 18px;padding:18px;background:var(--surface);border-radius:6px}.info-card .eyebrow{font-size:8px;letter-spacing:1.1px}.info-card h3{font-size:12px;margin:12px 0 8px}.info-card p{font-size:11px;line-height:1.9;color:var(--muted)}.storage-button{margin:auto 0 0;padding:16px 20px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);text-align:left;font-size:11px}.storage-button>span:nth-child(2){flex:1}.storage-button span span{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.storage-button svg{width:18px;height:18px;color:var(--accent)}.mobile-tools,.panel-close{display:none}.panel-backdrop{position:fixed;inset:0;background:#0005;z-index:20}#dashboard{max-width:1320px;margin:auto;padding:64px 48px}.dashboard-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:60px}.dashboard-top h1{font-size:42px;line-height:1.25;letter-spacing:-1.8px;font-weight:650;margin:14px 0 20px}.dashboard-top p{font-size:15px;color:var(--muted);line-height:1.9}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title h2{font-size:18px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.project-cover{height:150px;background:var(--surface);display:flex;align-items:center;justify-content:center;width:100%;padding:0;overflow:hidden}.project-cover img{width:100%;height:100%;object-fit:cover;object-position:top}.project-cover>svg{width:40px;height:40px;stroke:#a1ac9b;fill:none;stroke-width:1}.project-details{padding:20px}.project-name-button{display:block;font-size:17px;font-weight:600;text-align:left;padding:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:32px}.project-meta{font-size:12px;color:var(--muted);line-height:1.9;margin:6px 0 12px}.card-actions{display:flex;justify-content:flex-end;gap:2px;border-top:1px solid var(--line);padding-top:8px}.card-actions .text-button{font-size:12px;min-height:36px}.new-card{border:1px dashed #a7b3a1;border-radius:10px;min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--accent);background:#fafbf9}.new-card svg{width:26px;height:26px}.new-card small{color:var(--muted)}.privacy-strip{display:flex;gap:16px;align-items:center;margin-top:48px;padding:24px;border-top:1px solid var(--line);background:var(--surface);border-radius:6px}.privacy-strip>svg{width:26px;height:26px;color:var(--accent)}.privacy-strip strong{font-size:13px}.privacy-strip p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:6px}.privacy-strip .text-button{margin-left:auto;white-space:nowrap}dialog{border:1px solid var(--line);border-radius:12px;padding:0;width:580px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink);box-shadow:0 20px 80px #0002}dialog::backdrop{background:#19221b65}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:1}.modal-header h2{font-size:18px}#modalBody{padding:24px;font-size:14px;line-height:1.7}#modalBody p{margin:0 0 16px;color:var(--muted)}#modalBody h3{font-size:15px;margin:20px 0 8px}#modalBody .full-input{width:100%;min-height:44px;border:1px solid #bcc5b8;border-radius:5px;padding:10px;margin:8px 0 20px}#modalBody .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.notice{font-size:12px;background:var(--surface);border:1px solid var(--line);padding:14px;border-radius:6px;margin:16px 0;color:var(--muted);overflow-wrap:anywhere}.notice.warning{background:#fff8ed;border-color:#e9d2a9;color:#83531b}.export-option{display:flex;width:100%;padding:16px;gap:14px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:7px;margin:10px 0;min-height:76px}.export-option:hover{border-color:#84987b;background:var(--surface)}.export-option.featured{background:var(--soft);border-color:#b8c8ad}.export-option>svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.4;flex:none}.export-option>span{flex:1;min-width:0}.export-option strong{display:block;font-size:14px}.export-option small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.export-option em{font-size:10px;font-style:normal;color:var(--accent);white-space:nowrap}.setting-line{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);gap:12px}.setting-line label{flex:1}.setting-line input{accent-color:var(--accent)}progress{width:100%;height:8px;accent-color:var(--accent)}#toast{pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#28382b;color:#fff;border-radius:8px;padding:14px 20px;max-width:calc(100vw - 32px);width:max-content;box-shadow:0 4px 20px #0002;z-index:100;font-size:14px}#toast.error{background:#8e302a}#busy{position:fixed;inset:0;background:#fff9;backdrop-filter:blur(3px);z-index:80;display:flex;align-items:center;justify-content:center}.busy-box{max-width:calc(100vw - 32px);padding:32px;background:white;border:1px solid var(--line);border-radius:12px;text-align:center;box-shadow:0 12px 50px #0001}.busy-box strong{display:block;margin:16px 0 8px}.busy-box p{font-size:12px;color:var(--muted)}.spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;margin:auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1500px){.editor-layout{grid-template-columns:300px minmax(0,1fr) 290px}.setting-group{padding:22px 24px}.page-info strong{max-width:145px}}
@media(max-width:1150px){.editor-layout{grid-template-columns:240px minmax(0,1fr)}.settings-panel{display:none}.mobile-tools{display:flex;position:absolute;right:24px;top:186px;z-index:2}.mobile-tools #togglePages{display:none}.mobile-tools button{background:#f9faf7;font-size:11px;min-height:40px;padding:8px}.preview-toolbar .text-button{margin-right:128px}.desktop-text{display:none}.settings-panel.open{display:flex;position:fixed;right:0;top:0;bottom:0;width:290px;z-index:21;box-shadow:-10px 0 30px #0001}.settings-panel .panel-close{display:inline-flex}.page-info strong{max-width:86px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.save-status{font-size:10px;max-width:140px}}
@media(max-width:900px){.app-header{height:68px;padding:0 16px;gap:12px}.brand{font-size:8px;gap:6px;letter-spacing:1px}.brand strong{font-size:11px;letter-spacing:1px}.brand-icon{transform:scale(.8);width:30px}.app-header nav{gap:12px;margin:0 0 0 auto}.nav{font-size:12px;min-width:44px}.header-end{gap:0}.local-badge{display:none}.header-end .icon-button{width:36px}.project-bar{padding:16px;height:108px;gap:8px}.project-heading input{font-size:19px}.project-heading .eyebrow{font-size:9px}.project-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;width:140px;flex:none}.project-actions .save-status{width:100%;text-align:right;max-width:none;font-size:9px;line-height:1.4}.project-actions .primary{min-height:38px;font-size:12px;padding:8px 10px}.project-actions .compact{min-height:38px;font-size:12px}.project-actions svg{width:16px;height:16px}.editor-layout{display:block;height:calc(100dvh - 224px);min-height:400px}.preview-panel{height:100%}.pages-panel{display:none}.mobile-tools{display:flex;position:static;height:48px;border-bottom:1px solid var(--line);justify-content:space-between;background:#fff;padding:0 12px}.mobile-tools #togglePages{display:inline-flex}.mobile-tools button{background:#fff;font-size:12px}.preview-toolbar{height:46px;min-height:46px;padding:0 16px}.preview-toolbar .text-button{margin:0}.preview-toolbar strong{font-size:11px}.empty-viewer{min-height:450px}.preview-bottom{padding:0 10px}.pages-panel.open{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(320px,90vw);z-index:21;box-shadow:10px 0 30px #0001}.page-info strong{max-width:145px}.panel-close{display:inline-flex}.pages-panel .panel-title{padding-left:16px;padding-right:8px}.pages-panel .panel-title .text-button{margin-left:auto}.page-controls button{width:36px;height:36px}.thumb-button{height:82px;width:48px}.page-info strong{font-size:12px}.page-info small{font-size:11px}.list-hint{font-size:11px}.upload-area small{font-size:11px}.panel-footer{font-size:11px}#dashboard{padding:36px 20px}.dashboard-top{display:block;margin-bottom:36px}.dashboard-top h1{font-size:31px;margin:12px 0 16px}.dashboard-top p{font-size:14px}.dashboard-top .primary{margin-top:24px}.section-title h2{font-size:16px}.section-title .secondary{font-size:11px;padding:8px 10px}.project-grid{grid-template-columns:1fr;gap:16px}.project-cover{height:160px}.new-card{min-height:160px}.privacy-strip{padding:18px;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-top:28px}.privacy-strip>div{flex:1}.privacy-strip .text-button{margin-left:32px}.privacy-strip p{font-size:11px}.modal-header{padding:12px 16px}#modalBody{padding:20px}.export-option{padding:14px;gap:10px}.export-option em{display:none}.busy-box{padding:24px 20px}}
/* Readable tool labels and generous pointer targets. */
.save-status,.preview-toolbar strong,.preview-toolbar .text-button,.preview-bottom,.preview-bottom .text-button,.zoom-control output,.setting-group label,.setting-group output,.range-ends,.preset-row button,.setting-help,.swatch,.reset-button,.info-card h3,.info-card p,.storage-button,.storage-button span span,.list-hint,.upload-area span,.upload-area small,.panel-title .text-button,.page-info strong,.page-info small,.panel-footer,.project-meta,.card-actions .text-button,.privacy-strip strong,.privacy-strip p,.notice,.export-option small,.export-option em,.busy-box p{font-size:14px}.desktop-text{display:none}.preset-row button{min-height:44px}.page-item{display:grid;grid-template-columns:16px 42px minmax(0,1fr);gap:8px;padding:10px}.page-info strong{max-width:none}.page-info small{font-size:12px;line-height:1.5}.page-controls{grid-column:2 / 4;flex-direction:row;justify-content:flex-end;border-top:1px solid var(--line);margin-top:2px;padding-top:4px}.page-controls button{width:44px;height:44px;font-size:18px}.page-controls .remove-page svg{width:18px;height:18px}.page-controls .remove-page{margin-left:auto}.thumb-button{width:42px;height:60px}.info-card{padding:16px}.info-card .eyebrow{font-size:9px}.panel-footer{font-size:12px;line-height:1.6}.setting-help{font-size:13px}.save-status{font-size:12px}.setting-group{padding:18px}.upload-area small{font-size:12px}.list-hint{font-size:12px}.setting-group .swatch{font-size:13px}.storage-button{line-height:1.6}.storage-button span span{font-size:12px}.panel-title .text-button{font-size:12px}.export-option em{font-size:11px}.export-option small{font-size:13px}.eyebrow{font-size:11px}.app-header .nav{font-size:14px}.empty-viewer p{font-size:14px}.empty-viewer .secondary{min-height:44px;font-size:14px}.mobile-tools button{font-size:14px}.page-info small{overflow-wrap:anywhere}@media(max-width:900px){.preview-toolbar strong,.preview-toolbar .text-button,.preview-bottom .text-button,.preview-bottom{font-size:12px}.project-actions .save-status{font-size:10px}.setting-group{padding:18px 20px}.page-info strong{font-size:14px}.page-info small{font-size:12px}.privacy-strip p{font-size:12px}.app-header .nav{font-size:12px}}
.drag-handle svg{width:14px;height:22px;fill:#84917d;stroke:none}.signal-bars{display:flex;align-items:flex-end;height:9px;gap:1px}.signal-bars i{width:3px;background:#2c302b;height:4px}.signal-bars i:nth-child(2){height:6px}.signal-bars i:nth-child(3){height:9px}.battery{display:inline-block;width:13px;height:7px;border:1px solid #2c302b;border-radius:1px;background:#2c302b;box-shadow:inset 0 0 0 1px #fff}
@media(max-width:900px){.project-actions .compact{padding:8px!important}.project-actions{width:140px}}
.drag-handle{touch-action:none;user-select:none;display:flex;align-items:center;min-height:44px}.page-item.touch-dragging{opacity:.65;outline:2px solid var(--accent)}
.page-item{grid-template-columns:44px 42px minmax(0,1fr)}.drag-handle{justify-content:center;min-width:44px;min-height:44px}#brandText{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.optimization-button{display:flex;align-items:center;gap:8px;text-align:left;padding:14px 16px;min-height:52px;font-size:12px;border-bottom:1px solid var(--line);margin:4px 0 0;flex-wrap:wrap}.optimization-button svg{width:17px;height:17px}.optimization-button span{font-size:11px;color:var(--muted);margin-left:auto}.frame-setting{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px;border-bottom:1px solid var(--line);font-size:14px}.frame-setting input{width:20px;height:20px;accent-color:var(--accent)}.page-controls{grid-column:1/4}.page-info small{font-size:11px;line-height:1.7}.page-info .saving{color:#426133}.page-info .warning{color:#946017}.compare-box{background:var(--surface);height:min(440px,45dvh);overflow:auto;border:1px solid var(--line);border-radius:6px;margin-top:16px}.compare-box img{display:block;width:100%;height:auto;background:repeating-conic-gradient(#f4f4f4 0% 25%,#ddd 0% 50%) 0 0/16px 16px}.compare-box.pixel img{width:auto;max-width:none}.compare-tabs{display:flex;gap:8px;margin:16px 0 8px;flex-wrap:wrap}.compare-tabs button.selected{background:var(--soft);border-color:#7c9173}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.stats-grid>div{background:var(--surface);padding:14px;border:1px solid var(--line);border-radius:6px;overflow-wrap:anywhere}.stats-grid strong{display:block;font-size:16px}.stats-grid span{font-size:12px;color:var(--muted)}.optimization-select{width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:5px;background:#fff;margin:8px 0 16px}.optimization-options label{font-size:14px}.optimization-options input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.optimization-options .setting-line{align-items:flex-start}.optimization-options input[type=range]{margin:12px 0}.manuscript img{aspect-ratio:attr(width type(<number>))/attr(height type(<number>));background:transparent}.manuscript img:not([src]){color:transparent}.source-label{font-size:12px;color:var(--muted);line-height:1.8}@media(max-width:900px){.frame-setting{min-height:54px}.page-info small{font-size:12px}.optimization-button{font-size:14px}.optimization-button span{font-size:12px}.compare-box{height:42dvh}.stats-grid{grid-template-columns:1fr}.preview-panel{background:#fff}}
@media(max-width:900px){}
.compare-box[aria-busy=true]{background:linear-gradient(90deg,#f7f8f5,#edf2e9,#f7f8f5)}
#modalBody .modal-actions{flex-wrap:wrap}.optimization-options output{padding:4px 8px;background:var(--soft);border:1px solid var(--line);border-radius:4px;white-space:nowrap}.optimization-options .control-title{margin-top:8px}
