@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root{--ivory: #fbf7f0;--paper: #ffffff;--paper-warm: #f6f0e3;--ink: #2a2622;--ink-soft: #6b6359;--ink-mute: #9b9389;--line: #e6dcc7;--line-strong: #d4c8af;--rose: #a04a4a;--rose-deep: #8a3c3c;--sage: #5b7560;--amber: #b88243;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--s-16: 64px;--r-1: 6px;--r-2: 8px;--r-3: 12px;--r-4: 16px;--shadow-sm: 0 1px 2px rgba(42, 38, 34, .04), 0 1px 3px rgba(42, 38, 34, .06);--shadow-md: 0 4px 12px rgba(42, 38, 34, .08), 0 2px 4px rgba(42, 38, 34, .05);--shadow-lg: 0 12px 32px rgba(42, 38, 34, .12), 0 4px 10px rgba(42, 38, 34, .06);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, "Helvetica Neue", Arial, sans-serif;--font-serif: Georgia, "Times New Roman", serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}html,body,#root{height:100%}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;letter-spacing:-.005em;margin:0;color:var(--ink)}h1{font-size:1.85rem;line-height:1.2}h2{font-size:1.25rem;line-height:1.3}h3{font-size:1.05rem;line-height:1.35}.section-header{width:100%;text-align:left;margin-bottom:var(--s-2)}.section-header>h1,.section-header>h2{margin-bottom:var(--s-1)}.section-header>.caption{color:var(--ink-mute);font-size:.95rem;margin:0}main{max-width:720px;margin:var(--s-8) auto;padding:0 var(--s-6);display:flex;flex-direction:column;align-items:stretch;gap:var(--s-6);text-align:left}@media(max-width:720px){main{margin:var(--s-6) auto;padding:0 var(--s-4);gap:var(--s-4)}}button,.capture-button{font:inherit;font-family:var(--font-sans);font-weight:500;font-size:.95rem;letter-spacing:.01em;border:1px solid transparent;border-radius:var(--r-2);padding:11px 20px;min-height:44px;background:var(--ink);color:var(--ivory);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}button:hover,.capture-button:hover{background:#1a1715}button.primary,.capture-options .capture-button{background:var(--rose);color:#fff;border-color:var(--rose)}button.primary:hover,.capture-options .capture-button:hover{background:var(--rose-deep);border-color:var(--rose-deep)}button.secondary,.capture-button-secondary{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line)!important}button.secondary:hover,.capture-button-secondary:hover{border-color:var(--line-strong)!important}button.ghost,button.link{background:transparent;color:var(--ink-soft);border:none;padding:8px 10px;min-height:auto;font-weight:400;text-decoration:underline}button.ghost:hover,button.link:hover{background:transparent;color:var(--ink)}button:disabled,.capture-button input:disabled{opacity:.5;cursor:not-allowed}.capture-button{display:inline-block}.capture-button input{display:none}.capture-options .capture-button{background:var(--rose);color:#fff}.surface{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-sm);padding:var(--s-6)}.surface-lg{padding:var(--s-8)}.surface-tight{padding:var(--s-4)}.surface-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.surface-head h2,.surface-head h3{margin:0}.divider{height:1px;background:var(--line);border:none;margin:var(--s-4) 0}.pill{display:inline-flex;align-items:center;gap:var(--s-1);padding:4px 10px;border-radius:999px;font-family:var(--font-sans);font-size:.8rem;font-weight:500;letter-spacing:.02em;border:1px solid var(--line);background:var(--paper-warm);color:var(--ink-soft)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.pill-active{color:var(--sage);border-color:#5b756040;background:#5b756014}.pill-warn{color:var(--amber);border-color:#b882434d;background:#b882431a}.pill-mute{color:var(--ink-mute)}.usage-bar{display:block;width:100%;max-width:280px;height:6px;background:var(--line);border-radius:999px;overflow:hidden}.usage-bar>span{display:block;height:100%;background:var(--rose);border-radius:inherit}.label{font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.caption{font-family:var(--font-sans);font-size:.9rem;color:var(--ink-mute)}.kv-stack{display:flex;flex-direction:column;gap:var(--s-3)}.kv{display:flex;flex-direction:column;gap:var(--s-1)}.kv-val{font-family:var(--font-sans);font-size:1rem;color:var(--ink)}.capture-options{display:flex;flex-direction:column;gap:.75rem;align-items:center;width:100%;max-width:320px}.capture-options .capture-button{width:100%;text-align:center;box-sizing:border-box}.capture-button-secondary{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important}.hint{font-size:.9rem;color:#6b6359}.waiting img{background:#fff;padding:8px;border-radius:8px}.ready{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.ready img{max-width:100%;border-radius:8px;box-shadow:0 4px 18px #0000001a}.error{color:var(--rose)}.action-row{display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}.action-row.stack-actions{width:100%;align-items:stretch;gap:var(--s-2)}.action-row.stack-actions>.primary{width:100%}.action-row.stack-actions>.ghost{width:100%;margin-top:var(--s-2)}.plan-line{font-size:.9rem;color:#6b6359;letter-spacing:.2px}.plan-warn{color:var(--rose)}.card.paywall{text-align:center;align-items:center;gap:.5rem;max-width:28rem;margin:0 auto}.card.paywall p{margin:.25rem 0}.card.paywall .primary{margin-top:.5rem}.result-card{display:flex;flex-direction:column;gap:var(--s-4);width:100%;max-width:640px;margin:0 auto}.result-carousel{width:100%}.result-carousel img{display:block;width:100%;max-height:55vh;object-fit:contain;margin:0 auto;border-radius:var(--r-2);background:var(--ivory);box-shadow:var(--shadow-sm)}.result-caption{margin:0;text-align:center}.result-stage{font-family:var(--font-serif);color:var(--ink);font-size:1rem}.share-block{display:flex;flex-direction:column;gap:var(--s-3)}.share-row{display:flex;gap:var(--s-2);align-items:stretch;background:var(--paper-warm);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-2)}.share-url{flex:1;display:inline-flex;align-items:center;padding:0 var(--s-3);font-family:var(--font-mono);font-size:.9rem;color:var(--ink);background:transparent;-webkit-user-select:all;user-select:all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-copy{min-height:36px;padding:6px 14px;font-size:.85rem}.share-open{display:inline-block;font-family:var(--font-sans);font-size:.9rem;color:var(--sage);text-decoration:none}.share-open:hover{text-decoration:underline}main.auth{max-width:420px;align-items:stretch}main.auth h1{font-size:1.65rem;text-align:left}.card{display:flex;flex-direction:column;gap:var(--s-4);width:100%;background:var(--paper);padding:var(--s-6);border-radius:var(--r-3);border:1px solid var(--line);box-shadow:var(--shadow-sm);text-align:left}.card label{display:flex;flex-direction:column;gap:var(--s-2);font-size:.95rem}.card label span{font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.card input{font:inherit;font-family:var(--font-sans);padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--ivory);color:var(--ink);transition:border-color .12s ease}.card input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px #5b75601f}.card button[type=submit]{margin-top:var(--s-2)}.card button:disabled{opacity:.6;cursor:progress}.button-link{display:inline-block;text-decoration:none;background:var(--rose);color:var(--ivory);padding:10px 20px;border-radius:6px}.topbar{display:flex;flex-direction:column;gap:var(--s-2);max-width:960px;margin:0 auto;padding:var(--s-4) var(--s-6) var(--s-3);border-bottom:1px solid var(--line);font-size:.95rem}@media(max-width:720px){.topbar{padding:var(--s-3) var(--s-4) var(--s-3)}}.topbar-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4)}.topbar .home-name{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--ink);letter-spacing:.005em;font-family:var(--font-serif);font-size:1.1rem}.topbar .home-name:before{content:"✦";color:var(--rose);font-size:.9em;opacity:.9}.landing{background:var(--ivory);color:var(--ink);font-family:Georgia,Times New Roman,serif;line-height:1.6;-webkit-font-smoothing:antialiased;text-align:left}.landing a{color:inherit}.landing em{font-style:italic;color:var(--rose)}.landing h1,.landing h2,.landing h3{font-weight:500;letter-spacing:-.015em;margin:0}.landing-wrap{max-width:1120px;margin:0 auto;padding:0 28px}.landing-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:20px}.landing-eyebrow:before{content:"";width:28px;height:1px;background:var(--amber)}.landing-eyebrow-dark{color:var(--amber)}.landing-nav{position:sticky;top:0;z-index:50;background:#fbf7f0db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.landing-nav-in{max-width:1120px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.landing-logo{display:inline-flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:600;letter-spacing:-.005em;text-decoration:none;color:var(--ink)}.landing-mark{flex:0 0 auto}.landing-nav-links{display:flex;gap:28px;align-items:center}.landing-nav-links a{color:var(--ink-soft);text-decoration:none;font-size:.95rem;transition:color .2s}.landing-nav-links a:hover{color:var(--rose)}.landing-nav-signin{font-weight:500}@media(max-width:720px){.landing-nav-links a:not(.landing-btn){display:none}}.landing-btn{display:inline-block;background:var(--rose);color:var(--ivory);padding:12px 22px;border-radius:3px;text-decoration:none;font-weight:600;font-size:.92rem;border:none;cursor:pointer;transition:background .2s,transform .2s;font-family:inherit}.landing-btn:hover{background:#8a4a40;transform:translateY(-1px)}.landing-btn-amber{background:var(--amber)}.landing-btn-amber:hover{background:#95701d}.landing-btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.landing-btn-ghost:hover{background:var(--ink);color:var(--ivory);transform:translateY(-1px)}.landing-text-link{color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none;border-bottom:1.5px solid var(--amber);padding-bottom:2px}.landing-hero{padding:84px 0 72px}.landing-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}@media(max-width:900px){.landing-hero-grid{grid-template-columns:1fr;gap:44px}}.landing-hero h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.05;margin-bottom:22px}.landing-lead{font-size:1.15rem;color:var(--ink-soft);max-width:480px;margin:0 0 30px}.landing-hero-cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.landing-trust-stats{margin-top:38px;display:flex;gap:30px;flex-wrap:wrap;font-size:.86rem;color:var(--ink-soft)}.landing-trust-stats b{color:var(--ink);font-size:1.4rem;font-weight:600;display:block;line-height:1.1;letter-spacing:-.01em}.landing-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.landing-compare figure{margin:0}.landing-compare-frame{position:relative;width:100%;aspect-ratio:4 / 5;border-radius:3px;overflow:hidden;box-shadow:0 22px 50px -24px #241f1a38}.landing-compare-frame img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:opacity .8s ease}.landing-compare-frame img.fade-out{opacity:0}.landing-compare figcaption{margin-top:12px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:center}.landing-sec-head{text-align:center;max-width:640px;margin:0 auto 56px}.landing-sec-head .landing-eyebrow{justify-content:center}.landing-sec-head h2{font-size:clamp(1.9rem,3.8vw,2.7rem);line-height:1.1;margin-bottom:14px}.landing-sec-head p{color:var(--ink-soft);font-size:1.05rem}.landing-steps{padding:88px 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.landing-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;margin:0;padding:0}@media(max-width:820px){.landing-step-grid{grid-template-columns:1fr}}.landing-step{padding:32px 28px;background:var(--ivory);border:1px solid var(--line);border-radius:4px;transition:transform .25s,box-shadow .25s}.landing-step:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px #241f1a33}.landing-step-num{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:14px}.landing-step h3{font-size:1.28rem;margin-bottom:10px}.landing-step p{color:var(--ink-soft);font-size:.98rem;margin:0}.landing-pricing{padding:96px 0}.landing-price-wrap{max-width:520px;margin:0 auto}.landing-plan{position:relative;background:var(--paper);border:1.5px solid var(--rose);border-radius:6px;padding:48px 40px 36px;text-align:center;box-shadow:0 28px 56px -28px #241f1a38}.landing-plan-pill{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:var(--amber);color:var(--ivory);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 16px;border-radius:2px}.landing-plan h3{font-size:1.35rem;margin-bottom:10px}.landing-price{font-size:3.6rem;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--ink)}.landing-price span{font-size:1rem;color:var(--ink-soft);font-weight:500}.landing-per{color:var(--ink-soft);font-size:.92rem;margin-top:6px}.landing-plan ul{list-style:none;margin:28px 0;padding:0;text-align:left}.landing-plan li{padding:11px 0;font-size:.95rem;color:var(--ink-soft);display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line)}.landing-plan li:last-child{border-bottom:none}.landing-plan li svg{width:18px;height:18px;color:var(--sage);flex:0 0 18px;margin-top:3px}.landing-plan-ctas{display:flex;flex-direction:column;gap:10px;margin-top:8px}.landing-plan-ctas .landing-btn{width:100%;text-align:center;font-size:1rem;padding:14px}.landing-free-note{margin-top:16px;font-size:.88rem;color:var(--ink-soft)}.landing-vol{text-align:center;margin-top:28px;font-size:.95rem;color:var(--ink-soft)}.landing-vol b{color:var(--ink)}.landing-vol a{color:var(--rose);font-weight:600;text-decoration:none}.landing-vol a:hover{text-decoration:underline}.landing-trust{padding:96px 0;background:var(--ink);color:var(--ivory)}.landing-trust .landing-eyebrow{color:var(--amber)}.landing-trust h2{font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.15;margin-bottom:18px}.landing-trust em{color:#dba85a}.landing-trust p{color:#fbf7f0bd;font-size:1.05rem;margin:0 0 14px}.landing-trust-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}@media(max-width:880px){.landing-trust-grid{grid-template-columns:1fr;gap:40px}}.landing-promise-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.landing-promise-list li{display:flex;gap:14px;align-items:flex-start;font-size:1rem;color:var(--ivory);padding:16px 18px;background:#fbf7f00a;border:1px solid rgba(251,247,240,.12);border-radius:4px}.landing-promise-list svg{width:20px;height:20px;color:#dba85a;flex:0 0 20px;margin-top:2px}.landing-footer{background:var(--ink);color:#fbf7f08c;padding:32px 0;border-top:1px solid rgba(251,247,240,.08);font-size:.88rem}.landing-foot-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}.landing-foot-logo{color:var(--ivory);font-size:1.05rem}.landing-foot-links{display:flex;gap:24px}.landing-foot-links a{color:#fbf7f0b3;text-decoration:none;transition:color .2s}.landing-foot-links a:hover{color:var(--ivory)}.landing-foot-copy{color:#fbf7f080}.legal-doc{max-width:720px;margin:0 auto;padding:28px 24px 96px;background:var(--ivory);color:var(--ink);font-family:Georgia,Times New Roman,serif;line-height:1.65;font-size:1.02rem}.legal-top{margin-bottom:28px;font-size:.9rem}.legal-back{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}.legal-back:hover{color:var(--rose);border-bottom-color:var(--rose)}.legal-banner{background:#a04a4a14;border-left:3px solid var(--rose);padding:16px 20px;border-radius:3px;margin-bottom:36px;color:var(--ink);font-size:.96rem;line-height:1.55}.legal-banner strong{color:var(--rose);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;margin-right:4px}.legal-head{margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--line)}.legal-head h1{font-weight:500;font-size:2rem;letter-spacing:-.01em;margin:0 0 8px}.legal-meta{color:var(--ink-soft);font-size:.88rem;margin:0;letter-spacing:.02em}.legal-doc section{margin-bottom:32px}.legal-doc h2{font-weight:600;font-size:1.3rem;letter-spacing:-.005em;margin:0 0 12px;color:var(--ink)}.legal-doc p{margin:0 0 14px;color:var(--ink)}.legal-doc p:last-child{margin-bottom:0}.legal-doc strong{color:var(--ink);font-weight:600}.legal-doc a{color:var(--rose);text-decoration:underline;text-underline-offset:2px}.legal-doc a:hover{color:var(--ink)}.legal-doc code{background:var(--paper);padding:1px 6px;border-radius:3px;font-size:.92em;color:var(--ink);border:1px solid var(--line)}.legal-doc ul{margin:8px 0 14px;padding-left:22px}.legal-doc li{margin-bottom:8px;color:var(--ink)}.legal-foot{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:14px;align-items:center;font-size:.92rem;color:var(--ink-soft);flex-wrap:wrap}.legal-foot a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}.legal-foot a:hover{color:var(--rose);border-bottom-color:var(--rose)}.admin-cards{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));width:100%}.admin-stat{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-6)}.admin-big{margin:0;font-family:var(--font-serif);font-size:2rem;font-weight:400;color:var(--ink);letter-spacing:-.01em;line-height:1}.admin-stat .caption{margin:0}.admin-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.95rem}.admin-table th,.admin-table td{text-align:left;padding:var(--s-3) var(--s-2);border-bottom:1px solid var(--line)}.admin-table tr:last-child td{border-bottom:none}.admin-table th{color:var(--ink-mute);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.admin-table td:last-child,.admin-table th:last-child{text-align:right}.photo-capture{display:flex;flex-direction:column;align-items:center;gap:var(--s-4);width:100%}.photo-capture .capture-options,.photo-capture .crop-actions{margin:0 auto}.phone-crop{margin-top:4vh;gap:1rem;max-width:100%;padding:0 12px}.crop-hint{font-size:1rem;color:var(--ink-soft);margin:0}.crop-wrapper{width:100%;display:flex;justify-content:center}.ReactCrop__drag-handle:after{width:20px!important;height:20px!important;background:#fff!important;border:2px solid var(--rose)!important;border-radius:3px!important}.crop-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:320px}.crop-actions .btn-primary{padding:14px 24px;font-size:1.1rem;background:var(--rose);color:#fff;border:none;border-radius:6px;cursor:pointer;font-family:inherit}.crop-actions .btn-primary:disabled{opacity:.5;cursor:default}.crop-actions .btn-secondary{padding:10px 24px;font-size:.95rem;background:transparent;color:var(--ink-soft);border:1px solid var(--line);border-radius:6px;cursor:pointer;font-family:inherit}.idle-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-6);padding:var(--s-12) var(--s-6)}.idle-hero-copy{display:flex;flex-direction:column;gap:var(--s-2);max-width:32rem}.idle-hero-copy h2{font-size:1.65rem}.capture-chooser{display:flex;flex-direction:column;align-items:stretch;gap:var(--s-3);width:100%;max-width:320px}.capture-chooser .primary,.capture-chooser .ghost{width:100%}@media(max-width:720px){.waiting img{width:240px;height:240px;max-width:80vw}.ready img{max-width:100%;max-height:60vh}}main.studio.studio-immersive{max-width:none;margin:0;padding:0;min-height:100vh;gap:0}.questionnaire{position:relative;width:100%;height:100vh;display:block;margin:0}.q-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0d0a08;overflow:hidden}.q-canvas-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.q-overlay{position:absolute;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:1.25rem 1.25rem 1.1rem;border-radius:20px;background:#fcf8f0c7;backdrop-filter:blur(26px) saturate(160%);-webkit-backdrop-filter:blur(26px) saturate(160%);border:1px solid rgba(255,255,255,.55);box-shadow:0 12px 36px #00000052}@supports not (backdrop-filter: blur(1px)){.q-overlay{background:#fcf8f0f0}}.q-cancel{display:block;margin:.75rem auto 0;font-size:.9rem;color:#6b6359;background:none;border:none;padding:4px 8px;text-decoration:underline;cursor:pointer}.q-step{display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center}.q-step h2{font-size:1.15rem;font-weight:500;margin:0;color:var(--ink);line-height:1.3}.q-step p.hint{margin:0;color:#6b6359}.q-step .link{color:var(--ink);opacity:.7;text-decoration:underline}.q-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.q-actions-col{flex-direction:column;width:100%;max-width:240px}.q-actions .primary,.q-actions .secondary{padding:10px 20px;border-radius:6px;font-size:1rem;font-family:inherit;border:none;cursor:pointer}.q-actions .primary{background:var(--rose);color:#fff}.q-actions .secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.q-actions .primary:disabled,.q-actions .secondary:disabled{opacity:.45;cursor:not-allowed}.q-summary{list-style:none;padding:0;margin:0}.q-summary li{padding:.25rem 0}.progress-indeterminate{width:min(100%,320px);height:4px;background:#00000014;border-radius:2px;overflow:hidden;margin:.25rem auto .75rem}.progress-indeterminate>span{display:block;width:40%;height:100%;background:var(--rose);border-radius:2px;animation:progress-indeterminate-slide 1.4s ease-in-out infinite}@keyframes progress-indeterminate-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.restoring-img{display:block;max-height:55vh;max-width:100%;width:auto;height:auto;object-fit:contain;margin:0 auto;border-radius:var(--r-2)}.carousel{display:block;background:none;border:none;padding:0;cursor:pointer;max-width:100%;text-align:center}.carousel img{max-width:100%;max-height:60vh;border-radius:8px;box-shadow:0 4px 18px #0000001a;display:block;margin:0 auto}.primary-magic{background:linear-gradient(135deg,var(--rose) 0%,var(--amber) 100%);color:#fff}.nav-hamburger{width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:10px;display:inline-flex;flex-direction:column;justify-content:space-between;align-items:stretch}.nav-hamburger span{display:block;height:2px;background:var(--ink);border-radius:1px}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a262273;z-index:90;animation:nav-fade .16s ease}.nav-drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--ivory);border-left:1px solid var(--line);box-shadow:-4px 0 16px #00000014;z-index:100;display:flex;flex-direction:column;padding:16px 0 calc(16px + env(safe-area-inset-bottom));animation:nav-slide .18s ease}.nav-close{align-self:flex-end;width:44px;height:44px;background:transparent;border:none;font-size:1.5rem;line-height:1;color:var(--ink-soft);cursor:pointer;margin-right:8px}.nav-list{display:flex;flex-direction:column;padding:8px 0}.nav-item{display:block;padding:14px 24px;font:inherit;font-size:1.05rem;color:var(--ink);text-decoration:none;background:transparent;border:none;cursor:pointer;text-align:left}.nav-item:hover{background:var(--paper)}.nav-item-active{font-weight:500;color:var(--rose)}.nav-item-signout{margin-top:auto;color:var(--ink-soft);border-top:1px solid var(--line)}@keyframes nav-fade{0%{opacity:0}to{opacity:1}}@keyframes nav-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.restoration-grid{display:grid;gap:var(--s-4);width:100%;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.restoration-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-sm);overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.restoration-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.restoration-thumb{position:relative;width:100%;aspect-ratio:4 / 5;background:var(--ivory);overflow:hidden}.restoration-thumb img{width:100%;height:100%;object-fit:cover;display:block}.restoration-archived{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);background:var(--paper-warm);color:var(--ink-mute);font-family:var(--font-sans);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.restoration-archived .empty-glyph{font-family:var(--font-serif);font-size:1.8rem;color:var(--line-strong);margin:0}.restoration-meta{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-top:1px solid var(--line)}.restoration-date{font-family:var(--font-serif);font-size:1rem;color:var(--ink)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);text-align:center;padding:var(--s-12) var(--s-6)}.empty-glyph{font-family:var(--font-serif);font-size:2.5rem;color:var(--line-strong);margin:0;line-height:1}.empty-state h2{margin:0}.empty-state .caption{margin:0 0 var(--s-4)}
