:root{color:#20211f;background:#f5f1e9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#2b747314,#f5f1e900 380px),#f5f1e9}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}main{width:min(1440px,100%);margin:0 auto;padding:28px}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,480px);gap:28px;align-items:stretch;min-height:330px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:34px 0}.eyebrow,.section-kicker{margin:0 0 10px;color:#2f7470;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:780px;margin-bottom:18px;font-size:4rem;line-height:.98;letter-spacing:0}.subtitle{max-width:650px;color:#55534d;font-size:1.18rem;line-height:1.6}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.trust-row span{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid #d8d0c2;border-radius:999px;padding:7px 12px;background:#ffffff80;color:#3e3d39;font-size:.92rem;font-weight:700}.upload-zone{display:flex;min-height:310px;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #b7ab98;border-radius:8px;padding:28px;background:#ffffffb8;text-align:center;transition:border-color .16s ease,background .16s ease,transform .16s ease}.upload-zone.is-dragging{border-color:#2f7470;background:#edf7f4;transform:translateY(-2px)}.upload-zone h2{margin:16px 0 4px;font-size:1.35rem;letter-spacing:0}.upload-zone p{margin-bottom:14px;color:#69665e}.upload-zone small{max-width:330px;margin-top:18px;color:#68645c;line-height:1.45}.file-button,.primary-button,.download-button,.secondary-button,.cancel-button,.advanced-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;border-radius:8px;padding:0 16px;font-weight:800}.file-button,.primary-button{background:#ca4f39;color:#fff;box-shadow:0 10px 24px #ca4f392e}.file-button input{display:none}.notice{display:flex;align-items:center;gap:10px;margin:22px 0 0;border-radius:8px;padding:14px 16px;font-weight:700}.notice.error{border:1px solid #e8b1a5;background:#fff0ed;color:#8b2f1e}.editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.38fr);gap:24px;margin-top:24px;align-items:start}.preview-panel,.controls-panel{border:1px solid #ded6c7;border-radius:8px;background:#ffffffc7}.preview-panel{padding:20px}.controls-panel{position:sticky;top:18px;padding:18px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-header.compact{margin-bottom:12px}.panel-header h2{margin:0;overflow-wrap:anywhere;font-size:1.2rem;letter-spacing:0}.page-controls{display:inline-grid;grid-template-columns:36px auto 36px;align-items:center;gap:10px;white-space:nowrap;color:#56534d;font-weight:800}.icon-button{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid #d8d0c2;border-radius:8px;background:#fffaf2;color:#282925}.mode-tabs{display:inline-grid;grid-template-columns:repeat(3,minmax(84px,1fr));gap:4px;margin-bottom:16px;border:1px solid #ded6c7;border-radius:8px;padding:4px;background:#f4eee3}.mode-tabs button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#615d55;font-size:.9rem;font-weight:800}.mode-tabs button.active{background:#fff;color:#20211f;box-shadow:0 1px 4px #27221914}.preview-empty,.compare-frame{width:100%;min-height:420px;border:1px solid #d8d0c2;border-radius:8px;background:#e8e0d2}.preview-empty{display:grid;place-items:center;align-content:center;gap:10px;color:#656158}.compare-frame{position:relative;overflow:hidden;max-height:76vh;margin:0 auto;touch-action:none}.preview-image,.scanned-layer img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}.scanned-layer{position:absolute;inset:0;pointer-events:none}.compare-handle{position:absolute;top:0;bottom:0;width:42px;transform:translate(-50%);border:0;background:transparent;cursor:ew-resize}.compare-handle:before{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#ca4f39;content:""}.compare-handle span{position:absolute;top:50%;left:50%;width:24px;height:42px;transform:translate(-50%,-50%);border:2px solid #ca4f39;border-radius:999px;background:#fffaf2;box-shadow:0 5px 14px #2a231c2e}.compare-label{position:absolute;top:12px;border-radius:999px;padding:6px 10px;background:#20211fad;color:#fff;font-size:.76rem;font-weight:900}.compare-label.left{left:12px}.compare-label.right{right:12px}.preview-loading{position:absolute;right:12px;bottom:12px;border-radius:999px;padding:8px 12px;background:#20211fc2;color:#fff;font-size:.84rem;font-weight:800}.is-loading .preview-image,.is-loading .scanned-layer{opacity:.65}.file-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.file-stats span{border-radius:999px;padding:7px 10px;background:#f2eadc;color:#615d55;font-size:.84rem;font-weight:800}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset-card{min-height:92px;border:1px solid #d8d0c2;border-radius:8px;padding:12px;background:#fffaf2;color:#20211f;text-align:left}.preset-card.active{border-color:#2f7470;box-shadow:inset 0 0 0 1px #2f7470}.preset-card strong,.preset-card span{display:block}.preset-card strong{margin-bottom:6px;font-size:.92rem}.preset-card span{color:#68645c;font-size:.8rem;line-height:1.35}.advanced-toggle{width:100%;margin-top:14px;border:1px solid #d8d0c2;background:#f5eee4;color:#20211f}.advanced-controls{display:grid;gap:14px;margin-top:14px;border-top:1px solid #ded6c7;padding-top:14px}.control{display:grid;gap:8px;color:#403e39;font-size:.9rem;font-weight:800}.control-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.control-row strong{color:#2f7470;font-size:.85rem}input[type=range]{width:100%;accent-color:#2f7470}select{width:100%;min-height:40px;border:1px solid #d8d0c2;border-radius:8px;padding:0 10px;background:#fffaf2;color:#20211f;font-weight:700}.toggle-row{display:flex;align-items:center;gap:10px;color:#403e39;font-weight:800}.toggle-row input{width:18px;height:18px;accent-color:#2f7470}.secondary-button{border:1px solid #d8d0c2;background:#fffaf2;color:#20211f}.conversion-box{display:grid;gap:12px;margin-top:18px;border-top:1px solid #ded6c7;padding-top:18px}.primary-button,.download-button{width:100%}.cancel-button{width:100%;border:1px solid #d8d0c2;background:#fffaf2;color:#8b2f1e}.progress-area{display:grid;gap:8px}.progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#54514b;font-size:.88rem;font-weight:800}.progress-track{overflow:hidden;height:9px;border-radius:999px;background:#e6dccd}.progress-track span{display:block;height:100%;border-radius:inherit;background:#2f7470;transition:width .12s ease}.result-box{display:grid;gap:12px;border:1px solid #b8d4c9;border-radius:8px;padding:12px;background:#eef8f3}.result-box strong,.result-box span{display:block}.result-box span{margin-top:4px;color:#586158;font-size:.86rem}.download-button{background:#2f7470;color:#fff}.seo-content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px;padding-bottom:28px}.seo-content article{border-top:2px solid #d9ccba;padding-top:14px}.seo-content h2{margin-bottom:8px;font-size:1.02rem}.seo-content p{margin-bottom:0;color:#5f5b54;font-size:.94rem;line-height:1.55}@media (max-width: 980px){main{padding:18px}.hero,.editor,.seo-content{grid-template-columns:1fr}h1{font-size:3rem}.controls-panel{position:static}}@media (max-width: 620px){main{padding:14px}.hero-copy{padding:14px 0}h1{font-size:2.35rem;line-height:1.04}.subtitle{font-size:1rem}.upload-zone{min-height:260px;padding:20px}.preview-panel,.controls-panel{padding:14px}.panel-header{align-items:flex-start;flex-direction:column}.page-controls,.mode-tabs,.preset-grid{width:100%}.preset-grid{grid-template-columns:1fr}.preview-empty,.compare-frame{min-height:300px}}
