:root{--bg:#fff;--bg-soft:#f7f7fb;--bg-tint:#f1f0ff;--surface:#fff;--ink:#0b0b12;--ink-soft:#34343f;--muted:#6b6b7b;--line:#0b0b1217;--line-strong:#0b0b1229;--brand:#5227ff;--brand-ink:#3d17d6;--brand-2:#ff9ffc;--brand-3:#22d3ee;--brand-soft:#5227ff14;--brand-grad:linear-gradient(100deg, #5227ff 0%, #a855f7 45%, #ff9ffc 100%);--ok:#15803d;--ok-soft:#e9f9ef;--warn:#b45309;--err:#b91c1c;--radius-sm:10px;--radius:16px;--radius-lg:22px;--radius-xl:28px;--shadow-sm:0 1px 2px #0b0b120d;--shadow:0 10px 30px -12px #0b0b1229;--shadow-lg:0 30px 60px -30px #0b0b1240;--container:1120px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.65}img,svg,canvas{max-width:100%}img{height:auto}h1,h2,h3,h4{letter-spacing:-.022em;text-wrap:balance;margin:0 0 .5em;font-weight:700;line-height:1.15}h1{font-size:clamp(2.1rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,2.05rem)}h3{font-size:1.18rem}p{text-wrap:pretty;margin:0 0 1em}a{color:var(--brand-ink);text-underline-offset:3px}a:hover{color:var(--brand)}ul,ol{padding-left:1.25em}li+li{margin-top:.35em}strong{font-weight:650}hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:20px}.section{padding-block:clamp(3rem,7vw,5.5rem)}.hero+.section{padding-top:clamp(2rem,4vw,3.25rem)}.section--soft{background:var(--bg-soft);border-block:1px solid var(--line)}.narrow{max-width:760px}.center{text-align:center}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--brand-ink);background:var(--brand-soft);border:1px solid #5227ff29;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .7rem;font-size:.78rem;font-weight:650;display:inline-flex}.lead{color:var(--ink-soft);max-width:62ch;font-size:1.12rem}.muted{color:var(--muted)}.small{font-size:.86rem}.hidden,[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header{z-index:50;backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--line);background:#ffffffd1;position:sticky;top:0}.header__inner{align-items:center;gap:1.25rem;height:66px;display:flex}.brand{letter-spacing:-.02em;color:var(--ink);flex-shrink:0;align-items:center;gap:.6rem;font-size:1.06rem;font-weight:750;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand__mark{background:var(--brand-grad);color:#fff;border-radius:9px;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 6px 16px -6px #5227ffcc}.brand__mark svg{width:17px;height:17px}.brand__tld{color:var(--muted);font-weight:500}.nav{align-items:center;gap:.25rem;margin-left:auto;display:flex}.nav a{color:var(--ink-soft);white-space:nowrap;border-radius:9px;padding:.45rem .7rem;font-size:.94rem;font-weight:500;text-decoration:none}.nav a:hover{background:var(--bg-soft);color:var(--ink)}.nav a[aria-current=page]{color:var(--brand-ink);background:var(--brand-soft)}.header__cta{flex-shrink:0}@media (width<=900px){.nav{display:none}.header__cta{margin-left:auto}}.mobile-nav{display:none}@media (width<=900px){.mobile-nav{border-top:1px solid var(--line);background:#fff;display:block}.mobile-nav summary{cursor:pointer;color:var(--ink-soft);padding:.7rem 20px;font-size:.9rem;font-weight:600;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav__list{grid-template-columns:1fr 1fr;gap:.25rem;padding:0 12px 14px;display:grid}.mobile-nav__list a{color:var(--ink-soft);border-radius:9px;padding:.55rem .7rem;font-size:.92rem;text-decoration:none}.mobile-nav__list a:hover{background:var(--bg-soft)}}.btn{border:1px solid var(--line-strong);color:var(--ink);font:inherit;cursor:pointer;background:#fff border-box;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.78rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background-color:#5227ff;background-image:var(--brand-grad);color:#fff;background-origin:border-box;background-clip:border-box;border-color:#0000;box-shadow:0 12px 26px -14px #5227ffe6}.btn--primary:hover{color:#fff}.btn--ghost{background:0 0}.btn--block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn svg{width:18px;height:18px}.hero{background:radial-gradient(1100px 520px at 12% -10%,#5227ff1c,#0000 62%),radial-gradient(900px 480px at 92% 4%,#ff9ffc29,#0000 60%),#fff;padding-block:clamp(3.5rem,9vw,7rem) clamp(2.5rem,5vw,4.5rem);position:relative;overflow:hidden}.hero__inner{z-index:1;max-width:900px;position:relative}.hero .dot-field{-webkit-mask-image:linear-gradient(#000 62%,#0000 100%);mask-image:linear-gradient(#000 62%,#0000 100%)}.hero__title{letter-spacing:-.035em;margin-top:1.1rem;font-size:clamp(2.3rem,6vw,4rem)}.hero__lead{color:var(--ink-soft);max-width:60ch;margin-top:1rem;font-size:clamp(1.05rem,2vw,1.2rem)}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.9rem;display:flex}.hero__meta{color:var(--muted);flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.8rem;padding:0;font-size:.9rem;list-style:none;display:flex}.hero__meta li{align-items:center;gap:.42rem;margin:0;display:inline-flex}.hero__meta svg{width:17px;height:17px;color:var(--brand);flex-shrink:0}.grid{gap:1.15rem;display:grid}.grid--tools{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tool-card{flex-direction:column;gap:.6rem;height:100%;transition:transform .16s;display:flex;padding:1.6rem!important}.tool-card:hover{transform:translateY(-3px)}.tool-card__icon{background:var(--brand-soft);width:44px;height:44px;color:var(--brand);border-radius:13px;place-items:center;margin-bottom:.35rem;display:grid}.tool-card__icon svg{width:23px;height:23px}.tool-card__title{letter-spacing:-.015em;color:var(--ink);margin:0;font-size:1.08rem;font-weight:680}.tool-card__desc{color:var(--muted);flex:1;margin:0;font-size:.93rem}.tool-card__link{color:var(--brand-ink);align-items:center;gap:.35rem;margin-top:.5rem;font-size:.9rem;font-weight:620;text-decoration:none;display:inline-flex}.tool-card__link:after{content:"→";transition:transform .15s}.tool-card:hover .tool-card__link:after{transform:translate(3px)}.tool-card--plain{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff}.feature{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;display:grid}.feature__item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1.4rem}.feature__item svg{width:22px;height:22px;color:var(--brand);margin-bottom:.6rem}.feature__item h3{margin-bottom:.35rem;font-size:1rem}.feature__item p{color:var(--muted);margin:0;font-size:.92rem}.tool-wrap{margin-top:1.8rem}.tool-panel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;padding:clamp(1.1rem,3vw,1.9rem)}.dropzone{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--bg-soft);cursor:pointer;place-items:center;gap:.55rem;padding:clamp(2rem,6vw,3.4rem) 1.4rem;transition:border-color .15s,background .15s,transform .15s;display:grid;position:relative}.dropzone:hover{background:var(--bg-tint);border-color:#5227ff80}.dropzone.is-drag{border-color:var(--brand);background:var(--bg-tint);transform:scale(1.006)}.dropzone__icon{width:52px;height:52px;color:var(--brand);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:15px;place-items:center;display:grid}.dropzone__icon svg{width:26px;height:26px}.dropzone__title{font-size:1.02rem;font-weight:650}.dropzone__hint{color:var(--muted);font-size:.86rem}.dropzone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.controls{gap:1rem;margin-top:1.2rem;display:grid}.controls--split{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.field{gap:.38rem;display:grid}.field>label,.field__label{letter-spacing:.01em;color:var(--ink-soft);font-size:.82rem;font-weight:640}.field__value{font-variant-numeric:tabular-nums;color:var(--brand-ink);font-weight:700}input[type=number],input[type=text],select{font:inherit;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:10px;width:100%;padding:.55rem .7rem;font-size:.95rem}input[type=number]:focus,input[type=text]:focus,select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #5227ff24}input[type=range]{width:100%;accent-color:var(--brand);height:28px}.segmented{background:var(--bg-soft);border:1px solid var(--line);border-radius:11px;flex-wrap:wrap;gap:.25rem;padding:.25rem;display:inline-flex}.segmented button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.4rem .7rem;font-size:.86rem;font-weight:600}.segmented button[aria-pressed=true]{color:var(--brand-ink);box-shadow:var(--shadow-sm);background:#fff}.check{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.check input{width:17px;height:17px;accent-color:var(--brand)}.preview{border:1px solid var(--line);border-radius:var(--radius);background:conic-gradient(from 90deg at 1px 1px, #f3f3f7 90deg, #fff 0) 0 0 / 18px 18px;place-items:center;min-height:180px;margin-top:1.2rem;padding:.7rem;display:grid;overflow:hidden}.preview img,.preview canvas{width:auto;max-width:100%;max-height:58vh;box-shadow:var(--shadow-sm);border-radius:8px;display:block}.preview__stage{touch-action:none;user-select:none;line-height:0;display:inline-block;position:relative}.preview__stage img{width:auto;max-width:100%;max-height:58vh}.crop-layer{cursor:move;position:absolute;inset:0}.crop-box{cursor:move;box-sizing:border-box;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #0b0b128c}.crop-box:before,.crop-box:after{content:"";pointer-events:none;position:absolute;inset:0}.crop-box:before{border-inline:1px solid #ffffff73;margin-inline:33.33%}.crop-box:after{border-block:1px solid #ffffff73;margin-block:33.33%}.crop-handle{border:2px solid var(--brand);background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;box-shadow:0 1px 4px #00000059}.crop-handle[data-corner=nw]{cursor:nwse-resize;top:-8px;left:-8px}.crop-handle[data-corner=ne]{cursor:nesw-resize;top:-8px;right:-8px}.crop-handle[data-corner=sw]{cursor:nesw-resize;bottom:-8px;left:-8px}.crop-handle[data-corner=se]{cursor:nwse-resize;bottom:-8px;right:-8px}.result{gap:.9rem;margin-top:1.2rem;display:grid}.result__stats{flex-wrap:wrap;gap:.6rem;display:flex}.stat{border:1px solid var(--line);background:var(--bg-soft);border-radius:12px;flex:140px;padding:.7rem .85rem}.stat__label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.74rem;font-weight:650;display:block}.stat__value{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.08rem;font-weight:700;display:block}.stat--good .stat__value{color:var(--ok)}.progress{border:1px solid var(--line);background:var(--bg-soft);border-radius:12px;margin-top:.9rem;padding:.7rem .85rem}.progress__head{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.82rem;display:flex}.progress__label{align-items:center;gap:.4rem;font-weight:550;display:inline-flex}.progress__icon:empty{display:none}.progress__icon svg{width:15px;height:15px;display:block}.progress__value{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:650}.progress__track{background:#5227ff21;border-radius:999px;height:6px;overflow:hidden}.progress__fill{background:var(--brand-grad);border-radius:999px;width:0;height:100%;display:block}.progress--done{background:#f0fdf4;border-color:#16a34a52}.progress--done .progress__fill{background:linear-gradient(90deg,#15803d,#22c55e)}.progress--done .progress__label,.progress--done .progress__value{color:var(--ok)}.progress--error{background:#fef2f2;border-color:#fecaca}.progress--error .progress__fill{background:linear-gradient(90deg,#b91c1c,#ef4444)}.progress--error .progress__label,.progress--error .progress__value{color:var(--err)}.btn--download{color:var(--brand-ink);background:#fff;border-color:#5227ff52}.btn--download:hover{background:var(--brand-soft)}.btn--download svg{width:17px;height:17px}.preview--result{border-color:#5227ff38;position:relative}.preview__badge{z-index:2;color:var(--brand-ink);box-shadow:var(--shadow-sm);background:#fffffff0;border:1px solid #5227ff2e;border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .65rem;font-size:.78rem;font-weight:650;display:inline-flex;position:absolute;top:.6rem;left:.6rem}.preview__badge svg{width:14px;height:14px}.notice{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-soft);border-radius:11px;align-items:flex-start;gap:.55rem;padding:.7rem .9rem;font-size:.9rem;display:flex}.notice--error{color:var(--err);background:#fef2f2;border-color:#fecaca}.notice--ok{background:var(--ok-soft);color:var(--ok);border-color:#bbf7d0}.notice svg{flex-shrink:0;width:18px;height:18px;margin-top:2px}.privacy-note{color:var(--muted);align-items:center;gap:.5rem;margin-top:1rem;font-size:.84rem;display:flex}.privacy-note svg{width:16px;height:16px;color:var(--ok);flex-shrink:0}.steps{counter-reset:step;gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.step{grid-template-columns:38px 1fr;align-items:start;gap:.9rem;margin:0;display:grid}.step:before{counter-increment:step;content:counter(step);background:var(--brand-soft);width:38px;height:38px;color:var(--brand-ink);border-radius:11px;place-items:center;font-size:.95rem;font-weight:750;display:grid}.step h3{margin:.4rem 0 .2rem;font-size:1rem}.step p{color:var(--muted);margin:0;font-size:.94rem}.prose{max-width:760px}.prose h2{margin-top:2.4rem;scroll-margin-top:90px}.prose h3{margin-top:1.6rem}.prose p,.prose li{color:var(--ink-soft)}.prose ul,.prose ol{margin-bottom:1.15rem}.prose blockquote{border-left:3px solid var(--brand);background:var(--bg-soft);color:var(--ink-soft);border-radius:0 12px 12px 0;margin:1.5rem 0;padding:.9rem 1.1rem}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;padding:.1em .35em;font-size:.88em}.prose table{border-collapse:collapse;width:100%;margin:1.4rem 0;font-size:.93rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .7rem}.prose th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.8rem}.faq{gap:.6rem;margin-top:1.4rem;display:grid}.faq__item{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.faq__item[open]{border-color:#5227ff47;box-shadow:0 0 0 3px #5227ff12}.faq__item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;font-size:.97rem;font-weight:620;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";color:var(--brand);font-size:1.3rem;font-weight:400;line-height:1;transition:transform .15s}.faq__item[open] summary:after{transform:rotate(45deg)}.faq__body{color:var(--ink-soft);padding:0 1.1rem 1rem;font-size:.94rem}.faq__body p:last-child{margin-bottom:0}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:1.1rem;padding:0;font-size:.83rem;list-style:none;display:flex}.crumbs li{align-items:center;gap:.35rem;margin:0;display:inline-flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--brand-ink)}.crumbs li+li:before{content:"/";color:var(--line-strong)}.banner{border-radius:var(--radius-xl);background:radial-gradient(600px 300px at 85% -20%,#ff9ffc47,#0000 60%),linear-gradient(120deg,#f4f1ff 0%,#fdf7ff 60%,#f6fbff 100%);border:1px solid #5227ff1f;padding:clamp(1.6rem,4vw,2.6rem);position:relative;overflow:hidden}.banner h2{margin-bottom:.4rem}.banner p{color:var(--ink-soft);margin-bottom:1.1rem}.ad{border:1px dashed var(--line-strong);background:var(--bg-soft);border-radius:14px;place-items:center;min-height:92px;margin:2rem 0;display:grid;overflow:hidden}.ad__label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;font-size:.7rem;display:block}.ad ins{display:block}.cookie{z-index:90;border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;padding:1rem 1.1rem;display:none;position:fixed;bottom:14px;left:14px;right:14px}.cookie.is-open{display:block}.cookie__inner{max-width:var(--container);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;margin-inline:auto;display:flex}.cookie p{color:var(--ink-soft);flex:320px;max-width:70ch;margin:0;font-size:.87rem}.cookie__actions{flex-wrap:wrap;gap:.5rem;display:flex}.cookie__actions .btn{padding:.55rem .9rem;font-size:.87rem}.footer{border-top:1px solid var(--line);background:var(--bg-soft);margin-top:4rem;padding-block:3rem 2rem}.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;display:grid}@media (width<=820px){.footer__grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.footer__grid{grid-template-columns:1fr}}.footer__col h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.8rem;font-size:.78rem}.footer__col ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.footer__col a{color:var(--ink-soft);font-size:.92rem;text-decoration:none}.footer__col a:hover{color:var(--brand-ink)}.footer__about p{color:var(--muted);max-width:34ch;font-size:.9rem}.footer__bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.2rem;margin-top:2.4rem;padding-top:1.3rem;font-size:.82rem;display:flex}.footer__bottom a{color:var(--muted)}.stack{gap:1rem;display:grid}.stack--lg{gap:2rem}.row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-0{margin-bottom:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.header__cta[data-astro-cid-nen7h5rs]{border-radius:10px;padding:.5rem .85rem;font-size:.88rem}.mobile-nav[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{align-items:center;gap:.45rem;display:flex}.footer__about[data-astro-cid-jo6i4kqk] .brand__mark[data-astro-cid-jo6i4kqk]{background:var(--brand-grad);color:#fff;border-radius:8px;place-items:center;width:26px;height:26px;font-size:12px;display:grid}.skip[data-astro-cid-nahqlk2g]{z-index:100;background:var(--brand);color:#fff;border-radius:10px;padding:.6rem .9rem;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-60px;left:12px}.skip[data-astro-cid-nahqlk2g]:focus{color:#fff;top:12px}
