:root{--bg:#f4f0e6;--bg-2:#ebe5d6;--surface:#fffdf7;--ink:#17150f;--ink-2:#3b372d;--muted:#6d675a;--line:#17150f;--line-soft:#d6cfbd;--dots:#d9d2bf;--shadow-c:#17150f;--brand:#ffd23f;--tile-ink:#17150f;--danger:#e5484d;--ok:#1f9d55;--c-organize:#ff8a4c;--c-optimize:#2fbf85;--c-convert:#8c6cff;--c-edit:#ff6fae;--c-security:#36a9e8;--cat:var(--brand);--shadow-sm:2px 2px 0 var(--shadow-c);--shadow:4px 4px 0 var(--shadow-c);--shadow-lg:7px 7px 0 var(--shadow-c);--radius:16px;--radius-sm:10px;--font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#13120f;--bg-2:#1b1a16;--surface:#211f1a;--ink:#f4efe3;--ink-2:#d9d3c5;--muted:#a39c8c;--line:#e8e1d1;--line-soft:#3d392f;--dots:#26241e;--shadow-c:#4a4539;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#13120f;--bg-2:#1b1a16;--surface:#211f1a;--ink:#f4efe3;--ink-2:#d9d3c5;--muted:#a39c8c;--line:#e8e1d1;--line-soft:#3d392f;--dots:#26241e;--shadow-c:#4a4539;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,: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:radial-gradient(var(--dots) 1.2px, transparent 1.2px);-webkit-font-smoothing:antialiased;background-size:22px 22px;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;line-height:1.1}p{margin:0}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--c-convert);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:2px solid var(--line);background:var(--btn-bg);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:650;text-decoration:none;transition:transform .12s,box-shadow .12s,background .15s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:3px 3px 0 var(--shadow-c);transform:translate(-1px,-1px)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--shadow-c);transform:translate(2px,2px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{--btn-bg:var(--brand);color:#17150f}.btn-dark{--btn-bg:var(--ink);color:var(--bg)}.btn-danger{--btn-bg:var(--danger);color:#fff}.btn-ghost{--btn-bg:var(--surface)}.btn-ghost.on{--btn-bg:var(--ink);color:var(--bg)}.btn-link{box-shadow:none;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){box-shadow:none;color:var(--ink);transform:none}.btn-sm{border-radius:10px;padding:6px 12px;font-size:13.5px}.btn-lg{padding:13px 22px;font-size:16.5px}.btn-xl{box-shadow:var(--shadow);border-radius:14px;padding:16px 34px;font-size:19px}.btn-xl:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.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:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;place-items:center;width:32px;height:32px;padding:0;transition:background .12s,transform .12s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--brand);color:#17150f}.icon-btn.danger:hover{background:var(--danger);color:#fff}.icon-btn:disabled{opacity:.35;cursor:default}.tile{background:var(--cat);width:48px;height:48px;color:var(--tile-ink);border:2px solid var(--line);box-shadow:var(--shadow-sm);border-radius:13px;flex:none;place-items:center;display:inline-grid}.tile-lg{width:64px;height:64px;box-shadow:var(--shadow);border-radius:17px}.tile-sm{width:30px;height:30px;box-shadow:none;border-radius:9px}.tile-xs{width:24px;height:24px;box-shadow:none;border-width:1.5px;border-radius:7px}.dot{background:var(--cat);border:1.5px solid var(--line);border-radius:50%;width:10px;height:10px;display:inline-block}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:14.5px;font-weight:600;text-decoration:none;transition:background .12s,transform .12s,box-shadow .12s;display:inline-flex}.chip:hover{box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}.chip.on{background:var(--ink);color:var(--bg)}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:2px solid var(--line);position:sticky;top:0}.header-inner{align-items:center;gap:28px;height:68px;display:flex}.logo{flex:none;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo-mark{width:30px;height:34px;position:relative}.logo-mark span{border:2px solid var(--line);border-radius:6px;width:24px;height:30px;position:absolute}.logo-mark span:first-child{background:var(--ink);top:4px;left:6px}.logo-mark span:last-child{background:var(--brand);background-image:linear-gradient(#17150f,#17150f),linear-gradient(#17150f,#17150f),linear-gradient(#17150f,#17150f);background-position:4px 7px,4px 13px,4px 19px;background-repeat:no-repeat;background-size:12px 2.5px,12px 2.5px,7px 2.5px;top:0;left:0}.logo-word{font-family:var(--font-display);letter-spacing:-.04em;font-size:23px;font-weight:800}.logo-word b{background:linear-gradient(transparent 58%, color-mix(in srgb, var(--brand) 80%, transparent) 58%);font-weight:800}.main-nav{flex:1;gap:4px;display:flex}.main-nav a{border:2px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:7px 12px;font-size:14.5px;font-weight:600;text-decoration:none;display:inline-flex}.main-nav a:hover,.main-nav a.on{border-color:var(--line);background:var(--surface)}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.privacy-pill{background:color-mix(in srgb, var(--c-optimize) 20%, var(--surface));border:1.5px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:600;display:inline-flex}.theme-btn{border-radius:11px;width:38px;height:38px}@media (max-width:1060px){.main-nav{display:none}}@media (max-width:560px){.privacy-pill{display:none}}.hero{padding:72px 0 40px;overflow:hidden}.hero-inner{grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;display:grid}.eyebrow{border:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 10px;font-size:14px;font-weight:650;display:inline-flex}.pulse{background:var(--c-optimize);width:10px;height:10px;box-shadow:0 0 0 0 color-mix(in srgb, var(--c-optimize) 60%, transparent);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{70%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.hero h1{letter-spacing:-.045em;margin:22px 0;font-size:clamp(42px,6.4vw,80px);font-weight:800;line-height:.98}.hero mark{color:inherit;white-space:nowrap;z-index:0;background:0 0;position:relative}.hero mark:before{content:"";background:var(--brand);z-index:-1;border-radius:4px;height:.42em;position:absolute;bottom:.06em;left:-.08em;right:-.08em;transform:skew(-12deg)rotate(-1deg)}.lead{color:var(--ink-2);max-width:580px;font-size:19px}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.hero-art{height:420px;position:relative}.sheet{background:var(--surface);border:2.5px solid var(--line);width:230px;height:300px;box-shadow:var(--shadow-lg);border-radius:18px;padding:30px 26px;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:absolute}.sheet-lines{gap:14px;display:grid}.sheet-lines i{background:var(--line-soft);border-radius:6px;height:11px;display:block}.sheet-lines i.short{width:55%}.sheet-tag{border:2px solid var(--line);color:#17150f;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex;position:absolute;bottom:22px;left:22px}.s1{top:60px;left:4%;transform:rotate(-9deg)}.s1 .sheet-tag{background:var(--c-organize)}.s2{z-index:2;top:20px;left:30%;transform:rotate(4deg)}.s2 .sheet-tag{background:var(--c-edit)}.s3{top:96px;left:52%;transform:rotate(12deg)}.s3 .sheet-tag{background:var(--c-optimize)}.hero-art:hover .s1{transform:rotate(-14deg)translate(-16px,4px)}.hero-art:hover .s3{transform:rotate(17deg)translate(16px,4px)}.sticker{z-index:3;background:var(--brand);border:2.5px solid var(--line);width:116px;height:116px;box-shadow:var(--shadow);text-align:center;color:#17150f;border-radius:50%;place-content:center;line-height:1.05;display:grid;position:absolute;top:0;right:4%;transform:rotate(12deg)}.sticker b{font-family:var(--font-display);font-size:42px}.sticker span{text-transform:uppercase;letter-spacing:.04em;max-width:80px;font-size:12px;font-weight:700}@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:72px}.tools-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.section-title{font-size:clamp(30px,4vw,44px);font-weight:800}.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:2px solid var(--line);background:var(--surface);width:100%;font:inherit;color:var(--ink);box-shadow:var(--shadow-sm);border-radius:12px;padding:11px 44px 11px 42px}.search-input:focus{box-shadow:var(--shadow);outline:none}.search-wrap kbd{font-family:var(--font);border:1.5px solid var(--line-soft);color:var(--muted);border-radius:6px;padding:1px 7px;font-size:12px;font-weight:700;position:absolute;right:12px}.filter-chips{margin-bottom:26px}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:20px;display:grid}.tool-card{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:10px;min-height:200px;padding:22px 22px 24px;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:flex;position:relative}.tool-card .tile{margin-bottom:6px}.tool-card h3{align-items:center;gap:8px;font-size:21px;font-weight:700;display:flex}.tool-card p{color:var(--muted);font-size:14.5px;line-height:1.5}.card-arrow{opacity:0;transition:all .15s;position:absolute;top:20px;right:20px;transform:translate(-4px,4px)}a.tool-card:hover{box-shadow:var(--shadow-lg);background:color-mix(in srgb, var(--cat) 13%, var(--surface));transform:translate(-3px,-3px)}a.tool-card:hover .card-arrow{opacity:1;transform:none}.tool-card.is-soon{box-shadow:none;border-style:dashed;border-color:var(--line-soft);background:0 0}.tool-card.is-soon .tile{filter:grayscale(.85);opacity:.55;box-shadow:none}.tool-card.is-soon h3{color:var(--muted)}.soon{font-family:var(--font);text-transform:uppercase;letter-spacing:.06em;border:1.5px solid var(--line-soft);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.empty{text-align:center;padding:40px 0}.features{grid-template-columns:repeat(4,1fr);gap:20px;padding-bottom:72px;display:grid}.feature{border-radius:var(--radius);border:2px solid var(--line);background:var(--bg-2);padding:24px}.feature-icon{background:var(--ink);width:44px;height:44px;color:var(--bg);border-radius:50%;place-items:center;margin-bottom:14px;display:inline-grid}.feature h3{margin-bottom:6px;font-size:19px}.feature p{color:var(--muted);font-size:14.5px}.steps{padding-bottom:90px}.step-list{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);gap:0;margin:26px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.step-list li{padding:28px}.step-list li+li{border-left:2px solid var(--line)}.step-num{font-family:var(--font-display);color:#0000;-webkit-text-stroke:2px var(--ink);margin-bottom:14px;font-size:44px;font-weight:800;line-height:1;display:block}.step-list h3{margin-bottom:6px;font-size:21px}.step-list p{color:var(--muted)}@media (max-width:980px){.features{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.features,.step-list{grid-template-columns:1fr}.step-list li+li{border-left:0;border-top:2px solid var(--line)}}.site-footer{border-top:2px solid var(--line);background:var(--surface);padding-top:48px}.footer-inner{grid-template-columns:1.6fr repeat(5,1fr);gap:28px;display:grid}.footer-brand p{max-width:300px;margin-top:14px;font-size:14px}.footer-col h4{margin-bottom:12px;font-size:15px}.footer-col a{color:var(--muted);padding:3px 0;font-size:14px;text-decoration:none;display:block}.footer-col a:hover{color:var(--ink);text-decoration:underline}.footer-bottom{border-top:1.5px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:36px;padding-top:32px;padding-bottom:32px;font-size:13.5px;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:3px dashed var(--line);background:var(--surface);cursor:pointer;width:100%;box-shadow:var(--shadow);border-radius:24px;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:2.5px solid var(--line);color:#17150f;width:76px;height:76px;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:3px 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);background:color-mix(in srgb, var(--brand) 30%, transparent);font-family:var(--font-display);pointer-events:none;border-radius:24px;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:2px 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:2px solid var(--line);background:var(--bg-2);background-image:radial-gradient(var(--dots) 1px, transparent 1px);background-size:16px 16px;border-radius:20px;min-height:62vh;padding:26px}.work-side{position:sticky;top:88px}.side-card{border:2px solid var(--line);background:var(--surface);max-height:calc(100vh - 110px);box-shadow:var(--shadow);border-radius:20px;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:2px 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 18px 18px;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:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:14px;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;background:color-mix(in srgb, var(--bg-2) 70%, var(--surface));border-radius:8px;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:3px 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{background:var(--ink);min-width:26px;height:26px;color:var(--bg);border-radius:999px;place-items:center;padding:0 7px;font-size:13px;font-weight:700;display:grid;position:absolute;top:8px;left:8px}.group-badge{color:#17150f;border:1.5px solid #17150f;border-radius:999px;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 #17150f;border-radius:50%;width:46px;height:46px;padding:10px;box-shadow:2px 2px #17150f}.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:#17150f}.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:2.5px dashed var(--line-soft);min-height:180px;color:var(--muted);cursor:pointer;background:0 0;border-radius:14px;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:2px solid var(--line-soft);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:10px;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:2px solid var(--line);background:var(--bg-2);border-radius:12px;gap:3px;padding:3px;display:flex}.segmented button{cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;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:2px solid var(--line-soft);background:var(--surface);cursor:pointer;border-radius:12px;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:2px solid var(--line);background:var(--surface);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.choice.on .choice-icon{background:var(--cat);color:#17150f}.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:2px 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:2px solid var(--line);background:var(--surface);color:#0000;border-radius:7px;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:3px solid var(--c-convert);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:2px 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{background:var(--bg-2);color:var(--ink-2);border-radius:11px;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:2px solid var(--line);background:var(--surface);border-radius:10px;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);background:var(--bg-2);cursor:pointer;border-radius:5px;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:2px solid var(--line-soft);background:var(--surface);cursor:pointer;border-radius:12px;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:2px solid var(--line);background:color-mix(in srgb, var(--cat) 10%, var(--surface));border-radius:12px;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:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:12px;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{touch-action:none;outline:2px solid #fff;position:absolute;box-shadow:0 0 0 1px #17150f,inset 0 0 0 1px #17150f}.crop-h{background:var(--brand);z-index:2;border:2px solid #17150f;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:2px solid var(--line);background:var(--brand);color:#17150f;box-shadow:var(--shadow-sm);border-radius:12px;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:#17150f}.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{background:var(--danger);color:#fff;cursor:pointer;z-index:3;border:2px solid #17150f;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{background:var(--brand);cursor:nwse-resize;border:2px solid #17150f;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:2px dashed var(--line-soft);touch-action:none;cursor:crosshair;background:#fff;border-radius:12px;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:2px solid var(--line);background:var(--surface);width:min(100%,440px);height:18px;box-shadow:var(--shadow-sm);border-radius:999px;margin-top:10px;overflow:hidden}.bar>span{background:var(--cat);border-right:2px 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);color:#17150f;border:3px solid var(--line);width:92px;height:92px;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:2px solid var(--line);background:var(--surface);border-radius:14px;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:#17150f}.stat.accent span{color:#4b4535}.result-list{border:2px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;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:9px;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:2px 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:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow);pointer-events:auto;border-radius:12px;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:2px 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:2px solid var(--line);background:var(--cat);color:#17150f;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;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}.related{margin-top:40px}@media (max-width:760px){.info-grid{grid-template-columns:1fr}}.prose-page{border:2px solid var(--line);background:var(--surface);max-width:760px;box-shadow:var(--shadow);border-radius:20px;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}.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}
