:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#20232b;background:#f3f4f7;font-synthesis:none;--accent:#2452e8;--line:#e2e5ec;--muted:#646b7b;--split:50%}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #819dff;outline-offset:4px}[hidden]{display:none!important}h1,h2,p{margin-top:0}h2{font-size:1.15rem;letter-spacing:-.025em;margin-bottom:8px}p{line-height:1.55}.topbar{height:86px;padding:0 max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:1.8rem;letter-spacing:-.085em;font-weight:850;text-decoration:none;display:flex;align-items:center;gap:8px}.brand span{color:var(--accent);font-size:2rem;font-weight:400}.top-actions{display:flex;align-items:center;gap:24px}#saved-state,.muted,.subtle{color:var(--muted);font-size:.875rem}.text-button{padding:4px 0;background:none;border:0;font-size:.875rem;font-weight:600;text-decoration:none;line-height:1.5;color:inherit}.text-button:hover{text-decoration:underline}.danger{color:#a93e43!important}.heading{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin:36px 0 28px}.eyebrow{font-size:.75rem;letter-spacing:.09em;font-weight:750;color:var(--muted);margin-bottom:14px}.heading h1{font-size:clamp(2rem,3.1vw,2.8rem);line-height:1.15;letter-spacing:-.05em;margin:0 0 16px}.heading h1 span{font-weight:450}.intro{max-width:570px;font-size:1rem;color:var(--muted);margin:0}.steps{display:flex;gap:22px;list-style:none;margin:0 0 3px;padding:0;color:var(--muted);font-size:.875rem}.steps li{display:flex;flex-direction:column;gap:10px}.steps span{font-size:1.4rem;letter-spacing:-.04em;color:#9ca4b5}.steps .current{color:#20232b;font-weight:650}.steps .current span,.steps .done span{color:var(--accent)}main{max-width:1368px;padding:0 24px;margin:auto}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:24px;align-items:start}.photo-panel,.style-panel{background:#fff;border:1px solid var(--line);border-radius:18px;min-width:0;overflow:hidden}.panel-head{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-head h2{margin:0 0 4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;min-height:48px;border-radius:10px;font-size:.93rem;line-height:1.35;font-weight:650;text-decoration:none;text-align:center;border:1px solid transparent}.button.primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px #2452e821}.button.primary:hover{background:#1945d1}.button.secondary{background:#fff;border-color:#d8dde8;color:#242b3c}.button.secondary:hover{background:#f4f6fc}.button.compact{min-height:40px;padding:10px 14px;font-size:.875rem}.dropzone{margin:0 24px 16px;padding:23px;border:1px dashed #a4b1d1;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f8faff;cursor:pointer}.dropzone strong{display:block;font-size:1rem;margin-bottom:6px}.dropzone span{font-size:.875rem;color:var(--muted)}.dropzone p{margin:0;color:var(--muted);font-size:.75rem;text-align:right;line-height:1.6}.dragging{outline:3px solid var(--accent);outline-offset:-4px;background:#eaf0ff!important}.viewer-toolbar{padding:0 24px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.status-chip{font-size:.8rem;font-weight:650;padding:6px 10px;border-radius:20px;background:#edf2ff;color:#3151a8}.status-chip.ready{background:#e6f3ed;color:#246b4c}.view-controls{display:flex;background:#f0f2f6;border-radius:8px;padding:3px}.view-controls button{font-size:.8rem;border:0;border-radius:6px;padding:6px 9px;background:none;color:#555e70}.view-controls button.selected{background:white;color:#232838;box-shadow:0 1px 4px #13234912}.viewer{position:relative;height:450px;background:#181b22;isolation:isolate;overflow:hidden}.viewer img{width:100%;height:100%;object-fit:contain;display:block;position:absolute;inset:0}.viewer #after{clip-path:inset(0 0 0 var(--split))}.photo-label{position:absolute;bottom:18px;color:#fff;font-size:.8rem;font-weight:600;padding:7px 12px;background:#181b22b8;z-index:2;border-radius:6px;pointer-events:none}.before-label{left:18px}.after-label{right:18px}.compare-divider{position:absolute;left:var(--split);height:100%;top:0;width:2px;background:#ffffffe0;pointer-events:none;z-index:3}.compare-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:white;color:#252937;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;box-shadow:0 2px 12px #0004}.viewer #compare{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4}.viewer:focus-within{box-shadow:inset 0 0 0 4px #819dff}.viewer.result-only #after{clip-path:none}.viewer.result-only #compare,.viewer.result-only .compare-divider,.viewer.result-only .before-label{display:none}.viewer-loading{position:absolute;right:16px;top:16px;display:flex;align-items:center;gap:8px;background:#fff;padding:9px 12px;border-radius:8px;font-size:.8rem;z-index:5;pointer-events:none}.spinner{width:15px;height:15px;border:2px solid #d3daf0;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.photo-caption{padding:18px 24px 10px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.photo-caption strong{font-size:.875rem;display:block;overflow-wrap:anywhere}.photo-caption p{font-size:.8rem;color:var(--muted);margin:6px 0;line-height:1.6}.filmstrip{display:flex;gap:10px;padding:10px 24px 20px;overflow:auto}.filmstrip:empty{display:none}.thumb{position:relative;flex:0 0 92px;height:94px;padding:3px;border:2px solid transparent;background:#f0f2f6;border-radius:10px;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px}.thumb.active{border-color:var(--accent)}.thumb span{position:absolute;left:7px;bottom:7px;color:white;background:#1c2333b8;padding:2px 5px;border-radius:4px;font-size:.75rem}.thumb .ready-mark{left:auto;right:7px;background:#245d48}.photo-tools{margin:0 24px 20px;padding:16px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:10px 20px}.photo-tools label{font-size:.875rem;display:flex;justify-content:space-between}.photo-tools input{grid-column:1;grid-row:2}.photo-tools #reset-photo{grid-column:2;grid-row:2}.photo-tools #download-one{color:var(--accent);justify-self:start}.local-note{padding:4px 24px 18px;font-size:.8rem;color:var(--muted);margin:0}.local-note .text-button{font-size:inherit;color:var(--accent)}.style-panel{padding:24px}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.section-title .eyebrow{font-size:.7rem;margin-bottom:7px}.section-title h2{font-size:1.3rem;margin-bottom:6px}.section-title .muted{font-size:.75rem;white-space:nowrap}.style-panel .subtle{font-size:.875rem;margin:0 0 18px}.style-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.style-option{padding:0 0 8px;border:2px solid transparent;background:#fff;border-radius:10px;text-align:left;overflow:hidden;min-width:0;transition:border-color .15s}.style-option img{display:block;width:100%;aspect-ratio:1.65;object-fit:cover;background:#e8eaf0;border-radius:6px}.style-option span{display:flex;gap:4px;justify-content:space-between;margin:8px 6px 0;font-size:.875rem;font-weight:650;line-height:1.3}.style-option[aria-pressed=true]{border-color:var(--accent);background:#f3f6ff}.style-option[aria-pressed=true] span:after{content:'✓';color:var(--accent)}.style-option:hover{border-color:#a9bae9}.style-description{font-size:.875rem;color:var(--muted);min-height:2.5em;line-height:1.5;margin:15px 0 17px}.range-label{display:flex;justify-content:space-between;font-size:.875rem;font-weight:600;margin-bottom:12px}.range-label output{color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;min-height:22px;margin:0}.range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem;margin-top:7px}.auto-toggle{display:flex;align-items:flex-start;gap:11px;padding:20px 0 14px;border-top:1px solid var(--line);margin-top:20px;cursor:pointer}.auto-toggle input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0;margin:2px 0 0}.auto-toggle strong{font-size:.875rem;line-height:1.4;display:block}.auto-toggle small{display:block;color:var(--muted);font-size:.8rem;line-height:1.5;margin-top:5px}.preview-note{font-size:.875rem;line-height:1.55;color:var(--muted);margin:0 0 18px}.style-panel>.button{width:100%;font-size:.875rem}.creative{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}summary{cursor:pointer;font-size:.875rem;font-weight:650;line-height:1.5}.creative p{font-size:.875rem;color:var(--muted);margin:12px 0}.creative .button{font-size:.875rem;width:100%;margin-bottom:10px}.creative .text-button{font-size:.8rem;text-align:left;display:block}.field{display:grid;gap:8px;font-size:.875rem;margin:16px 0}.field input,.field select{padding:12px;border:1px solid #cfd6e4;background:white;border-radius:8px;color:#242a39;min-width:0;width:100%}.processing{background:#eaf0ff;border:1px solid #cbd8ff;border-radius:15px;padding:22px 26px;margin-top:24px}.processing-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.processing-head .eyebrow{color:#4861a1;margin-bottom:7px}.processing-head h2{font-size:1.15rem;margin:0}#elapsed{font-size:1.5rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#395db9}.processing progress{width:100%;height:9px;border:0;border-radius:8px;display:block;margin:20px 0 14px;accent-color:var(--accent);overflow:hidden}.processing progress::-webkit-progress-bar{background:#d7e1fa}.processing progress::-webkit-progress-value{background:var(--accent);border-radius:8px}.processing progress:indeterminate{background:linear-gradient(90deg,#d7e1fa 0 20%,#7394ff 45%,#d7e1fa 70%);background-size:200% 100%;animation:loading 1.8s linear infinite}.processing progress:indeterminate::-webkit-progress-bar{background:transparent}@keyframes loading{to{background-position:200% 0}}.processing-bottom{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:.875rem;color:#455d95}.processing-bottom p{margin:0;flex:1;min-width:200px}.processing-bottom .text-button{color:#2e4a93}.processing.finished{background:#edf5f1;border-color:#d2e6dc}.processing.failed{background:#fff2eb;border-color:#f2d5c5}.action-bar{position:sticky;bottom:16px;z-index:10;margin-top:24px;background:#202534;color:#fff;border:1px solid #33394a;border-radius:14px;padding:19px 24px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 10px 35px #161f3124}.action-bar strong{font-size:1rem;line-height:1.5}.action-bar p{font-size:.875rem;color:#bfc8dc;margin:4px 0 0;line-height:1.55}.action-buttons{display:flex;gap:10px;flex-shrink:0}.action-bar .button.secondary{background:#323949;border-color:#525c73;color:#fff}.action-bar .button.primary{box-shadow:none}.notice{padding:16px 20px;border:1px solid #cbd8ff;border-radius:12px;background:#edf2ff;color:#2c478b;margin-bottom:22px;font-size:.9rem;line-height:1.6;white-space:pre-line}.notice.error{border-color:#edc6b3;background:#fff3ed;color:#864427}.error-text{color:#a23437;font-size:.875rem}footer{padding:28px 4px 35px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.8rem}footer p{margin:0}footer div{display:flex;gap:24px}footer .text-button{font-size:.8rem}dialog{border:1px solid #dce1eb;border-radius:20px;padding:34px;max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);color:#242b39;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#11182780;backdrop-filter:blur(3px)}dialog h2{font-size:1.65rem;line-height:1.25;letter-spacing:-.04em;padding-right:20px;margin-bottom:18px}dialog p,dialog li{font-size:.95rem;line-height:1.7;color:#535d70}dialog .button{width:100%}.dialog-close{position:absolute;right:18px;top:13px;border:0;background:none;color:#596378;font-size:1.8rem;padding:5px 9px}.help-steps{padding-left:22px}.help-steps li{padding:0 0 15px 5px}.help-steps strong{color:#242b39}.dialog-actions{display:flex;gap:12px;margin-top:26px}@media(min-width:1450px){.viewer{height:500px}}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:18px}.style-panel{padding:20px}.steps{gap:16px;font-size:.8rem}.heading{gap:24px}.top-actions{gap:18px}#saved-state{display:none}.dropzone{display:block}.dropzone p{text-align:left;margin-top:12px}.action-buttons .button{padding:13px;font-size:.875rem}}@media(max-width:800px){main{padding:0 16px}.topbar{height:68px;padding:0 20px}.brand{font-size:1.65rem}.top-actions{gap:14px}.top-actions .text-button{font-size:.8rem}.heading{display:block;margin:26px 0 22px}.heading h1{font-size:2rem}.intro{font-size:.95rem;max-width:520px}.heading .eyebrow{font-size:.7rem}.steps{flex-direction:row;justify-content:space-between;gap:12px;margin-top:24px;font-size:.8rem}.steps li{flex-direction:row;align-items:center;gap:7px}.steps span{font-size:1rem}.workspace{grid-template-columns:1fr}.style-panel{padding:22px}.style-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.style-option span{font-size:.8rem;margin:6px 3px 0}.style-option img{aspect-ratio:1.15}.viewer{height:420px}.style-description{min-height:0}.action-bar{bottom:8px;padding:16px;display:block}.action-bar p{font-size:.8rem}.action-buttons{margin-top:13px;display:flex;flex-wrap:wrap}.action-buttons .button{flex:1;min-width:130px}.processing{padding:18px}.processing-bottom{gap:10px}#elapsed{font-size:1.25rem}footer{display:block;padding-bottom:24px}footer div{margin-top:12px}.creative .button{max-width:400px}.creative{margin-top:18px}.photo-caption,.panel-head{padding-inline:18px}.dropzone{margin-inline:18px}.viewer-toolbar{padding-inline:18px}.filmstrip{padding-inline:18px}}@media(max-width:440px){.viewer{height:330px}.heading h1{font-size:1.8rem}.top-actions{gap:10px}.top-actions .text-button{font-size:.75rem}.steps{font-size:.75rem}.style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.style-option img{aspect-ratio:1.8}.style-option span{font-size:.875rem}.view-controls button{font-size:.75rem;padding:6px}.status-chip{font-size:.75rem}.thumb{flex-basis:76px;height:80px}.panel-head .button{font-size:.8rem;padding:10px}.photo-panel,.style-panel{border-radius:14px}dialog{padding:28px 22px}.processing-head h2{font-size:1rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep controls and processing state readable on small screens. */
.status-chip,.view-controls button,.viewer-loading,.creative .text-button,footer .text-button,.top-actions .text-button,.steps,.action-bar p{font-size:.875rem}.eyebrow,.section-title .eyebrow,.heading .eyebrow{font-size:.75rem}.action-bar>div:first-child{min-width:0}.action-buttons{flex-wrap:wrap}.photo-caption>div{min-width:0}.photo-tools{grid-template-columns:minmax(0,1fr) auto}.processing-bottom p{overflow-wrap:anywhere}

/* Purchase and result surfaces share the studio's quiet photographic layout. */
.heading h1{font-size:clamp(1.9rem,2.8vw,2.5rem)}.viewer-toolbar{flex-wrap:wrap}.package-card{margin-top:24px;border:1px solid #c9d6ff;border-radius:12px;padding:20px;background:#f5f8ff}.package-kicker{font-size:.75rem;color:#4764a4;font-weight:700;letter-spacing:.07em}.package-price{display:flex;align-items:baseline;gap:12px;margin:10px 0}.package-price strong{font-size:2rem;letter-spacing:-.05em}.package-price span,.package-card p,.package-card small{font-size:.875rem;line-height:1.55;color:var(--muted)}.package-card .button{width:100%;margin-bottom:12px}.package-card small{display:block}.order-thumbs{display:flex;gap:7px;overflow:auto;margin:16px 0}.order-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:7px;flex-shrink:0}.order-actions{display:grid;gap:10px}.terms-check{display:flex;gap:10px;font-size:.875rem;line-height:1.5}.terms-check input{flex-shrink:0;width:18px;height:18px}.terms-check a{color:var(--accent)}.saved-order{display:block;width:100%;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f8faff;text-align:left;margin-bottom:10px;line-height:1.6;font-size:.875rem}.saved-order:hover{border-color:var(--accent)}.result-feedback{margin-top:24px;padding:22px;background:white;border:1px solid var(--line);border-radius:14px;display:grid;gap:16px}.result-feedback p{color:var(--muted);font-size:.875rem;margin:6px 0 0}.result-feedback>div+div{display:flex;flex-wrap:wrap;gap:10px}.result-feedback .button{font-size:.875rem}.field textarea{font:inherit;padding:12px;border:1px solid #cfd6e4;border-radius:8px;resize:vertical;width:100%}#order-status{padding:12px;background:#edf2ff;border-radius:8px;color:#3053ac}#feedback-status{font-size:.875rem;color:#246b4c}#order-error{overflow-wrap:anywhere}@media(max-width:800px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding-block:14px;gap:12px}.top-actions{flex-wrap:wrap;gap:12px}.package-card{margin-top:20px}}@media(max-width:440px){.viewer-toolbar{gap:10px}.status-chip{max-width:100%}.photo-tools{margin-inline:18px}.action-bar strong{font-size:.93rem}}
