@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-weight:200 800;size-adjust:101.37%;ascent-override:91.74%;descent-override:26.64%;line-gap-override:0%}:root{--paper:#eef1f4;--panel:#fff;--raised:#fff;--ink:#12202b;--muted:#5b6773;--rule:#c9d0d6;--control:#5b6773;--signal:#f2c300;--signal-strong:#ddb200;--on-signal:#12202b;--wash:color-mix(in srgb, var(--ink) 7%, transparent);--danger:#b42318;--btn-border:var(--ink);--focus:var(--ink);--font-latin:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-tc:"PingFang TC", "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif;--font-sc:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-deva:"Kohinoor Devanagari", "Noto Sans Devanagari", "Nirmala UI", system-ui, sans-serif;--font-sans:var(--font-latin);--font-display:"Bricolage Grotesque Variable", "Bricolage Fallback", var(--font-sans);--tracking-display:-.02em;--text-body:1rem;--lh-body:1.5rem;--text-lead:1.25rem;--lh-lead:1.75rem;--text-h3:1.25rem;--lh-h3:1.75rem;--text-h2:1.5rem;--lh-h2:2rem;--text-h1:clamp(2rem, 5vw, 3.25rem);--lh-h1:clamp(2.5rem, 5.5vw, 3.5rem);--text-prompt:clamp(1.5rem, 3.4vw, 2rem);--lh-prompt:clamp(2rem, 4.4vw, 2.5rem);--measure:70ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius:4px;--gutter:16px;--container:1040px;--target:40px;--speed:.12s;color-scheme:light}:root[data-theme=dark]{--paper:#28323d;--panel:#313d49;--raised:#3a4755;--ink:#e6ebf0;--muted:#b4c0cb;--rule:#4a5866;--control:#97a4b1;--danger:#ffa399;--btn-border:var(--signal);color-scheme:dark}:root:lang(zh-TW){--font-sans:var(--font-tc)}:root:lang(zh-CN){--font-sans:var(--font-sc)}:root:lang(hi){--font-sans:var(--font-deva)}:root:lang(zh-TW),:root:lang(zh-CN),:root:lang(hi){--tracking-display:0;--lh-body:1.75rem;--lh-lead:2rem;--lh-h3:2rem;--lh-h2:2.25rem;--lh-h1:clamp(2.75rem, 6.5vw, 4rem);--lh-prompt:clamp(2.25rem, 4.8vw, 2.75rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-body);overflow-wrap:break-word;flex-direction:column;margin:0;display:flex}h1,h2,h3,h4{margin:0;font-weight:700}h1,h2{font-family:var(--font-display);letter-spacing:var(--tracking-display)}h1{font-size:var(--text-h1);line-height:var(--lh-h1)}h2{font-size:var(--text-h2);line-height:var(--lh-h2)}h3,h4{font-size:var(--text-body);line-height:var(--lh-body)}p{margin:0}a{color:var(--ink);text-underline-offset:.2em;text-decoration:underline 1px}a:hover{text-decoration-thickness:2px}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-body);line-height:var(--lh-body);overflow-wrap:anywhere}button,select,input,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}::selection{background:var(--signal);color:var(--on-signal)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding:0 var(--gutter);margin:0 auto}main.container{padding-top:var(--space-8);padding-bottom:var(--space-16);flex:1 0 auto}@media (width>=768px){:root{--gutter:32px}main.container{padding-top:var(--space-12)}}.site-header{border-bottom:1px solid var(--rule)}.site-header .container{align-items:center;gap:var(--space-2);padding-top:var(--space-2);padding-bottom:var(--space-2);display:flex}.site-name{align-items:center;gap:var(--space-2);min-height:var(--target);font-family:var(--font-display);font-size:var(--text-h3);line-height:var(--lh-h3);letter-spacing:var(--tracking-display);margin-right:auto;font-weight:700;text-decoration:none;display:inline-flex}.site-mark{width:var(--space-4);height:var(--space-4);background:var(--signal);border:2px solid var(--btn-border);flex:none}.lang-button{anchor-name:--lang-button;align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-3);border:1px solid var(--control);border-radius:var(--radius);cursor:pointer;transition:background-color var(--speed);background:0 0;font-weight:600;display:inline-flex}.lang-button:hover{background:var(--wash)}.lang-chevron{width:12px;height:12px;transition:transform var(--speed)}.lang-switcher:has(.lang-menu:popover-open) .lang-chevron{transform:rotate(180deg)}.lang-menu{inset:56px auto auto;right:max(var(--gutter), (100vw - var(--container)) / 2);padding:var(--space-1) 0;min-width:160px;max-width:calc(100vw - 2 * var(--gutter));background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius);margin:0;position:fixed}@supports (anchor-name:--a){.lang-menu{position-anchor:--lang-button;top:calc(anchor(bottom) + var(--space-1));right:anchor(right)}}.lang-menu ul{margin:0;padding:0;list-style:none}.lang-menu a{min-height:var(--target);padding:0 var(--space-4) 0 var(--space-5);color:var(--ink);white-space:nowrap;align-items:center;text-decoration:none;display:flex;position:relative}.lang-menu a:hover{background:var(--wash);text-decoration:underline}.lang-menu a:focus-visible{outline-offset:-3px}.lang-menu a[aria-current=page]{font-weight:700}.lang-menu a[aria-current=page]:before{content:"";left:var(--space-2);top:var(--space-2);bottom:var(--space-2);background:var(--signal);border:1px solid var(--btn-border);width:4px;position:absolute}.lang-switcher :lang(zh-TW){font-family:var(--font-tc)}.lang-switcher :lang(zh-CN){font-family:var(--font-sc)}.lang-switcher :lang(hi){font-family:var(--font-deva)}.site-footer{border-top:1px solid var(--rule);color:var(--muted)}.site-footer .container{align-items:center;column-gap:var(--space-6);row-gap:var(--space-2);padding-top:var(--space-8);padding-bottom:var(--space-10);flex-wrap:wrap;display:flex}.site-footer .footer-privacy{flex:22rem}.site-footer a{min-height:var(--target);color:var(--muted);align-items:center;display:inline-flex}.site-footer a:hover{color:var(--ink)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-6);background:var(--signal);color:var(--on-signal);border:2px solid var(--btn-border);border-radius:var(--radius);font-weight:700;line-height:var(--lh-body);text-align:center;cursor:pointer;transition:background-color var(--speed), border-color var(--speed), color var(--speed);text-decoration:none;display:inline-flex}.btn:hover{background:var(--signal-strong);text-decoration:none}.btn-secondary{color:var(--ink);border-color:var(--ink);background:0 0;font-weight:600}.btn-secondary:hover{background:var(--wash)}.btn[disabled],.btn[disabled]:hover{color:var(--muted);border-color:var(--control);cursor:not-allowed;background:0 0;border-style:dashed}.theme-toggle{width:var(--target);min-height:var(--target);border-width:1px;border-color:var(--control);padding:0}.theme-toggle svg{width:20px;height:20px}.statement{max-width:40rem;margin-bottom:var(--space-12)}.statement h1{margin-bottom:var(--space-4)}.racks{gap:var(--space-8);display:grid}@media (width>=860px){.racks{grid-template-columns:repeat(3,1fr)}}.rack h2{padding-bottom:var(--space-2);border-bottom:2px solid var(--ink)}.rack-list{margin:0;padding:0;list-style:none}.rack-list li{border-bottom:1px solid var(--rule)}.tool-card{padding:var(--space-4) var(--space-2) var(--space-4) 0;color:var(--ink);text-decoration:none;display:block;position:relative}.tool-card:before{content:"";left:-12px;top:var(--space-4);bottom:var(--space-4);width:4px;transition:background-color var(--speed);background:0 0;position:absolute}.tool-card:hover:before,.tool-card:focus-visible:before{background:var(--signal)}.tool-card:hover h3,.tool-card:focus-visible h3{text-underline-offset:.2em;text-decoration:underline 2px}.tool-card h3{margin-bottom:var(--space-1);font-size:var(--text-h3);line-height:var(--lh-h3)}.tool-card p{color:var(--muted)}.privacy-line{align-items:flex-start;gap:var(--space-2);max-width:var(--measure);display:flex}.privacy-line:before{content:"";width:var(--space-3);height:var(--space-3);margin-top:var(--space-2);background:var(--signal);border:1.5px solid var(--btn-border);border-radius:50%;flex:none}.license-notice{max-width:var(--measure);margin:var(--space-8) 0 0;padding:var(--space-4) var(--space-5);background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);overflow-wrap:anywhere}@media (width>=600px){.license-notice{padding:var(--space-5) var(--space-6)}}.license-notice p+p{margin-top:var(--space-3)}.license-notice a{color:inherit}.license-notice p:first-child{color:var(--ink)}.page-section{margin-top:var(--space-16);max-width:var(--measure)}.page-section>h2{margin-bottom:var(--space-5)}.steps{counter-reset:step;margin:0;padding:0;list-style:none}.steps li{counter-increment:step;grid-template-columns:var(--space-10) 1fr;padding:var(--space-4) 0;border-top:1px solid var(--rule);align-items:baseline;display:grid}.steps li:last-child{border-bottom:1px solid var(--rule)}.steps li:before{content:counter(step);font-family:var(--font-display);font-size:var(--text-h3);line-height:var(--lh-body);font-weight:700}.faq details{border-top:1px solid var(--rule)}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{min-height:var(--target);padding:var(--space-4) var(--space-10) var(--space-4) 0;cursor:pointer;font-weight:600;list-style:none;display:block;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:before,.faq summary:after{content:"";right:var(--space-2);top:calc(var(--space-4) + var(--lh-body) / 2);width:var(--space-4);border-top:2px solid var(--ink);height:0;transition:transform var(--speed);position:absolute;transform:translateY(-50%)}.faq summary:after{transform:translateY(-50%)rotate(90deg)}.faq details[open]>summary:after{transform:translateY(-50%)rotate(0)}.faq summary:hover{text-underline-offset:.2em;text-decoration:underline}.faq details p{padding:0 var(--space-10) var(--space-5) 0;color:var(--muted)}.ad-slot{margin:var(--space-16) 0 var(--space-2);min-height:120px;padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius)}.ad-notice{max-width:var(--measure);color:var(--muted)}.related-pages ul{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tool-head h1{margin-bottom:var(--space-4)}.lead{max-width:60ch;font-size:var(--text-lead);line-height:var(--lh-lead);color:var(--muted)}.tool-privacy{margin-top:var(--space-6);font-weight:600}.tool-shell{gap:var(--space-5);margin-top:var(--space-8);display:grid}@media (width>=900px){.tool-shell{align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}}.tool-input{gap:var(--space-3);min-width:0;display:grid}.dropzone{justify-content:center;align-items:center;gap:var(--space-2);min-height:220px;padding:var(--space-8) var(--space-4);background:var(--panel);border:2px solid var(--ink);border-radius:var(--radius);text-align:center;cursor:pointer;transition:background-color var(--speed), color var(--speed);flex-direction:column;display:flex;position:relative}@media (width>=900px){.dropzone{min-height:280px}}.dropzone:before{content:"";height:var(--space-2);background:var(--signal);position:absolute;bottom:0;left:0;right:0}.dropzone-prompt{font-family:var(--font-display);font-size:var(--text-prompt);line-height:var(--lh-prompt);letter-spacing:var(--tracking-display);font-weight:700}.dropzone-choose{text-underline-offset:.25em;border-radius:var(--radius);font-weight:600;text-decoration:underline 2px}.dropzone-choose:after{content:"";position:absolute;inset:0}.dropzone[data-drag=true],.dropzone:has(input:focus-visible){--focus:var(--on-signal);background:var(--signal);color:var(--on-signal);border-color:var(--on-signal)}.dropzone label:focus-within{outline:3px solid var(--focus);outline-offset:4px}@supports not selector(:has(*)){.dropzone:focus-within{--focus:var(--on-signal);background:var(--signal);color:var(--on-signal);border-color:var(--on-signal)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:4px;height:4px;margin:-4px;padding:0;position:absolute;overflow:hidden}.file-list{margin:0;padding:0;list-style:none}.file-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere;display:flex}.file-name{flex:1;min-width:0}.file-preview{width:var(--space-12);height:var(--space-12);background:var(--paper);border:1px solid var(--rule);flex:none;justify-content:center;align-items:center;display:flex;position:relative}.file-preview-canvas{opacity:0;max-width:100%;max-height:100%;transition:opacity var(--speed)}.file-preview[data-state=drawn] .file-preview-canvas{opacity:1}.file-preview-mark{color:var(--ink);font-size:var(--text-body);font-weight:600;position:absolute}.file-actions{gap:var(--space-2);flex:none;display:flex}.file-list .btn{min-height:var(--target);padding:0 var(--space-3);border-width:1px;flex:none}.tool-controls{gap:var(--space-5);padding:var(--space-6);background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);min-width:0;display:grid}.options{gap:var(--space-5);display:grid}.options>label,.sides>label{gap:var(--space-2);font-weight:600;display:grid}.sides{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.options fieldset{border:0;gap:0;margin:0;padding:0;display:grid}.options legend{margin-bottom:var(--space-1);padding:0;font-weight:600}.options fieldset label{align-items:center;gap:var(--space-2);min-height:var(--target);display:flex}.options select,.options input[type=number],.options input[type=password],.options input[type=text]{width:100%;min-height:44px;padding:0 var(--space-3);background:var(--raised);border:1px solid var(--control);border-radius:var(--radius);font-weight:400}.options input[type=range],.options input[type=radio]{accent-color:var(--ink)}.options input[type=range]{width:100%;min-height:var(--target);margin:0}.options input[type=radio]{width:20px;height:20px;margin:0}.hint{color:var(--muted);font-weight:400}.error{padding-left:var(--space-3);border-left:3px solid var(--danger);color:var(--danger);font-weight:600}.tool-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.tool-actions .btn{flex:auto}.file-count{color:var(--muted)}.progress-row{align-items:center;gap:var(--space-3);font-variant-numeric:tabular-nums;font-weight:600;display:flex}.progress-row progress{-webkit-appearance:none;appearance:none;border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);flex:1;height:16px;overflow:hidden}.progress-row progress::-webkit-progress-bar{background:var(--paper)}.progress-row progress::-webkit-progress-value{background:var(--signal)}.progress-row progress::-moz-progress-bar{background:var(--signal)}.result-panel{margin-top:var(--space-8);padding:var(--space-2) var(--space-5) var(--space-5);background:var(--panel);border:2px solid var(--ink);border-radius:var(--radius)}.result-panel ul{margin:0 0 var(--space-6);padding:0;list-style:none}.result-panel li{row-gap:var(--space-1);padding:var(--space-4) 0;border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.result-panel li>strong{overflow-wrap:anywhere}.result-panel li>.btn{margin-top:var(--space-2);justify-self:start}@media (width>=600px){.result-panel{padding:var(--space-2) var(--space-6) var(--space-6)}.result-panel li{column-gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto}.result-panel li>.btn{grid-area:1/2/span 3;margin-top:0}}.result-panel ul:has(li+li) li>.btn{color:var(--ink);border-color:var(--ink);background:0 0}.result-panel ul:has(li+li) li>.btn:hover{background:var(--wash)}.result-panel .tool-actions .btn{flex:0 auto}.result-meta{column-gap:var(--space-4);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.result-saved{color:var(--ink);font-weight:700}.result-panel li>p{color:var(--muted)}.pages-tool{gap:var(--space-4);margin-top:var(--space-6);display:grid}.pages-file-name{overflow-wrap:anywhere;font-weight:700}.page-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(144px,1fr));margin:0;padding:0;list-style:none;display:grid}.page-thumb{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);background:var(--panel);color:var(--ink);border:2px solid var(--rule);border-radius:var(--radius);cursor:pointer;font:inherit;flex-direction:column;display:flex}.page-thumb:hover{border-color:var(--ink)}.page-thumb[aria-pressed=true]{border-color:var(--danger)}.page-thumb-frame{aspect-ratio:5/7;background:var(--paper);border:1px solid var(--rule);width:100%;display:block;position:relative}.page-thumb-canvas{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity var(--speed)}.page-thumb[data-rendered=true] .page-thumb-canvas{opacity:1}.page-thumb[aria-pressed=true] .page-thumb-canvas{opacity:.4}.page-thumb-mark{padding:var(--space-1) var(--space-2);background:var(--panel);color:var(--danger);border-top:2px solid var(--danger);text-align:center;font-weight:700;position:absolute;inset:auto 0 0}.page-thumb[aria-pressed=true][data-variant=keep]{border-color:var(--ink)}.page-thumb[aria-pressed=true][data-variant=keep] .page-thumb-canvas{opacity:1}.page-thumb[data-variant=keep] .page-thumb-mark{color:var(--ink);border-top-color:var(--ink)}.page-thumb-number{font-variant-numeric:tabular-nums}.organize-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:0;padding:0;list-style:none;display:grid}.organize-tile{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--panel);border:2px solid var(--rule);border-radius:var(--radius);flex-direction:column;display:flex}.organize-tile[data-deleted=true]{border-color:var(--danger)}.organize-frame{aspect-ratio:5/7;background:var(--paper);border:1px solid var(--rule);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.organize-canvas{opacity:0;max-width:100%;max-height:100%;transition:opacity var(--speed), transform var(--speed)}.organize-tile[data-rendered=true] .organize-canvas{opacity:1}.organize-tile[data-deleted=true] .organize-canvas{opacity:.4}.organize-number{font-variant-numeric:tabular-nums}.organize-actions{gap:var(--space-1);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.organize-actions .btn{min-width:0;min-height:var(--target);border-width:1px;padding:0}.pages-status{font-weight:700}.longform{max-width:var(--measure)}.longform>h1{margin-bottom:var(--space-6)}.longform>p{margin-bottom:var(--space-4)}.longform section{margin-top:var(--space-12)}.longform section>h2{margin-bottom:var(--space-4)}.longform section>p+p{margin-top:var(--space-4)}.link-row{align-items:center;gap:var(--space-1) var(--space-4);margin:0 0 var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.link-row a{min-height:var(--target);align-items:center;display:inline-flex}.link-row-note{color:var(--muted)}.license-entry{padding:var(--space-6) 0;border-top:1px solid var(--rule);overflow-wrap:anywhere}.longform section>h2+.license-entry{border-top:2px solid var(--ink)}.license-entry h3{font-size:var(--text-h3);line-height:var(--lh-h3);margin-bottom:var(--space-2)}.license-entry h4{margin:var(--space-6) 0 var(--space-2)}.license-entry ul{padding-left:var(--space-5);color:var(--muted);margin:0}.license-entry li+li{margin-top:var(--space-2)}.license-entry>p{margin-top:var(--space-4)}.license-entry code{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);display:block}
