@font-face{font-family:Space Grotesk;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk/400.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk/500.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk/700.woff2)format("woff2")}@font-face{font-family:Pixelify Sans;font-weight:400;font-display:swap;src:url(/fonts/pixelify-sans/400.woff2)format("woff2")}@font-face{font-family:Pixelify Sans;font-weight:700;font-display:swap;src:url(/fonts/pixelify-sans/700.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono/400.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono/500.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono/700.woff2)format("woff2")}:root{--bg:#15171c;--bg2:#1d2027;--surface:#20232a;--surface-top:#23262e;--surface-bottom:#1a1c22;--line:#2e323c;--line2:#343844;--ink:#f6f3ee;--mute:#9aa0ab;--on-accent:#15171c;--accent:#ff783e;--accent2:#347fc5;--good:#269681;--bad:#e5484d;--paper:#fff;--cream:#f6f3ee;--font:"Space Grotesk", system-ui, sans-serif;--pixel:"Pixelify Sans", monospace;--mono:"JetBrains Mono", ui-monospace, monospace;--tracking:-.035em;--r-sm:8px;--r:14px;--r-lg:22px;--r-xl:32px;--shadow-card:0 30px 80px #0000008c, inset 0 1px 0 #ffffff0d;--shadow-lift:0 20px 50px #00000073;--shadow-glow:0 24px 70px #ff783e73;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}@supports (corner-shape:squircle){.squircle{corner-shape:squircle}}*,:before,:after{box-sizing:border-box}:root{--dot:color-mix(in srgb, var(--ink) 8%, transparent);--accent-tint:color-mix(in srgb, var(--accent) 14%, var(--bg));--blue-tint:color-mix(in srgb, var(--accent2) 20%, var(--bg));--blue-text:color-mix(in srgb, var(--accent2) 62%, var(--ink));--good-tint:color-mix(in srgb, var(--good) 22%, var(--bg));--good-text:color-mix(in srgb, var(--good) 55%, var(--ink));--bad-tint:color-mix(in srgb, var(--bad) 20%, var(--bg));--bad-text:color-mix(in srgb, var(--bad) 55%, var(--ink));--fast:.16s;--med:.24s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.6px);min-height:100dvh;color:var(--ink);font:400 16px/1.55 var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-size:26px 26px;margin:0;overflow-x:hidden}html[data-phase=workspace] body{overscroll-behavior:none;overflow:hidden}h1,h2,h3,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}button,input{font:inherit;color:inherit}button{cursor:pointer}img,canvas,svg{display:block}a{color:var(--blue-text)}strong{color:var(--ink);font-weight:700}:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent);color:var(--on-accent)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.screen{animation:screen-in var(--med) var(--ease-out) both}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}}.logo-mark{width:calc(var(--mark) * .831);height:var(--mark);background:url(/brand/logo-mark.webp) 50% 56%/121.8% no-repeat;flex:none;display:inline-block}.wordmark{height:var(--wm);width:calc(var(--wm) * 6.92);background:url(/brand/logo-wordmark.webp) 52.5% 48.5%/118% no-repeat;flex:none;display:inline-block}.lockup{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.lockup__name{letter-spacing:var(--tracking);text-transform:uppercase;font-size:21px;font-weight:700;line-height:1}.lockup__sign{font-family:var(--pixel);letter-spacing:0;color:var(--mute);font-size:1.06em;font-weight:700}.lockup--compact .lockup__name{font-size:17px}.amp{color:var(--accent);font-weight:700}.mascot{image-rendering:pixelated;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:auto}.kicker{font-family:var(--pixel);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;font-size:14px;font-weight:700;line-height:1.2;display:inline-flex}.kicker--mute{color:var(--mute)}.kicker--good{color:var(--good-text)}.kicker--blue{color:var(--blue-text)}kbd{background:var(--surface-top);min-width:24px;height:24px;box-shadow:inset 0 -2px 0 var(--line2);font:500 12px/1 var(--mono);color:var(--ink);border-radius:6px;place-items:center;padding:0 6px;display:inline-grid}.tag{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.tag--good{background:var(--good-tint);color:var(--good-text)}.tag--blue{background:var(--blue-tint);color:var(--blue-text)}.tag--bad{background:var(--bad-tint);color:var(--bad-text)}.chip{height:24px;font:500 12.5px/1 var(--mono);border-radius:6px;align-items:center;padding:0 8px;display:inline-flex}.chip--file{background:var(--blue-tint);color:var(--blue-text)}.btn{--btn-bg:var(--surface-top);--btn-fg:var(--ink);border-radius:var(--r);background:var(--btn-bg);height:44px;color:var(--btn-fg);letter-spacing:-.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--fast) var(--ease-out), background-color var(--fast) var(--ease-out), color var(--fast) var(--ease-out), box-shadow var(--fast) var(--ease-out), filter var(--fast) var(--ease-out);border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:700;display:inline-flex;position:relative}@supports (corner-shape:squircle){.btn,.icon-btn,kbd,.chip{corner-shape:squircle}}.btn svg{flex:none}.btn>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.btn:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}.btn--primary{--btn-bg:var(--accent);--btn-fg:var(--on-accent);box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 28%, transparent)}.btn--soft{box-shadow:inset 0 0 0 1px var(--line2)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--mute);font-weight:500}.btn--danger{--btn-bg:var(--bad);--btn-fg:var(--ink)}.btn--disabled,.btn:disabled{--btn-bg:var(--surface);--btn-fg:color-mix(in srgb, var(--mute) 70%, var(--bg));box-shadow:inset 0 0 0 1px var(--line);cursor:not-allowed}.btn--lg{border-radius:18px;height:54px;padding:0 28px;font-size:17px}.btn--sm{border-radius:12px;height:38px;padding:0 13px;font-size:14px}@media (hover:hover){.btn--primary:hover:not(:disabled,[aria-disabled=true]){filter:brightness(1.06);box-shadow:0 12px 30px color-mix(in srgb, var(--accent) 40%, transparent);transform:translateY(-1px)}.btn--primary:hover:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}.btn--soft:hover:not(:disabled){--btn-bg:var(--line)}.btn--ghost:hover{--btn-bg:var(--surface);--btn-fg:var(--ink)}.btn--danger:hover{filter:brightness(1.1)}}.btn.is-busy{cursor:progress}.btn__spinner{border:2.5px solid color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{width:40px;height:40px;color:var(--mute);transition:background-color var(--fast) var(--ease-out), color var(--fast) var(--ease-out), transform var(--fast) var(--ease-out);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-top);color:var(--ink)}.icon-btn:active{transform:scale(.94)}.link-btn{color:var(--mute);text-decoration:underline;-webkit-text-decoration-color:var(--line2);text-decoration-color:var(--line2);text-underline-offset:4px;transition:color var(--fast) var(--ease-out);background:0 0;border:0;padding:6px 4px;font-size:14px}.link-btn:hover{color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.landing{width:min(1180px,100%);margin:0 auto;padding:0 28px}.site-header{justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.site-header__brand{border-radius:8px;text-decoration:none}.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:64px;padding:56px 0 96px;display:grid}.hero__title{white-space:nowrap;letter-spacing:-.05em;text-transform:uppercase;margin:18px 0 26px;font-size:clamp(46px,6.3vw,88px);font-weight:700;line-height:.95}.scribble{white-space:nowrap;display:inline-block;position:relative}.scribble svg{width:106%;height:.26em;position:absolute;bottom:-.16em;left:-3%;overflow:visible}.scribble path{fill:none;stroke:var(--accent);stroke-width:7px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;animation:scribble .72s var(--ease-out) .38s forwards}@keyframes scribble{to{stroke-dashoffset:0}}.hero__lede{max-width:33em;color:var(--mute);font-size:19px;line-height:1.55}.hero__points{flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:15px;font-weight:500;display:flex}.hero__points li{align-items:center;gap:7px;display:inline-flex}.hero__points svg{color:var(--good-text)}.drop{position:relative}.drop__card{background:var(--surface);min-height:400px;box-shadow:var(--shadow-card);text-align:center;cursor:pointer;transition:transform var(--med) var(--ease-out), background-color var(--med) var(--ease-out);border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:44px 32px 40px;display:flex;position:relative}.drop__ants{pointer-events:none;width:calc(100% - 20px);height:calc(100% - 20px);position:absolute;inset:10px;overflow:visible}.drop__ants rect{x:0;y:0;rx:20px;fill:none;width:100%;height:100%;stroke:var(--line2);stroke-width:2px;stroke-dasharray:9 9;stroke-linecap:round;transition:stroke var(--med) var(--ease-out)}.drop__icon{background:var(--bg);width:76px;height:76px;color:var(--ink);transition:transform var(--med) var(--ease-spring), background-color var(--med) var(--ease-out), color var(--med) var(--ease-out);border-radius:24px;place-items:center;margin-bottom:6px;display:grid}.drop__title{letter-spacing:var(--tracking);font-size:26px;font-weight:700;line-height:1.15}.drop__sub{align-items:center;gap:8px;margin-bottom:10px;display:flex}.drop__hint{color:var(--mute);align-items:center;gap:5px;margin-top:4px;font-size:13.5px;display:flex}.drop__mascot{pointer-events:none;width:153px;height:250px;animation:mascot-in .52s var(--ease-spring) .26s both;position:absolute;bottom:-36px;right:-34px}@keyframes mascot-in{0%{opacity:0;transform:translateY(26px)scale(.92)}}.drop__pose{transform-origin:50% 100%;height:100%;transition:opacity .12s linear, transform var(--med) var(--ease-spring);position:absolute;inset:0}.drop__pose--drag{opacity:0}@media (hover:hover){.drop__card:hover .drop__ants rect{stroke:var(--mute)}.drop__card:hover .drop__icon{transform:translateY(-4px)}}.drop.is-dragging .drop__card{background:var(--accent-tint);transform:scale(1.015)}.drop.is-dragging .drop__ants rect{stroke:var(--accent);animation:.5s linear infinite ants}.drop.is-dragging .drop__icon{background:var(--accent);color:var(--on-accent);animation:bob .7s var(--ease-out) infinite alternate}.drop.is-dragging .drop__pose--rest{opacity:0}.drop.is-dragging .drop__pose--drag{opacity:1;transform:translateY(-8px)scale(1.04)}@keyframes ants{to{stroke-dashoffset:-18px}}@keyframes bob{to{transform:translateY(-9px)}}.section-title{letter-spacing:var(--tracking);text-wrap:balance;margin-top:10px;font-size:clamp(28px,3.4vw,40px);font-weight:700;line-height:1.05}.steps{padding:24px 0 88px}.steps__list{counter-reset:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px;display:grid}.step{border-radius:var(--r-lg);background:var(--surface);transition:transform var(--med) var(--ease-out), background-color var(--med) var(--ease-out);padding:24px 24px 28px}.step__top{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.step__n{font:700 44px/1 var(--pixel);color:var(--ink)}.step__icon{background:var(--bg);width:44px;height:44px;color:var(--mute);border-radius:14px;place-items:center;display:grid}.step__title{letter-spacing:var(--tracking);text-transform:uppercase;font-size:22px;font-weight:700}.step__body{color:var(--mute);margin-top:8px;font-size:15.5px}@media (hover:hover){.step:hover{background:var(--surface-top);transform:translateY(-3px)}}.trust{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;padding-bottom:96px;display:grid}.trust__card{border-radius:var(--r-xl);background:var(--surface);align-items:flex-end;gap:16px;padding:36px 36px 0;display:flex;position:relative;overflow:hidden}.trust__copy{color:var(--mute);flex:1;padding-bottom:36px}.trust__copy .section-title{color:var(--ink);margin-bottom:16px}.trust__proof{color:var(--ink);margin-top:14px}.trust__proof .chip{vertical-align:1px}.trust__mascot{flex:none;align-self:flex-end;margin-bottom:-22px}.gdocs{border-radius:var(--r-xl);background:var(--blue-tint);color:color-mix(in srgb, var(--ink) 82%, var(--accent2));flex-direction:column;gap:10px;padding:32px;font-size:15.5px;display:flex}.gdocs__title{letter-spacing:var(--tracking);color:var(--ink);margin-bottom:6px;font-size:26px;font-weight:700;line-height:1.1}.gdocs__path{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0;display:flex}.gdocs__path kbd{background:var(--bg);height:28px;box-shadow:none;padding:0 9px;font-size:13px}.gdocs__or{font-size:14px}.site-footer{border-top:1px solid var(--line);color:var(--mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 32px;padding:28px 0 44px;font-size:14px;display:flex}.site-footer__brand{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.site-footer__tagline{font:400 14px/1 var(--pixel);letter-spacing:.04em;color:var(--ink)}@media (width<=980px){.hero{grid-template-columns:minmax(0,1fr);gap:44px;padding:28px 0 80px}.drop__card{min-height:340px}.trust{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.landing{padding:0 16px}.site-header{padding:16px 0}.hero{gap:36px;padding-top:16px}.hero__title{margin:14px 0 18px;font-size:clamp(38px,13.4vw,72px)}.hero__lede{font-size:17px}.drop__card{min-height:0;padding:36px 20px 40px}.drop__title{font-size:23px}.drop__mascot{width:86px;height:140px;bottom:-30px;right:-8px}.steps{padding-bottom:64px}.steps__list{grid-template-columns:minmax(0,1fr);gap:12px}.step__top{margin-bottom:18px}.trust{padding-bottom:64px}.trust__card{padding:28px 22px 0}.trust__mascot{opacity:.95;height:120px;position:absolute;bottom:-18px;right:-6px}.trust__copy{padding-bottom:120px}.gdocs{padding:26px 22px}}@media (hover:none){.drop__hint{display:none}}.loading{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.loading__card{border-radius:var(--r-xl);background:var(--surface);width:min(720px,100%);box-shadow:var(--shadow-card);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:36px;padding:40px 44px;display:grid}.loading__mascot{transform-origin:50% 100%;animation:2.4s ease-in-out infinite alternate think}.loading__card--error .loading__mascot{animation:whoa .42s var(--ease-spring) both}@keyframes think{to{transform:translateY(-6px)rotate(-1.5deg)}}@keyframes whoa{0%{opacity:0;transform:scale(.86)translateY(12px)}}.loading__body{flex-direction:column;align-items:flex-start;gap:10px;min-width:0;display:flex}.loading__title{letter-spacing:var(--tracking);text-wrap:balance;font-size:clamp(26px,4vw,36px);font-weight:700;line-height:1.05}.loading__file{max-width:100%;font:500 14px/1.4 var(--mono);color:var(--blue-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.loading__msg{width:100%;color:var(--mute);justify-content:space-between;gap:12px;font-size:14.5px;display:flex}.loading__pct{font:500 13px/1.6 var(--mono);color:var(--ink)}.loading__note{color:var(--mute);font-size:13.5px}.loading .btn--ghost{margin:6px 0 0 -13px}.stages{color:var(--mute);flex-wrap:wrap;gap:6px 18px;margin:10px 0 4px;font-size:14px;font-weight:500;display:flex}.stages__item{transition:color var(--med) var(--ease-out);align-items:center;gap:8px;display:inline-flex}.stages__dot{background:var(--bg);width:22px;height:22px;font:700 13px/1 var(--pixel);transition:background-color var(--med) var(--ease-out), color var(--med) var(--ease-out);border-radius:7px;place-items:center;display:grid}.stages__item.is-active{color:var(--ink)}.stages__item.is-active .stages__dot{background:var(--ink);color:var(--bg)}.stages__item.is-done .stages__dot{background:var(--good);color:var(--ink)}.meter{grid-template-columns:repeat(20,1fr);gap:3px;width:100%;height:16px;display:grid}.meter span{background:var(--bg);transition:background-color .2s var(--ease-out);border-radius:3px}.meter span.is-on{background:var(--accent)}.meter--busy span{animation:1.2s ease-in-out infinite meter-busy}@keyframes meter-busy{0%,60%,to{background:var(--bg)}30%{background:var(--accent)}}.error__msg{color:var(--ink);text-wrap:pretty;font-size:16.5px}.error__actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.loading .error__actions .btn--ghost{margin:0}.loading.is-dragging .loading__card{outline:2px dashed var(--accent);outline-offset:8px}@media (width<=640px){.loading__card{grid-template-columns:minmax(0,1fr);gap:18px;padding:28px 22px}.loading__mascot{height:130px}}.workspace{background:var(--bg);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.workspace-fallback{background:var(--bg);height:100dvh}.topbar{min-height:64px;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--bg2);border-bottom:1px solid var(--line);z-index:3;align-items:center;gap:18px;display:flex}.topbar__brand{flex:none;display:flex}.topbar__file{border-left:1px solid var(--line);flex:1;align-items:center;gap:10px;min-width:0;padding-left:18px;display:flex}.topbar__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:500 14px/1.4 var(--mono);color:var(--blue-text);overflow:hidden}.topbar__converted{flex:none;height:24px;font-size:12px}.topbar__pages{font:400 13px/1 var(--mono);color:var(--mute);flex:none}.topbar__pages-short{display:none}.topbar__tools{flex:none;align-items:center;gap:8px;display:flex}.topbar__actions{align-items:center;gap:8px;margin-left:6px;display:flex}.topbar__download{position:relative}.topbar__hint{background:var(--ink);color:var(--bg);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--fast) var(--ease-out), transform var(--fast) var(--ease-out);border-radius:10px;padding:7px 11px;font-size:13px;font-weight:500;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-4px)}.topbar__download:hover .topbar__hint,.topbar__download:focus-within .topbar__hint{opacity:1;transform:none}.btn.is-armed{--btn-bg:var(--ink);--btn-fg:var(--bg);box-shadow:none}.zoom{background:var(--surface);border-radius:12px;align-items:center;height:40px;padding:0 3px;display:inline-flex}.zoom__btn{width:34px;height:34px;color:var(--ink);transition:background-color var(--fast) var(--ease-out), transform var(--fast) var(--ease-out);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.zoom__btn:hover:not(:disabled){background:var(--line)}.zoom__btn:active:not(:disabled){transform:scale(.92)}.zoom__btn:disabled{color:var(--line2);cursor:not-allowed}.zoom__btn--fit{color:var(--mute);margin-left:3px}.zoom__btn--fit[aria-pressed=true]{color:var(--ink)}.zoom__value{text-align:center;min-width:46px;font:500 12.5px/1 var(--mono);color:var(--mute)}.workspace__body{min-height:0;display:flex}.rail{overscroll-behavior:contain;background:var(--bg2);border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line2) transparent;flex:none;width:136px;overflow-y:auto}.rail__list{flex-direction:column;align-items:center;gap:6px;padding:18px 0 28px;display:flex}.thumb{color:var(--mute);transition:background-color var(--fast) var(--ease-out), color var(--fast) var(--ease-out);background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 10px 6px;display:flex}.thumb:hover{background:var(--surface)}.thumb__paper{background:var(--paper);opacity:.55;width:92px;transition:box-shadow var(--fast) var(--ease-out), opacity var(--med) var(--ease-out);border-radius:3px;display:block;position:relative;box-shadow:0 0 0 2px #0000}.thumb__paper.is-painted{opacity:.8}.thumb__paper canvas{border-radius:inherit;width:100%!important;height:100%!important}.thumb__n{font:400 13px/1 var(--pixel);letter-spacing:.04em}.thumb.is-current{color:var(--ink)}.thumb.is-current .thumb__paper{opacity:1;box-shadow:0 0 0 2px var(--bg2), 0 0 0 4px var(--ink)}.thumb__signed{background:var(--good);width:14px;height:14px;box-shadow:0 0 0 3px var(--bg2);animation:pop var(--med) var(--ease-spring) both;border-radius:50%;position:absolute;top:-5px;right:-5px}.stage{flex:1;min-width:0;position:relative}.viewer{overscroll-behavior:contain;background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.6px);scrollbar-color:var(--line2) transparent;background-size:26px 26px;background-attachment:local;position:absolute;inset:0;overflow:auto}.viewer:focus-visible{outline:none}.pages{flex-direction:column;align-items:center;width:max-content;min-width:100%;padding-block:32px 132px;display:flex}.page-wrap{flex:none}.page{background:var(--paper);border-radius:2px;width:100%;position:relative;box-shadow:0 1px #0000004d,0 18px 50px #00000073}.page:has(.is-drag){z-index:2}.page__canvas{border-radius:inherit;opacity:0;transition:opacity .26s var(--ease-out);width:100%!important;height:100%!important}.page.is-painted .page__canvas{opacity:1}.page__placeholder{color:var(--mute);place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.page__spinner{border:3px solid color-mix(in srgb, var(--bg) 12%, transparent);border-top-color:color-mix(in srgb, var(--bg) 55%, transparent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}.page__layer{position:absolute;inset:0}.page.is-armed .page__layer{cursor:crosshair}.page.is-armed .field{pointer-events:none}.page__num{text-align:center;font:700 14px/1 var(--pixel);letter-spacing:.08em;color:var(--ink);padding:12px 0 26px}.page__num span{color:var(--mute);font-weight:400}.stage__zoom{display:none}.hint{background:var(--surface-top);max-width:calc(100% - 24px);box-shadow:var(--shadow-lift), inset 0 0 0 1px var(--line2);white-space:nowrap;animation:hint-in .32s var(--ease-spring) both;pointer-events:none;z-index:2;border-radius:16px;align-items:center;gap:12px;padding:8px 14px 8px 8px;font-size:14.5px;font-weight:500;display:flex;position:absolute;bottom:22px;left:50%;translate:-50%}.hint__btn{pointer-events:auto}.hint--tips{animation:hint-in .32s var(--ease-spring) both, hint-out .4s var(--ease-out) 5s forwards}@keyframes hint-out{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.hint--tips{animation:none}}@keyframes hint-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}.hint__step{background:var(--accent);color:var(--on-accent);font:700 13px/1 var(--pixel);letter-spacing:.06em;text-transform:uppercase;border-radius:9px;flex:none;padding:6px 9px 5px}.hint__step--good{background:var(--good);color:var(--ink)}.hint--tips .hint__step,.hint--mixed .hint__step{background:var(--bg);color:var(--ink)}.hint--tips .hint__step--good{background:var(--good)}.hint__keys{color:var(--mute);align-items:center;gap:6px;font-size:13.5px;display:inline-flex}.hint__btn{background:var(--bg);height:32px;color:var(--ink);transition:background-color var(--fast) var(--ease-out);border:0;border-radius:10px;padding:0 12px;font-size:13.5px;font-weight:700}.hint__btn:hover{background:var(--line)}.toast{background:var(--ink);max-width:calc(100% - 24px);color:var(--bg);box-shadow:var(--shadow-lift);animation:toast-in .28s var(--ease-spring) both;z-index:4;border-radius:14px;padding:10px 16px;font-size:14.5px;font-weight:500;position:absolute;top:16px;left:50%;translate:-50%}.toast--bad{background:var(--bad);color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)scale(.96)}}@keyframes pop{0%{opacity:0;transform:scale(.5)}}.actionbar{display:none}@media (width<=1180px){.topbar__restart span,.topbar .lockup__name{display:none}.topbar__restart{width:40px;padding:0}}@media (width<=1023px){.rail{display:none}}@media (width<=860px){.topbar__converted{display:none}}@media (width<=720px){.topbar{gap:10px;min-height:54px;padding-inline:12px 6px}.topbar__file{gap:8px;padding-left:10px}.topbar__name{font-size:13px}.topbar__zoom,.topbar__actions,.topbar__pages-full{display:none}.topbar__pages-short{display:inline}.topbar__converted{padding:0 8px;font-size:0;display:inline-flex}.topbar__converted:after{content:"Word";font-size:11.5px}.stage__zoom{background:color-mix(in srgb, var(--surface-top) 94%, transparent);box-shadow:0 4px 14px #0000004d, inset 0 0 0 1px var(--line2);z-index:2;display:inline-flex;position:absolute;top:10px;right:10px}.stage__zoom .zoom__value{display:none}.pages{padding-block:16px 96px}.page__num{padding:10px 0 18px}.hint{white-space:normal;gap:9px;width:max-content;font-size:13.5px;bottom:12px}.hint__keys,.hint--tips,.hint--armed .hint__btn{display:none}.actionbar{padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom));background:var(--bg2);border-top:1px solid var(--line);z-index:3;grid-template-columns:1fr 1fr;gap:10px;display:grid}.actionbar .btn{height:50px;padding:0 10px;font-size:15.5px}}.field{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;animation:field-in .28s var(--ease-spring) both;border-radius:6px;position:absolute}@keyframes field-in{0%{opacity:0;transform:scale(.86)}}.field:before{content:"";border-radius:inherit;pointer-events:none;transition:border-color var(--fast) var(--ease-out), background-color var(--fast) var(--ease-out);border:2px solid #0000;position:absolute;inset:-1px}.field:focus-visible{outline:2px solid var(--accent2);outline-offset:4px}.field.is-empty{background:color-mix(in srgb, var(--accent) 14%, var(--paper));cursor:pointer}.field.is-empty:before{border:2px dashed var(--accent)}.field__empty{color:var(--on-accent);justify-content:center;align-items:center;gap:7px;display:flex;position:absolute;inset:0;overflow:hidden;container-type:size}.field__empty span{font:700 clamp(8px, 36cqh, 17px) / 1 var(--pixel);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.field__empty svg{flex:none;width:clamp(9px,36cqh,17px);height:clamp(9px,36cqh,17px)}@media (hover:hover){.field.is-empty:hover{background:color-mix(in srgb, var(--accent) 24%, var(--paper))}.field.is-signed:hover:before{border-color:color-mix(in srgb, var(--accent2) 45%, transparent)}}.field__ink{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.field.is-signed.is-selected:before{border-color:var(--accent2);background:color-mix(in srgb, var(--accent2) 7%, transparent)}.field.is-selected{z-index:2}.field.is-drag{cursor:grabbing;z-index:3;filter:drop-shadow(0 10px 14px #00000038)}.field.is-drag:before{border-style:solid;border-color:var(--accent2)}.field__handle{background:var(--paper);border:2.5px solid var(--accent2);touch-action:none;z-index:1;width:14px;height:14px;animation:pop var(--fast) var(--ease-spring) both;border-radius:4px;position:absolute}.field__handle:after{content:"";position:absolute;inset:-13px}.field__handle--nw{cursor:nwse-resize;top:-8px;left:-8px}.field__handle--se{cursor:nwse-resize;bottom:-8px;right:-8px}.field__handle--ne{cursor:nesw-resize;top:-8px;right:-8px}.field__handle--sw{cursor:nesw-resize;bottom:-8px;left:-8px}.field.is-empty .field__handle{border-color:var(--accent)}.field__bar{background:var(--bg);box-shadow:0 10px 30px #0006, inset 0 0 0 1px var(--line2);translate:calc(-50% + var(--bar-shift,0px)) 0;cursor:default;z-index:4;animation:bar-in .2s var(--ease-spring) both;border-radius:14px;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 14px);left:50%}@keyframes bar-in{0%{opacity:0;transform:translateY(6px)scale(.94)}}.field__bar--below{top:calc(100% + 14px);bottom:auto}.field__bar--start{translate:var(--bar-shift,0px) 0;left:-4px}.field__bar--end{translate:var(--bar-shift,0px) 0;left:auto;right:-4px}.field__btn{height:36px;color:var(--ink);font:500 13.5px/1 var(--font);white-space:nowrap;transition:background-color var(--fast) var(--ease-out), transform var(--fast) var(--ease-out);background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:0 11px;display:inline-flex}.field__btn:hover{background:var(--surface-top)}.field__btn:active{transform:scale(.95)}.field__btn--go{background:var(--accent);color:var(--on-accent);font-weight:700}.field__btn--go:hover{background:var(--accent);filter:brightness(1.07)}.field__btn--icon{width:36px;color:var(--bad-text);justify-content:center;padding:0}.field__btn--icon:hover{background:var(--bad-tint)}@media (pointer:coarse){.field__btn{height:42px;padding:0 13px}.field__btn--icon{width:42px}.field__handle{width:16px;height:16px}.field__handle--nw,.field__handle--ne{top:-13px}.field__handle--sw,.field__handle--se{bottom:-13px}.field__handle--nw,.field__handle--sw{left:-13px}.field__handle--ne,.field__handle--se{right:-13px}.field__bar{bottom:calc(100% + 20px)}.field__bar--below{top:calc(100% + 20px);bottom:auto}}.ghost{border:2px dashed var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--on-accent);font:700 14px/1 var(--pixel);letter-spacing:.05em;text-transform:uppercase;pointer-events:none;z-index:3;border-radius:6px;place-items:center;display:grid;position:absolute}.ghost img{object-fit:contain;opacity:.7;width:100%;height:100%}.dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;margin:0;padding:20px;position:fixed;inset:0;overflow:auto}.dialog[open]{grid-template-columns:minmax(0,1fr);place-items:center;display:grid}.dialog::backdrop{background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(6px);animation:fade-in .2s var(--ease-out) both}.dialog__panel{border-radius:var(--r-xl);background:var(--surface);width:min(100%,440px);box-shadow:var(--shadow-card), inset 0 0 0 1px var(--line);animation:dialog-in .28s var(--ease-spring) both}.dialog--sign .dialog__panel{width:min(100%,700px)}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}.dialog__title{letter-spacing:var(--tracking);text-wrap:balance;font-size:26px;font-weight:700;line-height:1.1}.sign{flex-direction:column;gap:16px;padding:24px;display:flex}.sign__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sign__head .dialog__title{margin-top:6px}.sign__head .icon-btn{margin:-6px -8px 0 0}.tabs{background:var(--bg);border-radius:16px;grid-template-columns:1fr 1fr;padding:4px;display:grid;position:relative}.tabs__tab{z-index:1;height:44px;color:var(--mute);transition:color var(--fast) var(--ease-out);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex;position:relative}.tabs__tab:hover{color:var(--ink)}.tabs__tab.is-on{color:var(--bg)}.tabs__ink{background:var(--ink);width:calc(50% - 4px);transition:transform var(--med) var(--ease-out);border-radius:12px;position:absolute;top:4px;bottom:4px;left:4px}.tabs__ink--type{transform:translate(100%)}.sign__body{flex-direction:column;gap:14px;min-width:0;display:flex}.pad{border-radius:var(--r-lg);background:var(--paper);height:236px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.pad__canvas{touch-action:none;cursor:crosshair;z-index:1;width:100%;height:100%;position:absolute;inset:0}.pad__line{border-bottom:2px dashed color-mix(in srgb, var(--bg) 22%, transparent);pointer-events:none;position:absolute;bottom:27%;left:8%;right:8%}.pad__x{font:400 22px/1 var(--font);color:color-mix(in srgb, var(--bg) 40%, transparent);position:absolute;bottom:6px;left:0}.pad__hint{text-align:center;font:700 20px/1 var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--bg) 26%, transparent);pointer-events:none;opacity:0;transition:opacity var(--med) var(--ease-out);position:absolute;bottom:calc(27% + 22px);left:0;right:0}.pad.is-empty .pad__hint{opacity:1}.pen{flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:40px;display:flex}.pen__group{background:var(--bg);border-radius:14px;align-items:center;gap:4px;padding:4px;display:inline-flex}.swatch,.nib{width:34px;height:34px;transition:background-color var(--fast) var(--ease-out), transform var(--fast) var(--ease-out);background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:relative}.swatch:before{content:"";background:var(--swatch);width:18px;height:18px;box-shadow:0 0 0 1.5px color-mix(in srgb, var(--ink) 40%, transparent);transition:transform var(--fast) var(--ease-spring);border-radius:50%}.nib span{background:var(--mute);border-radius:50%;display:block}.swatch:hover,.nib:hover{background:var(--surface)}.swatch:active,.nib:active{transform:scale(.92)}.swatch.is-on,.nib.is-on{background:var(--surface-top);box-shadow:inset 0 0 0 1px var(--line2)}.swatch.is-on:before{box-shadow:0 0 0 2px var(--ink);transform:scale(1.18)}.nib.is-on span{background:var(--ink)}.pen__keys{color:var(--mute);align-items:center;gap:5px;margin-left:auto;font-size:13px;display:inline-flex}.savedsig{background:var(--bg);border-radius:16px;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:flex}.savedsig__paper{background:var(--paper);border-radius:10px;flex:none;place-items:center;width:96px;height:44px;padding:5px 8px;display:grid}.savedsig__paper img{max-width:100%;max-height:100%}.savedsig__text{flex:1;min-width:0;font-size:14.5px;font-weight:500}.sign__foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.sign__edit{gap:6px;display:flex}.sign__finish{min-width:176px}.remember{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;padding-top:14px;font-size:14.5px;font-weight:500;display:flex}.remember small{color:var(--mute);font-size:13px;font-weight:400;display:block}.remember__switch{background:var(--line2);width:44px;height:26px;transition:background-color var(--fast) var(--ease-out);border-radius:999px;flex:none;position:relative}.remember__switch:after{content:"";background:var(--ink);width:20px;height:20px;transition:transform var(--med) var(--ease-spring);border-radius:50%;position:absolute;top:3px;left:3px}.remember input:checked+.remember__switch{background:var(--good)}.remember input:checked+.remember__switch:after{transform:translate(18px)}.remember input:focus-visible+.remember__switch{outline:2px solid var(--accent2);outline-offset:3px}.typepad{flex-direction:column;gap:10px;display:flex}.typepad__label{font:700 13px/1 var(--pixel);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.typepad__input{border-radius:var(--r);background:var(--bg);width:100%;height:50px;box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow var(--fast) var(--ease-out);border:0;padding:0 16px;font-size:17px}.typepad__input::placeholder{color:color-mix(in srgb, var(--mute) 60%, var(--bg))}.typepad__input:focus-visible{box-shadow:inset 0 0 0 2px var(--accent2);outline:none}.typepad__fonts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fontcard{border-radius:var(--r);background:var(--paper);height:92px;box-shadow:0 0 0 0 var(--ink);text-align:left;transition:box-shadow var(--fast) var(--ease-out), transform var(--fast) var(--ease-out);border:0;flex-direction:column;justify-content:flex-end;gap:2px;padding:8px 12px 9px;display:flex;position:relative;overflow:hidden}.fontcard:hover{transform:translateY(-1px)}.fontcard:active{transform:scale(.98)}.fontcard.is-on{box-shadow:0 0 0 3px var(--surface), 0 0 0 5.5px var(--ink)}.fontcard__sample{white-space:nowrap;flex:1;align-items:center;min-width:0;line-height:1.5;display:flex}.fontcard{font-size:30px}.fontcard__sample.is-loading{background:linear-gradient(90deg,#15171c0f 25%,#15171c21 50%,#15171c0f 75%) 0 0/200% 100%;border-radius:8px;margin:14px 0;animation:1.1s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.fontcard__label{font:700 11.5px/1 var(--pixel);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--bg) 55%, transparent)}.typepad__note{color:var(--mute);font-size:12.5px}.typepad__error{border-radius:var(--r);background:var(--bad-tint);color:var(--bad-text);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;font-size:14.5px;display:grid}.confirm{flex-direction:column;gap:12px;padding:28px;display:flex}.confirm__body{color:var(--mute);overflow-wrap:anywhere}.confirm__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.dialog--success .dialog__panel{width:min(100%,460px)}.success{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:0 28px 24px;display:flex;position:relative}.dialog__close{z-index:2;position:absolute;top:12px;right:12px}.success__stage{border-radius:var(--r-xl) var(--r-xl) 0 0;background-color:var(--bg);background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.6px);background-size:22px 22px;place-items:end center;width:calc(100% + 56px);height:196px;margin-bottom:10px;display:grid;position:relative;overflow:hidden}.success__mascot{animation:cheer .62s var(--ease-spring) 80ms both;transform-origin:50% 100%;margin-bottom:-34px}@keyframes cheer{0%{opacity:0;transform:translateY(40px)scale(.9)}60%{transform:translateY(-10px)scale(1.03)}}.confetti{position:absolute;inset:0}.confetti span{top:-14px;left:calc(6% + var(--i) * 6.6%);background:var(--accent);width:9px;height:9px;animation:1.5s cubic-bezier(.3,.6,.6,1) both confetti;animation-delay:calc(var(--i) * 45ms);position:absolute}.confetti span:first-child{--i:0;--y:38px}.confetti span:nth-child(2){--i:7;--y:92px;background:var(--good)}.confetti span:nth-child(3){--i:2;--y:20px;background:var(--ink)}.confetti span:nth-child(4){--i:11;--y:70px;background:var(--accent2)}.confetti span:nth-child(5){--i:4;--y:120px}.confetti span:nth-child(6){--i:9;--y:48px;background:var(--ink)}.confetti span:nth-child(7){--i:1;--y:104px;background:var(--accent2)}.confetti span:nth-child(8){--i:13;--y:30px}.confetti span:nth-child(9){--i:6;--y:84px;background:var(--good)}.confetti span:nth-child(10){--i:3;--y:132px;background:var(--good)}.confetti span:nth-child(11){--i:12;--y:58px;background:var(--ink)}.confetti span:nth-child(12){--i:8;--y:16px}.confetti span:nth-child(13){--i:5;--y:112px;background:var(--accent2)}.confetti span:nth-child(14){--i:10;--y:66px;background:var(--good)}.confetti span:nth-child(odd){width:7px;height:12px}@keyframes confetti{0%{opacity:0;transform:translateY(0)rotate(0)}12%{opacity:1}to{opacity:.9;transform:translateY(calc(14px + var(--y))) rotate(calc(120deg + var(--i) * 40deg))}}.success__title{margin-top:2px}.success__file{background:var(--blue-tint);max-width:100%;color:var(--blue-text);font:500 13.5px/1.3 var(--mono);overflow-wrap:anywhere;border-radius:8px;padding:6px 10px}.success__note{color:var(--mute);text-wrap:pretty;font-size:14.5px}.success__actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;margin-top:10px;display:flex}.success__actions .btn{flex:160px}@media (width<=640px){.dialog{padding:0}.dialog[open]{place-items:end center}.dialog__panel,.dialog--sign .dialog__panel,.dialog--success .dialog__panel{corner-shape:round;width:100%;animation-name:sheet-in;animation-timing-function:var(--ease-out);border-radius:26px 26px 0 0}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.sign{padding:18px 16px;padding-bottom:max(16px, env(safe-area-inset-bottom));gap:12px}.dialog__title{font-size:23px}.tabs__long{display:none}.pad{height:210px}.pen__keys,.sign__edit-label{display:none}.sign__finish{flex:1;min-width:0}.fontcard{height:78px;font-size:21px}.typepad__note{display:none}.confirm{padding:24px 20px;padding-bottom:max(20px, env(safe-area-inset-bottom))}.confirm__actions .btn{flex:1}.success{padding-bottom:max(20px, env(safe-area-inset-bottom))}.success__stage{border-radius:26px 26px 0 0}}@media (height<=560px) and (orientation:landscape){.pad{height:150px}}
