*{box-sizing:border-box}body{margin:0;background:#f9f8f4;color:#202623;font:14px/1.5 system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid #deded6;background:#fff;color:inherit;border-radius:9px;padding:10px 14px}button:hover{border-color:#627367;background:#f0f3ed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #789e77;outline-offset:3px}button:disabled{cursor:wait;opacity:.5}header{height:64px;padding:0 28px;display:flex;gap:20px;align-items:center;border-bottom:1px solid #deded6}header a{font-size:22px;font-weight:750;color:inherit;text-decoration:none;letter-spacing:-1px}header a span{font-size:14px;font-weight:400;letter-spacing:0;color:#7a8076}.local{margin-left:auto;color:#50644d;font-size:12px}main{display:grid;grid-template-columns:minmax(0,1fr) 320px;max-width:1600px;margin:auto}.workspace{padding:24px;min-width:0}.stage{position:relative;display:flex;align-items:center;justify-content:center;height:clamp(380px,60vh,700px);overflow:hidden;border:1px solid #deded6;border-radius:18px;background:#eae8e0}canvas{max-width:100%;max-height:100%;object-fit:contain;touch-action:none;cursor:grab;background:repeating-conic-gradient(#e5e5df 0% 25%,#f8f8f4 0% 50%) 0/20px 20px}.badge{position:absolute;left:22px;top:20px;font-size:10px;letter-spacing:2px;color:#6e726a;pointer-events:none}.transport{display:flex;align-items:center;gap:18px;margin:18px 0 10px}.angle{display:flex;align-items:center;flex:1;gap:12px;white-space:nowrap}.angle input{width:100%}output{min-width:38px}.hint,.muted{color:#737a71;font-size:12px}.hint{text-align:center}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:23px}.presets button{display:flex;align-items:center;text-align:left;gap:12px;background:transparent}.presets b{font-size:22px;font-weight:400;color:#85907c}.presets small{display:block;color:#737a71;font-size:11px}.presets button[aria-pressed=true]{background:#e7eddf;border-color:#9aaa8e}#status{font-size:12px;min-height:32px;color:#3b6441}aside{border-left:1px solid #deded6;background:#fff;display:flex;flex-direction:column;min-width:0}fieldset{border:0;padding:20px;margin:0;min-width:0;flex:1}nav{display:flex;border-radius:10px;background:#f3f4ee;padding:3px;gap:3px}nav button{flex:1;border:0;background:transparent;font-size:12px;padding:9px 4px}nav button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #0001}h2{font-size:21px;letter-spacing:-.6px;font-weight:550;margin-bottom:8px}label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0;font-size:12px}select{border:1px solid #deded6;background:white;border-radius:6px;padding:6px;max-width:175px}.upload{display:block;border:1px dashed #bdc5b7;background:#fafbf7;padding:12px;border-radius:10px}.upload small{display:block;color:#737a71;margin:3px 0 8px}input[type=file]{width:100%;font-size:10px}input[type=file]::file-selector-button{background:#e9eee3;border:0;border-radius:5px;padding:6px;margin-right:5px;color:#354333}input[type=range]{accent-color:#485c3f;min-width:0;width:140px}.check{justify-content:flex-start}.check input{accent-color:#485c3f}input[type=color]{width:36px;height:27px;border:0;background:transparent}.row{display:flex;gap:8px}.row button{flex:1;font-size:12px}hr{border:0;border-top:1px solid #eee;margin:20px 0}.exports{padding:16px 20px;border-top:1px solid #deded6;background:#fafbf7}.exports .primary{background:#2b422e;color:white;border-color:#2b422e}.exports .row button{padding:12px}.exports select{max-width:205px}.exports p{font-size:10px}progress{width:100%;margin-top:12px}#cancel{width:100%;margin-top:8px}[hidden]{display:none!important}@media(max-width:800px){main{grid-template-columns:1fr}header{padding:0 16px}.workspace{padding:14px}.stage{height:400px}aside{border-left:0;border-top:1px solid #ddd}.presets{gap:6px}.presets button{padding:9px;font-size:11px}.presets small{font-size:9px}.presets b{display:none}.transport{gap:8px}.transport button{font-size:11px;padding:9px}.angle{font-size:11px;gap:6px}header a span{font-size:12px}.local{font-size:10px}.exports{position:sticky;bottom:0;z-index:2}fieldset{padding:16px}.badge{font-size:8px;top:12px;left:12px}}

.photo-backgrounds{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photo-backgrounds button{padding:0;overflow:hidden;border-radius:7px}.photo-backgrounds img{display:block;width:100%;height:54px;object-fit:cover}

/* Reference-aligned editor shell; original rendering and media remain local. */
body.duo-editor{background:#f3f1ed;color:#191a17}.duo-editor header{display:none}.duo-editor main{grid-template-columns:minmax(0,1fr) 340px;gap:16px;max-width:1216px;padding:0}.duo-editor .workspace{padding:0}.duo-editor .stage{height:560px;padding:16px;border:0;border-radius:28px;background:#eae7df}.duo-editor aside{border:1px solid #e3e0d8;border-radius:22px;overflow:hidden;align-self:start}.duo-editor fieldset{padding:12px;max-height:510px;overflow:auto}.duo-editor nav{position:sticky;top:-12px;z-index:3;background:#efede7}.duo-editor .transport{gap:10px}.duo-editor .transport button{font-size:12px;padding:9px 12px;border-radius:100px}.duo-editor #reset{display:none}.duo-editor .presets{margin-top:15px}.duo-editor .presets b{display:none}.duo-editor .presets button{font-size:11px;border-radius:12px}.duo-editor .presets small{font-size:10px}.duo-editor h2{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;margin:24px 0 8px;color:#65665f}.duo-editor .screen-uploads{display:grid;grid-template-columns:2fr 1fr;gap:10px}.duo-editor .screen-upload{position:relative;padding:0;border:0;background:transparent;text-align:center;overflow:hidden;margin:16px 0 4px}.screen-upload canvas{width:100%;height:140px;display:block;border-radius:14px;object-fit:cover;cursor:pointer}.screen-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.screen-upload small{display:none}.duo-editor .check{margin:9px 0}.duo-editor .row button{padding:6px}.duo-editor .photo-backgrounds{grid-template-columns:repeat(5,1fr);margin-top:7px}.duo-editor .photo-backgrounds img{height:38px}.duo-editor .exports{padding:10px 14px;background:#fff}.duo-editor .exports .primary{background:#191a17;border-color:#191a17}.swatches{display:flex;flex-wrap:wrap;gap:7px}.swatches button{width:28px;height:28px;border-radius:100%;padding:0;border:1px solid #0002}.duo-editor .hint{font-size:11px}.duo-editor #status{font-size:11px}.duo-editor input[type=range]{accent-color:#242522}@media(max-width:800px){.duo-editor main{grid-template-columns:1fr;padding:0 12px}.duo-editor .stage{height:370px}.duo-editor fieldset{max-height:500px}.duo-editor aside{margin-top:10px}.duo-editor .screen-upload canvas{height:125px}.duo-editor .transport{gap:6px}.duo-editor .presets small{display:none}}
