:root{--ink:#242c27;--green:#344b3e;--paper:#f6f4ef;--line:#dcded6;--muted:#71766f;--white:#fff;--accent:#e6eddf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #8b9e69;outline-offset:4px}button{border:0;background:none}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:#fcfbf8}.brand{font-family:Georgia,serif;font-size:32px;letter-spacing:6px;text-decoration:none;color:var(--ink)}.brand span{display:block;font:10px Arial,sans-serif;letter-spacing:2px;margin-top:5px}.prototype{font-size:12px;letter-spacing:2px;color:var(--muted)}.quiet{font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:10px 0}.setup{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:9%;padding:58px 48px}.eyebrow,.step-label{font-size:12px;letter-spacing:2.3px;font-weight:600}.intro h1{font:normal clamp(42px,5vw,68px)/1.05 Georgia,serif;letter-spacing:-2px;margin:22px 0}.intro p,.choices>p{color:var(--muted);line-height:1.6}.product-preview{display:flex;flex-direction:column;align-items:center;padding-top:15px}.caption{font-size:13px;color:var(--muted);margin-top:25px}#sample-frame{width:220px;aspect-ratio:1;background:#fff;box-shadow:9px 12px 0 #e4e1d9,18px 24px 30px #282e2420;border:12px solid #fff;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;color:#8b9488;background:#eef0e9;transition:aspect-ratio .25s}.sample-plus{font-size:40px;font-weight:200}.choices{padding-top:22px}.choices h2{font:normal 36px Georgia,serif;margin:20px 0 10px}.sizes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.size-card{border:1px solid var(--line);border-radius:4px;text-align:left;padding:18px;display:flex;align-items:center;gap:16px;background:#fbfaf7;min-height:91px}.size-card.active{border:2px solid var(--green);padding:17px;background:var(--accent)}.size-card .shape{display:block;border:1px solid currentColor;width:28px;background:#ffffff65}.size-card strong{font-size:16px;display:block}.size-card small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.orientation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 25px;font-size:14px}.orientation div{display:flex;gap:7px}.chip{padding:9px 12px;border:1px solid var(--line);border-radius:30px;font-size:14px}.chip.active{background:var(--green);color:#fff;border-color:var(--green)}.detail{display:flex;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);font-size:14px;gap:15px}.detail span{color:var(--muted)}.detail strong{font-weight:500}.primary{display:flex;justify-content:center;align-items:center;gap:20px;width:100%;background:var(--green);color:#fff;padding:17px 20px;border-radius:3px;font-size:16px;min-height:54px}.primary:hover{background:#26392e}.primary span{margin-left:auto}#start{margin-top:22px}.micro{font-size:12px!important;line-height:1.5;color:var(--muted);text-align:center}.editor-top{padding:18px 4vw;display:flex;justify-content:space-between;align-items:center;background:#fcfbf8;border-bottom:1px solid var(--line)}.icon-label{display:inline-flex;align-items:center;gap:10px;padding:10px}.icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:28px}.icon:hover{background:#e9ece5}svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.history{display:flex;align-items:center;gap:8px}#save-status{font-size:12px;color:var(--muted);margin-right:14px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;min-height:calc(100dvh - 175px)}.stage{padding:28px 5%;display:flex;flex-direction:column;min-width:0;background:radial-gradient(ellipse at center,#fdfcf9,var(--paper))}.stage-heading{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);gap:15px}#art-wrap{display:flex;align-items:center;justify-content:center;flex:1;padding:35px 18px;min-height:300px}#art{display:grid;background:#fff;width:100%;max-width:540px;box-shadow:5px 6px 0 #e4e2dc,15px 22px 38px #202b2726;position:relative}.cell{padding:0;min-width:0;min-height:0;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;touch-action:manipulation;background:#f3f3ef;border:1px dashed #c7cec1}.cell.filled{border:0;background:#fff}.cell canvas{width:100%;height:100%;display:block;pointer-events:none}.cell .plus{color:#788474;font-size:28px;font-weight:300}.cell .empty-label{font-size:14px;color:var(--muted);margin-top:10px}.cell.empty-first{flex-direction:column}.cell .delete{position:absolute;background:#fff;color:#9e3232;border-radius:50%;padding:7px;box-shadow:0 2px 8px #0002}.cell.swap-selected{outline:4px solid #728553;outline-offset:-4px}.stage-hint{text-align:center;color:var(--muted);font-size:14px;margin:8px 0 24px;min-height:18px}.stage-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;font-size:12px;gap:10px}aside{background:#fcfbf8;border-left:1px solid var(--line);display:flex;flex-direction:column}.tool-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 12px}.tool-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 8px 16px;font-size:13px;border-bottom:2px solid transparent}.tool-tabs button.active{border-bottom-color:var(--green);background:#eef1e9}#panel{padding:26px 24px;flex:1}#panel h3{font:normal 24px Georgia,serif;margin:0 0 12px}#panel p{font-size:14px;color:var(--muted);line-height:1.6}.upload-button{border:1px solid var(--green);display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;width:100%;border-radius:3px}.gallery-filter{display:flex;gap:6px;margin:18px 0}.gallery-filter button{font-size:12px;padding:7px;border-radius:3px}.gallery-filter .active{background:var(--accent)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.thumb{padding:0;position:relative;aspect-ratio:1;overflow:hidden;border-radius:3px;background:#e4e6df}.thumb img{width:100%;height:100%;object-fit:cover}.thumb span{position:absolute;bottom:4px;right:4px;background:var(--green);color:#fff;border-radius:20px;min-width:20px;padding:3px;font-size:11px}.layouts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.layout{padding:12px;border:1px solid var(--line);border-radius:3px}.layout.active{border:2px solid var(--green);padding:11px;background:var(--accent)}.layout-mini{display:grid;width:58px;height:58px;margin:0 auto 10px;gap:2px}.layout-mini i{display:block;background:#aebaa5}.layout span{font-size:13px}.switch-row{margin-top:20px;font-size:14px;display:flex;align-items:center;gap:9px}.switch-row input{width:18px;height:18px;accent-color:var(--green)}.review-footer{padding:20px 24px;border-top:1px solid var(--line)}.review-footer>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:10px}.review-footer strong{font-weight:500;font-size:16px}.review-footer span{font-size:12px;color:var(--muted)}.review-footer .primary span{color:#fff;font-size:18px}.danger{color:#963b3b;border:1px solid #dec5c5;padding:12px;width:100%;border-radius:3px;margin-top:15px}dialog{border:0;padding:25px;border-radius:8px;max-width:540px;width:calc(100% - 32px);max-height:92dvh;overflow:auto;color:var(--ink);background:#fcfbf8}dialog::backdrop{background:#141c18a6;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.modal-head h2{font:normal 25px Georgia,serif;margin:0}.crop-dialog{background:#222823;color:#fff;max-width:650px}.crop-dialog .quiet{color:#cdd5c9}.crop-dialog .modal-head h2{font:normal 18px Arial,sans-serif}.crop-stage{height:43dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#171d18}.crop-stage canvas{max-width:100%;max-height:100%;touch-action:none;cursor:grab;outline:1px solid #fff8}.crop-hint{text-align:center;font-size:12px;color:#bdc8b9}.zoom-row{display:flex;align-items:center;gap:15px;font-size:14px;margin:20px 0}.zoom-row input{flex:1;min-width:0;accent-color:#aab99a}.zoom-row output{min-width:40px}.crop-tools{display:flex;gap:12px;align-items:center;justify-content:space-between}.crop-tools .icon-label{font-size:13px;padding-left:0}#filters{display:flex;gap:5px}#filters button{padding:10px 8px;font-size:13px;border:1px solid #596151;border-radius:3px}#filters .active{background:#c9d5bd;color:#172416}.quality{font-size:12px;min-height:15px;color:#d5dccc}.quality.warn{color:#ffce8c}.crop-dialog .primary{background:#d9e4d0;color:#172416}#review-canvas{max-width:100%;max-height:46dvh;display:block;margin:0 auto;background:#fff;box-shadow:0 4px 15px #0002}#review-detail{text-align:center;font-size:14px;line-height:1.6}#review-dialog>.quiet{display:block;margin:10px auto}#info-dialog p{line-height:1.6;color:var(--muted)}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#243b2d;color:white;box-shadow:0 5px 20px #0003;border-radius:6px;padding:14px 22px;max-width:90%;z-index:10;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}[hidden]{display:none!important}@media(max-width:800px){header{height:73px;padding:0 20px}.brand{font-size:25px}.brand span{font-size:8px}.prototype{font-size:10px;letter-spacing:1px}#help{font-size:12px}.setup{padding:28px 22px;gap:30px;grid-template-columns:1fr}.intro h1{font-size:44px;margin:16px 0}.intro h1 br{display:none}.intro>p{font-size:15px}.product-preview{display:none}.choices{padding:0}.choices h2{font-size:29px}.sizes{margin:20px 0}.workspace{grid-template-columns:1fr;min-height:0}.editor-top{padding:10px 12px}.history{gap:0}#save-status{display:none}.stage{padding:17px 18px}.stage-heading{font-size:12px}#art-wrap{padding:24px 15px;min-height:240px}#art{max-width:330px}.stage-hint{font-size:12px;margin:5px 0 12px}.stage-bottom{padding-top:5px;font-size:11px}aside{border-left:0;border-top:1px solid var(--line)}.tool-tabs button{padding:14px 5px;font-size:12px;gap:5px}#panel{padding:20px}#panel h3{font-size:23px}.gallery{grid-template-columns:repeat(5,1fr)}.layouts{grid-template-columns:repeat(4,1fr)}.layout-mini{width:45px;height:45px}.review-footer{padding:16px 20px;position:sticky;bottom:0;background:#fcfbf8;z-index:2}.review-footer>div{margin-bottom:10px}.review-footer .micro{margin-bottom:0}.crop-tools{flex-wrap:wrap}.modal-head h2{font-size:22px}.crop-dialog{padding:16px}.primary{padding:14px 16px}.orientation{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Compact working surface, including short mobile viewports. */
body.editing>header{display:none}
header{height:64px}
.setup{display:block;max-width:530px;padding:28px 22px}
.choices{padding:0}.choices h1{font:normal 30px Georgia,serif;margin:0 0 22px}
.sizes{margin:0 0 20px}.size-card{min-height:78px;padding:14px}.size-card.active{padding:13px}
#start{margin-top:18px}.editor-top{padding:8px 18px}
.workspace{min-height:calc(100dvh - 60px)}
#panel:empty{display:none}.upload-button{position:relative;cursor:pointer}
.native-picker{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}
.upload-button:focus-within{outline:3px solid #8b9e69;outline-offset:3px}
.file-fallback{position:fixed;left:-100px;bottom:0;width:1px;height:1px;opacity:.01;pointer-events:none}
@media(max-width:800px){
 .workspace{min-height:0}.editor-top{padding:5px 10px}
 .stage{padding:10px 16px 0}.stage-heading{display:none}
 #art-wrap{min-height:0;padding:15px 12px 20px}
 .stage-hint{display:none}.stage-bottom{border:0;padding:0 0 5px;min-height:26px}
 .stage-bottom .quiet{padding:4px 0}.stage-bottom>span{font-size:12px}
 .tool-tabs button{padding:10px 5px;font-size:14px}
 #panel{padding:12px 16px;max-height:27dvh;overflow-y:auto}
 #panel p{margin:8px 0;font-size:14px}.gallery-filter{margin:8px 0}
 .gallery-filter button{font-size:14px}.gallery{margin-top:8px;gap:7px}
 .gallery:empty{display:none}.layout{padding:8px}.layout.active{padding:7px}
 .layout-mini{width:36px;height:36px;margin-bottom:6px}
 .layout span{font-size:14px}.switch-row{margin-top:10px}
 .review-footer{position:static;padding:10px 16px max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px}
 .review-footer>div{margin:0;flex-shrink:0}.review-footer strong{font-size:14px}
 .review-footer .primary{font-size:14px;min-height:46px;padding:12px}
}

.choices h1{margin-bottom:10px}.choices>.intro-copy{font-size:16px;line-height:1.5;margin:0 0 22px}.thumb[draggable=true]{cursor:grab}.thumb img,.thumb span{pointer-events:none}.drag-source{opacity:.5}.cell.drop-target{outline:4px solid #738957;outline-offset:-4px;box-shadow:inset 0 0 0 7px #fff8;background:#e3ebd9}.cell.drop-target::after{content:'Soltar foto';position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:#344b3e;color:#fff;border-radius:3px;padding:6px 9px;font-size:12px;white-space:nowrap;pointer-events:none}

.brand{font-size:24px;letter-spacing:2px}.server-busy .workspace{opacity:.65;pointer-events:none}.server-busy #start{pointer-events:none}#format-price{font-size:16px!important;color:var(--ink)}

.upload-status{padding:12px 20px;font-size:13px;line-height:1.5;background:var(--accent)}.upload-status .quiet{display:block}.thumb.upload-pending{outline:2px solid #a8b39d;outline-offset:-2px}.thumb.upload-error{outline-color:#b24d3c}

.setup-visual{display:none}#filters{display:flex;gap:10px;overflow-x:auto;max-width:100%;padding:6px 2px 12px}#filters button{flex:0 0 76px;padding:4px;border:2px solid transparent;border-radius:5px;font-size:12px}#filters button.active{border-color:var(--green);background:var(--accent)}#filters img{display:block;width:64px;height:64px;object-fit:cover;margin-bottom:6px;border-radius:3px}.crop-tools{display:block}.crop-tools>#rotate{margin-bottom:8px}
@media(min-width:801px){.setup{max-width:1180px;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:72px;padding:65px 40px}.setup-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;background:#e9e9df;border-radius:12px;padding:35px}.setup-visual #sample-frame{width:240px;border:12px solid white;max-height:330px;font-size:56px;color:#879583}.setup-visual p{margin-top:42px;font-size:16px;color:var(--muted)}.choices h1{font:normal 42px/1.12 Georgia,serif}.size-card{min-height:120px;padding:22px}.size-card.active{padding:21px}.size-card strong{font-size:19px}.size-card .shape{width:34px}.choices{min-width:0}}
@media(max-width:800px){#filters button{flex-basis:70px}#filters img{width:58px;height:58px}.crop-dialog{max-height:94dvh;overflow-y:auto}}

#panel .gallery-clear,#panel .gallery-swap{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:13px 10px;margin-top:12px;border:1px solid var(--line);border-radius:4px;text-decoration:none}#panel .gallery-clear{margin-top:22px;color:#884d43}#panel .gallery-clear::before{content:'×';font-size:22px}#panel .gallery-swap::before{content:'⇄';font-size:22px}

#review-upload-status{margin:12px 0;text-align:left}#review-upload-error{white-space:pre-line;overflow-wrap:anywhere;color:#884d43;font-size:12px}#review-upload-error:empty{display:none}
