:root{color-scheme:light;--paper:#f4f2ec;--ink:#20211e;--muted:#696a64;--line:#d9d7cf;--white:#fffefa;--accent:#e4512b;--soft:#f8e8e1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}
a{color:inherit}
button,input{font:inherit}
button,a,input{outline-offset:4px}
.site-header,main,.footer{max-width:1120px;margin:0 auto;padding-left:28px;padding-right:28px}
.site-header{min-height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font-size:23px;font-weight:800;letter-spacing:-1px}
.brand span{color:var(--accent);font-size:19px;margin-right:5px}
nav{display:flex;gap:26px}
nav a{text-decoration:none;color:#55564f;font-size:14px}
nav a:hover{color:var(--accent)}
.intro{padding:65px 0 42px;max-width:750px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:var(--accent);margin:0 0 13px}
h1{font-size:clamp(46px,7vw,78px);line-height:.99;letter-spacing:-4px;margin:0 0 22px}
h1 em{font-style:normal;color:var(--accent)}
.intro-copy{font-size:18px;color:#5d5e57;max-width:610px;margin:0}
.workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);border:1px solid var(--ink);background:var(--white)}
.work,.settings{padding:clamp(20px,3vw,34px);min-width:0}
.work{border-right:1px solid var(--line)}
h2{font-size:23px;line-height:1.2;letter-spacing:-.7px;margin:0 0 22px}
.drop{min-height:220px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;border:1px dashed #aaa99f;background:#fcfbf7;cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop:focus-within,.drop.drag-over{border-color:var(--accent);background:#fff0e9;outline:2px solid var(--accent);outline-offset:2px}
.upload-mark{font-size:28px;color:var(--accent);line-height:1}
.drop strong{font-size:18px}
.drop span:not(.upload-mark){color:var(--muted);font-size:14px}
.drop input{width:min(100%,280px);font-size:13px}
.drop small{color:var(--muted);font-size:12px}
.status{min-height:48px;color:var(--muted);font-size:14px;margin:15px 0 0;overflow-wrap:anywhere}
.settings h2{margin-bottom:25px}
.settings>label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.limit-field{display:flex;align-items:center;gap:10px}
.limit-field input{width:100%;min-width:0;padding:11px 12px;border:1px solid #bdbbb1;background:white;color:var(--ink);border-radius:0}
.limit-field span{font-weight:700;color:var(--muted)}
.muted{font-size:12px;line-height:1.5;color:var(--muted);margin:9px 0 18px}
.presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0}
.presets button{padding:9px 3px;border:1px solid var(--line);background:white;color:var(--ink);font-size:12px;cursor:pointer}
.presets button:hover,.presets button.selected{border-color:var(--accent);background:var(--soft)}
.primary{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:14px 16px;border:1px solid var(--ink);background:var(--ink);color:white;font-weight:700;cursor:pointer}
.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}
.primary:disabled{opacity:.6;cursor:wait}
.privacy{margin:22px 0 0;padding-top:17px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted)}
.privacy span{color:var(--accent);font-size:16px;margin-right:4px}
.privacy strong{color:var(--ink)}
.result{margin-top:18px;padding:18px;border:1px solid var(--line);background:#fff}
.result[hidden]{display:none}
.result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.result h3{font-size:16px;margin:0}
.savings{font-size:12px;font-weight:700;color:#287047}
.preview{display:block;width:auto;max-width:100%;max-height:280px;margin:16px auto 8px;object-fit:contain;background:repeating-conic-gradient(#eee 0% 25%,white 0% 50%) 50%/16px 16px}
.result-info{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.download{display:block;padding:12px 14px;background:var(--accent);color:white;text-align:center;text-decoration:none;font-size:14px;font-weight:700}
.download:hover{background:#bf3e20}
.section{padding:55px 0;border-top:1px solid var(--line);margin-top:56px}
.section>h2{font-size:clamp(26px,4vw,36px);margin-bottom:28px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.steps article{padding-top:16px;border-top:1px solid var(--ink)}
.steps b{font-size:11px;letter-spacing:1px;color:var(--accent)}
.steps h3,.faq-list h3{font-size:17px;margin:13px 0 7px}
.steps p,.faq-list p{font-size:14px;color:var(--muted);margin:0;max-width:330px}
.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.faq-list article{padding-top:15px;border-top:1px solid var(--line)}
.faq-list h3{margin-top:0}
.footer{display:flex;justify-content:space-between;gap:15px;padding-top:24px;padding-bottom:32px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
@media(max-width:720px){.site-header,main,.footer{padding-left:19px;padding-right:19px}.site-header{min-height:70px}nav{gap:14px}nav a{font-size:12px}.intro{padding-top:49px}h1{letter-spacing:-2.5px}.intro-copy{font-size:16px}.workspace{grid-template-columns:1fr}.work{border-right:0;border-bottom:1px solid var(--line)}.drop{min-height:190px}.settings h2{margin-bottom:18px}.steps{grid-template-columns:1fr;gap:22px}.steps article{padding-top:13px}.section{margin-top:42px;padding-top:40px}.faq-list{grid-template-columns:1fr;gap:22px}.footer{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared controls for the image-resize tool */
.dimension-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.dimension-fields>div>label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}
.check-row{display:flex;align-items:center;gap:9px;margin:16px 0 22px;font-size:14px;cursor:pointer}
.check-row input{width:17px;height:17px;accent-color:var(--accent)}
.format-select{display:block;width:100%;padding:11px 12px;margin:7px 0 20px;border:1px solid #bdbbb1;border-radius:0;background:#fff;color:var(--ink);font:inherit}
@media(max-width:420px){.dimension-fields{grid-template-columns:1fr;gap:10px}}

.policy-content{max-width:760px;padding:0 0 60px}
.policy-content h2{margin:30px 0 10px;font-size:22px}
.policy-content p{color:#55564f;line-height:1.75;margin:0 0 16px}
.policy-content a{color:var(--accent);font-weight:700}
.contact-link{display:inline-block;padding:12px 15px;border:1px solid var(--ink);text-decoration:none}
.contact-link:hover{background:var(--ink);color:#fff}

/* Image converter controls */
.quality-wrap{margin:20px 0}.quality-wrap label{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:14px;margin-bottom:8px}.quality-wrap input[type="range"]{width:100%;accent-color:var(--accent)}[hidden]{display:none!important}

/* Rotate and flip controls */
.transform-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.secondary{padding:11px 9px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer}.secondary:hover{border-color:var(--accent);background:var(--soft)}.reset-control{width:100%;margin:0 0 22px}.secondary:disabled{opacity:.55;cursor:wait}

@media(max-width:720px){.site-header{flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:12px}nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}.transform-controls{grid-template-columns:1fr 1fr}}

/* Text watermark controls */
.text-setting{display:block;width:100%;padding:11px 12px;margin:7px 0 18px;border:1px solid #bdbbb1;background:#fff;color:var(--ink);font:inherit}.color-setting{display:block;width:100%;height:42px;margin:7px 0 18px;padding:3px;border:1px solid #bdbbb1;background:#fff}.range-setting{display:block;width:100%;margin:7px 0 18px;accent-color:var(--accent)}.settings>label span{float:right;color:var(--muted);font-weight:400}

section[aria-labelledby="more-tools-title"] .steps{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}

/* PDF tools */
.pdf-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);border:1px solid var(--ink);background:var(--white)}.pdf-main,.pdf-sidebar{padding:clamp(20px,3vw,34px);min-width:0}.pdf-main{border-right:1px solid var(--line)}.pdf-main>label,.pdf-main label{display:block;font-size:13px;font-weight:700;margin:18px 0 7px}.pdf-main input[type=file]{display:block;width:100%;padding:12px;border:1px dashed #aaa99f;background:#fcfbf7}.pdf-main .format-select{display:block;width:100%;padding:12px;border:1px solid #bdbbb1;background:white;color:var(--ink);margin:7px 0 16px}.pdf-sidebar h2{margin-bottom:14px}.pdf-choice{display:grid;grid-template-columns:30px 1fr;gap:0 10px;text-align:left;width:100%;padding:12px 10px;margin:0 0 7px;border:1px solid var(--line);background:#fffefa;color:var(--ink);cursor:pointer}.pdf-choice>span{grid-row:span 2;color:var(--accent);font-size:11px;font-weight:800}.pdf-choice strong{font-size:14px}.pdf-choice small{font-size:12px;color:var(--muted)}.pdf-choice:hover,.pdf-choice.selected{border-color:var(--accent);background:var(--soft)}.pdf-results{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.pdf-results h3{margin:0 0 12px}.pdf-download-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.pdf-download-row .download{padding:8px 12px;white-space:nowrap}.pdf-main .primary{margin-top:12px}.pdf-main .muted{font-size:12px;color:var(--muted);margin:5px 0 14px}.pdf-main [hidden],.pdf-results[hidden]{display:none!important}
@media(max-width:760px){.pdf-workspace{grid-template-columns:1fr}.pdf-main{border-right:0;border-bottom:1px solid var(--line)}.pdf-sidebar{padding-top:24px}.site-header{flex-wrap:wrap;gap:10px;padding-top:14px;padding-bottom:14px}nav{flex-wrap:wrap;gap:8px 14px}}


/* Theme switcher */
.theme-toggle{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--white);color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.theme-toggle:hover{border-color:var(--accent)}
:root[data-theme="dark"]{color-scheme:dark;--paper:#151614;--ink:#f1f0eb;--muted:#aaa99f;--line:#393a35;--white:#20211e;--accent:#ff805e;--soft:#392720}
:root[data-theme="dark"] .drop,:root[data-theme="dark"] .work,:root[data-theme="dark"] .settings,:root[data-theme="dark"] .pdf-main,:root[data-theme="dark"] .pdf-sidebar,:root[data-theme="dark"] .policy-content{background:var(--white);color:var(--ink)}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea,:root[data-theme="dark"] .pdf-choice{background:#292a26;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .presets button{background:#292a26;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .presets button.selected,:root[data-theme="dark"] .pdf-choice:hover,:root[data-theme="dark"] .pdf-choice.selected{background:var(--soft);border-color:var(--accent)}
:root[data-theme="dark"] .result,:root[data-theme="dark"] .pdf-results{border-color:var(--line)}
:root[data-theme="dark"] .result{background:var(--white);color:var(--ink)}
:root[data-theme="dark"] .result h3,:root[data-theme="dark"] .result-info{color:var(--ink)}
:root[data-theme="dark"] .preview,:root[data-theme="dark"] .pdf-preview canvas{background:#292a26}
:root[data-theme="dark"] .download{color:#151614}
@media(max-width:760px){.theme-toggle{margin-left:auto}}


/* Complete dark-theme overrides for elements using fixed light colors */
:root[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
:root[data-theme="dark"] nav a,:root[data-theme="dark"] .intro-copy,:root[data-theme="dark"] .muted,:root[data-theme="dark"] .privacy,:root[data-theme="dark"] .status,:root[data-theme="dark"] .result-info,:root[data-theme="dark"] .section p,:root[data-theme="dark"] .policy-content p,:root[data-theme="dark"] .policy-content li{color:var(--muted)}
:root[data-theme="dark"] .section,:root[data-theme="dark"] .faq-item,:root[data-theme="dark"] .faq-list,:root[data-theme="dark"] .how-card,:root[data-theme="dark"] .info-card,:root[data-theme="dark"] .pdf-choice{background:var(--white);color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .site-header,:root[data-theme="dark"] .footer,:root[data-theme="dark"] .section,:root[data-theme="dark"] .policy-content{border-color:var(--line)}
:root[data-theme="dark"] .drop{border-color:var(--line);background:var(--white);color:var(--ink)}
:root[data-theme="dark"] .theme-toggle{background:#292a26;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .primary{background:var(--accent);color:#151614}
:root[data-theme="dark"] .download{background:var(--accent);color:#151614}


/* Fix transform action buttons in dark mode */
:root[data-theme="dark"] .secondary,
:root[data-theme="dark"] .secondary:disabled {
  background: #292a26;
  color: var(--ink);
  border-color: var(--line);
}
:root[data-theme="dark"] .secondary:hover:not(:disabled) {
  background: var(--soft);
  color: var(--ink);
  border-color: var(--accent);
}
