:root{--ink:#1b2028;--ink-muted:#6b737c;--paper:#f7f7f4;--card:#fff;--line:#e5e7e4;--blue:#4269f3;--blue-dark:#3157dc;--blue-soft:#edf1ff;--green:#54bd93;--orange:#ec9b5c;--red:#c96a5e}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{background:var(--paper);min-width:320px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;padding:0 34px 30px;position:relative;overflow:hidden}.page-glow{z-index:0;pointer-events:none;filter:blur(30px);opacity:.58;border-radius:50%;width:440px;height:440px;position:absolute}.page-glow-left{background:#e8edff;top:110px;left:-220px}.page-glow-right{background:#f1eaf8;top:30px;right:-220px}.topbar,.hero-section,.workspace-grid,.footer{z-index:1;max-width:1120px;margin-inline:auto;position:relative}.topbar{border-bottom:1px solid #22262d14;justify-content:space-between;align-items:center;height:72px;display:flex}.brand-lockup{align-items:center;gap:11px;display:flex}.brand-mark{background:var(--ink);border-radius:8px;align-items:flex-end;gap:3px;width:25px;height:25px;padding:5px 4px;display:flex;transform:rotate(-6deg)}.brand-mark span{background:#fff;border-radius:4px;width:4px;display:block}.brand-mark span:first-child{opacity:.55;height:8px}.brand-mark span:nth-child(2){opacity:.78;height:13px}.brand-mark span:nth-child(3){height:17px}.brand-name{letter-spacing:-.02em;font-size:15px;font-weight:760}.topbar-note{color:var(--ink-muted);align-items:center;gap:8px;font-size:12px;display:flex}.secure-dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #54bd931f}.hero-section{text-align:center;padding:74px 0 48px}.eyebrow{color:var(--blue);letter-spacing:.18em;justify-content:center;align-items:center;gap:11px;font-size:10px;font-weight:800;display:flex}.eyebrow-line{background:var(--blue);width:22px;height:1px}h1,h2,p{margin:0}.hero-section h1{letter-spacing:-.075em;margin:18px 0 15px;font-size:clamp(46px,7vw,78px);font-weight:780;line-height:.95}.hero-section h1 span{color:var(--blue)}.hero-copy{color:var(--ink-muted);font-size:16px;line-height:1.75}.privacy-badge{color:#52628a;background:#edf1ffc2;border:1px solid #dce3ff;border-radius:999px;align-items:center;gap:9px;margin-top:27px;padding:8px 13px;font-size:11px;display:inline-flex}.privacy-icon{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:17px;height:17px;font-size:10px;display:grid}.privacy-separator{background:#cdd6f4;width:1px;height:14px}.workspace-grid{grid-template-columns:minmax(0,1fr) 274px;align-items:start;gap:25px;display:grid}.primary-column{min-width:0}.upload-card,.settings-card,.progress-card,.results-card,.message-card{border:1px solid var(--line);background:var(--card);border-radius:18px;box-shadow:0 10px 28px #21273309}.upload-card{min-height:224px;padding:12px;position:relative}.upload-card.drag-active{border-color:var(--blue);box-shadow:0 0 0 4px #4269f31a}.upload-dropzone{text-align:center;border:1.5px dashed #cfd4da;border-radius:12px;justify-content:center;align-items:center;min-height:198px;padding:28px;transition:border-color .18s,background .18s;display:flex}.upload-card.drag-active .upload-dropzone,.upload-dropzone:focus-visible{border-color:var(--blue);background:#f8f9ff;outline:none}.upload-empty{flex-direction:column;align-items:center;display:flex}.upload-icon{width:48px;height:48px;color:var(--blue);background:var(--blue-soft);border:1px solid #dfe4ee;border-radius:14px;place-items:center;margin-bottom:14px;font-size:24px;font-weight:300;display:grid}.upload-empty h2{letter-spacing:-.02em;margin-bottom:7px;font-size:17px}.upload-empty p{color:var(--ink-muted);font-size:12px}.upload-empty small{color:#9aa1a9;margin-top:13px;font-size:11px}.choose-button{color:#fff;background:var(--blue);border:0;border-radius:9px;justify-content:center;align-items:center;min-height:40px;margin-top:17px;padding:0 18px;font-size:13px;font-weight:720;display:inline-flex;box-shadow:0 5px 12px #4269f333}.choose-button:hover{background:var(--blue-dark)}.file-loaded{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;width:100%;max-width:560px;display:grid}.file-icon{color:#fff;letter-spacing:.04em;background:#ee7566;border-radius:8px;place-items:center;width:45px;height:54px;font-size:11px;font-weight:800;display:grid;box-shadow:5px 5px #f8d9d4}.file-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:730;display:block;overflow:hidden}.file-meta{color:var(--ink-muted);flex-wrap:wrap;gap:7px 13px;margin-top:8px;font-size:11px;display:flex}.file-meta span{align-items:center;gap:5px;display:inline-flex}.file-meta span:before{content:"";background:var(--green);border-radius:50%;width:4px;height:4px}.file-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.file-status{color:var(--green);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.file-status.loading{color:var(--blue)}.file-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.text-button{color:var(--ink-muted);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.text-button:hover{color:var(--ink)}.settings-card{margin-top:16px;overflow:hidden}.card-heading{justify-content:space-between;align-items:center;gap:12px;padding:20px 21px 16px;display:flex}.card-heading h2{letter-spacing:-.025em;font-size:15px}.card-heading span{color:#9aa1a9;font-size:11px}.settings-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;padding:0 21px 21px;display:grid}.setting-field{min-width:0}.setting-field.full-width{grid-column:1/-1}.setting-label{color:#4f5964;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:11px;font-weight:720;display:flex}.setting-label em{color:var(--blue);font-style:normal;font-weight:800}.segmented-control{border:1px solid var(--line);background:#f6f7f8;border-radius:10px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.segment-button{min-height:35px;color:var(--ink-muted);background:0 0;border:0;border-radius:7px;font-size:12px;font-weight:690}.segment-button.active{color:var(--blue);background:#fff;box-shadow:0 2px 5px #1f283714}.dpi-options{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.dpi-option{border:1px solid var(--line);min-height:57px;color:var(--ink-muted);background:#fff;border-radius:9px;padding:7px 3px;font-size:11px}.dpi-option strong,.dpi-option small{display:block}.dpi-option strong{color:var(--ink);font-size:12px}.dpi-option small{margin-top:4px;font-size:10px}.dpi-option.active{color:var(--blue);background:var(--blue-soft);border-color:#aebcfb}.dpi-option.active strong{color:var(--blue)}.custom-dpi{align-items:center;gap:7px;margin-top:8px;display:flex}.number-input,.range-input{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:0 11px;font-size:12px}.number-input:focus,.range-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4269f31a}.custom-dpi .number-input{max-width:120px}.unit-text{color:var(--ink-muted);font-size:11px}.range-wrap{grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:12px;display:grid}.range-input{min-width:0}.range-output{min-height:32px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;font-size:12px;font-weight:760;display:grid}input[type=range]{width:100%;accent-color:var(--blue)}.page-range{justify-content:space-between;align-items:center;gap:13px;display:flex}.page-mode{flex-shrink:0;gap:5px;display:flex}.page-mode button{border:1px solid var(--line);color:var(--ink-muted);background:#fff;border-radius:7px;padding:7px 10px;font-size:11px}.page-mode button.active{color:var(--blue);background:var(--blue-soft);border-color:#aebcfb}.page-range-input{flex:1;min-width:0}.range-error{color:var(--red);margin-top:7px;font-size:11px;display:block}.range-help{color:#9aa1a9;margin-top:7px;font-size:10px;display:block}.action-bar{align-items:center;gap:14px;margin-top:19px;display:flex}.primary-button{color:#fff;background:var(--blue);border:0;border-radius:10px;justify-content:space-between;align-items:center;min-width:151px;min-height:44px;padding:0 15px 0 18px;font-size:13px;font-weight:760;display:inline-flex;box-shadow:0 8px 16px #4269f333}.primary-button:hover:not(:disabled){background:var(--blue-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.47;box-shadow:none}.button-arrow{font-size:20px;font-weight:400;line-height:1}.cancel-button{min-height:40px;color:var(--red);background:#fff9f7;border:1px solid #f0d3ce;border-radius:9px;padding:0 13px;font-size:12px}.action-hint{color:var(--ink-muted);font-size:11px}.message-card{align-items:flex-start;gap:12px;margin-top:16px;padding:15px 17px;display:flex}.message-icon{color:#fff;background:var(--red);border-radius:7px;flex:none;place-items:center;width:23px;height:23px;font-size:13px;font-weight:800;display:grid}.message-card strong{margin-bottom:4px;font-size:12px;display:block}.message-card p{color:var(--ink-muted);font-size:11px;line-height:1.55}.cancelled-card{background:#fbfffd;border-color:#d8eee5}.cancelled-card .message-icon{background:var(--green)}.notice-stack{gap:8px;margin-top:16px;display:grid}.soft-warning{color:#9a7441;background:#fffaf1;border:1px solid #f0e4cc;border-radius:9px;align-items:center;gap:8px;padding:10px 13px;font-size:11px;display:flex}.soft-warning span{font-size:16px}.progress-card{margin-top:16px;padding:19px 21px}.progress-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-heading h2{letter-spacing:-.02em;font-size:14px}.progress-heading span{color:var(--blue);font-size:12px;font-weight:800}.progress-track{background:#edf0f3;border-radius:99px;height:8px;margin:15px 0 12px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--blue), #7b8ef8);height:100%;transition:width .25s}.progress-meta{color:var(--ink-muted);justify-content:space-between;font-size:11px;display:flex}.progress-meta strong{color:var(--ink);font-weight:720}.progress-card.complete{border-color:#d7eee5}.progress-card.complete .progress-fill{background:var(--green)}.results-card{margin-top:16px;padding:20px 21px 21px}.results-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.results-heading h2{letter-spacing:-.035em;font-size:16px}.results-heading p{color:var(--ink-muted);margin-top:5px;font-size:11px}.zip-button{min-height:38px;color:var(--blue);background:var(--blue-soft);white-space:nowrap;border:1px solid #becaff;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:11px;font-weight:750;display:inline-flex}.zip-button:hover:not(:disabled){background:#e4eaff}.zip-button:disabled{opacity:.52}.results-note{color:#9a7441;background:#fffaf1;border-radius:7px;margin-top:12px;padding:8px 10px;font-size:10px}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:17px;display:grid}.result-item{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;min-width:0;overflow:hidden}.result-preview{background:#f0f2f5;place-items:center;height:157px;padding:9px;display:grid}.result-preview img{object-fit:contain;border-radius:2px;width:auto;max-width:100%;height:100%;display:block;box-shadow:0 3px 10px #1a212d1f}.result-info{padding:10px 10px 11px}.result-topline{justify-content:space-between;align-items:center;gap:7px;display:flex}.result-page{color:var(--ink);font-size:11px;font-weight:760}.result-format{color:var(--blue);background:var(--blue-soft);border-radius:4px;padding:3px 5px;font-size:9px;font-weight:800}.result-meta{color:var(--ink-muted);justify-content:space-between;gap:6px;margin-top:6px;font-size:10px;display:flex}.download-link{color:var(--blue);background:0 0;border:0;margin-top:9px;padding:0;font-size:10px;font-weight:720}.download-link:hover{color:var(--blue-dark);text-underline-offset:3px;text-decoration:underline}.side-column{gap:16px;display:grid}.side-card{border-radius:18px;padding:22px 21px}.side-card-dark{color:#fff;background:var(--ink);box-shadow:0 15px 30px #1b20281f}.side-card-light{border:1px solid var(--line);background:#ffffffb8}.side-card-kicker{color:#94a0b4;letter-spacing:.18em;margin-bottom:13px;font-size:9px;font-weight:800}.side-card-dark h2{letter-spacing:-.06em;font-size:22px}.side-card-light h2{letter-spacing:-.06em;font-size:21px}.guide-list{gap:18px;margin:0;padding:20px 0 1px;list-style:none;display:grid}.guide-list li{grid-template-columns:26px 1fr;align-items:start;gap:10px;display:grid}.guide-list li>span{color:#78859d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.guide-list strong,.guide-list small{display:block}.guide-list strong{margin-bottom:3px;font-size:12px}.guide-list small{color:#a6afbd;font-size:10px}.side-card-light p{color:var(--ink-muted);margin-top:14px;font-size:12px;line-height:1.7}.side-footnote{border-top:1px solid var(--line);color:var(--green);align-items:center;gap:7px;margin-top:20px;padding-top:13px;font-size:10px;font-weight:700;display:flex}.tiny-lock{background:#e3f6ee;border-radius:50%;place-items:center;width:17px;height:17px;font-size:12px;display:grid}.footer{color:#9da3aa;justify-content:space-between;align-items:center;gap:15px;padding-top:45px;font-size:10px;display:flex}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#181d2661;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.password-modal{background:#fff;border:1px solid #ffffff80;border-radius:18px;width:min(100%,380px);padding:25px;box-shadow:0 25px 70px #141a2638}.password-modal h2{letter-spacing:-.04em;font-size:18px}.password-modal p{color:var(--ink-muted);margin-top:8px;font-size:12px;line-height:1.6}.password-modal label{color:#4f5964;margin-top:18px;font-size:11px;font-weight:720;display:block}.password-modal input{border:1px solid var(--line);border-radius:8px;outline:none;width:100%;min-height:41px;margin-top:8px;padding:0 11px;font-size:13px}.password-modal input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4269f31a}.password-error{color:var(--red);margin-top:8px;font-size:11px;display:block}.modal-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.modal-actions button{border-radius:8px;min-height:37px;padding:0 13px;font-size:11px;font-weight:700}.modal-cancel{border:1px solid var(--line);color:var(--ink-muted);background:#fff}.modal-submit{color:#fff;background:var(--blue);border:0}@media (max-width:820px){.app-shell{padding-inline:20px}.workspace-grid{grid-template-columns:1fr}.side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{padding-top:30px}}@media (max-width:600px){.app-shell{padding-inline:14px}.topbar{height:62px}.topbar-note{font-size:10px}.hero-section{padding:56px 0 34px}.hero-section h1{font-size:50px}.hero-copy{font-size:13px}.desktop-break{display:none}.privacy-badge{text-align:left;max-width:100%;line-height:1.5}.privacy-separator{display:none}.upload-card{padding:8px}.upload-dropzone{min-height:220px;padding:22px 14px}.file-loaded{grid-template-columns:auto minmax(0,1fr);gap:12px}.file-actions{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;padding-left:57px}.settings-body{grid-template-columns:1fr;gap:17px;padding-inline:16px}.setting-field.full-width{grid-column:auto}.page-range{flex-direction:column;align-items:stretch}.page-mode{width:100%}.page-mode button{flex:1}.action-bar{flex-direction:column;align-items:stretch;gap:9px}.primary-button,.cancel-button{width:100%}.action-hint{text-align:center}.progress-card,.results-card{padding-inline:16px}.results-heading{flex-direction:column;align-items:stretch}.zip-button{justify-content:center}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-preview{height:135px}.side-column{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start;padding-top:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
