@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..700&family=Karla:ital,wght@0,400;0,500;0,700;1,400&display=swap";.home-page{isolation:isolate;width:min(1160px,100%);color:var(--ink);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem);position:relative;overflow-x:clip}.home-page:before{content:"";z-index:-2;pointer-events:none;background:repeating-linear-gradient(to right, #3c301e0d 0 1px, transparent 1px 13px), repeating-linear-gradient(to bottom, #3c301e0d 0 1px, transparent 1px 13px), radial-gradient(120% 60% at 50% 0%, #fdfbf5e6, transparent 60%), var(--linen);width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.home-page:after{content:"";z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.home-bleed{margin-inline:calc(50% - 50vw)}.home-reveal{opacity:0;transition:opacity .5s var(--ease-out-quart), transform .5s var(--ease-out-quart);transform:translateY(12px)}.home-reveal:not([data-sda]).is-in{opacity:1;transform:translateY(0)}.home-reveal[data-sda]{opacity:1;transition:none;transform:none}@media (prefers-reduced-motion:reduce){.home-reveal{opacity:1;transition:none;transform:none}}.home-stitch{background:var(--line);z-index:5;pointer-events:none;border-radius:4px;width:4px;position:fixed;top:20vh;bottom:20vh;left:10px}.home-stitch__fill{width:100%;height:var(--home-stitch,0%);background:var(--terracotta);border-radius:4px;transition:none;position:relative}.home-stitch__fill:after{content:"";border:2px solid var(--terracotta);background:var(--paper);width:8px;height:8px;box-shadow:0 0 0 1px var(--paper);z-index:1;border-radius:50%;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}@media (prefers-reduced-motion:reduce){.home-stitch{display:none}}@supports (animation-timeline:scroll()){@keyframes stitch-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.home-stitch__fill{transform-origin:top;height:100%;animation:linear both stitch-grow;animation-duration:auto;will-change:transform;background:0 0;animation-timeline:scroll(root)}.home-stitch__fill:before{content:"";background:var(--terracotta);position:absolute;inset:0;-webkit-mask-image:repeating-linear-gradient(#000 0 10px,#0000 10px 16px);mask-image:repeating-linear-gradient(#000 0 10px,#0000 10px 16px)}@media (prefers-reduced-motion:reduce){.home-stitch__fill{animation:none;transform:none}}}.home-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:.75rem;margin:0;font-family:Karla,sans-serif;font-size:.78rem;font-weight:700;display:flex}.home-kicker:before{content:"";background:var(--terracotta);flex-shrink:0;width:2.25rem;height:2px}.home-kicker__no{letter-spacing:.02em;text-transform:none;color:var(--terracotta);font-family:Fraunces,Georgia,serif;font-size:.95rem;font-style:italic;font-weight:500}.home-kicker--inverse{color:color-mix(in oklch, var(--linen) 75%, var(--ink))}.home-kicker--inverse:before{background:var(--terracotta)}.home-cta{font:inherit;transition:transform .14s var(--ease-out-quart), box-shadow .14s var(--ease-out-quart), background .15s ease;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.95rem 1.7rem;font-size:1.02rem;font-weight:700;text-decoration:none;display:inline-flex}.home-cta__arrow{transition:transform .2s var(--ease-out-quart);display:inline-block}.home-cta--primary{background:var(--terracotta);color:var(--paper);box-shadow:0 3px 0 var(--terracotta-dark), var(--shadow)}.home-cta--primary:hover{background:var(--terracotta-dark)}@media (hover:hover) and (pointer:fine){.home-cta--primary:hover .home-cta__arrow{transform:translate(4px)}}.home-cta--primary:active{box-shadow:0 1px 0 var(--terracotta-dark);transform:translateY(2px)scale(.98)}.home-cta--secondary{color:var(--ink-soft);-webkit-text-decoration:underline dashed;text-decoration:underline dashed;-webkit-text-decoration-color:color-mix(in oklch, var(--terracotta) 55%, transparent);text-decoration-color:color-mix(in oklch, var(--terracotta) 55%, transparent);text-underline-offset:.35em;background:0 0;padding:.95rem 1rem;font-weight:600}.home-cta--secondary:hover{color:var(--ink);-webkit-text-decoration-color:var(--terracotta);text-decoration-color:var(--terracotta)}.home-cta--secondary:active{transform:scale(.97)}.home-cta--inverse{color:color-mix(in oklch, var(--linen) 82%, var(--ink))}.home-cta--inverse:hover{color:var(--paper)}@media (prefers-reduced-motion:reduce){.home-cta,.home-cta__arrow{transition:none}.home-cta:active{transform:none}}.home-swatch{background:var(--paper);border:1px solid var(--line);transition:rotate .4s var(--ease-out-quart);border-radius:6px;position:relative;rotate:1.4deg;box-shadow:0 1px 2px #3c301e14,0 12px 32px -12px #3c301e47}.home-swatch--tilt-left{rotate:-1.6deg}@media (hover:hover) and (pointer:fine){.home-swatch:hover{rotate:0deg}}.home-swatch:before{content:"";border:1.5px dashed color-mix(in oklch, var(--terracotta) 38%, var(--line));pointer-events:none;z-index:2;border-radius:3px;position:absolute;inset:7px}.home-swatch:after{content:"";background:color-mix(in oklch, var(--sage) 30%, var(--linen));opacity:.85;z-index:3;width:5.5rem;height:1.6rem;position:absolute;top:-.8rem;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 1px 2px #3c301e1f}@media (prefers-reduced-motion:reduce){.home-swatch{transition:none}}.home-hero{align-items:center;gap:clamp(2rem,5vw,3rem);min-height:calc(100svh - 6.5rem);padding:clamp(2.5rem,7vw,5rem) 0 clamp(3.5rem,9vw,6rem);display:grid}@media (width>=880px){.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}}.home-hero__copy{flex-direction:column;gap:clamp(1.1rem,2.5vw,1.6rem);max-width:34rem;display:flex}.home-hero__title{font-variation-settings:"opsz" 144;letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(3.1rem,9.5vw,7rem);font-weight:560;line-height:.98}.home-hero__word{display:inline-block}.home-hero__word--accent{color:var(--terracotta);-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:.045em;-webkit-text-decoration-color:color-mix(in oklch, var(--terracotta) 55%, transparent);text-decoration-color:color-mix(in oklch, var(--terracotta) 55%, transparent);text-underline-offset:.14em;font-style:italic;font-weight:480}.home-hero__support{color:var(--ink-soft);text-wrap:pretty;max-width:27rem;margin:0;font-size:clamp(1.05rem,2.2vw,1.2rem);line-height:1.55}.home-hero__actions{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.35rem;display:flex}.home-hero__visual{aspect-ratio:32/24;width:100%;padding:clamp(.7rem,1.6vw,1.1rem);overflow:visible;rotate:-2deg}@media (width>=1080px){.home-hero__visual{width:108%}}.home-hero__canvas{border-radius:3px;width:100%;height:100%;overflow:hidden}@keyframes home-word-rise{0%{opacity:0;transform:translateY(.55em)rotate(1.5deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.home-hero__word{opacity:0;animation:home-word-rise .7s var(--spring-out) both}.home-hero__word--1{animation-delay:60ms}.home-hero__word--2{animation-delay:.12s}.home-hero__word--3{animation-delay:.18s}.home-hero__word--4{animation-delay:.24s}.home-hero__word--5{animation-delay:.32s}@keyframes home-hero-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-hero__line{opacity:0;animation:home-hero-in .55s var(--ease-out-quart) forwards}.home-hero__line--1{animation-delay:0s}.home-hero__line--2{animation-delay:.38s}.home-hero__line--3{animation-delay:.46s}.home-hero__visual{animation:home-hero-in .7s var(--ease-out-quart) .2s both}@media (prefers-reduced-motion:reduce){.home-hero__word,.home-hero__line,.home-hero__visual{opacity:1;animation:none}}.home-ribbon{border-block:2px solid var(--ink);background:var(--paper);padding:.7rem 0;overflow:hidden}.home-ribbon__track{width:max-content;animation:30s linear infinite home-ribbon-scroll;display:flex}.home-ribbon__run{flex-shrink:0;align-items:center;display:flex}.home-ribbon__item{white-space:nowrap;align-items:center;gap:1.6rem;padding-right:1.6rem;display:inline-flex}.home-ribbon__item em{letter-spacing:.01em;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-style:italic;font-weight:480}.home-ribbon__x{color:var(--terracotta);font-size:.85rem}@keyframes home-ribbon-scroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.home-ribbon__track{animation:none}}.home-chapter{padding:clamp(3.5rem,9vw,6.5rem) 0}.home-chapter--quiet{padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:clamp(3rem,7vw,5rem)}.home-section{align-items:center;gap:clamp(2rem,5vw,3.5rem);display:grid}@media (width>=880px){.home-section{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.home-section--flip{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.home-section--flip .home-section__copy{order:2}.home-section--flip .home-mock{order:1}.home-section--quiet{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.home-section--quiet.home-section--flip{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}.home-section__copy{flex-direction:column;gap:.9rem;display:flex;position:relative}.home-section__no{z-index:-1;color:#0000;-webkit-text-stroke:1.5px color-mix(in oklch, var(--terracotta) 45%, var(--line));-webkit-user-select:none;user-select:none;pointer-events:none;font-family:Fraunces,Georgia,serif;font-size:clamp(5.5rem,13vw,9.5rem);font-style:italic;font-weight:400;line-height:1;position:absolute;top:clamp(-4.5rem,-8vw,-3rem);left:clamp(-1rem,-2vw,-.25rem)}.home-section__copy h2{font-variation-settings:"opsz" 100;letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:560;line-height:1.08}.home-section__copy p:not(.home-kicker){color:var(--ink-soft);text-wrap:pretty;max-width:38ch;margin:0;font-size:1.05rem;line-height:1.6}.home-section__detail+.home-section__detail{margin-top:.1rem}.home-section__detail{opacity:0;transform:translateY(6px)}.home-reveal:not([data-sda]).is-in .home-section__detail{opacity:1;transition:opacity .45s var(--ease-out-quart), transform .45s var(--ease-out-quart);transform:translateY(0)}.home-reveal:not([data-sda]).is-in .home-section__detail--1{transition-delay:40ms}.home-reveal:not([data-sda]).is-in .home-section__detail--2{transition-delay:80ms}@media (prefers-reduced-motion:reduce){.home-section__detail{opacity:1;transform:none}.home-reveal:not([data-sda]).is-in .home-section__detail{transition:none}}.home-mock{min-height:12rem;position:relative}.home-mock--clip{clip-path:inset(0 0 100%);transition:clip-path .55s var(--ease-out-quart)}.home-reveal:not([data-sda]).is-in .home-mock--clip{clip-path:inset(0)}.home-reveal[data-sda] .home-mock--clip{clip-path:none;transition:none}.home-reveal[data-sda] .home-section__detail{opacity:1;transition:none;transform:none}@media (prefers-reduced-motion:reduce){.home-mock--clip{clip-path:none;transition:none}}@supports (animation-timeline:view()){@keyframes home-reveal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes home-mock-clip-in{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes home-pdf-back-fan{0%{transform:translate(0)rotate(0)}to{transform:translate(18px,-14px)rotate(3deg)}}@keyframes home-pdf-mid-fan{0%{transform:translate(0)rotate(0)}to{transform:translate(8px,-6px)rotate(1.5deg)}}@keyframes home-pdf-front-fan{0%{transform:translateY(10px)}to{transform:translateY(0)}}.home-reveal[data-sda]{opacity:0;animation:linear both home-reveal-in;animation-duration:auto;will-change:opacity, transform;animation-timeline:view();animation-range:entry 10% entry 60%;transform:translateY(12px)}.home-reveal[data-sda] .home-mock--clip{clip-path:inset(0 0 100%);animation:linear both home-mock-clip-in;animation-duration:auto;will-change:clip-path;animation-timeline:view();animation-range:entry 10% entry 60%}.home-reveal[data-sda] .home-mock--export .home-mock__pdf--back{animation:linear both home-pdf-back-fan;animation-duration:auto;will-change:transform;animation-timeline:view();animation-range:entry entry 45%}.home-reveal[data-sda] .home-mock--export .home-mock__pdf--mid{animation:linear both home-pdf-mid-fan;animation-duration:auto;will-change:transform;animation-timeline:view();animation-range:entry 10% entry 55%}.home-reveal[data-sda] .home-mock--export .home-mock__pdf--front{animation:linear both home-pdf-front-fan;animation-duration:auto;will-change:transform;animation-timeline:view();animation-range:entry 20% entry 65%}@media (prefers-reduced-motion:reduce){.home-reveal[data-sda],.home-reveal[data-sda] .home-mock--clip{opacity:1;clip-path:none;will-change:auto;animation:none;transform:none}.home-reveal[data-sda] .home-section__detail{opacity:1;transform:none}.home-reveal[data-sda] .home-mock--export .home-mock__pdf--back,.home-reveal[data-sda] .home-mock--export .home-mock__pdf--mid,.home-reveal[data-sda] .home-mock--export .home-mock__pdf--front{will-change:auto;animation:none}}}.home-mock--create{gap:.85rem;padding:1.4rem;display:grid}.home-mock__dropzone{border:2px dashed var(--line);background:var(--linen);border-radius:8px;place-items:center;min-height:7.5rem;display:grid}.home-mock__drop-label{color:var(--ink-soft);font-size:.9rem;font-weight:600}.home-mock__mesh{flex-direction:column;gap:.45rem;display:flex}.home-mock__mesh-bar{background:var(--line);border-radius:4px;width:72%;height:8px;display:block}.home-mock__mesh-bar--short{background:color-mix(in srgb, var(--sage) 45%, var(--line));width:48%}.home-mock__swatches{gap:.45rem;display:flex}.home-mock__swatch{border:1px solid var(--line);border-radius:4px;width:1.35rem;height:1.35rem}.home-mock__swatch--terracotta{background:var(--terracotta)}.home-mock__swatch--sage{background:var(--sage)}.home-mock__swatch--ink{background:var(--ink)}.home-mock__swatch--linen{background:var(--linen)}.home-mock--edit{gap:.85rem;padding:1.1rem;display:grid}.home-mock__edit-grid{aspect-ratio:16/12;background:var(--linen);border:1px solid var(--line);border-radius:4px;overflow:hidden}.home-mock__edit-canvas{width:100%;height:100%}.home-mock__palette{gap:.5rem;display:flex}.home-mock__chip{border:1px solid var(--line);border-radius:5px;width:1.75rem;height:1.75rem}.home-mock__chip--terracotta{background:var(--terracotta)}.home-mock__chip--sage{background:var(--sage)}.home-mock__chip--ink{background:var(--ink)}.home-mock--export{place-items:center;min-height:15rem;display:grid}.home-mock__pdf{aspect-ratio:8.5/11;background:var(--paper);border:1px solid var(--line);width:min(14rem,70%);box-shadow:var(--shadow);border-radius:4px;position:absolute}.home-mock__pdf--back{z-index:1;transform:translate(18px,-14px)rotate(3deg)}.home-mock__pdf--mid{z-index:2;transform:translate(8px,-6px)rotate(1.5deg)}.home-mock__pdf--front{z-index:3;flex-direction:column;gap:.55rem;padding:1rem .9rem;display:flex;position:relative}.home-mock__pdf-line{background:var(--line);border-radius:3px;width:70%;height:6px;display:block}.home-mock__pdf-line--short{width:42%}.home-mock__pdf-tiles{flex:1;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.35rem;display:grid}.home-mock__pdf-tiles>span{background:color-mix(in srgb, var(--sage) 25%, var(--linen));border:1px solid var(--line);border-radius:2px;min-height:2.5rem}.home-mock--keep{flex-direction:column;gap:1.1rem;min-height:0;padding:.5rem 0;display:flex}.home-mock__mark{align-items:center;gap:.85rem;display:flex}.home-mock__mark-dot{background:var(--terracotta);border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem}.home-mock__mark-dot--sage{background:var(--sage)}.home-mock__mark-label{color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-style:italic}.home-close{background:repeating-linear-gradient(to right, #f6f1e709 0 1px, transparent 1px 13px), repeating-linear-gradient(to bottom, #f6f1e709 0 1px, transparent 1px 13px), var(--ink);color:var(--linen);text-align:center;margin-top:clamp(2rem,5vw,4rem);padding:clamp(4.5rem,11vw,8rem) clamp(1.5rem,5vw,3rem);position:relative;overflow:hidden}.home-close:before,.home-close:after{content:"✕   ✕   ✕";letter-spacing:.6em;color:color-mix(in oklch, var(--terracotta) 75%, var(--linen));opacity:.8;white-space:pre;font-size:.8rem;position:absolute;left:50%;transform:translate(-50%)}.home-close:before{top:1.4rem}.home-close:after{bottom:1.4rem}.home-close__inner{flex-direction:column;align-items:center;gap:1.6rem;display:flex}.home-close h2{font-variation-settings:"opsz" 144;letter-spacing:-.025em;color:var(--paper);text-wrap:balance;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(2.8rem,8vw,5.5rem);font-weight:480;line-height:1.02}.home-close h2 em{color:color-mix(in oklch, var(--terracotta) 78%, var(--paper));font-style:italic}.home-close__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.1rem;display:flex}:root{--linen:oklch(95.5% .025 88);--paper:oklch(98.6% .013 95);--ink:oklch(23% .018 65);--ink-soft:oklch(50% .025 75);--terracotta:oklch(57% .16 35);--terracotta-dark:oklch(47% .14 34);--sage:oklch(58% .06 120);--line:oklch(85.5% .04 88);--shadow:0 2px 12px #3c301e1a;--radius:10px;--ease-out-quart:cubic-bezier(.23, 1, .32, 1);--spring-out:linear(0, .32, .72, .94, 1.02, 1.03, 1.01, 1)}*{box-sizing:border-box;margin:0}body{background:var(--linen);color:var(--ink);background-image:radial-gradient(#3c301e0b 1px,#0000 1px);background-size:14px 14px;font-family:Karla,Avenir Next,sans-serif;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}.not-found{text-align:center;flex:1;place-content:center;justify-items:center;gap:12px;padding:48px 20px;display:grid}.not-found h1{color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600}.not-found p{max-width:28rem;color:var(--ink-soft)}.not-found__home{font:inherit;background:var(--terracotta);color:#fff;border-radius:8px;margin-top:8px;padding:13px 20px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-block}.not-found__home:hover{background:var(--terracotta-dark)}.not-found__home:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.app:has(.editor){height:100dvh;max-height:100dvh;overflow:hidden}.app-header{border-bottom:2px solid var(--ink);background:var(--paper);align-items:baseline;gap:16px;padding:18px 28px 14px;display:flex}.app-header h1,.app-logo{letter-spacing:-.01em;margin:0;padding:0;font-family:Fraunces,Georgia,serif;font-size:1.7rem;font-weight:600}.app-logo button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;margin:0;padding:0}.logo-mark{color:var(--terracotta);margin-right:2px}.app-header p{color:var(--ink-soft);font-family:Fraunces,Georgia,serif;font-size:.95rem;font-style:italic}.setup{flex:1;justify-content:center;padding:48px 20px;display:flex}.setup-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:560px;box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:32px 36px 36px;display:flex}.setup-replay-tips{align-self:flex-start;margin-top:2px}.create-mode-choices{flex-direction:column;gap:10px;display:flex}.create-mode-choice{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:64px;padding:14px 16px;display:flex}.create-mode-choice__hint{opacity:.85;font-size:.85rem;font-weight:400;line-height:1.35}.setup-step{color:var(--terracotta-dark);margin-top:10px;font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:600}.wizard-progress+.setup-step{margin-top:0}.setup-substep{color:var(--ink);margin-top:6px;font-family:Fraunces,Georgia,serif;font-size:.98rem;font-weight:600}.setup-lede{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.45}.wizard-progress{align-items:center;gap:8px;display:flex}.wizard-dot{background:var(--line);width:10px;height:10px;transition:transform .24s var(--ease-out-quart), background-color .18s ease;border-radius:50%}.wizard-dot.on,.wizard-dot.done{animation:wizard-dot-pop .42s var(--spring-out) both}.wizard-dot.on{background:var(--terracotta)}.wizard-dot.done{background:var(--sage)}@keyframes wizard-dot-pop{0%{transform:scale(.84)}60%{transform:scale(1.2)}to{transform:scale(1)}}.wizard-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.wizard-actions .primary{flex:1;min-width:120px}.wizard-summary{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;display:grid}.wizard-summary div{flex-direction:column;gap:2px;display:flex}.wizard-summary dt{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem;font-weight:700}.wizard-summary dd{color:var(--ink);margin:0;font-size:.95rem}.color-count-slider{margin-top:4px}.color-count-hint{margin:-6px 0 0}.color-preview-panel{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex}.color-preview-canvas{width:auto;max-width:100%;height:auto;box-shadow:var(--shadow);background:#fff;border-radius:6px;display:block}.dropzone{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;cursor:pointer;color:var(--ink-soft);background:var(--linen);flex-direction:column;align-items:center;gap:6px;padding:34px 20px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.dragover{border-color:var(--terracotta);background:#fbf4ea}.dropzone.has-image{padding:14px}.dropzone img{max-width:100%;max-height:220px;box-shadow:var(--shadow);border-radius:6px}.dz-icon{color:var(--terracotta);font-size:1.6rem}.dz-name{font-size:.85rem}.adjuster{flex-direction:column;gap:10px;display:flex}.adjuster-canvas{width:100%;max-width:400px;box-shadow:var(--shadow);cursor:grab;touch-action:none;border-radius:6px;align-self:center}.adjuster-canvas:active{cursor:grabbing}.adjuster-controls{flex-direction:column;gap:8px;display:flex}.slider-row{align-items:center;gap:10px;font-size:.85rem;font-weight:700;display:flex}.slider-row input[type=range]{accent-color:var(--terracotta);flex:1}.slider-row span{color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;min-width:44px;font-weight:400}.check-row{cursor:pointer;align-items:center;gap:8px;font-size:.85rem;font-weight:700;display:flex}.check-row input{accent-color:var(--terracotta);width:16px;height:16px}.field-grid{grid-template-columns:1fr 1fr;gap:14px 18px;display:grid}.field-grid label,.field-grid .field-block{letter-spacing:.02em;flex-direction:column;gap:6px;font-size:.85rem;font-weight:700;display:flex}.field-grid label:nth-child(3),.field-grid label:nth-child(4),.field-grid .field-block{grid-column:span 2}.field-label{display:block}.hint{color:var(--ink-soft);font-size:.82rem;font-weight:400}input[type=number],input[type=text]{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;width:100%;padding:9px 12px}input:focus-visible,button:focus-visible,.dropzone:focus-visible{outline:2px solid var(--terracotta);outline-offset:1px}.seg{border:1px solid var(--line);background:#fff;border-radius:8px;width:fit-content;display:inline-flex;overflow:hidden}.seg button{font:inherit;cursor:pointer;color:var(--ink-soft);border:none;border-right:1px solid var(--line);transition:transform .14s var(--ease-out-quart), background-color .15s ease, color .15s ease;background:0 0;padding:8px 14px;font-size:.85rem;font-weight:500}.seg button:last-child{border-right:none}.seg button.on{background:var(--ink);color:var(--paper);font-weight:700}.dims-note{color:var(--ink-soft);font-size:.92rem}.dims-note strong{color:var(--ink)}.error{color:var(--terracotta-dark);background:#fbeae6;border:1px solid #eccfc8;border-radius:7px;padding:10px 14px;font-size:.9rem}button.primary{font:inherit;background:var(--terracotta);color:#fff;cursor:pointer;transition:transform .14s var(--ease-out-quart), background-color .15s;border:none;border-radius:8px;padding:13px 20px;font-size:1rem;font-weight:700}button.primary:hover{background:var(--terracotta-dark)}button.primary:disabled{opacity:.6;cursor:default}button.ghost{font:inherit;background:var(--paper);border:1px solid var(--ink-soft);cursor:pointer;color:var(--ink);transition:transform .14s var(--ease-out-quart), background-color .15s, border-color .15s, color .15s;border-radius:8px;padding:9px 16px;font-size:.9rem;font-weight:500}button.ghost:hover{border-color:var(--ink);color:var(--ink)}button.ghost.danger:hover{border-color:var(--terracotta);color:var(--terracotta-dark)}button.primary:not(:disabled):active,button.ghost:not(:disabled):active,.chip:not(:disabled):active,.seg button:not(:disabled):active,.mini:not(:disabled):active,.bug-report-fab:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.wizard-dot,button.primary,button.ghost,.chip,.seg button,.mini,.bug-report-fab,.palette-row,.library-card,.modal,.header-account-menu-panel{transition:none;animation:none}button.primary:active,button.ghost:active,.chip:active,.seg button:active,.mini:active,.bug-report-fab:active,.palette-row:hover,.library-card:hover{transform:none}}.editor{flex-direction:column;flex:1;min-height:0;display:flex}.editor-scroll-chrome{opacity:1;max-height:480px;transition:max-height .24s var(--ease-out-quart), opacity .16s ease;overflow:hidden}.editor-scroll-chrome.is-hidden{opacity:0;pointer-events:none;max-height:0}.toolbar{background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:10px 20px;display:flex}.toggles{gap:6px;display:flex}.gridline-weight-slider{font:inherit;color:var(--ink-soft);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;font-size:.82rem;font-weight:500;display:inline-flex}.gridline-weight-slider__label{color:var(--ink);font-weight:700}.gridline-weight-slider input[type=range]{width:88px;accent-color:var(--sage);cursor:pointer}.gridline-weight-slider__value{font-variant-numeric:tabular-nums;min-width:3.4em;color:var(--ink-soft)}.chip{font:inherit;border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;transition:transform .14s var(--ease-out-quart), background-color .15s ease, border-color .15s ease, color .15s ease;background:#fff;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:500}.chip.on{background:var(--sage);border-color:var(--sage);color:#fff;font-weight:700}.chip:disabled{opacity:.4;cursor:default}.zoom{align-items:center;gap:8px;display:flex}.zoom>button:not(.chip){font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;width:30px;height:30px;font-size:1.05rem}.zoom span{color:var(--ink-soft);text-align:center;min-width:38px;font-size:.82rem}.toolbar-right{gap:6px;margin-left:auto;display:flex}.mode-edit-button{font:inherit;border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:500}.mode-edit-button.on{background:var(--terracotta);border-color:var(--terracotta);color:#fff;font-weight:700}.editor-body{flex:1;min-height:0;display:flex}.pattern-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.pattern-scroll{flex:1;place-items:start center;min-height:0;padding:24px;display:grid;overflow:auto}.pattern-scroll canvas{box-shadow:var(--shadow);background:#fff}.canvas-floating-toolbar{z-index:20;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);max-width:min(100vw - 16px,560px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;align-items:stretch;gap:4px;padding:4px;display:flex;position:fixed}.canvas-floating-toolbar.is-collapsed{max-width:none}.canvas-floating-toolbar.is-dragging{cursor:grabbing}.canvas-floating-toolbar__row{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.canvas-floating-toolbar__grip{font:inherit;letter-spacing:-.12em;width:16px;height:28px;color:var(--ink-soft);pointer-events:none;flex-shrink:0;place-items:center;font-size:.7rem;line-height:1;display:inline-grid}.canvas-floating-toolbar button,.canvas-floating-toolbar .chip{cursor:pointer;touch-action:manipulation}.canvas-floating-toolbar .canvas-zoom-controls{z-index:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;flex-shrink:0;gap:3px;padding:0;position:static;top:auto;right:auto}.canvas-floating-toolbar__zoom-value{text-align:center;min-width:2.4rem;color:var(--ink-soft);font-size:.78rem;font-weight:600}.canvas-floating-toolbar .zoom>button:not(.chip){width:28px;height:28px;padding:0}.canvas-floating-toolbar__tools.seg button{align-items:center;gap:4px;padding:5px 8px;font-size:.78rem;display:inline-flex}.canvas-floating-toolbar__tool-icon{flex-shrink:0;display:block}.canvas-floating-toolbar__meta{flex-shrink:0;align-items:center;gap:3px;margin-left:auto;display:flex}.canvas-floating-toolbar__info{font:inherit;border:1px solid var(--line);width:26px;height:26px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:0;font-size:.72rem;font-style:italic;font-weight:700}.canvas-floating-toolbar__info[aria-expanded=true]{border-color:var(--terracotta);color:var(--terracotta-dark)}.canvas-floating-toolbar__collapse,.canvas-floating-toolbar__expand{padding:4px 8px;font-size:.78rem}.canvas-floating-toolbar__shortcuts{border:1px solid var(--line);background:var(--paper);border-radius:7px;margin:0;padding:6px 8px;font-size:.8rem}.canvas-floating-toolbar__shortcuts-title{color:var(--ink);margin:0 0 6px;font-weight:700}.canvas-floating-toolbar__shortcuts ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.canvas-floating-toolbar__shortcuts li{color:var(--ink-soft);align-items:center;gap:10px;display:flex}.canvas-floating-toolbar__shortcuts kbd{border:1px solid var(--line);min-width:4.5rem;font:inherit;text-align:center;color:var(--ink);background:#fff;border-radius:5px;padding:2px 6px;font-size:.75rem;font-weight:700;display:inline-block}.canvas-zoom-controls{align-items:center;gap:8px;display:flex}.canvas-zoom-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-right:2px;font-size:.75rem;font-weight:700}.sidebar{background:var(--paper);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:24px;width:320px;padding:20px 20px 20px 28px;display:flex;position:relative;overflow-y:auto}.sidebar-edge-toggle{z-index:1;border:none;border-right:1px solid var(--line);background:color-mix(in oklch, var(--paper) 88%, var(--line));width:18px;color:var(--ink-soft);cursor:pointer;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;transition:background-color .15s,color .15s;display:flex;position:absolute;top:0;bottom:0;left:0}.sidebar-edge-toggle:hover,.sidebar-edge-toggle:focus-visible{background:color-mix(in oklch, var(--terracotta) 12%, var(--paper));color:var(--ink)}.sidebar-edge-toggle:focus-visible{outline:2px solid var(--terracotta);outline-offset:-2px}.sidebar-edge-toggle__arrow{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:1.05rem;font-weight:700;line-height:1}.sidebar.is-collapsed{align-self:stretch;gap:0;width:18px;min-width:18px;padding:0;overflow:visible}.sidebar.is-collapsed .sidebar-edge-toggle{border-right:none;width:100%}.sidebar-content{flex-direction:column;gap:24px;min-width:0;display:flex}.sidebar h2{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:6px;font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:600}.details{flex-direction:column;gap:4px;font-size:.88rem;display:flex}.details div{justify-content:space-between;display:flex}.details dt{color:var(--ink-soft)}.details dd{font-weight:700}.palette-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.palette-row{transition:transform .14s var(--ease-out-quart), border-color .15s ease, background-color .15s ease;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:5px 6px;display:flex;position:relative}.palette-row.selected{border-color:var(--terracotta);background:color-mix(in oklch, var(--terracotta) 8%, var(--paper))}.palette-row.merging{border-color:var(--sage);background:color-mix(in oklch, var(--sage) 10%, var(--paper))}.palette-row:after,.library-card:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .18s;position:absolute;inset:2px;box-shadow:0 8px 18px #3c301e29}@media (hover:hover) and (pointer:fine){.palette-row:hover,.library-card:hover{transform:translateY(-2px)}.palette-row:hover:after,.library-card:hover:after{opacity:1}}.swatch{cursor:pointer;border:1px solid #2b272459;border-radius:6px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:1rem;display:grid}.palette-meta{flex-direction:column;flex:1;min-width:0;display:flex}.palette-hex{font-size:.8rem;font-weight:700}.palette-thread{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.palette-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.8rem}.palette-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.swatch--empty{background:repeating-linear-gradient(-45deg, color-mix(in oklch, var(--line) 70%, transparent), color-mix(in oklch, var(--line) 70%, transparent) 4px, transparent 4px, transparent 8px);color:var(--ink-soft);font-weight:700}.palette-row--empty{opacity:.9}.palette-add{flex-direction:column;gap:6px;margin-top:8px;display:flex}.palette-add__button{cursor:pointer;width:fit-content}.blank-resize{flex-direction:column;gap:8px;margin-top:10px;display:flex}.blank-resize__fields{margin:0}.color-edit{cursor:pointer;font-size:.85rem;position:relative}.color-edit input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.mini{font:inherit;border:1px solid var(--line);cursor:pointer;width:24px;height:24px;transition:transform .14s var(--ease-out-quart), border-color .15s ease;background:#fff;border-radius:6px;font-size:.8rem}.mini:hover{border-color:var(--sage)}.palette-action{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;transition:transform .14s var(--ease-out-quart), border-color .15s ease, background .15s ease;background:#fff;border-radius:6px;padding:5px 8px;font-size:.72rem;font-weight:600;line-height:1}.palette-action:hover:not(:disabled){border-color:var(--sage);background:var(--paper)}.palette-action:disabled{opacity:.45;cursor:not-allowed}.palette-row.merging .palette-action.is-merging,.palette-action.is-merging{border-color:var(--terracotta);color:var(--terracotta)}.export-section{flex-direction:column;gap:8px;display:flex}.loading-overlay{z-index:50;background:#f6f1e7e0;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-family:Fraunces,Georgia,serif;font-size:1.1rem;font-style:italic;display:flex;position:fixed;inset:0}.spinner{border:4px solid var(--line);border-top-color:var(--terracotta);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.header-spacer{flex:1}.header-account{align-items:center;gap:10px;display:flex}.header-account-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.header-account-menu{display:none}.header-menu-summary{cursor:pointer;list-style:none}.header-menu-summary::-webkit-details-marker{display:none}.header-email{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.85rem;overflow:hidden}@media (width<=900px){.editor-body{flex-direction:column}.sidebar{border-left:none;border-top:1px solid var(--line);width:100%;padding:28px 20px 20px}.sidebar-edge-toggle{border-right:none;border-bottom:1px solid var(--line);width:auto;height:18px;inset:0 0 auto}.sidebar-edge-toggle__arrow{transform:rotate(90deg)}.sidebar.is-collapsed{align-self:auto;width:100%;min-width:0;height:18px}.sidebar.is-collapsed .sidebar-edge-toggle{border-bottom:none;height:100%}.pattern-scroll{max-height:60vh}.editor-body.sidebar-collapsed .pattern-scroll{max-height:none}}@media (width<=640px){.app{overflow-x:clip}.app-header{flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px}.app-header>p{display:none}.app-logo{font-size:1.35rem}.header-spacer{display:none}.header-account{flex-wrap:wrap;justify-content:flex-end;max-width:100%;margin-left:auto}.header-account-bar{display:none}.header-account-menu{display:block;position:relative}.header-account-menu-panel{z-index:40;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-width:min(240px,100vw - 28px);box-shadow:var(--shadow);opacity:1;transition:opacity .18s ease, transform .24s var(--ease-out-quart);flex-direction:column;align-items:stretch;gap:6px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(0)scale(1)}@starting-style{.header-account-menu[open] .header-account-menu-panel{opacity:0;transform:translateY(4px)scale(.98)}}.header-account-menu-panel .chip,.header-account-menu-panel .header-email{text-align:left;justify-content:flex-start;width:100%;max-width:none}.header-email{white-space:normal;text-overflow:unset;overflow:visible}.setup{padding:20px 12px}.setup-card{padding:20px 16px 24px}.field-grid{grid-template-columns:1fr}.field-grid label:nth-child(3),.field-grid label:nth-child(4),.field-grid .field-block{grid-column:span 1}.wizard-summary{grid-template-columns:1fr}.seg{flex-wrap:wrap;max-width:100%}.dropzone{padding:24px 14px}.toolbar{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;gap:8px;padding:8px 12px;overflow-x:auto}.toolbar-right{flex-shrink:0;margin-left:0}.toggles,.seg,.gridline-weight-slider{flex-shrink:0}.chip,.seg button,.mode-edit-button{min-height:36px;padding:8px 12px}.gridline-weight-slider input[type=range]{width:72px;min-height:36px}.canvas-floating-toolbar{gap:4px;max-width:calc(100vw - 16px);padding:4px 6px}.zoom>button:not(.chip),.canvas-floating-toolbar__info{width:36px;height:36px}.canvas-floating-toolbar__tools.seg button{min-height:36px;padding:6px 10px}.pattern-scroll{max-height:min(55vh,420px);padding:12px}.sidebar{gap:18px;padding:26px 12px 20px}.mode-banner,.resume-banner{padding:8px 12px}}.notice{color:#3f6b4a;background:#eaf3ec;border:1px solid #cfe3d4;border-radius:7px;padding:10px 14px;font-size:.9rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.linkish{cursor:pointer;color:var(--terracotta-dark);font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.modal-backdrop{z-index:100;background:#2b272473;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{overscroll-behavior:contain;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:420px;max-height:calc(100dvh - 40px);box-shadow:var(--shadow);opacity:1;transition:opacity .18s ease, transform .24s var(--ease-out-quart);flex-direction:column;gap:12px;padding:28px 30px 26px;display:flex;position:relative;overflow-y:auto;transform:translateY(0)scale(1)}@starting-style{.modal{opacity:0;transform:translateY(4px)scale(.98)}}.modal h2{font-family:Fraunces,Georgia,serif;font-size:1.4rem;font-weight:600}.modal-close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;font-size:1.6rem;line-height:1;position:absolute;top:10px;right:12px}.modal-close:hover{color:var(--ink)}.adjust-color-count-modal{max-width:520px}.auth-tabs{align-self:flex-start}.color-replace-modal{max-width:480px}.color-replace-preview{justify-content:center;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.color-replace-arrow{color:var(--ink-soft);font-size:1.1rem}.color-replace-form{flex-direction:column;gap:12px;display:flex}.color-replace-form label{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.color-replace-form input[type=text],.color-replace-form input[type=search],.color-replace-form input[type=color]{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px}.color-replace-form input[type=color]{cursor:pointer;height:44px;padding:4px}.color-replace-dmc{flex-direction:column;gap:8px;min-width:0;display:flex}.color-replace-dmc label{min-width:0}.color-replace-dmc-list{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:4px;max-height:180px;padding:4px;display:flex;overflow:auto}.color-replace-dmc-option{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.color-replace-dmc-option:hover,.color-replace-dmc-option:focus-visible{border-color:var(--sage);background:var(--paper);outline:none}.color-replace-dmc-option.is-selected{border-color:var(--terracotta);background:color-mix(in srgb, var(--terracotta) 10%, #fff)}.color-replace-dmc-swatch{border:1px solid #2b272447;border-radius:5px;flex-shrink:0;width:22px;height:22px}.color-replace-dmc-meta{flex-direction:column;gap:1px;min-width:0;display:flex}.color-replace-dmc-code{font-size:.82rem;font-weight:700}.color-replace-dmc-name{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.color-replace-dmc-empty,.color-replace-dmc-selected{color:var(--ink-soft);margin:0;font-size:.8rem}.color-replace-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form label,.project-name-field{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.auth-form input,.auth-form select,.auth-form textarea,.project-name-field input{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus,.project-name-field input:focus{outline:2px solid var(--terracotta);outline-offset:0}.auth-form textarea{resize:vertical;min-height:110px}.auth-switch{color:var(--ink-soft);font-size:.85rem}.auth-forgot{text-align:right;margin:-4px 0 0;font-size:.85rem}.bug-report-fab{z-index:90;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:var(--shadow);font:inherit;cursor:pointer;transition:transform .14s var(--ease-out-quart), border-color .15s ease, color .15s ease;border-radius:999px;padding:10px 14px;font-size:.9rem;position:fixed;bottom:18px;right:18px}.bug-report-fab:hover{border-color:var(--terracotta);color:var(--terracotta-dark)}.bug-report-modal{max-width:480px}.bug-report-counter{color:var(--ink-soft);align-self:flex-end;font-size:.75rem}.bug-report-preview{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.bug-report-preview img{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:8px;max-width:100%;max-height:180px}.bug-report-actions{flex-wrap:wrap;gap:10px;display:flex}.cloud-save{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);flex-direction:column;gap:6px;padding:12px 0;display:flex}.cloud-pitch{font-size:.78rem}.project-name-field{margin-bottom:4px}.library{flex-direction:column;flex:1;gap:18px;padding:28px 32px;display:flex;overflow-y:auto}.library-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.library-head-copy{min-width:0}.library-head h2{font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:600}.library-filters{flex-wrap:wrap;align-self:flex-start}.library-empty{text-align:center;max-width:460px;color:var(--ink-soft);flex-direction:column;align-items:center;gap:10px;margin:40px auto;display:flex}.library-empty .dz-icon{color:var(--terracotta);font-size:2.4rem}.library-empty h3{color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:1.2rem}.library-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));align-items:start;gap:18px;padding:0;list-style:none;display:grid}.library-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .14s var(--ease-out-quart), border-color .15s ease;gap:14px;padding:14px;display:flex;position:relative}.library-card.current{border-color:var(--terracotta)}.library-card.archived{opacity:.72}.library-thumb{border:1px solid var(--line);background:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:104px;height:104px;display:grid;overflow:hidden}.library-thumb img{object-fit:contain;width:100%;height:100%}.library-thumb-fallback{color:var(--line);font-size:2rem}.library-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.library-type{min-width:0;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:.67rem;font-weight:700;line-height:1.1;display:flex}.library-type-mark{background:var(--sage);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.library-type.type-external_pdf .library-type-mark{background:var(--terracotta)}.library-name{white-space:nowrap;text-overflow:ellipsis;font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:600;overflow:hidden}.current-dot{color:var(--terracotta);vertical-align:middle;margin-right:5px;font-size:.7rem}.library-rename{align-items:center;gap:6px;display:flex}.library-rename input{font:inherit;border:1px solid var(--line);border-radius:6px;flex:1;min-width:0;padding:6px 8px}.library-status-row{align-items:center;gap:8px;min-width:0;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:.7rem;font-weight:700}.status-not_started{color:var(--ink-soft);background:#efe9dd}.status-in_progress{color:#97701e;background:#fbf0dd}.status-completed{color:#3f6b4a;background:#e7f1e9}.status-archived{color:var(--ink-soft);background:#ece7e2}.library-progress{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.76rem;overflow:hidden}.library-progress-bar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.library-progress-bar span{background:var(--sage);height:100%;display:block}.library-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:4px 0;font-size:.78rem;display:grid}.library-meta div{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px;min-width:0;display:grid}.library-meta dt{min-width:0;color:var(--ink-soft);white-space:nowrap}.library-meta dd{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.library-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin-top:auto;display:grid}.library-actions button,.library-status-select{width:100%;min-width:0}.library-actions .primary,.library-actions .ghost{padding:8px 10px;font-size:.82rem}.library-status-select select{width:100%;font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:7px 8px;font-size:.8rem}.library-nofilter{padding:20px}@media (width<=760px){.library{gap:14px;padding:22px 16px 32px}.library-head{flex-direction:column}.library-head-actions{width:100%}.library-head-actions>button{flex:1}.library-grid{grid-template-columns:minmax(0,1fr)}.library-card{width:100%}}.mode-seg button.on{background:var(--terracotta);border-color:var(--terracotta)}.mode-seg button.on:not(:last-child){border-right-color:var(--terracotta)}.mode-banner{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 20px;font-size:.85rem;font-weight:600;display:flex}.mode-banner.mode-mark_complete{color:#3f6b4a;background:#eef3ea}.mode-banner.mode-erase_complete{color:var(--terracotta-dark);background:#fbeae6}.mode-banner.mode-edit_pattern{color:#3a4a63;background:#eef1f6}.paint-color-chip{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font:inherit;color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:4px 10px 4px 8px;font-size:.82rem;font-weight:600;display:inline-flex}.paint-color-chip:hover,.paint-color-chip:focus-visible{border-color:var(--ink-soft)}.paint-color-chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.paint-color-chip__label{color:var(--ink-soft);font-weight:500}.paint-color-chip__swatch{border:1px solid #2b272459;border-radius:4px;flex-shrink:0;width:18px;height:18px}.paint-color-chip__swatch.is-empty{background:repeating-linear-gradient(-45deg, color-mix(in oklch, var(--line) 70%, transparent), color-mix(in oklch, var(--line) 70%, transparent) 3px, transparent 3px, transparent 6px)}.completion-color-hint{color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:400;line-height:1.35}.resume-banner{color:#3a4a63;border-bottom:1px solid var(--line);background:#eef1f6;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 20px;font-size:.85rem;font-weight:600;display:flex}.resume-text{flex:1;min-width:160px}.resume-actions{gap:6px;display:flex}.canvas-wrap .cell-highlight{pointer-events:none;box-sizing:border-box;z-index:2;border-radius:3px;animation:1.6s ease-out forwards cell-pulse;position:absolute}@keyframes cell-pulse{0%{outline:2px solid #c1442ef2;transform:scale(1);box-shadow:0 0 #c1442e00,0 0 0 2px #c1442ef2}15%{outline:2px solid #c1442ef2;transform:scale(1.06);box-shadow:0 0 0 6px #c1442e59,0 0 0 2px #c1442ef2}70%{outline:2px solid #c1442ecc;box-shadow:0 0 0 3px #c1442e2e,0 0 0 2px #c1442ecc}to{outline:2px solid #c1442e00;transform:scale(1);box-shadow:0 0 #c1442e00,0 0 #c1442e00}}@media (prefers-reduced-motion:reduce){.canvas-wrap .cell-highlight{animation:1.6s ease-out forwards cell-fade}@keyframes cell-fade{0%,70%{outline:2px solid #c1442ef2}to{outline:2px solid #c1442e00}}}.progress-section .progress-stat{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.progress-pct{color:var(--sage);font-variant-numeric:tabular-nums;font-family:Fraunces,Georgia,serif;font-size:1.7rem;font-weight:700;line-height:1}.progress-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.82rem}.progress-tools{flex-direction:column;gap:10px;margin-top:12px;display:flex}.progress-buttons{flex-wrap:wrap;gap:6px;display:flex}.chip.danger{color:var(--terracotta-dark)}.chip.danger:not(:disabled):hover{border-color:var(--terracotta);background:#fbeae6}.hint.unsaved{color:var(--terracotta-dark);font-weight:600}.overlay-color{flex-direction:column;gap:6px;display:flex}.overlay-color-label{color:var(--ink-soft);font-size:.82rem;font-weight:500}.overlay-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.overlay-swatch{cursor:pointer;border:2px solid var(--line);border-radius:6px;width:24px;height:24px;padding:0;box-shadow:inset 0 0 0 1px #fff6}.overlay-swatch.on{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--paper)}.overlay-swatch.custom{place-items:center;display:grid;position:relative;overflow:hidden}.overlay-swatch.custom:after{content:"+";color:#fff;text-shadow:0 0 2px #00000080;pointer-events:none;font-size:.9rem;font-weight:700}.overlay-swatch.custom input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.completion-style{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 0 2px;display:flex}.completion-style-hint{color:var(--ink-soft);margin:0;font-size:.75rem;font-weight:400;line-height:1.35}.completion-recalc-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.completion-drift-hint{color:var(--terracotta-dark);font-size:.75rem;font-weight:600}.completion-opacity{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;display:grid}.completion-opacity .overlay-color-label{grid-column:1/-1}.completion-opacity input[type=range]{width:100%;accent-color:var(--sage)}.completion-opacity-value{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;min-width:2.5em;font-size:.78rem}.library-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.library-continue{text-align:left;max-width:100%;margin-bottom:8px}.library-filter-rows{flex-direction:column;gap:8px;display:flex}.library-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}@media (prefers-reduced-motion:reduce){.wizard-dot,button.primary,button.ghost,.chip,.seg button,.mini,.bug-report-fab,.palette-row,.palette-row:after,.library-card,.library-card:after,.modal,.header-account-menu-panel,.coach-mark,.getting-started__check,.getting-started__label{transition:none;animation:none}.editor-scroll-chrome{transition:none}button.primary:active,button.ghost:active,.chip:active,.seg button:active,.mini:active,.bug-report-fab:active,.palette-row:hover,.library-card:hover{transform:none}.coach-mark,.coach-mark[data-mounted]{opacity:1;transform:none}}.editor-modes-cluster{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.coach-mark{z-index:80;border-radius:var(--radius);background:var(--paper);width:min(280px,100vw - 24px);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;transition:opacity .18s var(--ease-out-quart), transform .18s var(--ease-out-quart);padding:12px 14px;position:fixed;transform:scale(.96)}.coach-mark[data-mounted]{opacity:1;transform:scale(1)}@starting-style{.coach-mark[data-mounted]{opacity:0;transform:scale(.96)}}.coach-mark__header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.coach-mark__title{font-family:Fraunces,Georgia,serif;font-size:1rem;font-weight:600;line-height:1.25}.coach-mark__step{color:var(--ink-soft);flex-shrink:0;font-size:.75rem}.coach-mark__body{color:var(--ink-soft);margin-bottom:10px;font-size:.9rem}.coach-mark__body p{margin:0}.coach-mark__actions{justify-content:flex-end;display:flex}.getting-started{border-radius:var(--radius);border:1px solid var(--line);background:color-mix(in oklch, var(--sage) 8%, var(--paper));margin-bottom:14px;padding:12px}.getting-started__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.getting-started__head h2{margin:0;font-size:.95rem}.getting-started__lede{margin-bottom:8px}.getting-started__list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.getting-started__list li{align-items:center;gap:8px;font-size:.9rem;display:flex}.getting-started__check{border:1px solid var(--line);background:var(--paper);width:1.15rem;height:1.15rem;color:var(--sage);transition:background .15s var(--ease-out-quart), border-color .15s var(--ease-out-quart);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.getting-started__list li.is-done .getting-started__check{background:color-mix(in oklch, var(--sage) 22%, var(--paper));border-color:var(--sage)}.getting-started__label{transition:opacity .15s var(--ease-out-quart)}.getting-started__list li.is-done .getting-started__label{opacity:.65;text-decoration:line-through}.getting-started__meta{color:var(--ink-soft);margin:0;font-size:.78rem}.getting-started__help{margin-top:6px;font-size:.85rem}.canvas-floating-toolbar__pointers{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.canvas-floating-toolbar__pointers li{flex-direction:column;gap:1px;font-size:.8rem;display:flex}.canvas-floating-toolbar__pointers strong{color:var(--ink);font-weight:600}.canvas-floating-toolbar__pointers span{color:var(--ink-soft)}.canvas-floating-toolbar__replay{justify-content:center;width:100%}.upload-pdf-modal{max-width:560px}.pdf-disclaimer{font-size:.8rem}.pdf-import-mode{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pdf-import-mode-card{text-align:left;font:inherit;border:1px solid var(--line);background:var(--linen);color:var(--ink);cursor:pointer;border-radius:9px;flex-direction:column;gap:5px;padding:13px;display:flex}.pdf-import-mode-card:hover{border-color:var(--terracotta)}.pdf-import-mode-card.on{border:2px solid var(--terracotta);background:#fbf4ea;padding:12px}.pdf-import-mode-card:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.pdf-import-mode-title{font-weight:700}.pdf-import-mode-copy{color:var(--ink-soft);font-size:.78rem;line-height:1.35}.upload-pdf-form{flex-direction:column;gap:12px;display:flex}.upload-pdf-form label{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:.82rem;display:flex}.upload-pdf-form input,.upload-pdf-form select,.upload-pdf-form textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:9px 11px}.upload-pdf-form input:focus,.upload-pdf-form select:focus,.upload-pdf-form textarea:focus{outline:2px solid var(--terracotta);outline-offset:0}.upload-pdf-form .field-row{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.upload-pdf-form .field-row:has(>label:nth-child(2):last-child){grid-template-columns:1fr 1fr}.upload-pdf-form .opt{opacity:.7;font-weight:400}.upload-file-field input[type=file]{background:var(--linen);padding:8px}.upload-pdf-actions{align-items:center;gap:8px;display:flex}.pdf-viewer{flex-direction:column;flex:1;min-height:0;display:flex}.pdf-toolbar{border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.pdf-title{text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-family:Fraunces,Georgia,serif;font-size:1.05rem;overflow:hidden}.pdf-pager,.pdf-zoom{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:inline-flex}.pdf-pager button,.pdf-zoom button:not(.chip){border:1px solid var(--line);cursor:pointer;width:30px;height:30px;color:var(--ink);background:#fff;border-radius:7px;font-size:1.1rem;line-height:1}.pdf-pager button:disabled{opacity:.4;cursor:not-allowed}.pdf-toolbar .toolbar-right{align-items:center;gap:12px;margin-left:auto;display:inline-flex}.pdf-body{flex:1;min-height:0;display:flex}.pdf-scroll{background:#efe9dd;flex:1;justify-content:center;align-items:flex-start;padding:16px;display:flex;overflow:auto}.pdf-page-wrap{box-shadow:var(--shadow);background:#fff;position:relative}.pdf-canvas{display:block}.pdf-overlay{position:absolute;inset:0}.pdf-overlay.marking{cursor:crosshair}.pdf-region{box-sizing:border-box;background:#c1442e47;border:1.5px solid #c1442ed9;position:absolute}.pdf-region.preview{pointer-events:none;background:#c1442e2e;border-style:dashed}.pdf-region-del{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.9rem;line-height:1;display:flex;position:absolute;top:-10px;right:-10px}.pdf-region-del:hover{background:var(--terracotta-dark)}.pdf-sidebar{width:300px}.pdf-manual-field{color:var(--ink-soft);flex-direction:column;gap:4px;margin-top:8px;font-size:.82rem;display:flex}.pdf-manual-field input{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.pdf-filename{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.pdf-notes{white-space:pre-wrap}.linkish{color:var(--terracotta-dark);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}@media (width<=860px){.pdf-body{flex-direction:column}.pdf-sidebar{width:100%}.upload-pdf-form .field-row,.pdf-import-mode{grid-template-columns:1fr}}.pdf-conversion{flex-direction:column;flex:1;gap:16px;width:min(1400px,100%);margin:0 auto;padding:24px 28px 40px;display:flex}.pdf-conversion-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.pdf-conversion-head h2{margin-top:4px;font-family:Fraunces,Georgia,serif;font-size:1.55rem}.pdf-conversion-head .ghost{margin-bottom:10px}.pdf-conversion-page{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:10px;display:flex}.pdf-conversion-page .ghost{margin:0;padding:5px 12px;font-size:1.2rem}.pdf-conversion-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-height:420px;display:grid}.panel-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.panel-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.panel-card h3{font-family:Fraunces,Georgia,serif;font-size:1.08rem}.pdf-conversion-source .primary{align-self:flex-start}.pdf-source-frame{background:#efe9dd;border-radius:8px;flex:1;place-items:start center;min-height:310px;padding:8px;display:grid;overflow:auto}.pdf-source-canvas-wrap{max-width:100%;line-height:0;display:inline-block;position:relative}.pdf-source-frame canvas{max-width:100%;height:auto;box-shadow:var(--shadow);background:#fff;display:block}.pdf-source-grid-overlay{border:2px solid var(--terracotta);pointer-events:none;position:absolute;box-shadow:0 0 0 9999px #2b27241f}.pdf-source-grid-overlay span{color:#fff;background:var(--terracotta);white-space:nowrap;padding:3px 6px;font:700 .72rem/1.2 system-ui,sans-serif;position:absolute;top:0;left:0;transform:translateY(-100%)}.pdf-source-cell-overlay{background:#f4b94238;border:2px solid #f4b942;display:block;position:absolute;box-shadow:0 0 0 1px #2b27248c}.conversion-empty{text-align:center;color:var(--ink-soft);flex:1;align-content:center;place-items:center;gap:10px;display:grid}.conversion-empty .dz-icon{font-size:2.4rem}.confidence{color:#3f6b4a;background:#e7f1e9;border-radius:999px;padding:3px 8px;font-size:.78rem;font-weight:700}.confidence.low{color:#97701e;background:#fbf0dd}.conversion-grid-meta{color:var(--ink-soft);text-align:center;font-variant-numeric:tabular-nums;margin:0;font-size:.78rem}.conversion-grid{background:var(--ink-soft);border:1px solid var(--ink-soft);gap:1px;width:min(100%,560px);margin:auto;display:grid}.conversion-cell-wrap{cursor:pointer;min-width:0;min-height:0;position:relative}.conversion-cell{border:0;border-radius:0;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff2b}.conversion-cell:hover{box-shadow:inset 0 0 0 2px var(--ink);z-index:1}.conversion-cell.unresolved{outline:2px solid var(--terracotta);outline-offset:-2px;background-image:repeating-linear-gradient(135deg,#ffffff59 0 4px,#0000 4px 8px)}.conversion-cell span{color:var(--terracotta-dark);font-size:clamp(.48rem,1.1vw,.8rem);font-weight:700;line-height:1;overflow:hidden}.conversion-cell-wrap.selected .conversion-cell,.conversion-cell-wrap:focus .conversion-cell{outline:2px solid var(--ink);outline-offset:-2px;z-index:2}.conversion-cell-editor{color:var(--ink-soft);justify-content:center;align-items:center;gap:8px;font-size:.82rem;display:flex}.conversion-cell-editor select{border:1px solid var(--line);max-width:min(320px,70%);color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:6px 8px}.conversion-grid-help{text-align:center}.pdf-conversion-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.conversion-fields{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.conversion-canvas-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.conversion-fields label{text-transform:capitalize;color:var(--ink-soft);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.conversion-fields input{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;padding:7px 8px}.margin-selector{min-width:0}.margin-selector .seg{width:100%}.margin-selector .seg button{flex:1;padding-left:6px;padding-right:6px}.margin-selector>input{width:100%}.mapping-state{color:var(--ink-soft);margin-left:auto;font-size:.8rem}.conversion-dimensions{grid-template-columns:1fr 1fr;margin-top:2px}.conversion-palette{flex-direction:column;gap:7px;max-height:220px;padding:0;list-style:none;display:flex;overflow:auto}.conversion-palette li{border-radius:7px;align-items:center;gap:9px;min-height:34px;padding:4px 6px;display:flex}.conversion-palette li.unresolved-row{background:#fbeae6}.conversion-palette .swatch{cursor:pointer;place-items:center;width:27px;height:27px;font-weight:700;display:grid}.conversion-palette .color-edit{display:block;position:relative}.conversion-palette .color-edit input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.conversion-palette .color-edit:focus-within .swatch{outline:2px solid var(--ink);outline-offset:2px}.mapping-check{color:var(--ink-soft);align-items:center;gap:5px;margin-left:auto;font-size:.8rem;display:flex}.mapping-check input{accent-color:var(--sage)}.pdf-conversion-footer{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.conversion-issues{min-width:0;font-size:.88rem}.conversion-issues ul{color:var(--ink-soft);margin:6px 0 0 18px}.conversion-issues strong{color:var(--ink)}.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}.multipage-progress{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.multipage-progress span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px}.multipage-progress span.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.multipage-status{align-items:flex-start}.multipage-status-body{align-items:center;gap:14px;display:flex}.multipage-spinner{border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;flex:none;width:28px;height:28px;animation:.7s linear infinite multipage-spin}@keyframes multipage-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.multipage-spinner{border-top-color:var(--line);animation:none}}.multipage-summary{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);align-items:end;gap:18px;display:grid}.multipage-summary-copy h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.2rem}.multipage-size-row{grid-template-columns:1fr auto 1fr 1fr;align-items:end;gap:8px;display:grid}.multipage-size-row label{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:.78rem;display:flex}.multipage-size-row input{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.multipage-size-x{color:var(--ink-soft);text-align:center;padding-bottom:10px}.multipage-layout-board{gap:14px}.multipage-layout-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.multipage-layout-toolbar h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.08rem}.multipage-preset-row{flex-wrap:wrap;gap:8px;display:flex}.multipage-map-shell{grid-template-columns:minmax(0,1.35fr) minmax(220px,.85fr);align-items:start;gap:16px;display:grid}.multipage-map{border:1px solid var(--line);background:linear-gradient(#efe9dd,#efe9dd) padding-box padding-box,repeating-linear-gradient(90deg,#0000000a 0 1px,#0000 1px 24px),repeating-linear-gradient(0deg,#0000000a 0 1px,#0000 1px 24px);border-radius:12px;width:100%;max-width:720px;min-height:280px;margin:0 auto;position:relative;overflow:hidden}.multipage-map-tile{cursor:pointer;color:inherit;background:#fff;border:1px solid #28201859;margin:0;padding:0;display:block;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #fff6}.multipage-map-tile img,.multipage-map-detail-preview img{object-fit:cover;width:100%;height:100%;display:block}.multipage-map-tile.selected{outline:2px solid var(--ink);outline-offset:-2px;z-index:2}.multipage-map-label{text-align:left;background:#ffffffe0;border-radius:7px;flex-direction:column;gap:1px;padding:5px 7px;font-size:.72rem;line-height:1.2;display:flex;position:absolute;bottom:6px;left:6px;right:6px}.multipage-map-label strong{font-size:.8rem}.multipage-map-fallback{width:100%;height:100%;color:var(--ink-soft);background:#f4f1ea;place-items:center;font-size:.85rem;font-weight:600;display:grid}.multipage-map-fallback.large{border-radius:8px;min-height:160px}.multipage-map-detail{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.multipage-map-detail-preview{background:#efe9dd;border-radius:8px;min-height:160px;overflow:hidden}.multipage-map-detail h4{margin:0;font-family:Fraunces,Georgia,serif}.multipage-map-detail-actions,.multipage-removed-row{flex-wrap:wrap;gap:8px;display:flex}.multipage-section-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.multipage-section-fields>label{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:.78rem;display:flex}.multipage-section-fields input{width:72px;font:inherit;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 8px}.multipage-range{align-items:center;gap:4px;display:flex}.multipage-other-pages{gap:10px}.multipage-disclosure{align-self:flex-start;margin:0}.multipage-other-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.multipage-other-list li{grid-template-columns:72px minmax(120px,160px) 1fr;align-items:center;gap:10px;display:grid}.multipage-other-list select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 8px}.multipage-callout{color:#3f6b4a;background:#eaf3ec;border:1px solid #cfe3d4;border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;font-size:.9rem;display:flex}.multipage-callout.errorish{color:var(--terracotta-dark);background:#fbeae6;border-color:#efc4bb}.multipage-callout p{margin:0}.multipage-check{align-items:flex-start;gap:8px;margin-top:4px;display:flex}.multipage-footer{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);z-index:3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;bottom:12px}.multipage-footer-actions{flex-wrap:wrap;gap:10px;margin-left:auto;display:flex}.multipage-sheet{z-index:40;background:#2820186b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.multipage-sheet-card{width:min(720px,100%);max-height:min(90vh,900px);overflow:auto;box-shadow:0 18px 50px #28201847}.multipage-calibrate-frame{max-width:100%;min-height:220px;margin:0}.multipage-review-hero{gap:12px}.multipage-status-pills{flex-wrap:wrap;gap:8px;display:flex}.multipage-status-pills .pill{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:4px 10px;font-size:.78rem}.multipage-status-pills .pill.good{color:#3f6b4a;background:#eaf3ec;border-color:#cfe3d4}.multipage-status-pills .pill.warn{color:var(--terracotta-dark);background:#fbeae6;border-color:#efc4bb}.multipage-status-pills .pill.quiet{background:#f4f1ea}.multipage-assembly-grid{max-width:min(100%,720px);margin:0 auto}.multipage-assembly-grid .conversion-cell{min-height:0;box-shadow:none}.multipage-assembly-grid .missing-cell{background-image:repeating-linear-gradient(135deg,#00000014 0 3px,#0000 3px 6px)}.multipage-assembly-grid .conflict-cell{outline:1px solid var(--terracotta);outline-offset:-1px}.multipage-assembly-grid .boundary-cell{box-shadow:inset 0 0 0 1px #00000047}.multipage-review-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;display:grid}.multipage-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}@media (width<=860px){.pdf-conversion{padding:18px 16px 32px}.pdf-conversion-head{flex-direction:column}.pdf-conversion-workspace,.pdf-conversion-controls{grid-template-columns:1fr}.pdf-conversion-footer{flex-direction:column}.multipage-summary,.multipage-review-grid,.multipage-map-shell{grid-template-columns:1fr}.multipage-size-row{grid-template-columns:1fr 1fr}.multipage-size-x{display:none}.conversion-canvas-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.margin-selector{grid-column:span 2}.multipage-other-list li{grid-template-columns:1fr}.multipage-footer{position:static}}@keyframes pdf-region-pulse{0%{box-shadow:0 0 #c1442e8c}70%{box-shadow:0 0 0 16px #c1442e00}to{box-shadow:0 0 #c1442e00}}.pdf-region.emphasis{z-index:2;background:#c1442e6b;border-width:2.5px;border-color:#c1442e;animation:.9s ease-out 2 pdf-region-pulse}@media (prefers-reduced-motion:reduce){.pdf-region.emphasis{animation:none;box-shadow:0 0 0 4px #c1442e80}}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.28s;animation-timing-function:var(--spring-out)}::view-transition-new(root){animation-duration:.28s;animation-timing-function:var(--spring-out)}::view-transition-old(root){animation-name:canvas-root-out}::view-transition-new(root){animation-name:canvas-root-in}::view-transition-group(canvas-stage){animation-duration:.28s;animation-timing-function:var(--spring-out)}::view-transition-old(canvas-stage){animation-duration:.28s;animation-timing-function:var(--spring-out)}::view-transition-new(canvas-stage){animation-duration:.28s;animation-timing-function:var(--spring-out)}::view-transition-group(app-logo){animation-duration:.18s;animation-timing-function:var(--ease-out-quart)}@keyframes canvas-root-out{to{opacity:0;transform:translateY(-8px)}}@keyframes canvas-root-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){::view-transition-group(root){animation:none!important}::view-transition-image-pair(root){animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}::view-transition-group(canvas-stage){animation:none!important}::view-transition-image-pair(canvas-stage){animation:none!important}::view-transition-old(canvas-stage){animation:none!important}::view-transition-new(canvas-stage){animation:none!important}::view-transition-group(app-logo){animation:none!important}::view-transition-image-pair(app-logo){animation:none!important}::view-transition-old(app-logo){animation:none!important}::view-transition-new(app-logo){animation:none!important}}
