:root{--page:#f5f5f3;--card:#ffffff;--ink:#14150f;--muted:#8a8a86;--line:#e8e8e4;--line-strong:#d9d9d4;--black:#16170f;--green:#ff6a00;--green-hover:#ed5f00;--green-ink:#ffffff;--accent-tint:#fff1e6;--accent-deep:#8a3800;--sidebar:#1d1c1a;--sidebar-ink:#ededea;--sidebar-muted:#9a978f;--sidebar-line:#34322e;--sidebar-w:264px;--danger:#c0392b;--radius:20px;--radius-sm:12px;--field:#f7f6f3;--shadow-sm:0 1px 2px rgba(20,21,15,0.04),0 1px 3px rgba(20,21,15,0.06);--shadow-md:0 2px 4px rgba(20,21,15,0.04),0 6px 16px rgba(20,21,15,0.07);--shadow-lg:0 8px 24px rgba(20,21,15,0.1),0 2px 6px rgba(20,21,15,0.06);--shadow-accent:0 6px 18px rgba(255,106,0,0.28)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 100% -10%,rgba(255,106,0,.05),transparent 60%),var(--page);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.1px}.auth-wrap,body{min-height:100vh}.auth-wrap{display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--card);border:1px solid rgba(20,21,15,.06);border-radius:22px;box-shadow:var(--shadow-lg);padding:32px 28px;display:flex;flex-direction:column}.auth-brand{font-size:22px;font-weight:800;letter-spacing:-.5px;color:var(--green)}.auth-title{font-size:24px;font-weight:800;letter-spacing:-.4px;margin:14px 0 2px}.auth-sub{color:var(--muted);font-size:13px;margin:0 0 18px}.auth-card .lbl{margin-top:12px}.auth-alt{text-align:center;font-size:13px;color:var(--muted);margin:18px 0 0}.auth-alt a{color:var(--green-hover);font-weight:700;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.app{display:flex;min-height:100vh}.sidebar{flex:0 0 var(--sidebar-w);width:var(--sidebar-w);background:var(--sidebar);color:var(--sidebar-ink);display:flex;flex-direction:column;gap:6px;padding:14px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;transition:margin-left .22s ease,opacity .18s ease}.app.collapsed .sidebar{margin-left:calc(-1 * var(--sidebar-w));opacity:0;pointer-events:none}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 10px}.sidebar-head .brand{font-size:19px;font-weight:800;letter-spacing:-.5px;color:#fff}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--sidebar-muted);font-size:18px;line-height:1;cursor:pointer;width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.icon-btn:hover{background:rgba(255,255,255,.08);color:#fff}.balance{display:flex;align-items:center;gap:7px;margin:2px 2px 8px;padding:9px 12px;border-radius:12px;background:linear-gradient(180deg,rgba(255,106,0,.22),rgba(255,106,0,.1));border:1px solid rgba(255,106,0,.35)}.balance-ic{font-size:15px;line-height:1}.balance-num{font-size:16px;font-weight:800;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.balance-lbl{font-size:12px;font-weight:600;color:var(--sidebar-muted)}.new-project{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--sidebar-line);background:rgba(255,255,255,.04);color:var(--sidebar-ink);font-size:13px;font-weight:700;padding:10px 12px;border-radius:10px;cursor:pointer;margin-bottom:4px}.new-project:hover{background:rgba(255,255,255,.09);border-color:var(--green)}.new-project .np-plus{color:var(--green);font-size:15px;font-weight:800}.np-form{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.np-input{width:100%;height:36px;padding:0 10px;border-radius:9px;border:1px solid var(--sidebar-line);background:#2a2825;color:#fff;font-size:13px;font-weight:600}.np-input::placeholder{color:var(--sidebar-muted)}.np-input:focus{outline:2px solid var(--green);outline-offset:-1px;border-color:transparent}.np-actions{display:flex;gap:6px}.np-btn{flex:1 1;height:32px;border:none;border-radius:9px;background:var(--green);color:var(--green-ink);font-size:12px;font-weight:800;cursor:pointer}.np-btn:hover{background:var(--green-hover)}.np-btn.ghost{background:rgba(255,255,255,.06);color:var(--sidebar-muted)}.np-btn.ghost:hover{background:rgba(255,255,255,.12);color:#fff}.project-list-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--sidebar-muted);padding:12px 6px 4px}.project-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.project-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;cursor:pointer;color:var(--sidebar-ink);font-size:13px;font-weight:600}.project-item:hover{background:rgba(255,255,255,.06)}.project-item.active{background:var(--green);color:#fff}.project-item .pi-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--sidebar-muted)}.project-item.active .pi-dot{background:#fff}.project-item .pi-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item .pi-del{flex:0 0 auto;border:none;background:transparent;cursor:pointer;font-size:12px;opacity:0;padding:2px 4px;border-radius:6px;line-height:1}.project-item:hover .pi-del{opacity:.7}.project-item .pi-del:hover{opacity:1;background:rgba(0,0,0,.18)}.sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--sidebar-line);gap:8px}.acct,.sidebar-foot{display:flex;align-items:center}.acct{gap:9px;min-width:0;flex:1 1}.acct-ava{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800;font-size:13px;object-fit:cover}.tg-login{display:flex;justify-content:center;margin:18px 0 6px;min-height:48px}.acct-email{font-size:12.5px;font-weight:600;color:var(--sidebar-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-out{flex:0 0 auto;border:1px solid var(--sidebar-line);background:transparent;color:var(--sidebar-muted);font-size:12px;font-weight:700;padding:7px 11px;border-radius:9px;cursor:pointer;transition:background .15s,color .15s}.acct-out:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-backdrop{display:none}.main{flex:1 1 auto;min-width:0}.topbar{display:flex;align-items:baseline;gap:12px;padding:16px 28px;border-bottom:1px solid var(--line);background:rgba(250,249,246,.78);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar .menu{align-self:center;color:var(--ink);font-size:20px}.topbar .menu:hover{background:#f0f0ec}.topbar h1{font-size:22px;font-weight:800;letter-spacing:-.5px;margin:0}.topbar .sub{color:var(--muted);font-size:13px}.layout{display:grid;grid-template-columns:372px 1fr;grid-gap:20px;gap:20px;align-items:start;max-width:1500px;margin:0 auto;padding:22px 28px 80px}.left-col{display:flex;flex-direction:column;gap:18px}@media (max-width:940px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;z-index:60;left:0;top:0}.app:not(.collapsed) .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:55}}.card{background:var(--card);border:1px solid rgba(20,21,15,.06);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-md)}.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.card-head h2{font-size:17px;font-weight:800;margin:0;letter-spacing:-.3px}.card-head .idx{font-style:italic;font-weight:700;color:#c7c7c2;font-size:14px}.section-title{font-size:13px;font-weight:700;margin:16px 0 8px}.hint{line-height:1.45;margin:4px 0 0}.hint,.muted{color:var(--muted);font-size:12px}input[type=text],select,textarea{width:100%;padding:11px 13px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--ink);background:var(--field);transition:background .15s,box-shadow .15s,border-color .15s}textarea{resize:vertical;min-height:70px}input::placeholder,textarea::placeholder{color:#aeaca6}input:focus,select:focus,textarea:focus{outline:none;background:#fff;border-color:var(--green);box-shadow:0 0 0 3px rgba(255,106,0,.16)}input:disabled,textarea:disabled{background:#f1f0ed;color:#b4b4ae}label.lbl{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:10px 0 5px}.check-row{display:flex;align-items:center;gap:11px;cursor:pointer;margin:14px 0 4px;font-size:13px;font-weight:700;color:var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.check-row input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:44px;height:26px;margin:0;flex:0 0 auto;border-radius:999px;background:#d9d8d2;cursor:pointer;transition:background .2s ease}.check-row input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.check-row input[type=checkbox]:checked{background:var(--green)}.check-row input[type=checkbox]:checked:after{transform:translateX(18px)}.check-row input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,106,0,.25)}.seg{display:flex;gap:3px;background:#ebeae6;border-radius:14px;padding:4px}.seg.full button{flex:1 1}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer;color:#6f6f6a;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .18s,color .18s,box-shadow .18s}.seg button:hover:not(.active){color:var(--ink)}.seg button.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.seg button:disabled{opacity:.5;cursor:not-allowed}.photos{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.thumb{position:relative;width:66px;height:66px;border-radius:14px;overflow:hidden;border:1px solid var(--line-strong);background:#fafafa}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .rm{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;line-height:1;place-items:center}.add-tile,.thumb .rm{font-size:12px;cursor:pointer;display:grid}.add-tile{width:66px;height:66px;border-radius:14px;border:1.5px dashed var(--line-strong);background:#fff;place-items:center;color:var(--muted);text-align:center;line-height:1.1}.add-tile:hover{border-color:var(--green);color:var(--ink)}.add-tile input{display:none}.photos-meta{display:flex;gap:10px;align-items:center;margin-top:8px;font-size:12px;color:var(--muted)}.linkbtn{background:none;border:none;color:var(--green-hover);cursor:pointer;font-size:12px;font-weight:600;padding:0}.linkbtn:hover{text-decoration:underline}.it-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:lowercase}.trust-row{display:flex;align-items:center;gap:10px;margin-top:12px}.switch{position:relative;width:42px;height:24px;border-radius:999px;background:#d8d8d3;border:none;cursor:pointer;transition:background .15s;flex:0 0 auto}.switch.on{background:var(--green)}.switch .knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.switch.on .knob{transform:translateX(18px)}.adv-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink);padding:6px 0;margin-top:6px}.adv-toggle .chev{transition:transform .15s;font-size:11px;color:var(--muted)}.adv-toggle.open .chev{transform:rotate(180deg)}.adv-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.ref-box{border:1.5px dashed var(--line-strong);border-radius:14px;min-height:84px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;cursor:pointer;padding:8px;background:#fff;position:relative;overflow:hidden}.ref-box:hover{border-color:var(--green)}.ref-box img{width:100%;height:84px;object-fit:cover;border-radius:10px}.ref-box input{display:none}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:#5c5c57;font-weight:700;font-size:12px;padding:7px 13px;border-radius:999px;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.chip:hover:not(.active){border-color:var(--green);color:var(--ink)}.chip.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 10px rgba(255,106,0,.25)}.slider{width:100%;accent-color:var(--green)}.slider:disabled{opacity:.5}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:2px}.gen-row{display:flex;gap:8px;margin-top:18px;position:relative}.btn-gen{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;background:linear-gradient(180deg,#ff7d1f 0,var(--green) 60%,var(--green-hover) 100%);color:var(--green-ink);font-weight:800;font-size:15px;padding:14px 18px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow-accent);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn-gen:hover:not(:disabled){filter:brightness(1.04);box-shadow:0 8px 22px rgba(255,106,0,.36)}.btn-gen:active:not(:disabled){transform:translateY(1px);box-shadow:0 3px 10px rgba(255,106,0,.28)}.btn-gen:disabled{background:#e7e6e2;color:#a9a8a3;box-shadow:none;cursor:not-allowed}.token-chip{background:rgba(0,0,0,.78);color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;gap:4px}.qty-btn,.token-chip{display:inline-flex;align-items:center}.qty-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;background:linear-gradient(180deg,#ff7d1f 0,var(--green) 60%,var(--green-hover) 100%);color:var(--green-ink);font-weight:800;font-size:14px;padding:0 14px;border-radius:14px;gap:5px;box-shadow:var(--shadow-accent);transition:filter .12s ease}.qty-btn:hover{filter:brightness(1.04)}.qty-menu{position:absolute;bottom:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;z-index:20;min-width:140px}.qty-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.qty-menu button:hover{background:#f2f2ee}.qty-menu button.sel{color:var(--accent-deep);background:var(--accent-tint)}.results-card{min-height:460px}.results-empty{position:relative;min-height:380px;display:grid;place-items:center;color:var(--muted);font-size:14px;border-radius:14px;overflow:hidden}.results-empty:before{content:"easypizi";position:absolute;inset:0;display:grid;place-items:center;transform:translateY(-34%);font-size:clamp(56px,11vw,132px);font-weight:800;letter-spacing:-2px;color:var(--ink);opacity:.05;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.results-empty>*{position:relative;z-index:1}.results-grid{display:grid;grid-template-columns:minmax(0,1fr) 132px;grid-gap:16px;gap:16px;align-items:start}@property --p{syntax:"<number>";inherits:false;initial-value:0}.gen-main{min-height:380px;display:grid;place-items:center;align-content:center;grid-gap:18px;gap:18px;border-radius:14px}.gen-ring{--p:0;position:relative;width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--p) * 1%),#e6e6e2 0);display:grid;place-items:center;transition:--p .32s linear,background .32s linear}.gen-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--card)}.gen-pct{position:relative;z-index:1;font-size:26px;font-weight:800;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gen-cap{font-size:13px;font-weight:700;color:var(--muted)}.gen-thumb.s-thumb{aspect-ratio:1;display:grid;place-items:center;background:#f4f4f1;cursor:default}.gen-ring.small{width:70px;height:70px}.gen-ring.small:after{inset:8px}.gen-ring.small .gen-pct{font-size:15px}@media (max-width:620px){.results-grid{grid-template-columns:1fr}}.result-main{position:relative;display:grid;place-items:center}.result-main img{max-width:100%;max-height:calc(100vh - 210px);width:auto;height:auto;object-fit:contain;border-radius:14px;border:1px solid var(--line);cursor:zoom-in;display:block}.result-meta{margin-top:10px}.result-meta .badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#f2f2ee;color:#6f6f6a;margin-right:6px}.result-meta .badge.mock{background:#fff3d6;color:#8a6d1a}.result-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.btn-download{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-weight:700;font-size:14.5px;padding:12px 22px;border-radius:13px;text-decoration:none;box-shadow:var(--shadow-md);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn-download:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);filter:brightness(1.15)}.btn-download:active{transform:translateY(0)}.btn-lock{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--green-hover);border:1.5px solid var(--green);font-weight:700;font-size:13px;padding:10px 16px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s,transform .12s,filter .12s}.btn-lock .lock-ic{font-size:13px;line-height:1}.btn-lock:hover{background:var(--accent-tint)}.btn-lock:active{transform:translateY(1px)}.btn-lock.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 4px 14px rgba(255,106,0,.3)}.btn-lock.active:hover{filter:brightness(1.05);background:var(--green)}.btn-lock .lock-x{margin-left:3px;font-size:12px;opacity:.85}.side-strip{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 210px);overflow-y:auto;padding-right:4px}.side-strip .s-thumb{border-radius:12px;border:2px solid transparent;overflow:hidden;cursor:pointer;background:#f4f4f1;position:relative;flex:0 0 auto;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.side-strip .s-thumb:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.side-strip .s-thumb.active{border-color:var(--green);box-shadow:0 0 0 3px rgba(255,106,0,.18),var(--shadow-md)}.side-strip .s-thumb img{width:100%;height:auto;display:block;object-fit:contain}@media (max-width:620px){.side-strip{flex-direction:row;max-height:none;overflow-x:auto}.side-strip .s-thumb{flex:0 0 92px}}.funnel-wizard textarea{min-height:56px}.funnel-toolbar{display:flex;gap:8px;margin-bottom:12px}.funnel-toolbar .btn-gen{flex:1 1;font-size:14px;padding:11px 14px}.funnel-toolbar .btn{flex:0 0 auto}.funnel-main{min-width:0}.funnel-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:14px;gap:14px}.funnel-slide{display:flex;flex-direction:column;gap:7px;border:1px solid rgba(20,21,15,.06);border-radius:16px;padding:14px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.funnel-slide:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.funnel-slide.cover{border-color:rgba(255,106,0,.45);background:linear-gradient(180deg,#fff8f2,#fff 38%)}.fs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1px}.fs-head .badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#f2f2ee;color:#6f6f6a}.funnel-slide.cover .fs-head .badge{background:var(--green);color:#fff}.fs-del{border:none;background:transparent;cursor:pointer;font-size:14px;opacity:.5;padding:3px 5px;border-radius:8px;transition:opacity .15s,background .15s}.fs-del:hover:not(:disabled){opacity:1;background:#fbe9e7}.fs-del:disabled{opacity:.25;cursor:not-allowed}input.fs-topic{font-weight:800;font-size:14px;letter-spacing:-.2px;background:transparent;padding:5px 4px;border:1px solid transparent;border-radius:8px}input.fs-topic:focus,input.fs-topic:hover{background:var(--field)}input.fs-topic:focus{padding:5px 10px;box-shadow:none;border-color:transparent}.fs-scene{min-height:48px;font-size:12.5px}.fs-preview{position:relative;min-height:200px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#f3f2ef,#ecebe7);overflow:hidden;margin-top:4px}.fs-preview img{width:100%;height:auto;max-height:340px;object-fit:contain;display:block;cursor:zoom-in;transition:transform .25s ease}.fs-preview img:hover{transform:scale(1.02)}.fs-placeholder{color:#b6b4ad;font-size:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:8px}.fs-placeholder:before{content:"🖼";font-size:26px;opacity:.5}.btn-gen.fs-gen{font-size:13px;padding:11px 12px;border-radius:12px;margin-top:4px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.82);display:grid;place-items:center;z-index:100;cursor:zoom-out;padding:32px}.edit-modal{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:0;gap:0;width:min(1000px,94vw);max-height:92vh;background:var(--card);border-radius:16px;overflow:hidden;cursor:default}@media (max-width:720px){.edit-modal{grid-template-columns:1fr;max-height:94vh;overflow-y:auto}}.edit-close{position:absolute;top:10px;right:10px;z-index:3;width:30px;height:30px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;font-size:15px;cursor:pointer}.edit-image{position:relative;background:#f2f2ee;display:grid;place-items:center;min-height:0}.edit-image img{max-width:100%;max-height:92vh;display:block;object-fit:contain}.edit-overlay{position:absolute;inset:0;display:grid;place-items:center;grid-gap:8px;gap:8px;background:rgba(255,255,255,.6);font-weight:700;color:var(--ink)}.edit-side{padding:40px 18px 18px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;border-left:1px solid var(--line)}.edit-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.wish-recap{margin:4px 0 6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#faf9f6;display:flex;flex-direction:column;gap:6px}.wish-recap-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.wish-row{display:grid;grid-template-columns:84px 1fr;grid-gap:8px;gap:8px;font-size:13px;line-height:1.4}.wish-row .wish-k{color:var(--muted);font-weight:700}.wish-row .wish-v{color:var(--ink);white-space:pre-wrap;word-break:break-word}.edit-actions{display:flex;gap:10px;margin-top:8px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;font-weight:700;padding:11px 15px;border-radius:12px;cursor:pointer;text-decoration:none;flex:1 1;box-shadow:var(--shadow-sm);transition:border-color .15s,background .15s,transform .12s}.btn:hover{background:#faf9f6;border-color:var(--line-strong)}.btn:active{transform:translateY(1px)}.btn.secondary{background:#fff}.btn.danger{color:var(--danger);border-color:#e6c5c2}.btn.danger:hover{background:#fdf2f1}.btn:disabled{opacity:.6;cursor:not-allowed}.lightbox img{max-width:92vw;max-height:92vh;border-radius:10px}.spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(20,21,15,.25);border-top:2px solid var(--green);border-radius:50%;animation:spin .7s linear infinite}.btn-gen .spinner{border-color:#fff rgba(255,255,255,.4) rgba(255,255,255,.4)}@keyframes spin{to{transform:rotate(1turn)}}.error{color:var(--danger);font-size:13px;margin-top:10px;white-space:pre-wrap}.reasoning{font-size:12px;color:#55554f;line-height:1.5;margin-top:8px}.reasoning summary{cursor:pointer;color:var(--muted)}.lock-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding:8px 12px;border-radius:10px;background:var(--accent-tint);border:1px solid var(--green);font-size:12px;font-weight:600;color:var(--accent-deep)}.lock-banner button{border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--accent-deep);line-height:1}