:root{--c-canvas:#f5f3ef;--c-canvas-deep:#e9e5dc;--c-surface:#fff;--c-surface-sunken:#faf8f4;--c-ink:#17150f;--c-ink-muted:#5c574a;--c-ink-subtle:#8b8477;--c-on-ink:#f5f3ef;--c-line:#17150f1a;--c-line-strong:#17150f33;--c-accent:#b0431d;--c-accent-strong:#8e3616;--c-accent-soft:#b0431d14;--c-accent-ring:#b0431d52;--c-on-accent:#fffdfa;--c-success:#1e6b48;--c-success-soft:#1e6b481a;--c-danger:#a11f1f;--c-danger-soft:#a11f1f14;--c-warn:#84550a;--c-warn-soft:#84550a1a;--c-focus:#17150f;--f-display:ui-serif, "New York", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--f-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", system-ui, "Noto Sans", sans-serif;--f-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--t-display:clamp(2rem, 1.35rem + 2.9vw, 3.5rem);--t-title:clamp(1.375rem, 1.2rem + .8vw, 1.75rem);--t-heading:clamp(1.0625rem, 1rem + .3vw, 1.1875rem);--t-lede:clamp(1rem, .95rem + .35vw, 1.125rem);--t-body:.9375rem;--t-small:.8125rem;--t-micro:.6875rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.25rem;--s-6:1.5rem;--s-8:2rem;--s-10:2.5rem;--s-12:3rem;--s-16:4rem;--s-20:5rem;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:26px;--r-full:999px;--sh-1:0 1px 2px #17150f0f;--sh-2:0 1px 2px #17150f0d, 0 10px 24px -14px #17150f38;--sh-3:0 1px 3px #17150f0d, 0 28px 60px -28px #17150f4d;--w-page:68rem;--w-stage:46rem;--gutter:clamp(1rem, 4vw, 2.5rem);--h-preview:280px;--dur-1:.12s;--dur-2:.2s;--dur-3:.34s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--c-canvas);min-height:100vh;color:var(--c-ink);font-family:var(--f-sans);font-size:var(--t-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}h1,h2,h3,p,figure,fieldset,legend,dl,dt,dd{margin:0;padding:0}fieldset{border:0;min-width:0}:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px;border-radius:var(--r-sm)}::selection{background:var(--c-accent-ring)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--s-2);left:var(--s-2);z-index:10;padding:var(--s-2) var(--s-4);border-radius:var(--r-full);background:var(--c-ink);color:var(--c-on-ink);font-size:var(--t-small);transition:transform var(--dur-2) var(--ease-out);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.page{isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;position:relative}.page__aura{z-index:-1;pointer-events:none;background-image:radial-gradient(58rem 40rem at 10% -10%,#b0431d1f,#0000 62%),radial-gradient(46rem 34rem at 94% 2%,#1e6b4817,#0000 64%),radial-gradient(44rem 30rem at 50% 112%,#17150f12,#0000 62%);position:fixed;inset:0}.page__aura:after{content:"";opacity:.55;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20height='160'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='.82'%20numOctaves='3'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='160'%20height='160'%20filter='url(%23n)'%20opacity='.3'/%3E%3C/svg%3E");position:absolute;inset:0}.masthead{padding:var(--s-5) var(--gutter) 0}.masthead__inner{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;max-width:var(--w-page);flex-wrap:wrap;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--s-3);display:inline-flex}.brand__mark{border-radius:var(--r-md);background:var(--c-ink);width:34px;height:34px;color:var(--c-on-ink);box-shadow:var(--sh-1);place-items:center;display:grid}.brand__name{font-family:var(--f-display);letter-spacing:-.015em;font-size:1.0625rem;font-weight:600}.brand__name span{color:var(--c-ink-subtle);font-weight:400}.badge{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border:1px solid var(--c-line);border-radius:var(--r-full);color:var(--c-ink-muted);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;background:#ffffff8c;font-weight:500;display:inline-flex}.badge__dot{border-radius:var(--r-full);background:var(--c-success);width:6px;height:6px}.stage{width:100%;max-width:var(--w-stage);padding:var(--s-10) var(--gutter) var(--s-12);flex:1 0 auto;margin:0 auto}.hero{gap:var(--s-4);margin-bottom:var(--s-8);text-align:center;flex-direction:column;display:flex}.hero__eyebrow{color:var(--c-ink-subtle);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.hero__title{font-family:var(--f-display);font-size:var(--t-display);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.06}.hero__title em{color:var(--c-accent);font-style:italic;position:relative}.hero__lede{max-width:34rem;color:var(--c-ink-muted);font-size:var(--t-lede);text-wrap:pretty;margin-inline:auto}.console{padding:var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--sh-3)}.step{gap:var(--s-5);animation:step-in var(--dur-3) var(--ease-out) both;flex-direction:column;display:flex}.step:focus{outline:none}.step:focus-visible{outline:2px solid var(--c-focus);outline-offset:6px}@keyframes step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.step__head{gap:var(--s-1);flex-direction:column;display:flex}.step__title{font-size:var(--t-heading);letter-spacing:-.01em;font-weight:600}.step__hint{color:var(--c-ink-muted);font-size:var(--t-small)}.eyebrow{color:var(--c-ink-subtle);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.dropzone{justify-content:center;align-items:center;gap:var(--s-4);width:100%;min-height:208px;padding:var(--s-8) var(--s-5);border:1.5px dashed var(--c-line-strong);border-radius:var(--r-lg);background-color:var(--c-surface-sunken);color:var(--c-ink);font-family:var(--f-sans);font-size:var(--t-body);text-align:center;cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);flex-direction:column;display:flex}.dropzone:hover{border-color:var(--c-accent-ring);background-color:var(--c-accent-soft);box-shadow:var(--sh-2);transform:translateY(-2px)}.dropzone.is-dragging{border-style:solid;border-color:var(--c-accent);background-color:var(--c-accent-soft);box-shadow:var(--sh-2);transform:translateY(-2px)}.dropzone__icon{border-radius:var(--r-full);background:var(--c-surface);border:1px solid var(--c-line);width:56px;height:56px;color:var(--c-accent);box-shadow:var(--sh-1);place-items:center;display:grid}.dropzone__title{font-size:var(--t-heading);letter-spacing:-.01em;font-weight:600;display:block}.dropzone__sub{color:var(--c-ink-muted);font-size:var(--t-small);display:block}.dropzone__cta{align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border-radius:var(--r-full);background:var(--c-accent);color:var(--c-on-accent);font-size:var(--t-body);box-shadow:var(--sh-2);transition:background-color var(--dur-2) var(--ease-out);font-weight:600;display:inline-flex}.dropzone:hover .dropzone__cta,.dropzone:focus-visible .dropzone__cta{background:var(--c-accent-strong)}.limit{justify-content:center;align-items:baseline;gap:var(--s-2) var(--s-4);color:var(--c-ink-muted);font-size:var(--t-small);text-align:center;flex-wrap:wrap;display:flex}.limit strong{color:var(--c-ink);font-weight:600}.file{align-items:flex-start;gap:var(--s-4);padding:var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-sunken);display:flex}.file__icon{border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-line);width:44px;height:44px;color:var(--c-accent);flex:none;place-items:center;display:grid}.file__body{gap:var(--s-3);flex-direction:column;flex:auto;min-width:0;display:flex}.file__name{font-family:var(--f-mono);font-size:var(--t-body);overflow-wrap:anywhere;font-weight:500}.meta{gap:var(--s-3);grid-template-columns:1fr;margin:0;display:grid}.meta__item{flex-direction:column;gap:2px;min-width:0;display:flex}.meta__label{color:var(--c-ink-subtle);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.meta__value{color:var(--c-ink);font-size:var(--t-small);overflow-wrap:anywhere}.meta__value--mono{font-family:var(--f-mono);text-transform:uppercase}.preview{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-1);margin:0;overflow:hidden}.preview__caption{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-line);background:var(--c-surface-sunken);display:flex}.preview__label{color:var(--c-ink-subtle);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.preview__ext{color:var(--c-ink-muted);font-family:var(--f-mono);font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;flex:none}.preview__frame{height:var(--h-preview);background:var(--c-canvas-deep);place-items:center;display:grid;overflow:hidden}.preview__frame--image{padding:var(--s-4)}.preview__doc{background:var(--c-surface);border:0;width:100%;height:100%}.preview__image{object-fit:contain;max-width:100%;max-height:100%;display:block}.preview__fallback{padding:var(--s-5);color:var(--c-ink-muted);font-size:var(--t-small);text-align:center;text-wrap:pretty}.picker>.step__hint{margin-top:var(--s-1)}.picker>.chips{margin-top:var(--s-3)}.chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4);border:1px solid var(--c-line-strong);border-radius:var(--r-full);background:var(--c-surface);color:var(--c-ink);font-size:var(--t-small);cursor:pointer;transition:transform var(--dur-1) var(--ease-out), background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);font-weight:500;display:inline-flex;position:relative}.chip input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.chip:hover{border-color:var(--c-ink);box-shadow:var(--sh-1);transform:translateY(-1px)}.chip:has(input:checked){border-color:var(--c-ink);background:var(--c-ink);color:var(--c-on-ink);box-shadow:var(--sh-2)}.chip:has(input:focus-visible){outline:2px solid var(--c-focus);outline-offset:3px}.chip__check{opacity:0;transition:opacity var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);display:inline-flex;transform:scale(.7)}.chip:has(input:checked) .chip__check{opacity:1;transform:scale(1)}.chip__ext{font-family:var(--f-mono);font-size:var(--t-micro);letter-spacing:.06em;opacity:.7;text-transform:uppercase}.actions{gap:var(--s-3);flex-direction:column;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border:1px solid var(--c-line-strong);border-radius:var(--r-full);background:var(--c-surface);color:var(--c-ink);font-family:var(--f-sans);font-size:var(--t-body);text-align:center;cursor:pointer;transition:transform var(--dur-1) var(--ease-out), background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--c-ink);box-shadow:var(--sh-1);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn--primary{background:var(--c-accent);color:var(--c-on-accent);box-shadow:var(--sh-2);border-color:#0000}.btn--primary:hover:not(:disabled){background:var(--c-accent-strong);box-shadow:var(--sh-2);border-color:#0000}.btn--success{background:var(--c-success);color:var(--c-on-accent);box-shadow:var(--sh-2);border-color:#0000}.btn--success:hover:not(:disabled){filter:brightness(.94);border-color:#0000}.btn--quiet{color:var(--c-ink-muted);background:0 0;border-color:#0000;font-weight:500}.btn--quiet:hover:not(:disabled){border-color:var(--c-line-strong);color:var(--c-ink)}.btn__spinner{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.work{gap:var(--s-3);padding:var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-sunken);flex-direction:column;display:flex}.work__row{justify-content:space-between;align-items:baseline;gap:var(--s-3);display:flex}.work__label{font-size:var(--t-small);font-weight:600}.work__value{font-family:var(--f-mono);font-size:var(--t-small);color:var(--c-ink-muted);font-variant-numeric:tabular-nums}.work__note{color:var(--c-ink-muted);font-size:var(--t-small)}.progress{border-radius:var(--r-full);background:var(--c-canvas-deep);height:6px;position:relative;overflow:hidden}.progress__fill{border-radius:inherit;background:var(--c-accent);transform-origin:0;height:100%;transition:transform var(--dur-3) var(--ease-out)}.progress--indeterminate .progress__fill{width:38%;animation:sweep 1.3s var(--ease-inout) infinite;position:absolute;inset:0 auto 0 0;transform:translate(-105%)}@keyframes sweep{0%{transform:translate(-105%)}to{transform:translate(320%)}}.alert{align-items:flex-start;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-sunken);color:var(--c-ink);font-size:var(--t-small);display:flex}.alert__icon{flex:none;margin-top:1px}.alert__body{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.alert__text{overflow-wrap:anywhere;font-weight:600}.alert__hint{color:var(--c-ink-muted);overflow-wrap:anywhere}.alert--danger{background:var(--c-danger-soft);border-color:#a11f1f38}.alert--danger .alert__icon{color:var(--c-danger)}.alert--warn{background:var(--c-warn-soft);border-color:#84550a38}.alert--warn .alert__icon{color:var(--c-warn)}.alert--info .alert__icon{color:var(--c-ink-subtle)}.notice{margin-bottom:var(--s-4)}.result{gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-lg);background:var(--c-success-soft);border:1px solid #1e6b4838;flex-direction:column;display:flex}.result__head{align-items:center;gap:var(--s-3);display:flex}.result__seal{border-radius:var(--r-full);background:var(--c-success);width:40px;height:40px;color:var(--c-on-accent);flex:none;place-items:center;display:grid}.result__title{font-size:var(--t-heading);letter-spacing:-.01em;font-weight:600;display:block}.result__file{font-family:var(--f-mono);font-size:var(--t-small);color:var(--c-ink-muted);overflow-wrap:anywhere;display:block}.result__actions{gap:var(--s-3);flex-direction:column;display:flex}.note{align-items:flex-start;gap:var(--s-2);color:var(--c-ink-muted);font-size:var(--t-small);text-wrap:pretty;display:flex}.note__icon{flex:none;margin-top:3px}.note--success{color:var(--c-success);font-weight:500}.privacy{align-items:flex-start;gap:var(--s-3);margin-top:var(--s-6);padding:var(--s-4) var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-lg);color:var(--c-ink-muted);font-size:var(--t-small);text-wrap:pretty;background:#ffffff8c;display:flex}.privacy__icon{color:var(--c-success);flex:none;margin-top:1px}.privacy strong{color:var(--c-ink);font-weight:600}.footer{padding:var(--s-6) var(--gutter) var(--s-8);color:var(--c-ink-subtle);font-size:var(--t-small);text-align:center}.loading{justify-content:center;align-items:center;gap:var(--s-3);min-height:208px;color:var(--c-ink-muted);font-size:var(--t-small);display:flex}@media (width>=48em){:root{--h-preview:420px}.console{padding:var(--s-8)}.dropzone{min-height:248px}.meta{grid-template-columns:repeat(3,minmax(0,1fr))}.actions{flex-direction:row;justify-content:flex-end;align-items:center}.actions__spacer{flex:auto}.result__actions{flex-flow:wrap;align-items:center}}@media (width>=64em){.stage{padding-top:var(--s-16)}.dropzone{min-height:288px}}@media (prefers-reduced-motion:reduce){:root{--dur-1:1ms;--dur-2:1ms;--dur-3:1ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.dropzone:hover,.dropzone.is-dragging,.btn:hover:not(:disabled),.chip:hover{transform:none}.progress--indeterminate .progress__fill{opacity:.4;width:100%;animation:none;position:static;transform:none}.btn__spinner{animation:none}}
