:root{--bg: #f4ecdd;--paper: #fbf6ec;--paper-2: #f0e6d2;--ink: #221e18;--ink-2: #5b5246;--ink-3: #8b8275;--rule: #e3d6bd;--rule-soft: #ebe1cd;--primary: #c46d4a;--primary-deep: #9d4f30;--primary-soft: #f7e3d4;--accent: #5e8364;--accent-deep: #3f6149;--accent-soft: #e1ecdc;--warn: #b54a3a;--shadow-1: 0 1px 2px rgba(34, 30, 24, .04), 0 8px 24px -16px rgba(34, 30, 24, .18);--shadow-2: 0 2px 6px rgba(34, 30, 24, .06), 0 18px 44px -24px rgba(34, 30, 24, .22);--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--serif: "Source Serif 4", "Noto Serif SC", "Songti SC", "SimSun", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--container: 1240px;color-scheme:light}[data-palette=oat-sage]{--bg: #ece6d8;--paper: #f7f2e6;--paper-2: #e2dac6;--ink: #1f211a;--ink-2: #514f43;--ink-3: #837e6e;--rule: #d6cdb3;--rule-soft: #dfd6be;--primary: #6f8865;--primary-deep: #4d6446;--primary-soft: #dfe6d3;--accent: #b97a4e;--accent-deep: #8a5733;--accent-soft: #efddc8}[data-palette=dusk-rose]{--bg: #f2e6dc;--paper: #fbf2eb;--paper-2: #ecdcce;--ink: #261c1d;--ink-2: #5a4347;--ink-3: #8a7479;--rule: #e6cfc1;--rule-soft: #ecd7c9;--primary: #b9596f;--primary-deep: #8c3a51;--primary-soft: #f3d9df;--accent: #7b6086;--accent-deep: #57426a;--accent-soft: #e4dbe9}[data-type=serif-h]{--h-family: var(--serif);--h-weight: 500;--h-spacing: -.012em;--h-line: 1.05}[data-type=all-sans]{--h-family: var(--sans);--h-weight: 600;--h-spacing: -.02em;--h-line: 1.06}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:15px;line-height:1.55;font-feature-settings:"ss01","cv11"}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--h-family);font-weight:var(--h-weight);letter-spacing:var(--h-spacing);line-height:var(--h-line);margin:0;color:var(--ink)}h1{font-size:clamp(40px,5.4vw,64px)}h2{font-size:clamp(28px,3.4vw,40px)}h3{font-size:clamp(20px,2vw,24px)}p{margin:0}.container{max-width:var(--container);margin:0 auto;padding:0 32px}.page-pad{padding:48px 32px 96px}.page-head{max-width:760px;margin:0 0 40px}.page-head .eyebrow,.page-head h1{margin-bottom:14px}.page-head p{color:var(--ink-2);font-size:16.5px;line-height:1.6}.how-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.note{color:var(--ink-3);font-size:13px;line-height:1.5}.step-shell{display:contents}.upload-form-card,.confirm-side{display:grid;gap:16px;align-content:start}.center{text-align:center}.form-error{color:var(--warn);font-size:13px}.gen-actions,.next-section{margin-top:28px}.mail-art{width:88px;height:88px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(150deg,var(--paper),var(--paper-2));color:var(--primary-deep);box-shadow:0 14px 36px -10px color-mix(in oklab,var(--primary) 40%,transparent),0 1px #ffffffb3 inset;position:relative}.mail-art svg:first-child{width:38px;height:38px;stroke-width:1.6}.mail-art svg:last-child{position:absolute;width:16px;height:16px;transform:translate(24px,-22px);color:color-mix(in oklab,var(--primary) 70%,var(--ink-2))}.app-header{position:sticky;top:0;z-index:30;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--rule-soft)}.app-header .inner{height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.brand .mark{width:32px;height:32px;border-radius:var(--r-md);background:var(--primary);display:grid;place-items:center;color:#fff}.brand .mark svg{width:18px;height:18px}.brand .name{font-family:var(--h-family);font-weight:var(--h-weight);font-size:17px;letter-spacing:-.005em}.brand .name em{font-style:normal;color:var(--ink-3);margin-left:6px;font-family:var(--sans);font-weight:400;font-size:13px}.nav{display:flex;align-items:center;gap:28px}.nav a{font-size:14px;color:var(--ink-2);font-weight:500}.nav a:hover{color:var(--ink)}.nav .session{font-size:13px;color:var(--ink-3)}.nav .session b{color:var(--ink);font-weight:500}.credit-badge{display:inline-flex;align-items:center;font-size:12px;padding:4px 10px;border-radius:999px;background:color-mix(in oklab,var(--primary) 14%,var(--paper));color:var(--primary-deep);border:1px solid color-mix(in oklab,var(--primary) 30%,var(--rule));letter-spacing:.02em;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;height:44px;padding:0 22px;border-radius:var(--r-pill);transition:transform .15s ease,background .15s ease,box-shadow .15s ease,color .15s ease;color:var(--ink);background:transparent;text-decoration:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 1px #fff3 inset,0 6px 18px -10px var(--primary-deep)}.btn--primary:hover{background:var(--primary-deep);transform:translateY(-1px)}.btn--primary:disabled{background:var(--ink-3);cursor:not-allowed;transform:none;opacity:.6}.btn--ghost{background:var(--paper);border:1px solid var(--rule);color:var(--ink)}.btn--ghost:hover{background:var(--paper-2)}.btn--quiet{background:transparent;color:var(--ink-2)}.btn--quiet:hover{color:var(--ink)}.btn--sm{height:36px;padding:0 16px;font-size:13px}.btn--lg{height:52px;padding:0 28px;font-size:15px}.btn--block{width:100%}.btn svg{width:16px;height:16px}.btn--lg svg{width:18px;height:18px}.card{background:var(--paper);border:1px solid var(--rule-soft);border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-1)}.card--soft{background:var(--paper);border:1px solid var(--rule-soft);border-radius:var(--r-md);padding:18px;box-shadow:none}.card--accent{background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent)}.card--primary{background:var(--primary-soft);border:1px solid color-mix(in oklab,var(--primary) 30%,transparent)}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.label{font-size:13px;font-weight:500;color:var(--ink-2)}.hint{font-size:13px;color:var(--ink-3);line-height:1.55}.text-muted{color:var(--ink-3)}.text-soft{color:var(--ink-2)}.field{display:grid;gap:8px}.field input,.field textarea,.field select{width:100%;background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:12px 14px;font-family:inherit;font-size:14px;color:var(--ink);outline:none;transition:border .15s ease,box-shadow .15s ease}.field textarea{min-height:96px;resize:vertical;line-height:1.55}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklab,var(--primary) 16%,transparent)}.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 8l3-3.5' stroke='%235b5246' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.stepper{display:flex;align-items:center;gap:8px}.stepper .step{display:inline-flex;align-items:center;gap:8px;color:var(--ink-3);font-size:13px;font-weight:500}.stepper .dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--ink-3);font-size:11px;font-family:var(--mono);font-weight:500;border:1px solid var(--rule)}.stepper .step.is-active .dot{background:var(--primary);color:#fff;border-color:var(--primary)}.stepper .step.is-active{color:var(--ink)}.stepper .step.is-done .dot{background:var(--accent);color:#fff;border-color:var(--accent)}.stepper .step.is-done{color:var(--ink-2)}.stepper .bar{height:1px;flex:1;background:var(--rule);min-width:16px}.stepper .bar.is-done{background:color-mix(in oklab,var(--accent) 65%,var(--rule))}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--r-pill);font-size:12.5px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule-soft)}.chip--primary{background:var(--primary-soft);color:var(--primary-deep);border-color:color-mix(in oklab,var(--primary) 24%,transparent)}.chip--accent{background:var(--accent-soft);color:var(--accent-deep);border-color:color-mix(in oklab,var(--accent) 24%,transparent)}.grid{display:grid}.row{display:flex}.col{display:flex;flex-direction:column}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-32{gap:32px}.items-center{align-items:center}.between{justify-content:space-between}.hero{padding:72px 0 80px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}.hero .eyebrow{margin-bottom:18px;display:inline-flex;align-items:center;gap:10px}.hero .eyebrow:before{content:"";width:16px;height:1px;background:var(--ink-3)}.hero h1 .clay{color:var(--primary-deep)}.hero p.lede{margin-top:22px;font-size:clamp(16px,1.4vw,19px);color:var(--ink-2);max-width:480px;line-height:1.6}.hero .cta-row{display:flex;gap:14px;margin-top:36px;align-items:center}.hero .cta-row .note{font-size:13px;color:var(--ink-3);line-height:1.5}.hero-stage{position:relative;aspect-ratio:1 / 1;border-radius:var(--r-xl);background:radial-gradient(120% 80% at 30% 30%,color-mix(in oklab,var(--primary) 14%,var(--paper)),var(--paper) 60%),var(--paper);border:1px solid var(--rule);overflow:hidden;box-shadow:var(--shadow-2)}.hero-stage .frame-rule{position:absolute;inset:16px;border:1px dashed color-mix(in oklab,var(--ink-3) 50%,transparent);border-radius:calc(var(--r-xl) - 8px);pointer-events:none}.hero-stage .pet-image{position:absolute;bottom:8%;left:50%;width:384px;height:416px;background-image:url(/assets/hero-greet-sprite-B-aNAa5a.webp);background-repeat:no-repeat;background-size:1536px 416px;background-position:0 0;image-rendering:-webkit-optimize-contrast;transform:translate(-50%);transform-origin:bottom center;filter:drop-shadow(0 22px 30px rgba(34,30,24,.18));animation:hero-greet-loop 4.8s infinite;animation-timing-function:steps(1,end)}@keyframes hero-greet-loop{0%,12.4%{background-position-x:0}12.5%,24.9%{background-position-x:-384px}25%,37.4%{background-position-x:-768px}37.5%,62.4%{background-position-x:-1152px}62.5%,74.9%{background-position-x:-768px}75%,87.4%{background-position-x:-384px}87.5%,to{background-position-x:0}}@keyframes pet-breathe{0%,to{transform:translate(-50%) translateY(0) scale(1)}50%{transform:translate(-50%) translateY(-4px) scale(1.012)}}@media(prefers-reduced-motion:reduce){.hero-stage .pet-image{animation:none;background-position-x:0}}.hero-stage .tag{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pill);padding:6px 12px;font-size:12px;color:var(--ink-2);font-family:var(--mono)}.hero-stage .tag .live{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 25%,transparent)}.hero-stage .desk-line{position:absolute;left:0;right:0;bottom:22%;height:1px;background:color-mix(in oklab,var(--ink-3) 30%,transparent)}.hero-stage .name-plate{position:absolute;bottom:22px;right:22px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);padding:8px 12px;font-size:12px;color:var(--ink-2)}.hero-stage .name-plate b{font-family:var(--h-family);font-weight:var(--h-weight);font-size:14px;color:var(--ink);display:block}.section{padding:80px 0;border-top:1px solid var(--rule-soft)}.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:36px}.section-head .eyebrow{margin-bottom:14px}.section-head p{color:var(--ink-2);font-size:16px;line-height:1.6}.actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.action{background:var(--paper);border:1px solid var(--rule-soft);border-radius:var(--r-md);padding:20px 18px;display:grid;gap:14px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.action:hover{transform:translateY(-2px);border-color:var(--rule);box-shadow:var(--shadow-1)}.action .icon{width:56px;height:56px;border-radius:var(--r-md);background:var(--paper-2);display:grid;place-items:center;color:var(--primary-deep);position:relative;overflow:hidden}.action:hover .icon{background:var(--primary-soft)}.action .icon .figure{width:28px;height:28px;background:var(--ink-2);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;position:relative;transition:transform .35s ease}.action:hover .icon .figure{transform:translateY(-2px)}.action .icon .figure:before,.action .icon .figure:after{content:"";position:absolute;width:6px;height:8px;background:var(--ink-2);top:-4px;border-radius:50% 50% 30% 30%}.action .icon .figure:before{left:4px;transform:rotate(-15deg)}.action .icon .figure:after{right:4px;transform:rotate(15deg)}.action h4{font-size:16px;font-family:var(--h-family);font-weight:var(--h-weight)}.action p{font-size:13px;color:var(--ink-2);line-height:1.55}.action .meta{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}.app-footer{border-top:1px solid var(--rule-soft);padding:48px 0 36px;margin-top:64px;color:var(--ink-2);font-size:13px}.app-footer .row-top{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:36px;margin-bottom:36px}.app-footer .col h5{font-family:var(--h-family);font-weight:var(--h-weight);font-size:14px;margin-bottom:14px}.app-footer .col a{display:block;color:var(--ink-2);font-size:13px;margin-bottom:8px}.app-footer .col a:hover{color:var(--ink)}.app-footer .copy{border-top:1px solid var(--rule-soft);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-3)}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pricing-grid--2{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);max-width:880px;margin:0 auto}.plan{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);padding:28px 26px;display:grid;gap:18px;position:relative}.plan.is-feature{border-color:color-mix(in oklab,var(--primary) 38%,transparent);background:var(--paper);box-shadow:var(--shadow-2)}.plan .ribbon{position:absolute;top:-10px;left:26px;background:var(--primary);color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--r-pill);letter-spacing:.04em}.plan .ribbon--owned{background:color-mix(in oklab,#2f8a52 80%,var(--ink))}.plan.is-owned{opacity:.82}.plan.is-owned button[disabled]{cursor:default;opacity:1;color:var(--ink-2)}.plan h3{font-family:var(--h-family);font-weight:var(--h-weight)}.plan .price{display:baseline;font-family:var(--h-family);font-weight:var(--h-weight)}.plan .price b{font-size:40px;letter-spacing:-.02em;color:var(--ink)}.plan .price .unit{font-size:14px;color:var(--ink-3);font-family:var(--sans);margin-left:4px}.plan .price .strike{font-size:14px;color:var(--ink-3);text-decoration:line-through;margin-left:10px;font-family:var(--sans)}.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.plan li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-2)}.plan li svg{width:16px;height:16px;color:var(--accent);margin-top:3px;flex-shrink:0}.plan li>span{flex:1;min-width:0;line-height:1.55}.plan .meta{font-size:12px;color:var(--ink-3);border-top:1px dashed var(--rule);padding-top:14px}.upload-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;align-items:start}.dropzone{border:1.5px dashed color-mix(in oklab,var(--primary) 40%,var(--rule));background:repeating-linear-gradient(135deg,transparent 0 16px,color-mix(in oklab,var(--primary) 4%,transparent) 16px 17px),var(--primary-soft);border-radius:var(--r-xl);padding:56px 40px;display:grid;gap:18px;justify-items:center;text-align:center;min-height:360px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.dropzone:hover,.dropzone:focus-visible{border-color:var(--primary);transform:translateY(-2px);outline:none}.dropzone:focus-visible{box-shadow:0 0 0 4px color-mix(in oklab,var(--primary) 18%,transparent)}.dropzone.is-dragging{border-color:var(--primary);background:repeating-linear-gradient(135deg,transparent 0 16px,color-mix(in oklab,var(--primary) 8%,transparent) 16px 17px),color-mix(in oklab,var(--primary) 14%,var(--paper));transform:translateY(-2px)}.dropzone.has-image{background:var(--paper);border-style:solid;padding:24px}.dropzone .sample-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:6px 12px;border-radius:999px;background:color-mix(in oklab,var(--primary) 16%,var(--paper));color:var(--primary-deep);border:1px solid color-mix(in oklab,var(--primary) 32%,var(--rule));letter-spacing:.02em;margin-top:4px}.dropzone .upload-icon{width:64px;height:64px;border-radius:var(--r-md);background:var(--paper);display:grid;place-items:center;border:1px solid var(--rule);color:var(--primary-deep)}.dropzone img.preview{max-height:360px;max-width:100%;object-fit:contain;border-radius:var(--r-md)}.dropzone h3{font-family:var(--h-family)}.dropzone .formats{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.upload-tips{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.upload-tips .tip{background:var(--paper);border:1px solid var(--rule-soft);border-radius:var(--r-md);padding:14px;display:grid;gap:6px;font-size:12.5px;color:var(--ink-2);line-height:1.5}.upload-tips .tip b{font-family:var(--h-family);font-size:13.5px;font-weight:var(--h-weight);color:var(--ink)}.upload-tips .tip.bad b{color:var(--warn)}.confirm-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:stretch}.preview-stage{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-xl);padding:40px;display:grid;place-items:center;position:relative;min-height:480px;overflow:hidden}.preview-stage:before{content:"";position:absolute;inset:16px;border:1px dashed color-mix(in oklab,var(--ink-3) 40%,transparent);border-radius:calc(var(--r-xl) - 8px);pointer-events:none}.preview-stage img{max-height:80%;max-width:80%;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(34,30,24,.18))}.preview-stage .corner{position:absolute;top:24px;left:24px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase}.preview-stage .ruler{position:absolute;bottom:24px;left:24px;right:24px;height:8px;display:flex;justify-content:space-between}.preview-stage .ruler span{width:1px;background:color-mix(in oklab,var(--ink-3) 30%,transparent)}.attempt-strip{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.attempt-thumb{position:relative;display:grid;gap:2px;justify-items:center;background:var(--paper);border:1.5px solid var(--rule-soft);border-radius:var(--r-md);padding:8px 10px 10px;cursor:pointer;font-family:inherit;color:var(--ink-2);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease,background .15s ease;width:96px}.attempt-thumb:hover{transform:translateY(-1px);border-color:var(--rule);box-shadow:var(--shadow-1)}.attempt-thumb.is-active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 4px color-mix(in oklab,var(--primary) 16%,transparent)}.attempt-thumb img{width:64px;height:64px;object-fit:cover;border-radius:var(--r-sm);background:var(--paper-2);display:block;margin-bottom:4px}.attempt-thumb .caption{font-size:12px;font-weight:500;color:var(--ink)}.attempt-thumb .sub{font-size:10.5px;color:var(--ink-3);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}.attempt-thumb.is-active .sub{color:var(--primary-deep)}.attempt-thumb--orig{border-style:dashed;border-color:var(--rule)}.attempt-thumb--orig.is-active{border-style:solid;border-color:var(--ink-3);background:var(--paper-2);box-shadow:0 0 0 4px color-mix(in oklab,var(--ink-3) 16%,transparent)}.attempt-thumb--add{border-style:dashed;border-color:color-mix(in oklab,var(--primary) 40%,var(--rule));background:color-mix(in oklab,var(--primary) 6%,var(--paper));color:var(--primary-deep)}.attempt-thumb--add:hover{border-color:var(--primary);background:var(--primary-soft)}.attempt-thumb--add .add-icon{width:64px;height:64px;border-radius:var(--r-sm);background:var(--paper);border:1px dashed color-mix(in oklab,var(--primary) 40%,var(--rule));display:grid;place-items:center;color:var(--primary-deep);margin-bottom:4px}.attempt-thumb--add .caption{color:var(--primary-deep);font-weight:500}.attempt-arrow{align-self:center;color:var(--ink-3);font-family:var(--mono);font-size:18px;padding:0 2px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.orig-pip{position:absolute;top:20px;right:20px;z-index:3;display:grid;gap:6px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);padding:8px 8px 10px;cursor:pointer;font-family:inherit;text-align:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;box-shadow:var(--shadow-1)}.orig-pip:hover{transform:translateY(-1px);border-color:var(--primary);box-shadow:var(--shadow-2)}.orig-pip img{display:block;width:88px;height:88px;object-fit:cover;border-radius:var(--r-sm);background:var(--paper-2)}.orig-pip span{font-size:11px;color:var(--ink-3);font-family:var(--mono);letter-spacing:.04em}.compare-strip{margin-top:20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.compare-strip .mini{background:var(--paper);border:1px solid var(--rule-soft);border-radius:var(--r-md);padding:10px;display:flex;align-items:center;gap:10px}.compare-strip .mini img{width:56px;height:56px;object-fit:cover;border-radius:var(--r-sm);background:var(--paper-2)}.compare-strip .mini b{display:block;font-family:var(--h-family);font-weight:var(--h-weight);font-size:13.5px}.compare-strip .mini span{font-size:11.5px;color:var(--ink-3)}.compare-strip .arrow{color:var(--ink-3);font-family:var(--mono)}.checklist{display:grid;gap:12px}.checklist .item{display:grid;grid-template-columns:28px 1fr 80px;gap:12px;padding:14px;border:1px solid var(--rule-soft);border-radius:var(--r-md);background:var(--paper)}.checklist .item svg{color:var(--accent);width:18px;height:18px}.checklist .item b{font-family:var(--h-family);font-weight:var(--h-weight);font-size:14.5px;display:block}.checklist .item span{font-size:12.5px;color:var(--ink-2)}.checklist .item .score{text-align:right;font-family:var(--mono);font-size:12px;color:var(--accent-deep)}.generating-stage{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-xl);padding:64px 48px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center;min-height:520px}.gen-orb{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:50%;display:grid;place-items:center}.gen-orb .ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--rule)}.gen-orb .ring.r1{animation:spin-slow 22s linear infinite}.gen-orb .ring.r2{inset:8%;border-color:color-mix(in oklab,var(--primary) 30%,transparent);animation:spin-slow 14s linear infinite reverse}.gen-orb .ring.r3{inset:16%;border-color:var(--rule-soft);animation:spin-slow 30s linear infinite}.gen-orb .core{position:relative;width:56%;aspect-ratio:1 / 1;border-radius:50%;background:radial-gradient(70% 70% at 35% 35%,color-mix(in oklab,var(--primary) 20%,var(--paper)),var(--paper-2));border:1px solid var(--rule);display:grid;place-items:center;animation:pet-breathe 4s ease-in-out infinite}.gen-orb .silhouette{width:56%;height:56%;opacity:.55}.gen-orb .silhouette img{width:100%;height:100%;object-fit:contain;filter:brightness(0) opacity(.5);animation:pet-fade 3s ease-in-out infinite}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes pet-fade{0%,to{opacity:.4}50%{opacity:.7}}.gen-info h2{margin-bottom:8px}.gen-info .status{font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:24px}.gen-progress{display:flex;gap:6px;margin:24px 0 12px}.gen-progress .seg{flex:1;height:6px;border-radius:var(--r-pill);background:var(--paper-2);overflow:hidden;position:relative}.gen-progress .seg.done{background:color-mix(in oklab,var(--primary) 65%,var(--paper-2))}.gen-progress .seg.active:after{content:"";position:absolute;inset:0;width:var(--seg-fill, 0%);background:linear-gradient(90deg,var(--primary),color-mix(in oklab,var(--accent) 70%,var(--primary)));border-radius:inherit;transition:width .35s ease}.gen-progress-meta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-3);font-family:var(--mono)}.admin-page{padding-bottom:80px}.admin-filter-bar{position:sticky;top:64px;z-index:20;background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--rule-soft);padding:12px 0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}.filter-group{display:inline-flex;align-items:center;gap:6px}.filter-lbl{font-size:12px;color:var(--ink-3);margin-right:4px}.filter-pill{font-size:12.5px;padding:5px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);cursor:pointer;color:var(--ink-2);transition:background .15s ease,color .15s ease,border-color .15s ease}.filter-pill:hover{background:var(--paper-2)}.filter-pill.active{background:color-mix(in oklab,var(--primary) 18%,var(--paper));color:var(--primary-deep);border-color:color-mix(in oklab,var(--primary) 45%,var(--rule))}.admin-tabs{display:flex;gap:24px;margin:12px 0 24px;border-bottom:1px solid var(--rule-soft)}.admin-tab{font-size:14px;padding:10px 4px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--ink-2);cursor:pointer;letter-spacing:.02em}.admin-tab:hover{color:var(--ink)}.admin-tab.active{color:var(--primary-deep);border-bottom-color:var(--primary);font-weight:500}.admin-card .delta{font-size:11.5px;letter-spacing:.02em}.delta-up{color:#2f8a52}.delta-down{color:#b35353}.delta-flat{color:var(--ink-3)}.admin-input{padding:6px 12px;border:1px solid var(--rule);border-radius:8px;font-size:13px;outline:none;font-family:var(--mono)}.admin-input:focus{border-color:var(--primary)}.funnel{display:grid;gap:8px}.funnel-row{display:grid;grid-template-columns:28px 1.5fr 3fr 80px 100px;gap:12px;align-items:center;font-size:13px}.funnel-step{color:var(--ink-3);font-family:var(--mono)}.funnel-label{color:var(--ink)}.funnel-bar-wrap{height:28px;background:var(--paper-2);border-radius:6px;overflow:hidden;display:flex;align-items:center}.funnel-bar{height:100%;background:linear-gradient(90deg,color-mix(in oklab,var(--primary) 65%,var(--accent)),var(--primary));display:flex;align-items:center;justify-content:flex-end;padding-right:10px;min-width:28px;transition:width .35s ease}.funnel-bar-n{color:#fff;font-size:12px;font-family:var(--mono)}.funnel-conv{font-family:var(--mono);color:var(--ink-2);font-size:12.5px}.funnel-drop{font-family:var(--mono);color:var(--ink-3);font-size:12px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:24px 0 36px}.admin-grid--3{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.admin-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);padding:16px 18px;display:grid;gap:4px}.admin-card .lbl{font-size:12.5px;color:var(--ink-3);letter-spacing:.04em}.admin-card b{font-size:28px;font-weight:500;font-family:var(--h-family)}.admin-card .sub{font-size:12px;color:var(--ink-3)}.admin-card.highlight{background:color-mix(in oklab,var(--primary) 14%,var(--paper));border-color:color-mix(in oklab,var(--primary) 32%,var(--rule))}.admin-card.highlight b{color:var(--primary-deep)}.admin-section{margin:32px 0}.admin-section h3{font-family:var(--h-family);font-weight:var(--h-weight);margin:0 0 12px}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px}.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule-soft)}.admin-table th{background:var(--paper-2);font-weight:500;color:var(--ink-2)}.admin-table .mono{font-family:var(--mono);font-size:12.5px}.admin-table.compact td,.admin-table.compact th{padding:6px 10px;font-size:12.5px}.admin-table .trunc{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.download-buttons .btn{flex:0 1 auto}.download-buttons .btn--block{flex:1 1 100%}.footer-link-button{background:transparent;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;display:block;text-decoration:none}.footer-link-button:hover{color:var(--primary-deep)}.failed-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}.failed-actions .hint.center{flex-basis:100%;text-align:left;color:var(--ink-3);font-size:12.5px}.assets-empty{display:grid;gap:18px;justify-items:center;padding:64px 24px;text-align:center}.assets-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:28px}.asset-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);padding:18px;display:grid;gap:12px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.asset-card:hover,.asset-card:focus-visible{border-color:color-mix(in oklab,var(--primary) 38%,var(--rule));transform:translateY(-2px);box-shadow:var(--shadow-2);outline:none}.asset-thumb{aspect-ratio:192 / 208;background-color:var(--paper-2);border-radius:var(--r-md);display:grid;place-items:center;overflow:hidden}.asset-thumb img{max-width:100%;max-height:100%;object-fit:contain}.asset-thumb--sprite{background-position:0% 0%;background-repeat:no-repeat}.done-pet-sprite{aspect-ratio:192 / 208;width:100%;max-width:360px;background-position:0% 0%;background-repeat:no-repeat;border-radius:var(--r-lg);filter:drop-shadow(0 22px 30px rgba(34,30,24,.18))}.asset-meta{display:grid;gap:4px}.asset-meta b{font-size:16px}.asset-meta span{font-size:12.5px;color:var(--ink-3)}.asset-card .btn{justify-self:end}.gen-log{margin-top:24px;display:grid;gap:8px}.gen-log .line{display:grid;grid-template-columns:14px 1fr;gap:10px;font-size:13px;color:var(--ink-2);align-items:baseline}.gen-log .line .dot{width:7px;height:7px;border-radius:50%;background:var(--rule);margin-top:6px}.gen-log .line.done .dot{background:var(--accent)}.gen-log .line.active .dot{background:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 25%,transparent)}.gen-log .line .time{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}.done-stage{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-xl);padding:56px 56px 64px;position:relative;overflow:hidden}.done-stage .confetti{position:absolute;inset:0;pointer-events:none;opacity:.5}.done-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;position:relative}.done-stage .badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent-deep);border-radius:var(--r-pill);padding:6px 14px;font-size:12px;border:1px solid color-mix(in oklab,var(--accent) 26%,transparent);margin-bottom:18px}.done-stage h1{margin-bottom:14px}.done-stage .meet{font-size:16.5px;color:var(--ink-2);line-height:1.6;margin-bottom:28px;max-width:460px}.done-pet{position:relative;aspect-ratio:1 / 1;border-radius:var(--r-xl);background:radial-gradient(120% 80% at 30% 30%,color-mix(in oklab,var(--accent) 12%,var(--paper)),var(--paper) 65%),var(--paper);border:1px solid var(--rule);overflow:hidden}.done-pet img{position:absolute;bottom:8%;left:50%;transform:translate(-50%);max-height:78%;max-width:78%;filter:drop-shadow(0 22px 30px rgba(34,30,24,.18));animation:pet-breathe 4.5s ease-in-out infinite}.done-pet .nameplate{position:absolute;bottom:18px;right:18px;background:color-mix(in oklab,var(--paper) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--rule-soft);border-radius:14px;padding:8px 14px;text-align:right;min-width:0}.done-pet .nameplate b{display:block;font-family:var(--h-family);font-weight:var(--h-weight);font-size:18px}.done-pet .nameplate span{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}.next-actions{display:grid;gap:12px}.preview-sheet-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer;text-align:left;font:inherit;color:var(--ink);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.preview-sheet-btn:hover{border-color:color-mix(in oklab,var(--primary) 38%,var(--rule));transform:translateY(-1px);box-shadow:var(--shadow-1)}.preview-sheet-btn .ic{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:color-mix(in oklab,var(--primary) 14%,var(--paper));color:var(--primary-deep);flex:0 0 auto}.preview-sheet-btn>span:not(.ic){display:grid;gap:2px}.preview-sheet-btn b{font-weight:500;font-size:14.5px}.preview-sheet-btn>span:not(.ic) span{font-size:12.5px;color:var(--ink-3)}.sheet-preview{width:min(100%,1100px);max-height:90vh;background:var(--paper);border:1px solid var(--rule-soft);border-radius:20px;box-shadow:0 30px 80px -20px #00000052;overflow:hidden;position:relative;animation:modal-pop .25s cubic-bezier(.2,.7,.2,1.2) both;display:grid;grid-template-rows:auto 1fr}.sheet-preview .modal-close{top:16px;right:16px;z-index:3}.sheet-preview-head{display:grid;gap:4px;padding:20px 24px 16px;border-bottom:1px solid var(--rule-soft)}.sheet-preview-head b{font-family:var(--mono);font-weight:500;font-size:14px}.sheet-preview-body{padding:24px;overflow:auto;background:repeating-conic-gradient(var(--paper-2) 0% 25%,var(--paper) 0% 50%) 0 0 / 22px 22px,var(--paper-2);display:grid;place-items:center}.sheet-preview-body img{max-width:100%;height:auto;display:block;image-rendering:-webkit-optimize-contrast}.downloads{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.downloads a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--rule-soft);border-radius:var(--r-md);background:var(--paper);color:var(--ink-2);font-size:13px;transition:border-color .15s ease,background .15s ease}.downloads a:hover{border-color:var(--rule);background:var(--paper-2)}.downloads a .ic{width:32px;height:32px;border-radius:var(--r-sm);background:var(--paper-2);display:grid;place-items:center;color:var(--ink-2)}.downloads a b{display:block;color:var(--ink);font-family:var(--mono);font-size:12.5px;font-weight:500}.downloads a span{font-size:11.5px;color:var(--ink-3)}.modal-backdrop{position:fixed;inset:0;z-index:80;background:color-mix(in oklab,var(--ink) 38%,transparent);backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);display:grid;place-items:center;padding:24px;animation:modal-fade .18s ease both}.modal-panel{width:min(100%,440px);background:var(--paper);border:1px solid var(--rule-soft);border-radius:20px;box-shadow:0 30px 80px -20px #00000052,0 2px 8px #0000000f;position:relative;overflow:hidden;animation:modal-pop .25s cubic-bezier(.2,.7,.2,1.2) both}.modal-close{position:absolute;top:14px;right:14px;z-index:2;width:32px;height:32px;border-radius:50%;border:1px solid var(--rule-soft);background:var(--paper);color:var(--ink-2);cursor:pointer;font-size:18px;line-height:1;display:grid;place-items:center;transition:background .15s ease,color .15s ease,border-color .15s ease}.modal-close:hover{background:var(--paper-2);color:var(--ink);border-color:var(--rule)}.modal-hero{padding:40px 32px 32px;background:radial-gradient(120% 80% at 30% 25%,color-mix(in oklab,var(--primary) 10%,var(--paper)),var(--paper) 75%);display:grid;place-items:center;min-height:152px}.modal-body{padding:28px 36px 32px}.modal-body .eyebrow{display:block;margin-bottom:10px;letter-spacing:.14em;font-size:11px}.modal-body h2{font-size:24px;line-height:1.3;margin:0 0 10px;letter-spacing:-.01em}.modal-body>p,.modal-body p.text-soft{font-size:14px;line-height:1.55;margin:0 0 22px;color:var(--ink-2)}.modal-body .field{margin-bottom:18px}.modal-body .field input{font-size:15px;padding:14px 16px}.modal-body .btn--lg{padding:14px 18px;font-size:15px;letter-spacing:.01em}.modal-body .btn:disabled{opacity:.55}.modal-step-indicator{display:flex;align-items:center;gap:8px;margin:0 0 22px}.modal-step-indicator .dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;background:var(--paper-2);color:var(--ink-3);border:1px solid var(--rule)}.modal-step-indicator .dot.active{background:color-mix(in oklab,var(--primary) 18%,var(--paper));color:var(--primary-deep);border-color:color-mix(in oklab,var(--primary) 45%,var(--rule))}.modal-step-indicator .line{flex:1;height:1px;background:var(--rule-soft)}.modal-step-indicator .line.active{background:color-mix(in oklab,var(--primary) 50%,var(--rule))}.inline-link{background:transparent;border:0;padding:0;color:var(--primary-deep);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font:inherit}.agree-row{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);line-height:1.5;cursor:pointer;margin-top:12px}.agree-row input{margin-top:3px;accent-color:var(--primary);flex:0 0 auto}.resend-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--ink-3);margin-top:8px}.modal-foot{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--rule-soft);text-align:center;color:var(--ink-3);font-size:12px;letter-spacing:.04em}.code-input--sm{height:48px;font-size:18px}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.code-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.code-input{width:100%;height:56px;border:1px solid var(--rule);border-radius:var(--r-md);background:#fff;text-align:center;font-family:var(--mono);font-size:22px;font-weight:500;color:var(--ink);caret-color:var(--primary);outline:none;transition:border .15s ease,box-shadow .15s ease}.code-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklab,var(--primary) 18%,transparent)}.code-input::placeholder{color:var(--ink-3);opacity:.55;font-weight:400;letter-spacing:.04em}@keyframes letter-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:980px){.hero,.upload-wrap,.confirm-grid,.generating-stage,.done-grid,.app-footer .row-top{grid-template-columns:1fr}.actions{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr!important}.login-shell aside{min-height:240px!important;padding:32px 28px!important}.login-trust{grid-template-columns:1fr!important}.pricing-grid{grid-template-columns:1fr}.stepper .step span.lbl{display:none}.section{padding:56px 0}}@media(max-width:640px){.container{padding:0 20px}.hero{padding:36px 0 48px}.nav .session{display:none}.upload-tips,.downloads{grid-template-columns:1fr}}
