:root{--paper:#f2f0e8;--paper-light:#faf9f4;--ink:#18201d;--muted:#68716c;--green:#0b634b;--green-dark:#064636;--orange:#ff5c35;--yellow:#f5d451;--danger:#b84932;--line:#18201d29;--shadow:0 24px 70px #18201d17;--serif:"Iowan Old Style", "Baskerville", "Songti SC", "STSong", serif;--sans:"Avenir Next", "PingFang SC", "Hiragino Sans GB", sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--sans);background:linear-gradient(90deg, transparent 49.9%, #18201d09 50%, transparent 50.1%), radial-gradient(circle at 12% 0%, #fffffff2, transparent 30rem), var(--paper);background-size:56px 100%,auto,auto;margin:0}a{color:inherit;text-decoration:none}button,input,select{color:inherit;font:inherit}button{cursor:pointer}svg{display:block}.noise{z-index:30;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}.shell{width:min(1240px,100% - 48px);margin:0 auto;padding-bottom:54px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;animation:.5s both rise;display:flex}.brand{align-items:center;gap:14px;display:inline-flex}.wordmark{--dot-travel:10px;width:126px;overflow:visible}.wordmark .logo-dot{transform-box:fill-box;transform-origin:50%;will-change:transform}.brand:hover .dot-warm,.brand:focus-visible .dot-warm{animation:.9s cubic-bezier(.45,0,.2,1) dotOrbitClockwise}.brand:hover .dot-green,.brand:focus-visible .dot-green{animation:.9s cubic-bezier(.45,0,.2,1) 60ms dotOrbitCounter}.brand-label{border-left:1px solid var(--line);color:var(--muted);letter-spacing:.12em;padding-left:14px;font-size:12px;font-weight:650}.back-home{border:1px solid var(--ink);background:var(--paper-light);border-radius:100px;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.back-home:hover{box-shadow:4px 4px 0 var(--yellow);transform:translateY(-2px)}.tool-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:50px;padding:54px 0 34px;animation:.55s 40ms both rise;display:grid}.tool-kicker{color:var(--green);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:11px;margin:0 0 15px;font-size:11px;font-weight:800;display:flex}.tool-kicker:before{content:"";background:var(--orange);border-radius:100px;width:27px;height:7px}h1{font-family:var(--serif);letter-spacing:-.06em;margin:0;font-size:clamp(44px,6vw,76px);font-weight:400;line-height:.95}.tool-note{border-left:1px solid var(--ink);max-width:330px;color:var(--muted);padding:15px 0 4px 22px;font-size:12px;line-height:1.75}.tool-note b{color:var(--green);font-size:13px;display:block}.converter{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:22px;display:grid}.panel{border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(18px);background:#faf9f4c7;border-radius:2px}.settings{padding:24px;animation:.55s 90ms both rise;position:sticky;top:18px}.control+.control{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.control-title{letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:9px;margin:0 0 13px;font-size:11px;font-weight:800;display:flex}.control-title:before{content:"";border:1px solid var(--ink);background:var(--yellow);width:17px;height:3px}.range-head{justify-content:space-between;margin-bottom:10px;font-size:12px;display:flex}.range-head output{color:var(--green);font:750 12px/1 var(--sans)}input[type=range]{width:100%;accent-color:var(--green);cursor:pointer}.segmented{background:#18201d12;border-radius:11px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.segmented.two{grid-template-columns:repeat(2,1fr)}.segment{background:0 0;border:0;border-radius:8px;padding:8px 5px;font-size:11px}.segment.active{color:#fff;background:var(--green);font-weight:750;box-shadow:0 3px 10px #18201d1f}.fields{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;display:grid}.field{min-width:0}.field.wide{grid-column:1/-1}.field label{color:var(--muted);margin:0 0 6px;font-size:10px;font-weight:700;display:block}.field input,.field select{border:1px solid var(--line);background:#fffc;border-radius:8px;outline:none;width:100%;height:40px;padding:0 10px;font-size:12px}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px #0b634b14}.mode-fields[hidden]{display:none}.template-help{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.6}.name-preview{border:1px dashed var(--line);background:#f5d45124;margin-top:13px;padding:11px 12px}.name-preview small{color:var(--muted);letter-spacing:.12em;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.preview-name{color:var(--green);text-overflow:ellipsis;white-space:nowrap;font:700 10px/1.7 ui-monospace,monospace;overflow:hidden}.primary,.secondary{border-radius:9px;font-weight:750;transition:transform .16s,box-shadow .16s,opacity .16s}.primary{color:#fff;background:var(--green);box-shadow:4px 4px 0 var(--yellow);border:0}.primary:hover:not(:disabled){box-shadow:6px 6px 0 var(--yellow);transform:translate(-1px,-1px)}.secondary{border:1px solid var(--line);background:#fff}button:disabled{cursor:not-allowed;opacity:.42}.convert-button{width:100%;margin-top:18px;padding:12px 16px}.workspace{min-height:640px;padding:16px;animation:.55s .14s both rise}.drop-zone{width:100%;min-height:310px;color:var(--ink);text-align:center;background:#ffffff40;border:1.5px dashed #0b634b59;border-radius:2px;place-items:center;padding:38px 24px;transition:border-color .22s,background .22s,transform .22s;display:grid}.drop-zone:hover,.drop-zone.dragging{border-color:var(--ink);background:#f5d4512e;transform:scale(.997)}.drop-zone[hidden]{display:none}.drop-icon{border:1px solid var(--ink);background:var(--yellow);width:86px;height:86px;box-shadow:9px 9px 0 var(--ink);border-radius:50%;place-items:center;margin:0 auto 22px;display:grid}.drop-icon svg{width:36px}.drop-zone h2{font-family:var(--serif);margin:0 0 9px;font-size:29px;font-weight:400}.drop-zone p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.drop-zone strong{color:var(--green)}#fileInput,.queue{display:none}.queue.active{display:block}.queue-head,.result-head{justify-content:space-between;align-items:center;gap:14px;padding:4px 2px 15px;display:flex}.queue-head h2,.result-head h2{font-family:var(--serif);margin:0;font-size:25px;font-weight:400}.queue-actions,.result-actions{gap:8px;display:flex}.queue-actions button,.result-actions button{padding:9px 12px;font-size:11px}.file-list{gap:7px;max-height:350px;display:grid;overflow:auto}.file-row{border:1px solid var(--line);background:#ffffff8c;grid-template-columns:34px minmax(0,1fr) auto 30px;align-items:center;gap:10px;padding:10px;display:grid}.file-no{color:var(--orange);font:800 9px/1 var(--sans);letter-spacing:.1em}.file-copy{min-width:0}.file-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.file-target{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font:10px/1.3 ui-monospace,monospace;overflow:hidden}.file-size{color:var(--muted);font-size:10px}.remove-file{border:1px solid var(--line);background:0 0;border-radius:50%;width:28px;height:28px}.remove-file:hover{color:var(--danger);border-color:var(--danger)}.progress-wrap{color:#fff;background:var(--ink);margin-top:14px;padding:14px;display:none}.progress-wrap.active{display:block}.progress-head{justify-content:space-between;margin-bottom:9px;font-size:11px;display:flex}.progress-track{background:#ffffff2e;height:4px;overflow:hidden}.progress-bar{background:var(--yellow);width:0;height:100%;transition:width .2s}.results{display:none}.results.active{display:block}.result-summary{color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.summary-dot{background:var(--green);border-radius:50%;width:6px;height:6px}.result-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px;display:grid}.result-card{border:1px solid var(--line);background:#ffffffa3;animation:.35s both pop;position:relative;overflow:hidden}.result-preview{aspect-ratio:4/3;background-color:#f0f1ee;background-image:linear-gradient(45deg,#e5e7e4 25%,#0000 25%),linear-gradient(-45deg,#e5e7e4 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e5e7e4 75%),linear-gradient(-45deg,#0000 75%,#e5e7e4 75%),none;background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;place-items:center;padding:12px;display:grid}.result-preview img{filter:drop-shadow(0 8px 16px #18201d1f);max-width:100%;max-height:100%}.result-body{padding:12px}.result-name{background:0 0;border:1px solid #0000;border-radius:6px;outline:none;width:100%;height:34px;padding:0 8px;font:700 10px/1 ui-monospace,monospace}.result-name:hover{background:#f2f0e8cc}.result-name:focus{border-color:var(--green);background:#fff}.result-meta{color:var(--muted);grid-template-columns:1fr auto;gap:5px 10px;margin:8px 0 11px;font-size:9px;display:grid}.saving{color:var(--green);font-weight:800}.saving.negative{color:var(--orange)}.result-download{border:1px solid var(--green);width:100%;color:var(--green);background:0 0;border-radius:7px;padding:9px;font-size:10px;font-weight:800}.result-download:hover{color:var(--ink);background:var(--yellow)}.result-error{min-height:180px;color:var(--danger);text-align:center;place-items:center;padding:24px;font-size:11px;line-height:1.6;display:grid}.empty-results{border:1px dashed var(--line);color:var(--muted);text-align:center;padding:55px 24px;font-size:12px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes dotOrbitClockwise{0%,to{transform:translate(0)scale(1)}12%{transform:translate(var(--dot-travel),0) scale(.86)}34%{transform:translate(0,var(--dot-travel)) scale(1)}56%{transform:translate(calc(var(--dot-travel) * -1),0) scale(.86)}78%{transform:translate(0,calc(var(--dot-travel) * -1)) scale(1)}92%{transform:translate(calc(var(--dot-travel) * .45),0) scale(.92)}}@keyframes dotOrbitCounter{0%,to{transform:translate(0)scale(1)}12%{transform:translate(calc(var(--dot-travel) * -1),0) scale(.86)}34%{transform:translate(0,calc(var(--dot-travel) * -1)) scale(1)}56%{transform:translate(var(--dot-travel),0) scale(.86)}78%{transform:translate(0,var(--dot-travel)) scale(1)}92%{transform:translate(calc(var(--dot-travel) * -.45),0) scale(.92)}}@media (width<=880px){.shell{width:min(100% - 24px,700px)}.site-header{height:78px}.tool-intro{grid-template-columns:1fr;gap:22px;padding-top:42px}.tool-note{max-width:none}.converter{grid-template-columns:1fr}.settings{grid-template-columns:1fr 1fr;gap:22px;display:grid;position:static}.control+.control{border:0;margin:0;padding:0}.convert-button{align-self:end;margin:0}}@media (width<=560px){.wordmark{width:105px}.brand-label{display:none}.back-home{padding:9px 13px}.tool-intro{padding:38px 0 28px}h1{font-size:clamp(42px,14vw,60px)}.settings{display:block}.control+.control{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.convert-button{margin-top:18px}.workspace{padding:10px}.drop-zone{min-height:300px}.queue-head,.result-head{flex-direction:column;align-items:flex-start}.queue-actions,.result-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.file-row{grid-template-columns:28px minmax(0,1fr) 28px}.file-size{display:none}.result-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
