:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--surface-canvas:var(--lightningcss-light,#fff)var(--lightningcss-dark,#000);--surface-section:var(--lightningcss-light,#f8f9fa)var(--lightningcss-dark,#111112);--surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1d);--surface-raised-hover:var(--lightningcss-light,#f1f3f4)var(--lightningcss-dark,#222224);--surface-tint:var(--lightningcss-light,#e8effd)var(--lightningcss-dark,#1a1f33);--surface-glass:var(--lightningcss-light,#ffffffc7)var(--lightningcss-dark,#161617cc);--surface-glass-solid:var(--lightningcss-light,#fff)var(--lightningcss-dark,#161617);--surface-media:var(--lightningcss-light,#f1f3f4)var(--lightningcss-dark,#0b0b0d);--glass-filter:saturate(180%) blur(16px);--text-emphasis:var(--lightningcss-light,#202124)var(--lightningcss-dark,#f5f5f7);--text:var(--lightningcss-light,#3c4043)var(--lightningcss-dark,#d0d0d4);--text-muted:var(--lightningcss-light,#5f6368)var(--lightningcss-dark,#9a9aa0);--text-subtle:var(--lightningcss-light,#80868b)var(--lightningcss-dark,#6e6e73);--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0b1020);--accent:var(--lightningcss-light,#1d4ed8)var(--lightningcss-dark,#8fb3ff);--accent-hover:var(--lightningcss-light,#1e40af)var(--lightningcss-dark,#a9c4ff);--accent-pressed:var(--lightningcss-light,#1e3a8a)var(--lightningcss-dark,#c2d5ff);--accent-text:var(--lightningcss-light,#1d4ed8)var(--lightningcss-dark,#8fb3ff);--accent-ring:var(--lightningcss-light,#1d4ed847)var(--lightningcss-dark,#8fb3ff59);--accent-glow:var(--lightningcss-light,#1d4ed824)var(--lightningcss-dark,#8fb3ff2e);--positive:var(--lightningcss-light,#188038)var(--lightningcss-dark,#6ddc8a);--positive-container:var(--lightningcss-light,#e6f4ea)var(--lightningcss-dark,#0f2e1a);--negative:var(--lightningcss-light,#d93025)var(--lightningcss-dark,#ff8a80);--negative-container:var(--lightningcss-light,#fce8e6)var(--lightningcss-dark,#3a1210);--stroke:var(--lightningcss-light,#dadce0)var(--lightningcss-dark,#ffffff1a);--stroke-soft:var(--lightningcss-light,#e8eaed)var(--lightningcss-dark,#ffffff0f);--stroke-strong:var(--lightningcss-light,#c4c7cc)var(--lightningcss-dark,#ffffff2e);--focus-ring:var(--accent);--shadow-1:var(--lightningcss-light,0 1px 2px #3c404333)var(--lightningcss-dark,0 1px 2px #00000080);--shadow-2:var(--lightningcss-light,0 4px 16px #3c40431f)var(--lightningcss-dark,0 12px 32px #00000080);--shadow-media:var(--lightningcss-light,0 0 0 1px #dadce0)var(--lightningcss-dark,0 0 0 1px #ffffff14), var(--lightningcss-light,0 24px 60px #3c404329)var(--lightningcss-dark,0 30px 80px #0009);--shadow-plan:0 0 0 1px var(--accent), 0 10px 30px var(--accent-glow);--radius-s:6px;--radius-m:10px;--radius-l:18px;--radius-pill:999px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable", "Segoe UI", Inter, Roboto, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;--tracking-display:-.02em;--tracking-control:-.01em;--tracking-eyebrow:.02em;--type-display:600 clamp(40px, 2.2rem + 2.6vw, 72px) / 1.05 var(--font-sans);--type-h1:600 clamp(32px, 1.6rem + 1.8vw, 52px) / 1.1 var(--font-sans);--type-h2:600 clamp(24px, 1.2rem + 1vw, 34px) / 1.2 var(--font-sans);--type-h3:600 clamp(18px, 1rem + .4vw, 21px) / 1.3 var(--font-sans);--type-lede:400 clamp(17px, 1rem + .35vw, 21px) / 1.45 var(--font-sans);--type-body:400 17px / 1.5 var(--font-sans);--type-body-sm:400 15px / 1.5 var(--font-sans);--type-control:500 15px / 1.2 var(--font-sans);--type-eyebrow:600 13px / 1.4 var(--font-sans);--type-caption:400 13px / 1.45 var(--font-sans);--type-price:600 clamp(36px, 1.6rem + 1.4vw, 48px) / 1 var(--font-sans);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--max-w:1200px;--copy-max:68ch;--gutter:clamp(16px, 4vw, 40px);--section-pad:clamp(64px, 6vw + 24px, 112px);--header-h:64px;--control-h:44px;--control-h-lg:52px;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--ease:cubic-bezier(.2, 0, 0, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-slow:0s}}@media (prefers-reduced-transparency:reduce){:root{--surface-glass:var(--surface-glass-solid);--glass-filter:none}}@supports not (color:light-dark(#000, #fff)){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-canvas:#fff;--surface-section:#f8f9fa;--surface-raised:#fff;--surface-raised-hover:#f1f3f4;--surface-tint:#e8effd;--surface-glass:#fff;--surface-glass-solid:#fff;--surface-media:#f1f3f4;--text-emphasis:#202124;--text:#3c4043;--text-muted:#5f6368;--text-subtle:#80868b;--on-accent:#fff;--accent:#1d4ed8;--accent-hover:#1e40af;--accent-pressed:#1e3a8a;--accent-text:#1d4ed8;--accent-ring:#1d4ed847;--accent-glow:#1d4ed824;--positive:#188038;--positive-container:#e6f4ea;--negative:#d93025;--negative-container:#fce8e6;--stroke:#dadce0;--stroke-soft:#e8eaed;--stroke-strong:#c4c7cc;--shadow-1:0 1px 2px #3c404333;--shadow-2:0 4px 16px #3c40431f;--shadow-media:0 0 0 1px #dadce0, 0 24px 60px #3c404329}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{background:var(--surface-canvas);color:var(--text);font:var(--type-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img,video,svg{max-width:100%;height:auto;display:block}a{color:var(--accent-text);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}strong{color:var(--text-emphasis);font-weight:600}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-s)}.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}.skip-link{left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-3);background:var(--surface-raised);color:var(--text-emphasis);border-radius:var(--radius-s);box-shadow:var(--shadow-2);position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}@media (hover:hover) and (pointer:fine){a:hover{color:var(--accent-hover);text-underline-offset:.18em;text-decoration:underline}}.wrap{width:min(var(--max-w), 100% - 2 * var(--gutter));margin-inline:auto}.copy{max-width:var(--copy-max);text-align:center;margin-inline:auto}.section{padding-block:var(--section-pad);background:var(--surface-canvas)}.section--alt{background:var(--surface-section)}.section__head{gap:var(--space-4);margin-bottom:var(--space-7);display:grid}.section__title{font:var(--type-h1);letter-spacing:var(--tracking-display);color:var(--text-emphasis);text-wrap:balance}.eyebrow{font:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--accent-text)}.lede{font:var(--type-lede);color:var(--text-muted);text-wrap:balance}.header{z-index:50;height:var(--header-h);background:var(--surface-glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:0 1px 0 var(--stroke);align-items:center;display:flex;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.header__brand{align-items:center;gap:var(--space-2);color:var(--text-emphasis);font:var(--type-control);letter-spacing:var(--tracking-control);font-weight:600;display:inline-flex}.header__brand svg,.header__brand img{width:auto;height:24px}.header__nav{align-items:center;gap:var(--space-5);display:flex}.header__nav a{font:var(--type-control);letter-spacing:var(--tracking-control);color:var(--text);padding:var(--space-2) 0}.header__nav a[aria-current=page]{color:var(--text-emphasis)}.header__actions{align-items:center;gap:var(--space-3);display:flex}.theme-toggle{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-pill);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--stroke);place-items:center;display:inline-grid}.theme-toggle svg{width:18px;height:18px}.theme-toggle .icon-moon,html[data-theme=dark] .theme-toggle .icon-sun{display:none}html[data-theme=dark] .theme-toggle .icon-moon{display:block}@media (prefers-color-scheme:dark){html:not([data-theme]) .theme-toggle .icon-sun{display:none}html:not([data-theme]) .theme-toggle .icon-moon{display:block}}@media (width<=767px){.header__nav{display:none}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-5);border-radius:var(--radius-m);font:var(--type-control);letter-spacing:var(--tracking-control);white-space:nowrap;-webkit-user-select:none;user-select:none;color:var(--text-emphasis);transition:background-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);display:inline-flex}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--ghost{background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--stroke-strong)}.btn--text{padding-inline:var(--space-2);color:var(--accent-text)}.btn--small{min-height:36px;padding:0 var(--space-4);font-size:14px}.btn--large{min-height:var(--control-h-lg);padding:0 var(--space-6);font-size:17px}.btn--block{width:100%}@media (hover:hover) and (pointer:fine){.btn:hover{text-decoration:none}.btn--primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn--primary:active{background:var(--accent-pressed)}.btn--ghost:hover{background:var(--surface-raised-hover);color:var(--text-emphasis)}}.hero{padding-block:clamp(48px, 6vw, 96px) var(--section-pad)}.hero__grid{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;display:grid}.hero__copy{gap:var(--space-5);display:grid}.hero__title{font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-emphasis);text-wrap:balance}.hero__lede{font:var(--type-lede);color:var(--text-muted);text-wrap:pretty;max-width:48ch}.hero__lede strong{color:var(--text-emphasis)}.hero__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero__fine{font:var(--type-caption);color:var(--text-muted)}.hero__media{min-width:0}.media-frame{border-radius:var(--radius-l);background:var(--surface-media);box-shadow:var(--shadow-media);overflow:hidden}.media-frame img,.media-frame video{aspect-ratio:16/10;object-fit:cover;width:100%}@media (width<=1023px){.hero__grid{gap:var(--space-7);grid-template-columns:1fr}.hero__lede{max-width:none}}.logo-wall{padding-block:0 var(--section-pad);text-align:center}.logo-wall__label{font:var(--type-caption);color:var(--text-muted);margin-bottom:var(--space-5)}.logo-wall__grid{justify-content:center;align-items:center;gap:var(--space-5) var(--space-7);flex-wrap:wrap;display:flex}.logo-wall__item{opacity:.65;width:auto;height:28px;color:var(--text-muted)}.logo-wall__item svg{fill:currentColor;width:auto;height:100%}.feature{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;display:grid}.feature+.feature{margin-top:var(--section-pad)}.feature--flip .feature__media{order:-1}.feature__copy{gap:var(--space-4);display:grid}.feature__copy h2,.feature__copy h3{font:var(--type-h2);letter-spacing:var(--tracking-display);color:var(--text-emphasis);text-wrap:balance}.bullets{gap:var(--space-3);margin-top:var(--space-2);display:grid}.bullets>li{font:var(--type-body);color:var(--text-muted);padding-left:var(--space-5);text-wrap:pretty;position:relative}.bullets>li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:.6em;left:0}.bullets>li>strong{color:var(--text-emphasis)}@media (width<=767px){.feature{gap:var(--space-6);grid-template-columns:1fr}.feature--flip .feature__media{order:0}}.steps{gap:var(--space-5);counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.step{gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-l);background:var(--surface-raised);box-shadow:var(--shadow-1);display:grid}.step__num{font:var(--type-eyebrow);color:var(--accent-text);letter-spacing:var(--tracking-eyebrow)}.step__title{font:var(--type-h3);color:var(--text-emphasis)}.step__body{font:var(--type-body-sm);color:var(--text-muted)}.grid{gap:var(--space-5);display:grid}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.card{gap:var(--space-2);padding:var(--space-6);border-radius:var(--radius-l);background:var(--surface-raised);box-shadow:var(--shadow-1);display:grid}.card__title{font:var(--type-h3);color:var(--text-emphasis)}.card__body{font:var(--type-body-sm);color:var(--text-muted)}.pricing-toggle{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-7);font:var(--type-body-sm);color:var(--text-muted);display:flex}.switch{border-radius:var(--radius-pill);background:var(--stroke-strong);width:48px;height:28px;transition:background-color var(--dur-base) var(--ease);flex:none;position:relative}.switch:after{content:"";background:var(--surface-canvas);width:22px;height:22px;box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(20px)}.switch__label{color:var(--text)}.switch__label strong{color:var(--positive);font-weight:600}.pricing{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;display:grid}.plan{gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-l);background:var(--surface-raised);box-shadow:var(--shadow-1);display:grid}.plan--featured{box-shadow:var(--shadow-plan)}.plan__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.plan__name{font:var(--type-h3);color:var(--text-emphasis)}.plan__badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font:var(--type-caption);color:var(--accent-text);background:var(--surface-tint);font-weight:600}.plan__price{align-items:baseline;gap:var(--space-1);font:var(--type-price);color:var(--text-emphasis);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-display);display:flex}.plan__per{font:var(--type-body-sm);color:var(--text-muted);letter-spacing:0}.plan__list{gap:var(--space-2);font:var(--type-body-sm);color:var(--text);display:grid}.plan__list li{padding-left:var(--space-5);position:relative}.plan__list li:before{content:"✓";color:var(--accent-text);font-weight:600;position:absolute;left:0}.plan__note{text-align:center;margin-top:var(--space-6);font:var(--type-caption);color:var(--text-muted)}.price:before{content:attr(data-annual)}[data-billing=monthly] .price:before{content:attr(data-monthly)}.quotes{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid}.quote{gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-l);background:var(--surface-raised);box-shadow:var(--shadow-1);display:grid}.quote__body{font:var(--type-body);color:var(--text);text-wrap:pretty}.quote__who{gap:0 var(--space-3);grid-template-columns:auto 1fr;align-items:center;display:grid}.quote__avatar{object-fit:cover;background:var(--surface-tint);border-radius:50%;grid-row:1/3;width:40px;height:40px}.quote__name{font:var(--type-body-sm);color:var(--text-emphasis);font-weight:600}.quote__role{font:var(--type-caption);color:var(--text-muted)}.faq{max-width:var(--copy-max);margin-inline:auto}.faq__item{border-top:1px solid var(--stroke)}.faq__item:last-child{border-bottom:1px solid var(--stroke)}.faq__q{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;padding:var(--space-4) 0;cursor:pointer;font:var(--type-h3);color:var(--text-emphasis);list-style:none;display:flex}.faq__q::-webkit-details-marker{display:none}.faq__q:after{content:"+";color:var(--text-muted);transition:transform var(--dur-base) var(--ease);font-size:22px}.faq__item[open] .faq__q:after{transform:rotate(45deg)}.faq__a{padding:0 0 var(--space-5);font:var(--type-body);color:var(--text-muted);max-width:60ch}.faq__a p+p{margin-top:var(--space-3)}.cta-band{padding-block:var(--section-pad);background:var(--surface-section);text-align:center}.cta-band .copy{justify-items:center;gap:var(--space-5);display:grid}.cta-band__title{font:var(--type-h1);letter-spacing:var(--tracking-display);color:var(--text-emphasis);text-wrap:balance}.footer{padding-block:var(--space-8) var(--space-6);background:var(--surface-canvas);border-top:1px solid var(--stroke);font:var(--type-caption);color:var(--text-muted)}.footer__cols{gap:var(--space-6) var(--space-5);margin-bottom:var(--space-7);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.footer__col h3{font:var(--type-caption);color:var(--text-emphasis);margin-bottom:var(--space-3);font-weight:600}.footer__col a{padding:var(--space-1) 0;color:var(--text-muted);display:block}.footer__legal{gap:var(--space-2) var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--stroke);flex-wrap:wrap;justify-content:space-between;display:flex}.footer__legal a{color:var(--text-muted)}@media (hover:hover) and (pointer:fine){.footer a:hover{color:var(--text-emphasis)}}.field{gap:var(--space-2);width:100%;max-width:420px;display:grid}.field label{font:var(--type-body-sm);color:var(--text)}.input{appearance:none;width:100%;height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-m);font:var(--type-body);color:var(--text-emphasis);background:var(--surface-raised);border:1px solid var(--stroke-strong);transition:border-color var(--dur-base), box-shadow var(--dur-base);outline:none}.input::placeholder{color:var(--text-subtle)}.input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring)}.input[aria-invalid=true]{border-color:var(--negative)}.field__error{font:var(--type-caption);color:var(--negative)}@media (prefers-reduced-motion:no-preference) and (scripting:enabled){.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);transform:translateY(12px)}.reveal.is-visible{opacity:1;transform:none}}@media print{.header,.theme-toggle,.skip-link,.cta-band{display:none}.section{padding-block:var(--space-6)}}.tool-cats{gap:var(--space-7);display:grid}.tool-cat__title{font:var(--type-h3);color:var(--text-emphasis);margin-bottom:var(--space-4);align-items:baseline;gap:var(--space-3);display:flex}.tool-cat__count{font:var(--type-caption);color:var(--text-muted)}.tool-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.tool-card{gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border-radius:var(--radius-l);box-shadow:var(--shadow-1);color:var(--text);transition:background var(--dur-base) var(--ease), transform var(--dur-base) var(--ease);grid-template-columns:auto 1fr;align-items:start;text-decoration:none;display:grid}.tool-card:hover{background:var(--surface-raised-hover);color:var(--text);text-decoration:none}.tool-card:focus-visible{outline-offset:2px}.tool-card__icon{border-radius:var(--radius-m);background:var(--surface-tint);width:40px;height:40px;color:var(--accent-text);place-items:center;display:grid}.tool-card__icon svg{width:22px;height:22px}.tool-card__name{font:var(--type-control);color:var(--text-emphasis);align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tool-card__blurb{font:var(--type-body-sm);color:var(--text-muted);margin-top:var(--space-1)}.badge{padding:1px var(--space-2);border-radius:var(--radius-pill);font:var(--type-caption);font-weight:500;display:inline-block}.badge--soon{background:var(--surface-raised-hover);color:var(--text-muted)}.badge--device{background:var(--surface-tint);color:var(--accent-text)}.media-frame--diagram{padding:var(--space-4)}.diagram{width:100%;height:auto;font-family:var(--font-sans)}.diagram .d-group{fill:var(--surface-section);stroke:var(--stroke-strong);stroke-width:1.5px;stroke-dasharray:6 5}.diagram .d-box{fill:var(--surface-raised);stroke:var(--stroke);stroke-width:1px}.diagram .d-box--file{fill:var(--surface-tint);stroke:var(--accent-ring)}.diagram .d-title{fill:var(--text-emphasis);font-weight:600}.diagram .d-title--file{fill:var(--accent-text)}.diagram .d-step{fill:var(--text-subtle);letter-spacing:.06em;font-weight:600}.diagram .d-muted{fill:var(--text-muted);font-weight:400}.diagram .d-label{fill:var(--accent-text);letter-spacing:.01em;font-weight:600}.diagram .d-lock{fill:none;stroke:var(--accent-text);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.diagram .d-lock-body{fill:var(--accent-text)}.diagram .d-arrow{fill:none;stroke:var(--text-muted);stroke-width:2px;stroke-linecap:round}.diagram .d-head{fill:var(--text-muted)}@media (width<=599px){.media-frame--diagram{padding:var(--space-3)}.diagram .d-step,.diagram .d-muted{display:none}.diagram .d-title{font-size:24px;transform:translateY(9px)}.diagram .d-title--file{font-size:20px}.diagram .d-label{font-size:17px}}.tool-hero{padding-block:var(--space-8) var(--space-6)}.tool-hero__head{gap:var(--space-4);max-width:var(--copy-max);text-align:center;margin-inline:auto;display:grid}.tool-hero__title{font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-emphasis);text-wrap:balance}.tool-hero__meta{justify-content:center;gap:var(--space-3);font:var(--type-caption);color:var(--text-muted);flex-wrap:wrap;display:flex}.tool-stage{margin-top:var(--space-6)}.dropzone{place-items:center;gap:var(--space-3);min-height:260px;padding:var(--space-7);border:2px dashed var(--stroke-strong);border-radius:var(--radius-l);background:var(--surface-raised);text-align:center;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);cursor:pointer;display:grid}.dropzone.is-over{border-color:var(--accent);background:var(--surface-tint)}.dropzone:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.dropzone__icon{width:56px;height:56px;color:var(--accent-text)}.dropzone__title{font:var(--type-h3);color:var(--text-emphasis)}.dropzone__hint{font:var(--type-body-sm);color:var(--text-muted)}.dropzone__input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.file-list{gap:var(--space-2);margin-top:var(--space-4);display:grid}.file-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border-radius:var(--radius-m);box-shadow:var(--shadow-1);font:var(--type-body-sm);display:flex}.file-row__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-emphasis);flex:1;overflow:hidden}.file-row__size{color:var(--text-muted);font-variant-numeric:tabular-nums}.file-row__remove{color:var(--text-muted);border-radius:var(--radius-s);place-items:center;width:32px;height:32px;display:grid}.file-row__remove:hover{color:var(--negative);background:var(--negative-container)}.tool-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.notice{padding:var(--space-4) var(--space-5);border-radius:var(--radius-m);background:var(--surface-tint);color:var(--text);font:var(--type-body-sm)}.notice--warn{background:var(--negative-container)}.notice strong{color:var(--text-emphasis)}.steps--tool .step__num{color:var(--accent-text)}.related{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.prose{max-width:var(--copy-max);gap:var(--space-4);margin-inline:auto;display:grid}.prose h1{font:var(--type-h1);letter-spacing:var(--tracking-display);color:var(--text-emphasis)}.prose h2{font:var(--type-h3);color:var(--text-emphasis);margin-top:var(--space-5)}.prose ul{gap:var(--space-2);padding-left:1.2em;list-style:outside;display:grid}.prose a{text-underline-offset:.18em;text-decoration:underline}.prose table{border-collapse:collapse;width:100%;font:var(--type-body-sm)}.prose th,.prose td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--stroke)}.notfound{text-align:center;place-content:center;gap:var(--space-4);min-height:60vh;display:grid}.notfound__code{font:var(--type-display);color:var(--text-subtle)}.editor-root{background:var(--surface-section);height:100dvh;color:var(--text);grid-template-rows:auto 1fr auto;display:grid}.editor-loading{place-items:center;gap:var(--space-3);color:var(--text-muted);font:var(--type-body);display:grid}.ed{background:var(--surface-section);height:100dvh;color:var(--text);flex-direction:column;display:flex;overflow:hidden}.ed>.ed__body,.ed>.ed__stage--empty{flex:1;min-height:0}.ed__top{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-raised);box-shadow:0 1px 0 var(--stroke);flex-wrap:wrap;min-height:52px;display:flex}.ed__brand{align-items:center;gap:var(--space-2);color:var(--text-emphasis);font:var(--type-control);margin-right:var(--space-2);font-weight:600;text-decoration:none;display:inline-flex}.ed__file{font:var(--type-body-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.ed__file strong{color:var(--text-emphasis);font-weight:500}.ed__file:hover strong{text-underline-offset:.15em;text-decoration:underline}.ed__file-input{width:220px;height:32px;font:var(--type-body-sm)}.ed__group{border-radius:var(--radius-m);background:var(--surface-section);align-items:center;gap:2px;padding:2px;display:inline-flex}.ed__sep{background:var(--stroke);width:1px;height:24px;margin:0 var(--space-1)}.ed__spacer{flex:1}.tbtn{min-width:36px;height:36px;padding:0 var(--space-2);border-radius:var(--radius-s);color:var(--text);font:var(--type-control);place-items:center;gap:var(--space-1);grid-auto-flow:column;display:inline-grid}.tbtn:hover{background:var(--surface-raised-hover)}.tbtn[aria-pressed=true],.tbtn[aria-checked=true],.tbtn.is-active{background:var(--surface-tint);color:var(--accent-text)}.tbtn:disabled{opacity:.4;cursor:default}.tbtn svg{width:18px;height:18px}.ed__body{grid-template-columns:180px 1fr 280px;min-height:0;display:grid}.ed__body.no-props{grid-template-columns:180px 1fr}.ed__thumbs{padding:var(--space-3);gap:var(--space-3);background:var(--surface-raised);box-shadow:1px 0 0 var(--stroke);align-content:start;display:grid;overflow:auto}.thumb{gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-m);cursor:pointer;border:2px solid #0000;justify-items:center;display:grid;position:relative}.thumb:hover{background:var(--surface-raised-hover)}.thumb.is-current{border-color:var(--accent)}.thumb.is-selected{background:var(--surface-tint)}.thumb.is-dragover{outline:2px dashed var(--accent)}.thumb__canvas{background:var(--surface-canvas);box-shadow:var(--shadow-1);max-width:100%;height:auto}.thumb__num{font:var(--type-caption);color:var(--text-muted)}.thumb__menu{background:var(--surface-raised);border-radius:var(--radius-s);box-shadow:var(--shadow-2);gap:2px;padding:2px;display:none;position:absolute;top:6px;right:6px}.thumb:hover .thumb__menu,.thumb:focus-within .thumb__menu{display:inline-flex}.thumb__menu button{width:26px;height:26px;color:var(--text);border-radius:4px;place-items:center;display:grid}.thumb__menu button:hover{background:var(--surface-raised-hover)}.thumb__menu svg{width:14px;height:14px}.ed__stage{padding:var(--space-5);outline:none;position:relative;overflow:auto}.ed__stage--empty{place-items:center;display:grid}.stage__inner{margin-inline:auto;position:relative}.page{background:var(--surface-canvas);box-shadow:var(--shadow-2);position:absolute;left:50%;transform:translate(-50%)}.page__canvas{width:100%;height:100%;display:block}.page__canvas.is-stale{filter:saturate(.6)}.page__overlay{position:absolute;inset:0;overflow:visible}.page__text{line-height:1;position:absolute;inset:0;overflow:hidden}.page__text span{color:#0000;white-space:pre;transform-origin:0 0;cursor:text;position:absolute}.page__text ::selection{background:var(--accent-ring)}.page__hit{position:absolute;inset:0}.page__hit.tool-crosshair{cursor:crosshair}.page__hit.tool-text{cursor:text}.page__hit.tool-grab{cursor:grab}.ed__props{padding:var(--space-4);background:var(--surface-raised);box-shadow:-1px 0 0 var(--stroke);gap:var(--space-4);align-content:start;display:grid;overflow:auto}.ed__props h3{font:var(--type-h3);color:var(--text-emphasis)}.ed__status{align-items:center;gap:var(--space-4);padding:var(--space-1) var(--space-3);font:var(--type-caption);color:var(--text-muted);background:var(--surface-raised);box-shadow:0 -1px 0 var(--stroke);min-height:28px;display:flex}.ed__status .spacer{flex:1}.open-screen{gap:var(--space-5);width:100%;max-width:640px;display:grid}.recent{gap:var(--space-2);display:grid}.recent__row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border-radius:var(--radius-m);box-shadow:var(--shadow-1);font:var(--type-body-sm);display:flex}.recent__row span{color:var(--text-emphasis);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dialog{background:color-mix(in srgb, var(--surface-canvas) 55%, transparent);z-index:100;place-items:center;display:grid;position:fixed;inset:0}.dialog__box{background:var(--surface-raised);border-radius:var(--radius-l);width:min(420px,92vw);box-shadow:var(--shadow-2);padding:var(--space-5);gap:var(--space-4);display:grid}.dialog__box h2{font:var(--type-h3);color:var(--text-emphasis)}.field{gap:var(--space-1);font:var(--type-body-sm);display:grid}.field>span{color:var(--text-muted)}.input{height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-s);border:1px solid var(--stroke-strong);background:var(--surface-canvas);color:var(--text-emphasis);font:var(--type-body-sm)}.input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--accent)}.field__error{color:var(--negative)}.banner{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--surface-tint);color:var(--text);font:var(--type-body-sm);display:flex}.banner .spacer{flex:1}.progress{background:var(--surface-section);border-radius:3px;height:6px;overflow:hidden}.progress>i{background:var(--accent);height:100%;transition:width var(--dur-base) var(--ease);display:block}.handle{background:var(--surface-raised);border:1.5px solid var(--accent);pointer-events:all;border-radius:2px;width:10px;height:10px;position:absolute}.handle--rotate{background:var(--accent);border-color:var(--surface-raised);cursor:grab;border-radius:50%;width:14px;height:14px}.handle--rotate:active{cursor:grabbing}@media (pointer:coarse){.handle--rotate{width:24px;height:24px;margin:-5px 0 0 -5px}}.sel-box{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.tool-options{gap:var(--space-4);margin-top:var(--space-4);display:grid}.options-grid{gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border-radius:var(--radius-l);box-shadow:var(--shadow-1);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.field--check{align-items:center;gap:var(--space-2);min-height:var(--control-h);grid-template-columns:auto 1fr;align-self:end;display:grid}.field--check input{width:18px;height:18px;accent-color:var(--accent)}.result{padding:var(--space-5);background:var(--surface-raised);border-radius:var(--radius-l);box-shadow:var(--shadow-1);margin-top:var(--space-4)}.result__title{align-items:center;gap:var(--space-2);font:var(--type-h3);color:var(--text-emphasis);display:flex}.result__title svg{color:var(--positive)}.form-widget{box-sizing:border-box;border:1px solid var(--accent-ring);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--text-emphasis);font-family:var(--font-sans);border-radius:2px;padding:0 3px}.form-widget:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0;background:var(--surface-canvas)}.form-widget--sig{cursor:pointer;color:var(--accent-text);font:var(--type-caption);background:var(--surface-tint);border-style:dashed;place-items:center;font-weight:600;display:grid}.cloud-note{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--surface-tint);color:var(--text);font:var(--type-body-sm);margin-top:var(--space-3);align-items:flex-start;display:flex}.cloud-note svg{color:var(--accent-text);flex:none;margin-top:2px}.cloud-note strong{color:var(--text-emphasis)}.cloud-note__quota{color:var(--text-muted)}.cloud-note--compact{padding:var(--space-2) var(--space-3)}.badge--cloud{background:var(--surface-tint);color:var(--accent-text)}@media (width<=900px){.ed__body,.ed__body.no-props{grid-template-columns:1fr}.ed__thumbs,.ed__props{display:none}.ed__top{gap:var(--space-1);flex-wrap:nowrap}.ed__file{display:none}.ed{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.ed__status,.ed__export,.ed__top .ed__sep,.ed__brand,.ed__zoom .tbtn:nth-child(2){display:none}.ed__tools{z-index:40;height:calc(56px + env(safe-area-inset-bottom));padding:6px var(--space-2) env(safe-area-inset-bottom);overscroll-behavior-x:contain;scrollbar-width:none;background:var(--surface-raised);box-shadow:0 -1px 0 var(--stroke);border-radius:0;justify-content:flex-start;gap:4px;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.ed__tools::-webkit-scrollbar{display:none}.ed__tools .tbtn{flex:none;min-width:44px;height:44px}.ed__tools-options{background:var(--surface-raised);box-shadow:-8px 0 8px -4px var(--surface-raised);position:sticky;right:0}.ed__props--sheet.is-open{z-index:45;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom) + var(--kb,0px));border-radius:var(--radius-l) var(--radius-l) 0 0;max-height:38dvh;box-shadow:var(--shadow-2);padding-top:0;display:grid;position:fixed}.ed__props--sheet.is-expanded{max-height:calc(100dvh - 120px - var(--kb,0px))}.ed__thumbs--sheet.is-open{z-index:50;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-content:start;padding-top:0;display:grid;position:fixed;inset:0}.sheet__bar{z-index:1;align-items:center;gap:var(--space-2);margin:0 calc(-1 * var(--space-4));padding:var(--space-2) var(--space-3);background:var(--surface-raised);box-shadow:0 1px 0 var(--stroke);grid-column:1/-1;display:flex;position:sticky;top:0}.ed__thumbs--sheet .sheet__bar{margin:0 calc(-1 * var(--space-3))}.sheet__title{font:var(--type-control);color:var(--text-emphasis);flex:1;font-weight:600}.ed__stage{padding:var(--space-3)}.ed__top .btn svg{flex:none}}.pthumb{background:var(--surface-canvas);box-shadow:var(--shadow-1);display:block}.picker{gap:var(--space-2);grid-column:1/-1;display:grid}.picker__bar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.picker__count{font:var(--type-caption);color:var(--text-muted);margin-right:auto}.picker__grid{padding:var(--space-2);gap:var(--space-2);background:var(--surface-canvas);border-radius:var(--radius-m);grid-template-columns:repeat(auto-fill,minmax(112px,1fr));max-height:420px;margin:0;list-style:none;display:grid;overflow:auto}.picker__page{gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-m);width:100%;color:var(--text);border:2px solid #0000;justify-items:center;display:grid;position:relative}button.picker__page:hover{background:var(--surface-raised-hover)}.picker__page[aria-pressed=true]{border-color:var(--accent);background:var(--surface-tint)}.picker__num{font:var(--type-caption);color:var(--text-muted)}.picker__tools{gap:2px;display:inline-flex}.picker__tools .tbtn{min-width:28px;height:28px}.picker__grid li.is-dragging{opacity:.5}.picker--toggle{grid-column:1/-1}.picker--toggle>summary{cursor:pointer;font:var(--type-body-sm);color:var(--accent-text)}.split-preview{font:var(--type-body-sm);color:var(--text-muted);grid-column:1/-1}.split-preview strong{color:var(--text-emphasis)}.pos-grid{grid-template-columns:repeat(3,36px);gap:4px;display:grid}.pos-grid button{border-radius:var(--radius-s);border:1px solid var(--stroke-strong);background:var(--surface-canvas);place-items:center;width:36px;height:28px;display:grid}.pos-grid button:after{content:"";background:var(--text-muted);border-radius:2px;width:8px;height:8px}.pos-grid button[aria-checked=true]{border-color:var(--accent);background:var(--surface-tint)}.pos-grid button[aria-checked=true]:after{background:var(--accent)}.pos-row{align-items:center;gap:var(--space-3);display:flex}.input--color{width:56px;padding:2px}.preview{gap:var(--space-2);margin-top:var(--space-3);justify-items:start;display:grid}.preview canvas{background:var(--surface-canvas);max-width:min(100%,320px);height:auto;box-shadow:var(--shadow-1)}.preview__note{font:var(--type-caption);color:var(--text-muted)}.file-row__thumb{flex:none;place-items:center;width:40px;display:grid}.file-row__thumb img{max-width:40px;max-height:52px;box-shadow:var(--shadow-1)}.file-row__meta,.file-row__lock{font:var(--type-caption);color:var(--text-muted)}.file-row.is-dragover{outline:2px dashed var(--accent)}.result__name{align-items:end;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.result__name .input{min-width:min(100%,320px)}.gate{gap:var(--space-2);max-width:420px;display:grid}.gate__title{align-items:center;gap:var(--space-2);font:var(--type-body);color:var(--text-emphasis);margin:0;font-weight:600;display:flex}.gate__body{font:var(--type-body-sm);color:var(--text-muted);margin:0}.gate--inline{max-width:none}.auth-callback{text-align:center;place-items:center;min-height:50vh;display:grid}.site-auth{align-items:center;gap:var(--space-2);font:var(--type-body-sm);display:inline-flex}.stamp-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;display:grid}.stamp-pick{border-radius:var(--radius-s);background:var(--surface-canvas);min-height:36px;font:var(--type-caption);text-transform:uppercase;letter-spacing:.02em;border:1.5px solid;place-items:center;padding:4px 6px;font-weight:600;display:grid}.stamp-pick[aria-checked=true]{box-shadow:0 0 0 2px var(--focus-ring);background:var(--surface-tint)}@font-face{font-family:Sig Caveat;src:url(/fonts/signature/Caveat.ttf)format("truetype");font-display:swap}@font-face{font-family:Sig Dancing Script;src:url(/fonts/signature/DancingScript.ttf)format("truetype");font-display:swap}@font-face{font-family:Sig Great Vibes;src:url(/fonts/signature/GreatVibes.ttf)format("truetype");font-display:swap}@font-face{font-family:Sig Homemade Apple;src:url(/fonts/signature/HomemadeApple.ttf)format("truetype");font-display:swap}.sig-styles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;display:grid}.sig-style{border:1px solid var(--stroke-strong);border-radius:var(--radius-s);background:var(--surface-canvas);min-height:52px;color:var(--text-emphasis);white-space:nowrap;text-overflow:ellipsis;padding:4px 8px;font-size:24px;line-height:1.1;overflow:hidden}.sig-style[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.crop{touch-action:none;-webkit-user-select:none;user-select:none;background:var(--surface-section);border-radius:var(--radius-m);place-items:center;padding:14px;display:grid;overflow:hidden}.crop__inner{position:relative}.crop img{display:block}.crop__box{outline:2px solid var(--accent);box-shadow:0 0 0 9999px color-mix(in srgb, var(--surface-canvas) 65%, transparent);cursor:move;background:0 0;position:absolute;overflow:visible}.crop__box:focus-visible{outline:3px solid var(--focus-ring)}.crop__handle{background:var(--accent);border:2px solid var(--surface-canvas);border-radius:50%;width:18px;height:18px;position:absolute}.crop__handle--nw{cursor:nwse-resize;top:-9px;left:-9px}.crop__handle--ne{cursor:nesw-resize;top:-9px;right:-9px}.crop__handle--sw{cursor:nesw-resize;bottom:-9px;left:-9px}.crop__handle--se{cursor:nwse-resize;bottom:-9px;right:-9px}.shortcuts{max-height:86dvh;overflow:auto}.shortcuts__cols{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.shortcuts h3{font:var(--type-control);color:var(--text-emphasis);margin:0 0 var(--space-2);font-weight:600}.shortcuts dl{gap:6px;margin:0;display:grid}.shortcuts__row{gap:var(--space-3);font:var(--type-body-sm);grid-template-columns:auto 1fr;align-items:baseline;display:grid}.shortcuts dd{color:var(--text-muted);margin:0}kbd{border:1px solid var(--stroke-strong);min-width:22px;box-shadow:0 1px 0 var(--stroke-strong);background:var(--surface-canvas);font:var(--type-caption);color:var(--text-emphasis);text-align:center;border-radius:4px;padding:1px 6px;display:inline-block}.comments{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.comments button{text-align:left;width:100%;padding:var(--space-2);border-radius:var(--radius-s);background:var(--surface-canvas);border:1px solid var(--stroke);font:var(--type-body-sm);color:var(--text);gap:2px;display:grid}.comments button[aria-current=true]{border-color:var(--accent)}.comments small{color:var(--text-muted)}.thumbs__add{grid-column:1/-1;justify-self:stretch}.findbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-raised);box-shadow:0 1px 0 var(--stroke);flex-wrap:wrap;display:flex}.findbar .input{width:min(320px,60vw)}.findbar__count{font:var(--type-caption);color:var(--text-muted);min-width:64px}.findbar__opt{font:var(--type-body-sm);min-height:0}.find-hit{fill:color-mix(in srgb, var(--accent) 22%, transparent);stroke:none}.find-hit.is-current{fill:color-mix(in srgb, var(--accent) 35%, transparent);stroke:var(--accent);stroke-width:2px}.draft-notice{z-index:60;left:var(--space-3);bottom:var(--space-3);max-width:min(360px, calc(100vw - 2 * var(--space-3)));padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--surface-raised);color:var(--text-emphasis);box-shadow:0 0 0 1px var(--stroke);font:var(--type-body-sm);pointer-events:none;margin:0;position:fixed}
