:root{--bg:#0a1520;--bg-2:#0d1b29;--surface:#0c1926;--surface-2:#10223a;--ink:#e4edf5;--ink-2:#bccbd8;--muted:#93a9bd;--line:#2b4a63;--line-soft:#1c3449;--grid:#11273a;--shadow-c:transparent;--brand:#6fd0ff;--brand-hover:#a6e3ff;--note:#ffb547;--on-accent:#0a1520;--tile-ink:var(--on-accent);--danger:#ff6b6b;--ok:#4fd1a5;--c-organize:#6fd0ff;--c-optimize:#6fe0b0;--c-convert:#b4a6ff;--c-edit:#ff9ec7;--c-security:#ffb547;--c-forms:#c6e46a;--cat:var(--brand);--shadow-sm:none;--shadow:none;--shadow-lg:0 0 0 1px var(--brand);--radius:4px;--radius-sm:3px;--font-display:"Archivo", ui-sans-serif, system-ui, sans-serif;--font:"Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f3f6f9;--bg-2:#e8eef4;--surface:#fff;--surface-2:#eef3f8;--ink:#0d2236;--ink-2:#2c4256;--muted:#526779;--line:#9fb4c7;--line-soft:#d3dee8;--grid:#e2eaf1;--brand:#0b6fa8;--brand-hover:#085a89;--note:#a35f00;--on-accent:#fff;--danger:#d63b3b;--ok:#10865b;--c-organize:#0b6fa8;--c-optimize:#10865b;--c-convert:#5b45d6;--c-edit:#c42d72;--c-security:#a35f00;--c-forms:#5a7400;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}body{font-family:var(--font);color:var(--ink);background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);-webkit-font-smoothing:antialiased;background-size:32px 32px;flex-direction:column;min-height:100vh;margin:0;font-size:16px;line-height:1.55;display:flex}#app{flex-direction:column;min-height:100vh;display:flex}main{flex:1}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-stretch:112%;line-height:1.1}h1,h2{font-weight:800;font-stretch:125%}.label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}p{margin:0}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:13px}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}@media (max-width:640px){.container{padding:0 16px}}.btn{--btn-bg:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--ink);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{--btn-bg:var(--brand);border-color:var(--brand);color:var(--on-accent)}.btn-primary:hover:not(:disabled){--btn-bg:var(--brand-hover);border-color:var(--brand-hover);color:var(--on-accent)}.btn-dark{--btn-bg:var(--ink);border-color:var(--ink);color:var(--bg)}.btn-dark:hover:not(:disabled){--btn-bg:var(--brand);color:var(--on-accent)}.btn-danger{--btn-bg:var(--danger);border-color:var(--danger);color:var(--on-accent)}.btn-danger:hover:not(:disabled){color:var(--on-accent);border-color:var(--ink)}.btn-ghost{--btn-bg:var(--surface)}.btn-ghost.on{--btn-bg:var(--brand);border-color:var(--brand);color:var(--on-accent)}.btn-link{text-underline-offset:3px;color:var(--muted);background:0 0;border:0;padding:4px 2px;font-weight:600;text-decoration:underline}.btn-link:hover:not(:disabled){color:var(--brand)}.btn-sm{padding:6px 12px;font-size:13.5px}.btn-lg{padding:13px 22px;font-size:16.5px}.btn-xl{padding:16px 34px;font-size:19px}.btn-block{width:100%}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-row>.btn:not(.btn-link){flex:1}.icon-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;place-items:center;width:32px;height:32px;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--brand);border-color:var(--brand);color:var(--on-accent)}.icon-btn.danger:hover{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.icon-btn:disabled{opacity:.35;cursor:default}.tile{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--cat) 12%, transparent);width:48px;height:48px;color:var(--cat);border:1px solid color-mix(in srgb, var(--cat) 55%, var(--line));flex:none;place-items:center;display:inline-grid}.tile-lg{width:64px;height:64px}.tile-sm{width:30px;height:30px}.tile-xs{width:24px;height:24px}.dot{background:var(--cat);width:9px;height:9px;display:inline-block}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);min-height:40px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.chip:hover{border-color:var(--brand);color:var(--brand)}.chip.on{background:var(--brand);border-color:var(--brand);color:var(--on-accent)}.chip.on .dot{outline:1px solid var(--on-accent)}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{align-items:center;gap:28px;height:64px;display:flex}.logo{flex:none;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.logo-mark{border:2px solid var(--brand);width:24px;height:30px;position:relative}.logo-mark span:first-child{background:var(--bg);border-left:2px solid var(--brand);border-bottom:2px solid var(--brand);width:10px;height:10px;position:absolute;top:-2px;right:-2px}.logo-mark span:last-child{border-top:2px solid var(--brand);border-bottom:2px solid var(--brand);opacity:.55;height:8px;position:absolute;top:12px;left:4px;right:4px}.logo-word{font-family:var(--font-display);letter-spacing:-.02em;font-size:21px;font-weight:800;font-stretch:125%}.logo-word b{color:var(--brand);font-weight:800}.main-nav{flex:1;gap:2px;display:flex}.main-nav a{white-space:nowrap;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.main-nav a:hover,.main-nav a.on{border-color:var(--line);color:var(--brand)}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.privacy-pill{border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--ink-2);align-items:center;gap:8px;padding:6px 10px;font-size:11.5px;display:inline-flex}.privacy-pill svg{color:var(--ok)}.theme-btn{width:38px;height:38px}@media (max-width:1400px){.privacy-pill{gap:0;padding:9px;font-size:0}}@media (max-width:1140px){.main-nav{display:none}}@media (max-width:560px){.privacy-pill{display:none}}.hero{padding:80px 0 48px;overflow:hidden}.hero-inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;display:grid}.eyebrow{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand);align-items:center;gap:10px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.pulse{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 60%, transparent);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.hero h1{letter-spacing:-.03em;margin:24px 0;font-size:clamp(40px,5.4vw,76px);font-weight:800;line-height:1}.hero mark{color:var(--brand);background:0 0}.lead{color:var(--ink-2);max-width:580px;font-size:18px}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero-art{flex-direction:column;justify-self:end;gap:18px;width:100%;max-width:480px;margin:0;display:flex}.drawing{aspect-ratio:500/540;position:relative}.dim{box-sizing:border-box;border-color:var(--brand);font-family:var(--font-mono);color:var(--brand);border-style:solid;font-size:12px;position:absolute}.dim:before{content:"";border-color:var(--brand);border-style:solid;position:absolute}.dim span{background:var(--bg);padding:0 8px;position:absolute}.dim-w{border-width:0 1px;width:58%;height:12px;top:2%;left:12%}.dim-w:before{border-width:1px 0 0;top:5px;left:0;right:0}.dim-w span{top:-7px;left:50%;transform:translate(-50%)}.dim-h{border-width:1px 0;width:12px;height:86%;top:9%;left:75%}.dim-h:before{border-width:0 0 0 1px;top:0;bottom:0;left:5px}.dim-h span{top:50%;left:-12px;transform:translateY(-50%)rotate(90deg)}.drawn-page{box-sizing:border-box;border:1.5px solid var(--brand);background:var(--surface);flex-direction:column;gap:9px;width:58%;height:86%;padding:9% 8%;display:flex;position:absolute;top:9%;left:12%}.drawn-page i{background:var(--line);height:5px;display:block}.drawn-page i.title{background:var(--brand);opacity:.85;width:55%;height:10px;margin-bottom:8px}.drawn-page i.hl{background:var(--ink)}.drawn-page .sign{border:1px dashed var(--note);height:22%;font-family:var(--font-mono);color:var(--note);align-items:flex-end;margin-top:auto;padding:6px 8px;font-size:10px;display:flex}.callout{border:1.5px solid var(--note);background:var(--bg);width:30px;height:30px;color:var(--note);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:13px;display:grid;position:absolute;left:3%}.callout.c1{top:17%}.callout.c2{top:44%}.callout.c3{top:77%}.legend{border:1px solid var(--line);background:var(--line);font-family:var(--font-mono);color:var(--ink-2);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;font-size:11.5px;line-height:1.45;display:grid}.legend span{background:var(--bg);padding:10px 12px}.legend b{color:var(--note);margin-right:4px}@media (max-width:900px){.hero-inner{grid-template-columns:1fr}.hero-art{display:none}.hero{padding-top:48px}}.tools-section{padding-top:40px;padding-bottom:80px}.tools-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.section-head{flex-direction:column;gap:8px;display:flex}.section-title{font-size:clamp(30px,3.8vw,50px);font-weight:800;line-height:1}.section-title em{color:var(--brand);font-style:normal}.search-wrap{align-items:center;width:min(360px,100%);display:flex;position:relative}.search-wrap>svg{color:var(--muted);pointer-events:none;position:absolute;left:14px}.search-input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);width:100%;min-height:44px;font:inherit;color:var(--ink);padding:10px 44px 10px 42px}.search-input:focus{border-color:var(--brand);outline:none}.search-wrap kbd{font-family:var(--font-mono);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);padding:1px 7px;font-size:12px;position:absolute;right:12px}.filter-chips{margin-bottom:26px}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.tool-card{border:1px solid var(--line);background:var(--surface);border-radius:0;flex-direction:column;gap:12px;min-height:200px;padding:20px;text-decoration:none;transition:border-color .15s,background .15s;display:flex;position:relative}.tool-card:before,.tool-card:after{content:"";border-color:var(--brand);pointer-events:none;border-style:solid;width:10px;height:10px;position:absolute}.tool-card:before{border-width:2px 0 0 2px;top:-1px;left:-1px}.tool-card:after{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.card-top{align-items:center;gap:12px;display:flex}.card-top .label{color:var(--cat)}.status{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-left:auto;padding:2px 8px;font-size:11px}.tool-card h3{font-size:22px;font-weight:700}.tool-card p{color:var(--muted);flex:1;font-size:14.5px;line-height:1.5}.card-arrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-size:12px}a.tool-card:hover{border-color:var(--brand);background:var(--surface-2)}.tool-card.is-soon{background:0 0;border-style:dashed}.tool-card.is-soon:before,.tool-card.is-soon:after{display:none}.tool-card.is-soon .tile{filter:grayscale();opacity:.6}.tool-card.is-soon h3{color:var(--ink-2)}.tool-card.is-soon .card-top .label{color:var(--muted)}.soon{border:1px dashed var(--note);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--note);margin-left:auto;padding:2px 8px;font-size:11px;font-weight:500}.empty{text-align:center;padding:40px 0}.notes{padding-bottom:80px}.notes-box{border:1px solid var(--line);background:var(--bg);flex-wrap:wrap;display:flex}.notes-head{border-right:1px solid var(--line);flex-direction:column;flex:280px;gap:10px;padding:28px 24px;display:flex}.notes-head .label{color:var(--note)}.notes-head h2{font-size:30px;line-height:1.05}.notes-list{font-family:var(--font-mono);color:var(--ink-2);flex:2 480px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px 36px;margin:0;padding:28px 24px 28px 52px;font-size:13.5px;line-height:1.6;display:grid}.notes-list li::marker{color:var(--note)}.notes-list b{color:var(--ink)}.steps{padding-bottom:80px}.steps .section-head{margin-bottom:32px}.step-list{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid}.step-list li{background:var(--bg);padding:26px 24px}.step-num{font-family:var(--font-mono);color:var(--brand);margin-bottom:14px;font-size:38px;font-weight:500;line-height:1;display:block}.step-list h3{margin-bottom:6px;font-size:20px}.step-list p{color:var(--muted)}@media (max-width:720px){.step-list{grid-template-columns:1fr}.notes-head{border-right:0;border-bottom:1px solid var(--line)}.notes-list{padding-left:44px}}.site-footer{padding:8px 0 0}.footer-inner{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1.6fr repeat(6,1fr);display:grid}.footer-inner>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);padding:22px 20px}.footer-brand p{max-width:300px;margin-top:14px;font-size:14px}.footer-col h4{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:11.5px;font-weight:500;font-stretch:100%}.footer-col a{color:var(--ink-2);padding:3px 0;font-size:14px;text-decoration:none;display:block}.footer-col a:hover{color:var(--brand)}.footer-bottom{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:20px;padding-bottom:32px;font-size:12px;display:flex}@media (max-width:980px){.footer-inner{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1}}@media (max-width:560px){.footer-inner{grid-template-columns:repeat(2,1fr)}}.tool-page{padding:28px 0 80px}.back-link{color:var(--muted);align-items:center;gap:6px;font-size:14.5px;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink)}.upload-view{max-width:860px;margin:0 auto}.tool-head{margin-bottom:30px}.tool-title{align-items:center;gap:20px;margin-top:18px;display:flex}.tool-title h1{font-size:clamp(34px,5vw,52px);font-weight:800}.tool-title p{color:var(--muted);margin-top:6px;font-size:17.5px}.dropzone{border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;width:100%;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:8px;padding:64px 24px 44px;transition:background .15s,transform .15s,box-shadow .15s;display:flex}.dropzone:hover,body.dropping .dropzone{background:color-mix(in srgb, var(--cat) 14%, var(--surface));box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.dropzone strong{font-family:var(--font-display);margin-top:12px;font-size:27px;font-weight:700}.drop-icon{background:var(--cat);border:1px solid var(--line);width:76px;height:76px;color:var(--on-accent);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;transition:transform .2s;display:grid}.dropzone:hover .drop-icon{transform:translateY(-4px)}.drop-note{color:var(--muted);align-items:center;gap:6px;margin-top:22px;font-size:13.5px;font-weight:600;display:inline-flex}.drop-loading{justify-content:center;align-items:center;gap:12px;margin-top:22px;font-weight:600;display:flex}.drop-loading[hidden]{display:none}.spinner{border:1px solid var(--line-soft);border-top-color:var(--ink);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{place-items:center;min-height:50vh;display:grid}body.dropping:after{content:"Drop to add files";z-index:200;border:4px dashed var(--ink);border-radius:var(--radius);background:color-mix(in srgb, var(--brand) 30%, transparent);font-family:var(--font-display);pointer-events:none;place-items:center;font-size:34px;font-weight:800;display:grid;position:fixed;inset:12px}.work-bar{align-items:center;gap:16px;margin-bottom:18px;display:flex}.work-bar-title{font-family:var(--font-display);border-left:1px solid var(--line-soft);align-items:center;gap:10px;margin-right:auto;padding-left:16px;font-size:20px;font-weight:700;display:flex}.work-grid{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:24px;display:grid}.work-main{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:16px 16px;min-height:62vh;padding:26px}.work-side{position:sticky;top:88px}.side-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-height:calc(100vh - 110px);box-shadow:var(--shadow);flex-direction:column;display:flex}.side-title{padding:20px 22px 0;font-size:22px;font-weight:800}.side-body{flex-direction:column;flex:1;gap:18px;min-height:0;padding:18px 22px 20px;display:flex;overflow-y:auto}.side-foot{border-top:1px solid var(--line-soft);padding:16px 22px 20px}.side-hint{color:var(--muted);text-align:center;margin-bottom:10px;font-size:13.5px;font-weight:600}.side-hint[hidden]{display:none}@media (max-width:920px){.work-grid{grid-template-columns:1fr}.work-side{position:static}.side-card{max-height:none}.side-foot{background:var(--surface);border-radius:0 0 var(--radius) var(--radius);position:sticky;bottom:0}.work-main{min-height:0;padding:16px}}@media (max-width:560px){.work-bar .btn span,.work-bar .back-link{font-size:0}.work-bar .back-link svg{width:20px;height:20px}.work-bar-title{padding-left:12px;font-size:17px}}.thumb-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:20px;display:grid}.thumb-grid.pages{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:18px}@media (max-width:560px){.thumb-grid,.thumb-grid.pages{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.card-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:10px;transition:transform .12s,box-shadow .12s,opacity .15s,border-color .12s;position:relative}.card-item[draggable=true]{cursor:grab}.card-item:hover{box-shadow:var(--shadow);transform:translate(-1px,-1px)}.card-item.dragging{opacity:.35}.card-item.drop-before:before,.card-item.drop-after:after{content:"";background:var(--cat);border:1.5px solid var(--line);border-radius:4px;width:5px;position:absolute;top:6px;bottom:6px}.card-item.drop-before:before{left:-14px}.card-item.drop-after:after{right:-14px}.thumb-box{aspect-ratio:1/1.18;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-2) 70%, var(--surface));place-items:center;display:grid;position:relative;overflow:hidden}.thumb{place-items:center;width:100%;height:100%;padding:8px;display:grid}.thumb canvas,.thumb img{object-fit:contain;background:#fff;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 1px 2px #00000026,0 4px 12px #00000014}.thumb.loading:after{content:"";border:1px solid var(--line-soft);border-top-color:var(--muted);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.thumb-placeholder{color:var(--muted)}.rotor{width:100%;height:100%;transition:transform .25s cubic-bezier(.3,.9,.3,1)}.fcard-meta{min-width:0;padding:10px 2px 2px}.fcard-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:650;overflow:hidden}.fcard-sub{color:var(--muted);font-size:12.5px}.pcard-foot{text-align:center;color:var(--ink-2);padding-top:8px;font-size:13px;font-weight:650}.order-badge{border-radius:var(--radius);background:var(--ink);min-width:26px;height:26px;color:var(--bg);place-items:center;padding:0 7px;font-size:13px;font-weight:700;display:grid;position:absolute;top:8px;left:8px}.group-badge{border-radius:var(--radius);border:1.5px solid var(--on-accent);color:var(--on-accent);padding:2px 9px;font-size:12px;font-weight:800;position:absolute;bottom:8px;left:8px}.card-tools{opacity:0;gap:5px;transition:opacity .12s,transform .12s;display:flex;position:absolute;top:16px;right:16px;transform:translateY(-3px)}.card-item:hover .card-tools,.card-item:focus-within .card-tools{opacity:1;transform:none}@media (hover:none){.card-tools{opacity:1;transform:none}}.card-tools .icon-btn{width:30px;height:30px;box-shadow:var(--shadow-sm)}.toggleable .pcard{cursor:pointer}.mark-overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.mark-overlay svg{border:2px solid var(--on-accent);width:46px;height:46px;box-shadow:2px 2px 0 var(--on-accent);border-radius:50%;padding:10px}.mark-overlay.remove{background:color-mix(in srgb, var(--danger) 28%, transparent)}.mark-overlay.remove svg{background:var(--danger);color:#fff}.mark-overlay.select svg{background:var(--cat);color:var(--on-accent)}.pcard.is-remove{border-color:var(--danger)}.pcard.is-remove .thumb{opacity:.55}.pcard.is-select{border-color:var(--line);background:color-mix(in srgb, var(--cat) 30%, var(--surface))}.add-card{border:1px dashed var(--line-soft);border-radius:var(--radius);min-height:180px;color:var(--muted);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:650;transition:all .15s;display:flex}.add-card:hover{border-color:var(--line);color:var(--ink);background:var(--surface)}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field-label{letter-spacing:.01em;color:var(--ink-2);font-size:13px;font-weight:700}.field-help{color:var(--muted);font-size:12.5px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.input{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:10px 12px;font-size:15px;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--line);box-shadow:var(--shadow-sm);outline:none}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.segmented{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);gap:3px;padding:3px;display:flex}.segmented button{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;padding:7px 8px;font-size:13.5px;font-weight:650;display:inline-flex}.segmented button:hover:not(.on){background:var(--surface)}.segmented button.on{background:var(--ink);color:var(--bg)}.choices{flex-direction:column;gap:10px;display:flex}.choice{text-align:left;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:all .12s;display:flex}.choice:hover{border-color:var(--line)}.choice.on{border-color:var(--line);background:color-mix(in srgb, var(--cat) 22%, var(--surface));box-shadow:var(--shadow-sm)}.choice-icon{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);flex:none;place-items:center;width:38px;height:38px;display:grid}.choice.on .choice-icon{background:var(--cat);color:var(--on-accent)}.choice-text{flex-direction:column;flex:1;line-height:1.3;display:flex}.choice-text b{font-size:15px}.choice-text small{color:var(--muted);font-size:12.5px}.choice-dot{border:1px solid var(--line);background:var(--surface);border-radius:50%;flex:none;width:18px;height:18px}.choice.on .choice-dot{background:var(--ink);box-shadow:inset 0 0 0 3px var(--surface)}.check{cursor:pointer;align-items:center;gap:10px;font-size:14.5px;font-weight:550;display:flex}.check input{opacity:0;pointer-events:none;position:absolute}.check-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:#0000;flex:none;place-items:center;width:22px;height:22px;transition:all .12s;display:grid}.check input:checked+.check-box{background:var(--ink);color:var(--bg)}.check input:focus-visible+.check-box{outline:2px solid var(--brand);outline-offset:2px}.range{align-items:center;gap:12px;display:flex}.range input,.props input[type=range]{accent-color:var(--ink);flex:1;width:100%}.range-value{text-align:right;font-variant-numeric:tabular-nums;min-width:46px;font-size:14px;font-weight:700}.swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch{border:1px solid var(--line);cursor:pointer;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .12s}.swatch:hover{transform:scale(1.1)}.swatch.on{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--ink)}.swatch.picker{appearance:none;background:conic-gradient(#e5484d,#ffd23f,#2fbf85,#36a9e8,#8c6cff,#ff6fae,#e5484d);overflow:hidden}.swatch.picker::-webkit-color-swatch-wrapper{opacity:0;padding:0}.swatch.picker::-moz-color-swatch{opacity:0}.note{border-radius:var(--radius-sm);background:var(--bg-2);color:var(--ink-2);gap:10px;padding:11px 13px;font-size:13.5px;line-height:1.45;display:flex}.note svg{flex:none;margin-top:1px}.note-warn{background:color-mix(in srgb, var(--brand) 26%, var(--surface));border:1.5px solid color-mix(in srgb, var(--brand) 60%, var(--line-soft))}.summary{color:var(--ink-2);align-items:center;gap:10px;font-size:14.5px;font-weight:650;display:flex}.pos-wrap{align-items:center;gap:14px;display:flex}.pos-grid{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:repeat(3,1fr);gap:5px;width:104px;padding:6px;display:grid}.pos-cell{aspect-ratio:1;border:1.5px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-2);cursor:pointer;padding:0}.pos-cell:hover{border-color:var(--line)}.pos-cell.on{background:var(--cat);border-color:var(--line)}.strength{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:-10px;display:grid}.strength span{background:var(--line-soft);border-radius:3px;height:5px;transition:background .2s}.strength.s1 span:nth-child(-n+1){background:var(--danger)}.strength.s2 span:nth-child(-n+2){background:#f5a524}.strength.s3 span:nth-child(-n+3){background:var(--c-optimize)}.strength.s4 span{background:var(--ok)}.tool-palette{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tool-palette.cols-2{grid-template-columns:repeat(2,1fr)}.pal{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-direction:column;align-items:center;gap:5px;padding:11px 6px 9px;font-size:12.5px;font-weight:650;transition:all .12s;display:flex}.pal:hover{border-color:var(--line)}.pal.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.props{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--cat) 10%, var(--surface));flex-direction:column;gap:14px;padding:14px;display:flex}.props-title{text-transform:capitalize;font-size:14px;font-weight:750}.preview{flex-direction:column;align-items:center;gap:16px;display:flex}.pv-stage{justify-content:center;width:100%;display:flex}.pv-page{width:min(100%, 640px, calc(78vh * var(--ar,.707)));aspect-ratio:1/1.414;background:#fff;border-radius:2px;position:relative;box-shadow:0 2px 4px #0000001f,0 12px 32px #0000001f}.pv-page.loading:after{content:"";border:3px solid #ddd;border-top-color:#555;border-radius:50%;width:28px;height:28px;margin:auto;animation:.8s linear infinite spin;position:absolute;inset:0}.pv-page canvas,.pv-dom{width:100%;height:100%;position:absolute;inset:0}.pv-nav{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:6px;display:flex}.pv-label{text-align:center;min-width:110px;font-size:14px;font-weight:650}.crop-box{box-shadow:0 0 0 1px var(--on-accent), inset 0 0 0 1px var(--on-accent);touch-action:none;outline:2px solid #fff;position:absolute}.crop-h{background:var(--brand);border:2px solid var(--on-accent);z-index:2;border-radius:4px;width:16px;height:16px;position:absolute}.crop-move{cursor:move;z-index:1;background:0 0;border:0;width:auto;height:auto;inset:0}.crop-nw{cursor:nwse-resize;top:-9px;left:-9px}.crop-ne{cursor:nesw-resize;top:-9px;right:-9px}.crop-se{cursor:nwse-resize;bottom:-9px;right:-9px}.crop-sw{cursor:nesw-resize;bottom:-9px;left:-9px}.crop-n{cursor:ns-resize;top:-9px;left:calc(50% - 8px)}.crop-s{cursor:ns-resize;bottom:-9px;left:calc(50% - 8px)}.crop-e{cursor:ew-resize;top:calc(50% - 8px);right:-9px}.crop-w{cursor:ew-resize;top:calc(50% - 8px);left:-9px}.editor{flex-direction:column;align-items:center;gap:26px;display:flex}.ed-hint{z-index:5;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--brand);color:var(--on-accent);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:8px 10px 8px 14px;font-size:14px;font-weight:650;display:flex;position:sticky;top:84px}.ed-hint[hidden]{display:none}.ed-hint .btn-link{color:var(--on-accent)}.ed-page-block{width:min(100%,820px)}.ed-page{aspect-ratio:1/1.414;--vw:612;background:#fff;width:100%;position:relative;box-shadow:0 2px 4px #0000001f,0 12px 32px #0000001a;container-type:inline-size}.ed-canvas,.ed-layer{position:absolute;inset:0}.ed-canvas{place-items:center;display:grid}.ed-canvas canvas{width:100%;height:100%;display:block}.ed-canvas.loading:after{content:"";border:3px solid #ddd;border-top-color:#555;border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}.ed-page-num{text-align:center;color:var(--muted);margin-top:8px;font-size:13px;font-weight:650}.editor[data-mode=place] .ed-layer,.editor[data-mode=draw] .ed-layer{cursor:crosshair}.ed-item{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute}.ed-item.selected{outline:2px dashed var(--c-convert);outline-offset:3px}.ed-label{font-size:calc(var(--size) * 100cqw / var(--vw));white-space:pre;outline:none;min-width:4px;padding:0;line-height:1.2}.ed-label[contenteditable=true]{cursor:text;-webkit-user-select:text;user-select:text;background:#8c6cff14}.ed-image img{pointer-events:none;width:100%;height:100%;display:block}.ed-del{border:2px solid var(--on-accent);background:var(--danger);color:#fff;cursor:pointer;z-index:3;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;display:none;position:absolute;top:-14px;right:-14px}.ed-item.selected .ed-del{display:grid}.ed-resize{border:2px solid var(--on-accent);background:var(--brand);cursor:nwse-resize;border-radius:4px;width:14px;height:14px;display:none;position:absolute;bottom:-7px;right:-7px}.ed-item.selected .ed-resize{display:block}.sig-pad{flex-direction:column;gap:12px;display:flex}.sig-body{flex-direction:column;gap:10px;display:flex}.sig-frame{position:relative}.sig-canvas{aspect-ratio:640/240;border:1px dashed var(--line-soft);border-radius:var(--radius-sm);touch-action:none;cursor:crosshair;background:#fff;width:100%;display:block}.sig-line{pointer-events:none;border-bottom:1.5px solid #c9c2b1;position:absolute;bottom:24%;left:9%;right:9%}.sig-x{color:#b3ab99;pointer-events:none;font-size:18px;position:absolute;bottom:24%;left:6%}.center-view{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:640px;margin:0 auto;padding:72px 0;display:flex}.center-view h2,.center-view h1{font-size:clamp(30px,4.4vw,44px);font-weight:800}.processing{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.proc-art{margin-bottom:12px}.spin-soft{animation:1.4s ease-in-out infinite wobble}@keyframes wobble{0%,to{transform:rotate(-8deg)translateY(0)}50%{transform:rotate(8deg)translateY(-6px)}}.bar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(100%,440px);height:18px;box-shadow:var(--shadow-sm);margin-top:10px;overflow:hidden}.bar>span{background:var(--cat);border-right:1px solid var(--line);background-image:repeating-linear-gradient(-45deg,#0000 0 8px,#0000001f 8px 16px);background-size:22px 22px;width:0;height:100%;transition:width .25s;animation:.6s linear infinite stripes;display:block}@keyframes stripes{to{background-position:22px 0}}.pct{font-family:var(--font-display);font-size:22px;font-weight:800}.done-badge{background:var(--c-optimize);width:92px;height:92px;color:var(--on-accent);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:50%;place-items:center;margin-bottom:8px;animation:.45s cubic-bezier(.2,1.4,.4,1) pop;display:grid}@keyframes pop{0%{opacity:0;transform:scale(.4)rotate(-20deg)}}.done-note{max-width:480px}.done-actions{margin:16px 0 2px}.stats{gap:12px;margin:8px 0;display:flex}.stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;min-width:112px;padding:12px 20px;display:flex}.stat b{font-family:var(--font-display);font-size:23px}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;font-weight:650}.stat.accent{background:var(--brand);color:var(--on-accent)}.stat.accent span{color:#4b4535}.result-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;width:100%;max-width:520px;max-height:300px;margin:10px 0 0;padding:6px;list-style:none;overflow-y:auto}.result-list li{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.result-list li:hover{background:var(--bg-2)}.rname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.done-secondary{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.continue{border-top:1px dashed var(--line-soft);width:100%;margin-top:36px;padding-top:30px}.continue h3{margin-bottom:16px;font-size:19px}.continue .chips{justify-content:center}.soon-view .tile{margin-bottom:8px}.toasts{z-index:300;pointer-events:none;flex-direction:column;gap:10px;width:min(460px,100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);pointer-events:auto;align-items:center;gap:10px;padding:12px 16px;font-size:14.5px;font-weight:600;transition:opacity .4s,transform .4s;animation:.25s cubic-bezier(.2,1.2,.4,1) toast-in;display:flex}.toast-error svg{color:var(--danger);flex:none}.toast.out{opacity:0;transform:translateY(10px)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tool-info{max-width:1040px;margin:56px auto 80px}.info-intro p{color:var(--ink-2);max-width:760px;margin-bottom:28px;font-size:18px}.info-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.info-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:26px}.info-card h2,.related h2{margin-bottom:16px;font-size:24px;font-weight:800}.howto{counter-reset:step;gap:14px;margin:0;padding:0;list-style:none;display:grid}.howto li{counter-increment:step;align-items:flex-start;gap:14px;display:flex}.howto li:before{content:counter(step);border:1px solid var(--line);background:var(--cat);width:30px;height:30px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.faq details{border-bottom:1.5px solid var(--line-soft);padding:12px 0}.faq details:last-child{border-bottom:0}.faq summary{cursor:pointer;justify-content:space-between;gap:12px;font-weight:650;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-display);font-size:20px;font-weight:800;line-height:1}.faq details[open] summary:after{content:"–"}.faq p{color:var(--muted);margin-top:8px;font-size:15px}.info-details{grid-template-columns:1fr 1fr;gap:20px 40px;margin-top:40px;display:grid}.info-details h2{margin-bottom:8px;font-size:20px;font-weight:800}.info-details p{color:var(--ink-2)}.related{margin-top:40px}@media (max-width:760px){.info-grid,.info-details{grid-template-columns:1fr}}.prose-page{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-width:760px;box-shadow:var(--shadow);margin:48px auto 80px;padding:40px}.prose-page h1{margin-bottom:8px;font-size:clamp(32px,5vw,46px);font-weight:800}.prose-page h2{margin:30px 0 10px;font-size:22px}.prose-page p,.prose-page li{color:var(--ink-2)}.prose-page p+p{margin-top:12px}.prose-page a{text-underline-offset:3px}@media (max-width:560px){.prose-page{margin-top:24px;padding:24px 20px}}.legal-links{flex-wrap:wrap;gap:18px;display:flex}.legal-links a{color:var(--muted);text-decoration:none}.legal-links a:hover{color:var(--ink);text-decoration:underline}.social-links{gap:6px;margin-right:auto;display:flex}.social-links a{border:1px solid var(--line);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);place-items:center;display:grid}.social-links a:hover{border-color:var(--brand);color:var(--brand)}.share-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px;padding-top:20px;display:flex}.ad-row{margin:8px auto 48px}.ad-wrap{text-align:center;max-width:970px;min-height:100px;margin:0 auto;display:block}.done-view .ad-wrap{width:100%;margin-top:44px}.ad-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.blank-page{background:#fff;width:72%;max-height:100%;box-shadow:0 1px 2px #00000026,0 4px 12px #00000014}.style-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.style-bar select.input{flex:1;width:auto;min-width:96px}.style-bar .size-input{width:64px}.icon-btn.on{background:var(--ink);color:var(--bg)}.pw-rules{color:var(--muted);grid-template-columns:1fr 1fr;gap:4px 10px;margin:-6px 0 0;padding:0;font-size:12.5px;list-style:none;display:grid}.pw-rules li{align-items:center;gap:5px;display:flex}.pw-rules li.ok{color:var(--ok);font-weight:650}.side-lead{color:var(--ink-2);font-size:14px}.search-row{gap:8px;display:flex}.search-row .input{flex:1}.prose-page h3{margin:22px 0 8px;font-size:18px}.prose-page ul,.prose-page ol{margin:10px 0 14px;padding-left:22px}.prose-page li+li{margin-top:6px}.prose-page code{border-radius:var(--radius-sm);background:var(--surface-2,var(--surface));border:1px solid var(--line);padding:1px 5px;font-size:.92em}.guide-crumbs a{color:var(--muted);align-items:center;gap:6px;margin-bottom:12px;text-decoration:none;display:inline-flex}.prose-page .guide-list{gap:12px;margin-top:24px;padding:0;list-style:none;display:grid}.prose-page .guide-list li{border:1px solid var(--line);border-radius:var(--radius);gap:4px;margin:0;padding:16px 18px;display:grid}.prose-page .guide-list a{color:var(--ink);text-decoration:none}.prose-page .guide-list a:hover strong{text-decoration:underline}.prose-page .guide-list span{color:var(--muted);font-size:15px}.guide-tools,.guide-more{border-top:1px solid var(--line);margin-top:32px;padding-top:20px}.guide-tools h2,.guide-more h2{margin-top:0}.tool-guides{gap:6px;padding-left:20px;display:grid}.form-pages{flex-direction:column;gap:18px;padding:18px;display:flex}.form-page{width:100%;max-width:900px;box-shadow:0 1px 0 var(--line), 0 6px 24px #00000040;background:#fff;margin:0 auto;position:relative}.form-canvas{width:100%;height:auto;display:block}.form-page-loading{place-items:center;min-height:400px;display:grid}.form-layer{position:absolute;inset:0}.ff{box-sizing:border-box;color:#000;resize:none;background:#6fd0ff29;border:1px solid #0b6fa859;border-radius:1px;margin:0;padding:0 2px;font-family:Helvetica,Arial,sans-serif;line-height:1;position:absolute}.ff:hover{background:#6fd0ff42}.ff:focus{outline-offset:0;background:#ffffffe6;outline:2px solid #0b6fa8}.ff:disabled{background:0 0;border-color:#0000}.ff-check,.ff-radio{appearance:auto;accent-color:#0b6fa8;cursor:pointer;padding:0}.ff-select{padding:0}.form-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.side-stat{font-family:var(--font-mono);color:var(--muted);font-size:13px}.side-stat b{color:var(--ink)}
