:root{--paper:#f4f1ed;--ink:#171614;--muted:#6f6b65;--line:#d9d3cb;--accent:#8c563f;--soft:#e9e4dd;--white:#fff;--error:#a52e29;color-scheme:light;font-family:'DM Sans',sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5}button,input{font:inherit}button,a,input,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:not-allowed}button svg{stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}fieldset{border:0;padding:0;margin:0;min-width:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:200;left:20px;top:12px;transform:translateY(-150%);background:var(--ink);color:white;padding:12px}.skip-link:focus{transform:none}
.studio-header{min-height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 4.2vw;gap:20px}.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1;letter-spacing:.04em;text-decoration:none;text-align:center;white-space:nowrap}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.25em;margin-top:7px}.studio-wordmark{font-size:12px;letter-spacing:.22em;display:flex;align-items:center;gap:13px}.wordmark-line{width:28px;height:1px;background:var(--accent)}.back-link{font-size:14px;text-decoration:none;display:flex;align-items:center;gap:18px}.back-link span{font-size:22px;font-weight:400}
main{max-width:1380px;margin:0 auto;padding:42px 4.2vw 28px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.19em;color:var(--accent);margin:0 0 12px}h1,h2{font-family:'Times New Roman',Times,serif;font-weight:400}h1{font-size:clamp(36px,3.8vw,54px);letter-spacing:-.035em;line-height:1.08;margin:0 0 14px}.intro{font-size:16px;color:var(--muted);margin:0}.heading-note{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:20px;line-height:1.35;color:var(--muted);margin:0 0 4px;padding-left:20px;border-left:1px solid var(--line)}
.atelier{display:grid;grid-template-columns:340px minmax(0,1fr);gap:36px;align-items:start}.controls{padding:4px 0}.control-section{margin-bottom:25px}.control-section legend{font-size:15px;font-weight:500;display:flex;align-items:center;gap:10px;width:100%;margin-bottom:12px}.step-number{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:400}.dropzone{position:relative;min-height:173px;display:block;border:1px dashed #b5ada2;border-radius:5px;background:rgba(255,255,255,.36);cursor:pointer;overflow:hidden;transition:background .2s,border-color .2s}.dropzone:hover,.dropzone.dragover{background:#fff;border-color:var(--accent)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:4px}.dropzone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;z-index:3;cursor:pointer}.upload-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px}.upload-icon{width:36px;height:36px;stroke:var(--accent);stroke-width:1.2;margin-bottom:7px}.upload-empty strong{font-size:15px;font-weight:500}.upload-empty>span{font-size:14px;color:var(--muted);margin-top:1px}.upload-empty small{font-size:12px;color:var(--muted);margin-top:12px}.uploaded-photo{height:173px;position:relative;background:#e1dcd4}.uploaded-photo img{width:100%;height:100%;object-fit:contain}.replace-label{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);padding:5px 13px;background:#ffffffed;box-shadow:0 2px 8px #0000000a;border-radius:3px;font-size:12px;white-space:nowrap}.field-hint{font-size:13px;color:var(--muted);line-height:1.5;margin:9px 0 0}.file-info{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;padding:8px 0 0}.file-info>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{border:0;padding:3px 0;background:none;color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:3px}.field-error{font-size:13px;color:var(--error);margin:8px 0 0}
.style-options{display:grid;gap:8px}.style-option{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px 15px;border-radius:4px;cursor:pointer;transition:background .2s,border-color .2s}.style-option:has(input:checked){border-color:#8b7c6d;background:#fff9}.style-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.style-option input{position:absolute;opacity:0;width:1px;height:1px}.style-radio{flex:0 0 16px;height:16px;border:1px solid #aba399;border-radius:50%;display:grid;place-items:center}.style-option input:checked+.style-radio{border-color:var(--ink)}.style-option input:checked+.style-radio:after{content:'';width:8px;height:8px;border-radius:50%;background:var(--ink)}.style-option strong{font-size:14px;font-weight:500;display:block}.style-option small{font-size:13px;color:var(--muted);display:block;margin-top:1px}.name-section legend{flex-wrap:wrap;gap:8px}.optional{font-size:11px;color:var(--muted);font-weight:400;margin-left:auto}.name-input{width:100%;height:45px;border:1px solid var(--line);border-radius:4px;padding:0 13px;color:var(--ink);background:#ffffff57;font-size:14px}.name-input::placeholder{color:#858078}.create-area{border-top:1px solid var(--line);padding-top:17px}.consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:15px;cursor:pointer}.consent input{margin:3px 0 0;accent-color:var(--ink);width:15px;height:15px;flex-shrink:0}.consent a{text-underline-offset:2px}.create-button{width:100%;min-height:51px;display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:var(--ink);border:1px solid var(--ink);border-radius:4px;color:#fff;font-size:15px;transition:background .2s,transform .2s}.create-button:hover:not(:disabled){background:#393129;transform:translateY(-1px)}.create-button:disabled{opacity:.55}.generation-hint{font-size:12px;color:var(--muted);text-align:center;margin:9px 0 0}.form-status{font-size:14px;line-height:1.5;margin:10px 0 0}.form-status:empty{display:none}.form-status[data-error=true]{color:var(--error)}.account-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:13px;font-size:12px;color:var(--muted)}.account-strip>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.preview-panel{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#ebe6df;min-width:0}.preview-toolbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px;border-bottom:1px solid var(--line);background:#ede8e1}.preview-label{display:flex;flex-direction:column;gap:3px}.tiny-label{font-size:10px;font-weight:500;letter-spacing:.17em;color:var(--muted)}#preview-badge{font-size:13px}.view-tabs{display:flex;border:1px solid #d3cdc4;padding:3px;border-radius:5px;gap:1px}.view-tabs button{border:0;background:none;border-radius:3px;padding:6px 10px;font-size:12px;color:var(--muted)}.view-tabs button[aria-pressed=true]{background:white;color:var(--ink);box-shadow:0 1px 3px #0000000b}.view-tabs button:disabled{opacity:.4}.artboard-wrap{padding:30px 40px 21px}.artboard{position:relative;max-width:565px;aspect-ratio:1;overflow:hidden;background:#fff;margin:auto;box-shadow:0 5px 16px #4537250a,0 1px 2px #45372510;isolation:isolate}.art-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.drawing-image{padding:28px}.photo-layer{position:absolute;inset:0;display:none}.source-image{object-fit:cover}.artboard[data-view=photo] .photo-layer{display:block}.artboard[data-view=compare] .photo-layer{display:block;clip-path:inset(0 calc(100% - var(--compare,50%)) 0 0)}.comparison-divider{position:absolute;z-index:3;top:0;bottom:0;left:var(--compare,50%);width:2px;background:#fff;box-shadow:0 0 5px #0003;display:none;pointer-events:none}.comparison-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0002;font-size:18px;letter-spacing:4px;padding-left:4px}.comparison-range{display:none;position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.artboard[data-view=compare] .comparison-divider,.artboard[data-view=compare] .comparison-range{display:block}.artboard:has(.comparison-range:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.pet-signature{position:absolute;bottom:3%;left:5%;right:5%;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(20px,3vw,35px);text-align:center;line-height:1.1;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artboard[data-view=photo] .pet-signature{display:none}.paper-caption{display:flex;justify-content:space-between;gap:14px;max-width:565px;margin:15px auto 0;color:var(--muted)}.paper-caption>span:first-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;font-style:italic}.paper-caption>span:last-child{font-size:9px;letter-spacing:.11em;align-self:center;white-space:nowrap}.preview-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 22px;border-top:1px solid var(--line);background:#ede8e1}.preview-note{display:flex;align-items:center;gap:8px;max-width:310px}.preview-note p{font-size:12px;color:var(--muted);margin:0}.sample-dot{width:5px;height:5px;border:1px solid var(--accent);border-radius:50%;flex-shrink:0}.download-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #c4bbaf;background:transparent;padding:9px 13px;border-radius:4px;font-size:13px;white-space:nowrap}.download-button:hover:not(:disabled){background:#fff}.download-button:disabled{opacity:.38}
.canvas-empty,.generation-overlay{position:absolute;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;z-index:5}.canvas-empty .empty-number{color:#c2b7a8;font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-style:italic;margin-bottom:22px}.canvas-empty h2,.generation-overlay h2{max-width:290px;font-size:30px;line-height:1.15;letter-spacing:-.02em;margin:0 0 13px}.canvas-empty p,.generation-overlay p{max-width:270px;font-size:14px;color:var(--muted);margin:0}.loading-ring{height:44px;width:44px;border:1px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:rotate 1.3s linear infinite;margin-bottom:26px}.elapsed{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.12em;color:var(--muted);margin-top:25px}@keyframes rotate{to{transform:rotate(360deg)}}
.below-workspace{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-top:28px;font-size:12px;color:var(--muted)}.below-workspace>p{margin:0;max-width:390px}.below-workspace details{max-width:400px;text-align:right}.below-workspace summary{cursor:pointer;font-size:12px;text-underline-offset:4px;text-decoration:underline;list-style:none}.below-workspace details p{text-align:left;margin:12px 0 0;font-size:14px}.studio-footer{max-width:1268px;margin:20px auto 0;border-top:1px solid var(--line);padding:22px 0 28px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.studio-footer a{text-decoration:none}.studio-footer>a:first-child{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:.07em;font-size:17px;color:var(--ink)}.studio-footer>span{font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;font-style:italic}.auth-dialog{width:min(440px,calc(100% - 32px));padding:39px 32px 28px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.auth-dialog::backdrop{background:#17161460;backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:28px;line-height:1;padding:6px;color:var(--muted)}.auth-dialog h2{font-size:35px;line-height:1.05;letter-spacing:-.025em;margin:14px 0}.auth-dialog p:not(.eyebrow){font-size:14px;color:var(--muted)}#google-sign-in{min-height:44px;margin:24px 0 12px}.auth-dialog .auth-small{font-size:12px!important;margin-bottom:0}.noscript-note{padding:20px;text-align:center}
@media(min-width:1500px){main{padding-left:0;padding-right:0;max-width:1268px}.atelier{grid-template-columns:360px minmax(0,1fr);gap:52px}}
@media(max-width:1100px){main{padding:32px 28px}.atelier{grid-template-columns:310px minmax(0,1fr);gap:24px}.artboard-wrap{padding:25px 24px 19px}.preview-toolbar{padding:14px 16px;flex-wrap:wrap}.preview-bottom{padding:16px;flex-wrap:wrap}.paper-caption>span:last-child{display:none}.heading-note{display:none}.studio-footer{margin-left:28px;margin-right:28px}.control-section{margin-bottom:21px}}
@media(max-width:800px){.studio-header{min-height:74px;padding:12px 22px}.brand{font-size:22px}.studio-wordmark{font-size:10px;letter-spacing:.15em}.wordmark-line{display:none}.back-link{font-size:12px;gap:7px}.page-heading{margin-bottom:26px}h1{font-size:42px}.atelier{grid-template-columns:285px minmax(0,1fr);gap:20px}.artboard-wrap{padding:20px 15px}.preview-toolbar{gap:12px}.view-tabs{width:100%;justify-content:space-between}.view-tabs button{padding:6px 8px;flex:1}.preview-bottom{align-items:stretch}.preview-note{max-width:none}.download-button{width:100%}.drawing-image{padding:16px}.optional{margin-left:26px}.studio-footer>span{display:none}}
@media(max-width:640px){.studio-header{padding:13px 18px}.studio-wordmark{display:none}.brand{font-size:23px}.back-link{font-size:13px}main{padding:28px 18px 16px}.page-heading{margin-bottom:25px}.eyebrow{font-size:10px;margin-bottom:11px}h1{font-size:39px;max-width:290px;line-height:1.03;margin-bottom:13px}.intro{font-size:14px;max-width:330px;line-height:1.65}.atelier{display:flex;flex-direction:column;gap:24px}.controls,.preview-panel{width:100%}.control-section{margin-bottom:23px}.control-section legend{font-size:15px}.dropzone{min-height:156px}.upload-empty{padding:15px}.uploaded-photo{height:156px}.style-options{grid-template-columns:1fr 1fr;gap:8px}.style-option{padding:12px 10px;align-items:flex-start;gap:8px}.style-radio{margin-top:3px;flex-basis:14px;height:14px}.style-option strong{font-size:13px}.style-option small{font-size:12px;line-height:1.4;margin-top:4px}.optional{margin-left:auto;font-size:10px}.name-input{height:47px}.create-area{padding-top:16px}.consent{font-size:12px}.create-button{min-height:53px}.preview-toolbar{flex-wrap:nowrap;align-items:center;padding:14px;gap:10px}.view-tabs{width:auto}.view-tabs button{font-size:11px;padding:6px 7px}.tiny-label{font-size:9px}#preview-badge{font-size:12px}.artboard-wrap{padding:19px 18px 18px}.artboard{max-width:440px}.paper-caption>span:first-child{font-size:16px}.preview-bottom{padding:14px;flex-wrap:nowrap;align-items:center;gap:12px}.preview-note p{font-size:11px}.download-button{width:auto;font-size:12px;flex-shrink:0;padding:9px 10px}.below-workspace{display:block;margin-top:22px}.below-workspace>p{font-size:12px}.below-workspace details{margin-top:14px;text-align:left}.studio-footer{margin:12px 18px 0;padding:18px 0 24px;gap:12px;align-items:center}.studio-footer>a:last-child{font-size:11px}.pet-signature{font-size:26px}}
.source-image{object-fit:contain;background:#fff}.drawing-image{padding:5%}.pet-signature{top:94.875%;bottom:auto;transform:translateY(-50%);line-height:1;text-overflow:clip}
.consent{font-size:14px}.consent input{width:17px;height:17px}.view-tabs button{font-size:14px}.download-button{font-size:14px}.field-hint{font-size:14px}.below-workspace summary{font-size:14px}
@media(max-width:640px){.preview-toolbar{flex-wrap:wrap}.view-tabs{width:100%}.view-tabs button{font-size:14px;min-height:36px}.download-button{font-size:14px}.preview-note p{font-size:12px}.consent{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}}

.artboard[data-presentation=tattoo]{aspect-ratio:2/3;max-width:440px}.artboard[data-presentation=tattoo] .drawing-image{padding:0}.artboard[data-presentation=tattoo] .pet-signature{display:none}.artboard[data-presentation=tattoo] .source-image{background:#eee9e2}.preview-label{min-width:0}.tiny-label{line-height:1.4}.generation-hint{line-height:1.5}.intro{max-width:620px}
@media(max-width:800px) and (min-width:641px){.atelier{grid-template-columns:1fr 1.15fr}.controls{min-width:0}}
