@font-face{font-family:Fraunces;src:url('/fonts/fraunces.woff2') format('woff2');font-display:swap}@font-face{font-family:'Instrument Sans';src:url('/fonts/instrument-sans.woff2') format('woff2');font-display:swap}
:root{--bg:#111211;--surface:#1a1b19;--ink:#f5f1e9;--muted:#b4b4aa;--gold:#e6bd7d;--line:#ffffff26;--sans:'Instrument Sans',Arial,sans-serif;--serif:Fraunces,Georgia,serif;color-scheme:dark;font-family:var(--sans)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5}button,input,a{font:inherit;color:inherit}button{cursor:pointer}a{text-underline-offset:4px}button,input,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible,label:focus-within{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:default;opacity:.5}::selection{background:var(--gold);color:var(--bg)}input{accent-color:var(--gold);caret-color:var(--gold)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#55564f;border-radius:8px}[hidden]{display:none!important}.skip{position:absolute;top:-100px}.skip:focus{top:8px;left:8px;background:var(--gold);color:var(--bg);padding:12px;z-index:5}header{max-width:1440px;margin:auto;padding:22px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:12px;letter-spacing:.1em}.mark{font-family:var(--serif);font-size:42px;color:var(--gold);letter-spacing:-.04em;line-height:1}.brand small{display:block;font-size:12px;color:var(--muted);letter-spacing:0}.local{color:var(--muted);font-size:12px}main{max-width:1380px;margin:auto;padding:36px 5% 20px}.intro{margin-bottom:32px}.intro h1{font-family:var(--serif);font-size:clamp(30px,3.4vw,46px);font-weight:400;line-height:1.12;letter-spacing:-.025em;margin:0 0 12px;text-wrap:balance}.intro p{margin:0;color:var(--muted)}h2{font-size:18px;font-weight:600;margin:0 0 10px;line-height:1.3}h2 span{font-size:12px;font-weight:400;color:var(--muted);margin-left:6px}.workbench{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);column-gap:50px;align-items:start}.photo-step{grid-column:1;grid-row:1}.scene-step{grid-column:1;grid-row:2}.overlay-step{grid-column:1;grid-row:3}.generate-step{grid-column:1;grid-row:4}.preview-step{grid-column:2;grid-row:1/5;position:sticky;top:20px;min-width:0}section:not(.preview-step){margin-bottom:26px}.upload{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:145px;background:var(--surface);border:1px dashed #62645b;border-radius:12px;padding:20px;cursor:pointer;text-align:center;overflow:hidden}.upload:hover{border-color:var(--gold)}.upload svg{width:24px;height:24px;fill:none;stroke:var(--gold);stroke-width:1.5}.upload strong{font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.upload span{color:var(--muted);font-size:12px}.upload input,.file-link input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.hint{font-size:13px;color:var(--muted);margin:8px 0 14px}.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.scene{padding:0;background:none;border:0;text-align:left;min-width:0}.scene img{width:100%;height:118px;object-fit:cover;border-radius:8px;border:2px solid transparent}.scene[aria-pressed=true] img{border-color:var(--gold)}.scene:hover img{filter:brightness(1.12)}.scene span{display:block;margin-top:5px;font-size:12px;line-height:1.3;min-height:32px}.file-link{position:relative;display:inline-block;font-size:13px;color:var(--gold);padding:8px 0;margin-top:8px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.effects{display:flex;gap:8px;flex-wrap:wrap}.effect{background:none;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:12px}.effect[aria-pressed=true]{background:var(--gold);color:var(--bg);border-color:var(--gold)}.effect:hover{border-color:var(--gold)}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.preview-heading h2{margin:0}.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs button{border:0;background:none;padding:10px 12px;font-size:12px;border-bottom:2px solid transparent}.tabs button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.stage{background:var(--surface);height:610px;display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;border-radius:12px;position:relative}.stage img{height:100%;width:100%;object-fit:contain;min-width:0}.stage.paired img{width:calc(50% - 4px)}#empty-preview{text-align:center;color:var(--muted);padding:24px}#empty-preview svg{width:56px;height:56px;stroke:#8e9385;fill:none;stroke-width:1}#empty-preview p{color:var(--ink);font-family:var(--serif);font-size:26px;margin:20px 0 6px}#empty-preview span{font-size:13px}.result-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;font-size:12px;color:var(--muted)}.result-actions p{margin:0;max-width:42ch}.download{white-space:nowrap;background:var(--gold);color:var(--bg);padding:12px 16px;border-radius:6px;text-decoration:none;font-weight:600}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 20px;background:var(--gold);color:var(--bg);border:0;border-radius:6px;font-weight:600}.primary:not(:disabled):hover,.download:hover{background:#f0cb95}.primary svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}.status{font-size:13px;line-height:1.55;min-height:1px}.status.error{color:#ffb7a5}.status.busy::before{content:'';display:inline-block;width:8px;height:8px;background:var(--gold);border-radius:50%;margin-right:8px;animation:pulse 1.5s ease-in-out infinite}.text-button{padding:10px 0;border:0;background:none;color:var(--gold);font-size:13px;text-decoration:underline;text-underline-offset:4px}.custom-choice{display:flex;gap:10px;align-items:center;background:var(--surface);padding:8px;font-size:12px;border-radius:6px}.custom-choice img{width:48px;height:48px;object-fit:cover}.custom-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.custom-choice button{background:none;border:0;color:var(--gold);padding:10px;font-size:12px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:16px;color:var(--muted);font-size:12px}footer p{margin:0}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:900px){.workbench{column-gap:28px;grid-template-columns:minmax(270px,350px) minmax(0,1fr)}.stage{height:520px}.preview-heading{flex-wrap:wrap}}@media(max-width:700px){header{padding:18px 6%}main{padding:28px 6% 20px}.intro{margin-bottom:24px}.intro p{font-size:14px}.workbench{display:flex;flex-direction:column;gap:0}.workbench section{width:100%}.photo-step{order:1}.preview-step{order:2;position:static;margin-bottom:28px}.scene-step{order:3}.overlay-step{order:4}.generate-step{order:5}.stage{height:420px}.preview-heading{flex-wrap:nowrap}.tabs button{padding:10px 8px}.preview-heading h2{font-size:16px}.scene img{height:135px}.upload{min-height:125px}footer{flex-direction:column;gap:6px}.result-actions{align-items:flex-start}.stage.paired{height:340px}}

.header-tools{display:flex;align-items:center;gap:20px}.languages{display:flex;gap:4px}.languages a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:36px;text-decoration:none;font-size:12px;color:var(--muted)}.languages a[aria-current=page]{color:var(--gold);text-decoration:underline}.languages a:hover{color:var(--ink)}@media(max-width:700px){.header-tools{gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:145px}.local{flex-basis:100%;text-align:right}.preview-heading{flex-wrap:wrap}.languages a{min-width:40px}}
.account-panel{border-block:1px solid var(--line);padding:22px 0;margin-bottom:32px}.account-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.account-heading h2{margin:0}.account-panel p{color:var(--muted);margin:10px 0;max-width:75ch;overflow-wrap:anywhere}.account-login{display:flex;align-items:end;flex-wrap:wrap;gap:14px;max-width:850px}.account-field{display:flex;flex-direction:column;gap:6px;flex:1 1 230px;min-width:0}.account-field label{font-size:14px}.account-field input{min-width:0;width:100%;min-height:46px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:16px}.account-field input::placeholder{color:var(--muted)}.account-action{min-height:46px;border:1px solid var(--gold);border-radius:6px;padding:10px 16px;background:transparent;color:var(--gold)}.account-action:not(:disabled):hover{background:var(--gold);color:var(--bg)}.account-login .text-button{flex-basis:100%;text-align:left;min-height:44px}.account-panel .account-balance{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}.account-panel .account-status{font-size:14px}.account-panel .account-status.error{color:#ffb7a5}#account-history{margin-top:18px}#account-history summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--gold)}#account-history ul{list-style:none;padding:0;margin:0;max-height:260px;overflow:auto}#account-history li{border-bottom:1px solid var(--line)}#account-history li button{min-height:44px;text-align:left;font-size:14px}#account-challenge{max-width:100%;margin-top:12px}@media(max-width:700px){.account-login{display:block}.account-field{margin-bottom:14px}.account-action{width:100%}.account-panel{padding:18px 0;margin-bottom:26px}}
