@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap";:root{--bg-0: #090706;--bg-1: #120d0a;--bg-2: #1b1410;--surface-0: rgba(24, 18, 14, .7);--surface-1: rgba(28, 21, 16, .86);--surface-2: rgba(37, 27, 21, .92);--surface-3: rgba(47, 35, 27, .95);--text-0: #f8f2e9;--text-1: #d6c7b3;--text-2: #aa9884;--line-0: rgba(222, 183, 141, .18);--line-1: rgba(222, 183, 141, .34);--line-2: rgba(222, 183, 141, .56);--accent-0: #c6915b;--accent-1: #b17943;--accent-soft: rgba(198, 145, 91, .18);--ok-0: #68d5ae;--ok-soft: rgba(104, 213, 174, .18);--err-0: #ef7f8f;--err-soft: rgba(239, 127, 143, .16);--radius-1: 10px;--radius-2: 14px;--radius-3: 18px;--radius-4: 24px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--shadow-sm: 0 6px 14px rgba(0, 0, 0, .24);--shadow-md: 0 16px 34px rgba(0, 0, 0, .4);--shadow-lg: 0 26px 54px rgba(0, 0, 0, .52);--ease-out: cubic-bezier(.22, .72, .18, 1);--ease-smooth: cubic-bezier(.27, .8, .2, 1);--dur-fast: .14s;--dur-base: .22s;--dur-slow: .42s}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{color:var(--text-0);font-family:Manrope,Segoe UI,sans-serif;background:radial-gradient(950px 460px at -8% -12%,rgba(195,140,85,.2),transparent 62%),radial-gradient(760px 340px at 104% 0%,rgba(132,80,46,.2),transparent 64%),linear-gradient(158deg,#060505,#0e0b09 45%,#080605);background-size:120% 120%;animation:bgFloat 18s ease-in-out infinite alternate}@keyframes bgFloat{0%{background-position:0% 0%}to{background-position:100% 100%}}img{display:block;width:100%}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-0) 88%,white 12%);outline-offset:2px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#cda27861}::-webkit-scrollbar-track{background:transparent}.app-container{width:min(1320px,100% - 44px);margin:var(--space-5) auto var(--space-7)}.app-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:var(--space-3)}.app-status{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border-radius:var(--radius-pill);border:1px solid var(--line-0);background:linear-gradient(180deg,#1b1510eb,#140f0ce0);box-shadow:inset 0 1px #fff1db0f;color:var(--text-1);font-size:.78rem;font-weight:700;letter-spacing:.02em}.app-status--working{border-color:#c6915b75;background:linear-gradient(180deg,#422e1edb,#271d16e6);color:#f3e2ce}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ok-0);box-shadow:0 0 0 5px #68d5ae24}.status-dot--working{background:var(--accent-0);box-shadow:0 0 0 5px #c6915b2b;animation:pulseDot 1.4s infinite}@keyframes pulseDot{0%,to{transform:scale(1)}50%{transform:scale(.72)}}.error-banner{margin-bottom:var(--space-3);padding:10px 12px;border-radius:var(--radius-2);border:1px solid rgba(239,127,143,.4);background:var(--err-soft);color:#ffc8cf;font-size:.87rem}.app-container>main{display:grid;gap:var(--space-4)}.composer{position:relative;z-index:24;border-radius:var(--radius-4);border:1px solid var(--line-0);background:radial-gradient(580px 220px at 14% -30%,rgba(198,145,91,.2),transparent 70%),linear-gradient(182deg,#1f1712f2,#110d0bfa);box-shadow:var(--shadow-md);overflow:visible;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.composer:hover{border-color:var(--line-1);box-shadow:0 22px 52px #00000075}.composer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px #ffeed414,inset 0 -28px 72px #00000038}.composer-prompt{position:relative;padding:8px 6px 4px}.composer-prompt--transitioning{overflow:hidden}.composer-textarea{width:100%;resize:none;border:1px solid transparent;border-radius:16px;padding:12px 14px;background:transparent;color:var(--text-0);font-size:1.14rem;font-weight:500;line-height:1.48;overflow-y:hidden;transition:border-color .36s var(--ease-smooth),background .36s var(--ease-smooth),color .28s var(--ease-smooth),box-shadow .36s var(--ease-smooth),border-radius .3s var(--ease-smooth),padding .3s var(--ease-smooth),font-size .3s var(--ease-smooth),line-height .3s var(--ease-smooth)}.composer-textarea:focus,.composer-textarea:focus-visible{outline:none;box-shadow:none}.composer-textarea::placeholder{color:#b4a08b}.composer-textarea--json{padding:14px 16px;border-color:#d8b28942;border-radius:14px;background:linear-gradient(180deg,#16110eeb,#0e0b09eb),repeating-linear-gradient(180deg,#ffecd008 0,#ffecd008 28px,#ffecd000 28px,#ffecd000 56px);color:#f2e5d5;font-family:Consolas,Fira Code,JetBrains Mono,monospace;font-size:.92rem;line-height:1.65;overflow-y:auto;white-space:pre;-moz-tab-size:2;tab-size:2;box-shadow:inset 0 1px #fff0d917,0 18px 40px #00000047,0 0 0 1px #c6915b1a}.composer-refs-outer{will-change:height,opacity}.composer-refs{display:flex;gap:10px;padding:6px 16px 8px}@keyframes ref-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ref-card-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;background:linear-gradient(105deg,#c9955d0f,#c9955d2e 40%,#fcf0df24,#c9955d2e 60%,#c9955d0f);background-size:200% 100%;animation:ref-shimmer 1.4s ease-in-out infinite}.ref-card-img--loading{opacity:0;transform:scale(1.05);transition:opacity .25s ease,transform .3s cubic-bezier(.25,.8,.25,1)}.ref-card-img--loaded{opacity:1;transform:scale(1);transition:opacity .25s ease,transform .3s cubic-bezier(.25,.8,.25,1)}.ref-card{position:relative;width:88px;height:88px;flex:0 0 auto;border-radius:16px;overflow:hidden;border:2px solid rgba(236,211,179,.18);box-shadow:0 4px 16px #00000059,0 1px 3px #0003;transition:border-color .24s ease,box-shadow .24s ease,transform .2s ease}.ref-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000073,0 2px 6px #00000040}.ref-card-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}.ref-card:hover .ref-card-glow{opacity:1}.ref-card--source{border-color:#6ec2a78c}.ref-card--source:hover{border-color:#6ec2a7d9}.ref-card--source .ref-card-glow{box-shadow:0 0 20px #6ec2a740,inset 0 0 12px #6ec2a714}.ref-card--character{border-color:#e2a5638c}.ref-card--character:hover{border-color:#e2a563d9}.ref-card--character .ref-card-glow{box-shadow:0 0 20px #e2a56340,inset 0 0 12px #e2a56314}.ref-card--style{border-color:#ba8e738c}.ref-card--style:hover{border-color:#ba8e73d9}.ref-card--style .ref-card-glow{box-shadow:0 0 20px #ba8e7340,inset 0 0 12px #ba8e7314}.ref-card-image-wrap{position:relative;width:100%;height:100%;z-index:1}.ref-card-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.ref-card-info{position:absolute;z-index:3;inset:auto 0 0;display:flex;align-items:center;gap:4px;padding:5px 8px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 40%,rgba(0,0,0,.88) 100%);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ref-card-role-icon{display:flex;align-items:center;color:#fcf0dfd1;flex-shrink:0}.ref-card-role-icon svg{width:11px;height:11px}.ref-card-role-label{font-size:10px;font-weight:750;text-transform:capitalize;color:#fcf0dfe6;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-card-remove{position:absolute;top:-1px;right:-1px;z-index:4;width:22px;height:22px;border-radius:0 14px 0 10px;border:none;background:#140f0cbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f8ebdab3;display:grid;place-items:center;opacity:0;transition:opacity .18s ease,background .18s ease,color .18s ease;cursor:pointer}.ref-card:hover .ref-card-remove{opacity:1}.ref-card-remove:hover{background:var(--err-0);color:#fff}.composer-controls{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid var(--line-0);background:radial-gradient(460px 120px at 12% -120%,rgba(198,145,91,.22),transparent 70%),linear-gradient(180deg,#18120ef5,#0e0b09fa);border-radius:0 0 var(--radius-4) var(--radius-4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffe9ce0d}.composer-controls-scroll{min-width:0;flex:1;display:flex;align-items:center;flex-wrap:nowrap;gap:10px;overflow:visible;padding-bottom:0}.control-divider{width:1px;height:24px;margin-inline:1px;background:linear-gradient(180deg,transparent,rgba(213,178,140,.3),transparent)}.chip,.preset-chip-trigger{min-height:44px;padding:8px 14px;border-radius:var(--radius-pill);border:1px solid var(--line-0);display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(180deg,#2b2019f2,#1e1814f2);box-shadow:inset 0 1px #ffedd40f,0 8px 20px #00000047;color:#f9ecdb;font-size:.82rem;font-weight:780;letter-spacing:.02em;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}.chip:hover,.preset-chip-trigger:hover{border-color:var(--line-1);background:linear-gradient(180deg,#372920f7,#251d18f7);box-shadow:inset 0 1px #ffeed621,0 0 0 1px #cb986152,0 10px 22px #0000004d,0 0 24px #c6915b2e;filter:saturate(1.06) brightness(1.02)}.chip--icon-only{width:44px;padding:0}.preset-chip{position:relative;z-index:2}.preset-chip-trigger--active{border-color:color-mix(in srgb,var(--accent-0) 68%,#f8d2a8 32%);background:linear-gradient(145deg,#5b3f27f2,#3c2c20f5);color:#fff2df;box-shadow:inset 0 1px #ffecd224,0 12px 26px #482b1657}.segmented{display:inline-flex;align-items:center;padding:4px;gap:2px;border-radius:var(--radius-pill);border:1px solid var(--line-0);background:linear-gradient(180deg,#1c1510f5,#0e0b09fa);box-shadow:inset 0 1px #fff1dd0f,0 8px 18px #00000042}.segmented--ratio{position:relative;overflow:hidden}.segmented-btn{position:relative;z-index:1;min-height:36px;min-width:50px;padding:0 13px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:800;letter-spacing:.02em;color:#c6b39f;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),text-shadow var(--dur-fast) var(--ease-out)}.segmented-btn:hover{color:#fbeedb;text-shadow:0 2px 10px rgba(198,145,91,.28)}.segmented-btn--active{color:#fff9ef;text-shadow:0 2px 12px rgba(198,145,91,.32)}.ratio-active-pill{position:absolute;top:4px;bottom:4px;left:4px;width:46px;border-radius:var(--radius-pill);background:linear-gradient(148deg,#dca87185,#915c386b);box-shadow:inset 0 0 0 1px #f0c4916b,inset 0 1px 2px #ffe1b92e,0 8px 18px #5c381e70,0 0 16px #c6915b1f;pointer-events:none;transition:all var(--dur-fast) var(--ease-smooth)}.ratio-label{position:relative;z-index:1}.metric-trigger{position:relative;isolation:isolate;gap:10px;justify-content:flex-start;min-width:140px;padding:8px 12px 8px 9px;border-radius:18px;border-color:#d6b08657;background:linear-gradient(180deg,#32251cf5,#1f1813f7);box-shadow:inset 0 1px #ffeed61c,inset 0 -10px 20px #00000029,0 12px 24px #00000047}.metric-trigger:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,222,187,.09),transparent 45%);z-index:0}.metric-trigger>*{position:relative;z-index:1}.metric-trigger:hover{border-color:#e1ba8f85;box-shadow:inset 0 1px #ffeed626,inset 0 -10px 20px #0003,0 0 0 1px #cd975e5c,0 14px 24px #00000052,0 0 28px #c6915b24;filter:saturate(1.04) brightness(1.02)}.metric-chip-icon{width:24px;height:24px;border-radius:9px;border:1px solid rgba(226,192,151,.48);background:linear-gradient(145deg,#302319f5,#1c1410f5);color:#edc999;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffebce1a,0 0 0 1px #ce975f24,0 2px 6px #00000029;transition:all var(--dur-fast) var(--ease-out)}.metric-trigger:hover .metric-chip-icon{border-color:#ebc89e99;box-shadow:inset 0 1px #ffebce24,0 0 0 1px #d8a16933,0 0 12px #c6915b29}.metric-chip-copy{display:grid;gap:2px;line-height:1.05;text-align:left}.metric-chip-label{color:#cfb595;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.metric-chip-value{color:#fff0de;font-size:.92rem;font-weight:800;letter-spacing:.01em}.metric-chip-caret{margin-left:auto;color:#ebcda7;display:inline-flex;opacity:.7;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.metric-trigger:hover .metric-chip-caret,.preset-chip-trigger--active .metric-chip-caret{opacity:1}.preset-chip-icon{display:inline-flex;color:#d2b08b}.preset-chip-label{line-height:1}.preset-chip-count{min-width:19px;height:19px;border-radius:var(--radius-pill);border:1px solid rgba(204,152,99,.56);background:#cc98633d;color:#ffe6c6;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;font-size:.7rem;font-weight:800}.preset-chip-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:262px;padding:13px;border-radius:var(--radius-3);border:1px solid var(--line-1);background:linear-gradient(180deg,#261c15f7,#18120efa);box-shadow:0 28px 56px #00000080,inset 0 1px #ffefd814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform-origin:top left;z-index:360}.preset-chip--end .preset-chip-dropdown{left:auto;right:0;transform-origin:top right}.preset-chip-dropdown:before{content:"";position:absolute;top:-7px;left:20px;width:12px;height:12px;border-top:1px solid var(--line-1);border-left:1px solid var(--line-1);background:#241b14fa;transform:rotate(45deg)}.preset-chip--end .preset-chip-dropdown:before{left:auto;right:18px}.preset-chip--metric .preset-chip-dropdown{width:292px;min-width:292px;top:calc(100% + 10px);bottom:auto;transform-origin:top center}.preset-chip--metric-start .preset-chip-dropdown{left:0;right:auto}.preset-chip--metric-end .preset-chip-dropdown{left:auto;right:0}.preset-chip--metric .preset-chip-dropdown:before{top:-7px;bottom:auto;transform:rotate(45deg)}.preset-chip--metric-start .preset-chip-dropdown:before{left:28px;right:auto}.preset-chip--metric-end .preset-chip-dropdown:before{left:auto;right:28px}.metric-popover--bottom{top:auto;bottom:calc(100% + 10px)}.metric-popover--bottom:before{top:auto;bottom:-7px;transform:rotate(-135deg)}.preset-chip--metric-start .metric-popover--bottom:before{left:28px}.preset-chip--metric-end .metric-popover--bottom:before{left:auto;right:28px}.preset-chip-dropdown-title{margin-bottom:9px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.metric-popover-title{display:inline-flex;align-items:center;gap:6px}.metric-popover{padding:12px;border-radius:16px;background:radial-gradient(320px 100px at 22% -60%,rgba(201,149,93,.22),transparent 70%),linear-gradient(180deg,#251b14fa,#140f0cfc);border-color:#e4bc9166}.metric-popover-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.metric-popover-head-icon{width:30px;height:30px;border-radius:10px;border:1px solid rgba(225,191,149,.36);background:linear-gradient(180deg,#35261bf0,#201813f5);color:#efc893;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffebd017}.metric-popover-head-copy{display:grid;gap:2px}.metric-popover-eyebrow{color:#bda58a;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.metric-popover-heading{color:#faecda;font-size:.8rem;font-weight:760}.metric-popover-note{margin-top:8px;color:#bda58a;font-size:.66rem;line-height:1.35}.metric-popover-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.count-choice{min-height:74px;border-radius:14px;border:1px solid rgba(216,182,145,.22);background:linear-gradient(160deg,#382b21f2,#201914f7);padding:10px 10px 9px;display:grid;justify-items:start;align-content:space-between;gap:5px;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.count-choice:hover{border-color:#e0bc936b;box-shadow:0 10px 20px #00000047,0 0 18px #c6915b14;filter:brightness(1.02)}.count-choice--selected{border-color:#e6c0949e;background:linear-gradient(165deg,#66472df5,#402e21fa);box-shadow:inset 0 1px #ffebd129,0 14px 24px #462a1661,0 0 20px #c6915b1f}.count-choice-preview{display:inline-flex;align-items:center;gap:4px}.count-choice-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(218,187,148,.3);background:#423124e6}.count-choice-dot--active{border-color:#efcea4b3;background:linear-gradient(180deg,#e6bd8bf2,#ba8350e6);box-shadow:0 0 0 3px #d8a76f29}.count-choice-value{color:#fbefde;font-size:.86rem;font-weight:800;letter-spacing:.02em}.count-choice-hint{color:#bda58b;font-size:.63rem;line-height:1.2}.metric-popover-size-list{display:grid;gap:7px}.size-choice{min-height:66px;border-radius:14px;border:1px solid rgba(216,182,145,.22);background:linear-gradient(160deg,#382b21f2,#201914f7);padding:9px 11px;display:grid;gap:6px;text-align:left;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.size-choice:hover{border-color:#e0bc936b;box-shadow:0 10px 20px #00000047,0 0 18px #c6915b14;filter:brightness(1.02)}.size-choice--selected{border-color:#e6c0949e;background:linear-gradient(165deg,#66472df5,#402e21fa);box-shadow:inset 0 1px #ffebd129,0 14px 24px #462a1661,0 0 20px #c6915b1f}.size-choice-main{display:inline-flex;align-items:baseline;gap:8px}.size-choice-value{color:#fbefde;font-size:.86rem;font-weight:800;letter-spacing:.02em}.size-choice-label{color:#dfc19c;font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.size-choice-hint{color:#bda58b;font-size:.63rem;line-height:1.2}.size-choice-meter{position:relative;width:100%;height:5px;border-radius:999px;background:#1f1712e6;border:1px solid rgba(214,181,143,.22);overflow:hidden}.size-choice-meter-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d9a266f2,#f5cd9cf5);box-shadow:0 0 9px #d0995f73}.metric-popover-scale{margin-top:10px;display:flex;justify-content:space-between;color:#b79f85;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}.preset-chip-list{display:flex;flex-wrap:wrap;gap:7px;max-height:220px;overflow-y:auto;padding-right:2px}.metric-grid{gap:8px}.preset-option{min-height:37px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--line-0);display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#352921f2,#221b16f5);color:#ebdfd1;font-size:.8rem;font-weight:760;transition:all var(--dur-fast) var(--ease-out)}.preset-option:hover{border-color:var(--line-1);background:linear-gradient(180deg,#3c2f25f7,#282019f7);box-shadow:0 0 0 1px #c9945f3d}.metric-option{min-width:48px;border-radius:12px}.preset-option--selected{border-color:color-mix(in srgb,var(--accent-0) 70%,#f4c992 30%);background:linear-gradient(145deg,#60432af0,#433022f5);color:#fff4e3;box-shadow:inset 0 1px #ffedd51f}.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}.preset-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-0);box-shadow:0 0 6px #c6915b99;flex-shrink:0}.palette-dots{display:inline-flex;align-items:center;gap:3px;margin-left:2px}.palette-dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.16);flex-shrink:0}.preset-chip--ref-start .preset-chip-dropdown{left:0;right:auto;transform-origin:top left}.preset-chip--ref-center .preset-chip-dropdown{left:50%;right:auto;margin-left:-140px;transform-origin:top center}.preset-chip--ref-end .preset-chip-dropdown{left:auto;right:0;transform-origin:top right}.preset-chip--ref-start .preset-chip-dropdown:before{left:22px;right:auto}.preset-chip--ref-center .preset-chip-dropdown:before{left:50%;right:auto;margin-left:-6px;transform:rotate(45deg)}.preset-chip--ref-end .preset-chip-dropdown:before{left:auto;right:22px}.ref-upload-popover{width:300px;min-width:300px;padding:14px;border-radius:18px;background:radial-gradient(300px 90px at 30% -50%,rgba(201,149,93,.16),transparent 70%),linear-gradient(180deg,#251b14fa,#120e0bfc);border-color:#e4bc914d;box-shadow:0 12px 40px #00000080,0 2px 8px #0000004d,inset 0 1px #ffebd10f}.ref-popover-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ref-popover-header-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.ref-popover-header-icon svg{width:15px;height:15px}.ref-popover-header-icon--style{background:linear-gradient(135deg,#ba8e7359,#ba8e7326);border:1px solid rgba(186,142,115,.35);color:#d4a882}.ref-popover-header-icon--character{background:linear-gradient(135deg,#e2a56359,#e2a56326);border:1px solid rgba(226,165,99,.35);color:#e2a563}.ref-popover-header-copy{display:flex;flex-direction:column;gap:1px}.ref-popover-header-title{font-size:.82rem;font-weight:800;color:var(--text-0);letter-spacing:-.01em}.ref-popover-header-subtitle{font-size:.65rem;color:var(--text-2);line-height:1.3}.ref-popover-preview{border-radius:14px;overflow:hidden;border:1px solid rgba(228,188,145,.18)}.ref-popover-preview-image{position:relative;overflow:hidden}.ref-popover-preview-image img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .3s ease}.ref-popover-preview:hover .ref-popover-preview-image img{transform:scale(1.03)}.ref-popover-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.6) 100%);pointer-events:none;display:flex;align-items:flex-end;padding:8px 10px}.ref-popover-preview-badge{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#f0e2cf;background:#c9955d59;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:3px 8px;border-radius:6px;border:1px solid rgba(201,149,93,.3)}.ref-popover-remove{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 0;font-size:.72rem;font-weight:700;color:var(--err-0);background:#ef7f8f0d;border:none;border-top:1px solid rgba(239,127,143,.1);cursor:pointer;transition:background .18s ease,color .18s ease}.ref-popover-remove:hover{background:#ef7f8f24}.ref-popover-upload{width:100%;min-height:88px;border-radius:14px;border:2px dashed rgba(228,188,145,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 16px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .22s ease,background .22s ease}.ref-popover-upload:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(201,149,93,.04),transparent 60%);opacity:0;transition:opacity .3s ease}.ref-popover-upload:hover{border-color:#e6c09480;background:#c6915b0d}.ref-popover-upload:hover:before{opacity:1}.ref-popover-upload-icon{color:var(--text-2);transition:color .2s ease,transform .2s ease}.ref-popover-upload:hover .ref-popover-upload-icon{color:var(--text-0);transform:translateY(-1px)}.ref-popover-upload-text{font-size:.78rem;font-weight:700;color:var(--text-1);transition:color .2s ease}.ref-popover-upload:hover .ref-popover-upload-text{color:var(--text-0)}.ref-popover-upload-hint{font-size:.62rem;color:var(--text-3);letter-spacing:.02em}.char-intensity{margin-top:10px;padding:12px;border-radius:14px;border:1px solid rgba(228,188,145,.18);background:radial-gradient(220px 80px at 16% -45%,rgba(201,149,93,.14),transparent 70%),linear-gradient(180deg,#231b15eb,#16110ef5);box-shadow:inset 0 1px #ffebd10f}.char-intensity-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}.char-intensity-label{font-size:.64rem;font-weight:800;color:var(--text-2);letter-spacing:.09em;text-transform:uppercase;opacity:.86}.char-intensity-current{color:#f5e4cf;font-size:.76rem;font-weight:760;letter-spacing:.01em}.char-intensity-slider{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:3px;border-radius:12px;border:1px solid rgba(214,176,134,.26);background:linear-gradient(180deg,#1c1612f2,#0f0c0af5);box-shadow:inset 0 1px #ffedd40f,inset 0 -1px #00000042;overflow:hidden}.char-intensity-slider-pill{position:absolute;top:3px;left:3px;bottom:3px;width:calc((100% - 6px)/4);border-radius:9px;background:linear-gradient(145deg,#cc9a658f,#98623d70);box-shadow:inset 0 1px #ffe8c92e,0 8px 16px #482b1657,0 0 14px #c6915b1f;pointer-events:none}.char-intensity-step{position:relative;z-index:1;min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:9px;color:#cfb79c;transition:color var(--dur-fast) var(--ease-out),text-shadow var(--dur-fast) var(--ease-out)}.char-intensity-step:hover{color:#f4e6d4}.char-intensity-step--active{color:#fff4e3;text-shadow:0 1px 8px rgba(198,145,91,.28)}.char-intensity-step-label{font-size:.7rem;font-weight:760;letter-spacing:.01em;line-height:1}.char-intensity-step--active .char-intensity-step-label{color:inherit}.char-intensity-hint{margin-top:8px;min-height:16px;font-size:.64rem;line-height:1.25;letter-spacing:.02em;color:var(--text-2);opacity:.9}.ref-upload-popover-upload{width:100%;min-height:80px;border-radius:12px;border:2px dashed rgba(228,188,145,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-2);font-size:.76rem;font-weight:700;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ref-upload-popover-upload:hover{border-color:#e6c09480;color:var(--text-0);background:#c6915b0f}.color-popover{width:300px;min-width:300px;max-height:min(72vh,520px);padding:12px;border-radius:16px;background:radial-gradient(300px 80px at 70% -50%,rgba(201,149,93,.2),transparent 70%),linear-gradient(180deg,#251b14fa,#140f0cfc);border-color:#e4bc9159}.color-popover-title{margin-bottom:10px;font-size:.82rem;font-weight:800;color:var(--text-0)}.color-popover-presets{display:grid;gap:4px;margin-bottom:12px;max-height:min(34vh,260px);overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(198,145,91,.25) transparent}.color-popover-presets::-webkit-scrollbar{width:4px}.color-popover-presets::-webkit-scrollbar-track{background:transparent}.color-popover-presets::-webkit-scrollbar-thumb{background:#c6915b40;border-radius:4px}.color-popover-presets::-webkit-scrollbar-thumb:hover{background:#c6915b66}.color-palette-option{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:10px;border:1px solid transparent;background:#2b201966;text-align:left;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.color-palette-option:hover{border-color:#e4bc912e;background:#372920a6}.color-palette-option--selected{border-color:#e6c09473;background:linear-gradient(145deg,#503824e0,#34261ceb);box-shadow:inset 0 1px #ffebd114,0 4px 14px #462a1647}.color-palette-option-swatches{display:inline-flex;gap:3px;flex-shrink:0}.color-palette-swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.12)}.color-palette-option-name{font-size:.78rem;font-weight:700;color:var(--text-0)}.color-palette-option-hint{font-size:.66rem;color:var(--text-2)}.color-popover-custom{padding-top:10px;padding-bottom:8px;border-top:1px solid rgba(228,188,145,.12)}.color-popover-custom-title{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin-bottom:8px}.color-popover-custom-input-row{display:flex;align-items:center;gap:10px;min-height:34px;padding-left:0}.color-popover-color-input{width:32px;height:32px;flex:0 0 auto;border:1px solid rgba(228,188,145,.24);border-radius:9px;padding:2px;cursor:pointer;background:transparent}.color-popover-color-input::-webkit-color-swatch-wrapper{padding:0}.color-popover-color-input::-webkit-color-swatch{border:none;border-radius:5px}.color-popover-hex{display:inline-flex;align-items:center;min-height:32px;font-size:.74rem;font-weight:700;color:var(--text-1);font-family:Manrope,monospace;letter-spacing:.02em}.color-popover-add-btn{width:34px;height:34px;flex:0 0 auto;margin-left:auto;border-radius:10px;border:1px solid rgba(228,188,145,.2);background:#2b2019b3;color:var(--text-0);font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:all var(--dur-fast) var(--ease-out)}.color-popover-add-btn:hover:not(:disabled){border-color:#e6c09480;background:#c6915b1f}.color-popover-add-btn svg{display:block}.color-popover-add-btn:disabled{opacity:.4;cursor:not-allowed}.color-popover-custom-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;margin-bottom:0;padding-left:0}.color-popover-custom-swatch{position:relative;width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.14)}.color-popover-custom-swatch-remove{position:absolute;top:-5px;right:-5px;width:14px;height:14px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line-0);color:var(--err-0);font-size:.6rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.color-popover-custom-swatch:hover .color-popover-custom-swatch-remove{opacity:1}.color-popover-apply-btn{margin-top:10px;width:100%;min-height:34px;border-radius:var(--radius-pill);border:1px solid rgba(200,148,96,.5);background:linear-gradient(145deg,#b48250e6,#915f37f2);color:#2e1d11;font-size:.78rem;font-weight:800;letter-spacing:.01em;transition:all var(--dur-fast) var(--ease-out)}.color-popover-apply-btn:hover{filter:brightness(1.08);box-shadow:0 8px 18px #784a2359}.btn-generate{position:relative;isolation:isolate;overflow:hidden;margin-left:auto;min-height:44px;padding:0 16px;border-radius:var(--radius-pill);border:1px solid rgba(200,148,96,.58);background:linear-gradient(145deg,#ce9e6af5,#aa7443fa);color:#2e1d11;font-size:.86rem;font-weight:800;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 26px #784a2366;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn-generate>*:not(.btn-generate-bg){position:relative;z-index:1}.btn-generate-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0}.btn-generate-label{line-height:1}.btn-generate--ready .btn-generate-bg{opacity:1;background:radial-gradient(120% 120% at 18% 0%,rgba(255,216,166,.32),transparent 56%),linear-gradient(145deg,#d3a36dfa,#ae7644fa)}.btn-generate--blocked{border-color:#ad937757;color:#ccbba7;box-shadow:inset 0 1px #ffefd60d,0 8px 18px #0000004d}.btn-generate--blocked .btn-generate-bg{opacity:1;background:radial-gradient(120% 120% at 24% 0%,rgba(214,191,162,.14),transparent 58%),linear-gradient(145deg,#4a3a2ef0,#342820f2)}.btn-generate--blocked:disabled{opacity:1;cursor:not-allowed}.btn-generate--working{border-color:#e8bc87a8;color:#fff4e1;box-shadow:0 12px 28px #794e226b,0 0 0 1px #dbaa7238,0 0 24px #d6a06733}.btn-generate--working .btn-generate-bg{opacity:1;background:linear-gradient(115deg,#dba66ff2,#b67c49f5 34%,#ebbb82f5 50%,#b27945f5 68%,#d69d65f2);background-size:210% 100%;animation:generateSheen 1.25s linear infinite}.btn-generate-loader{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,244,224,.35);border-top-color:#fff4e0f5;animation:generateSpin .9s linear infinite}.btn-generate:hover:not(:disabled){transform:none;box-shadow:0 14px 30px #784a2370,0 0 0 1px #d6a26b38,0 0 20px #c6915b33;filter:brightness(1.025)}.btn-generate--ready:hover:not(:disabled) .btn-generate-bg{animation:generateReadyHover 1.35s ease-in-out infinite alternate}.btn-generate:hover:not(:disabled) svg{animation:generateIconDrift .95s ease-in-out infinite alternate}.btn-generate:disabled{opacity:.9}@keyframes generateSpin{to{transform:rotate(360deg)}}@keyframes generateSheen{0%{background-position:200% 0}to{background-position:-10% 0}}@keyframes generateReadyHover{0%{filter:brightness(1);background-position:0% 0%}to{filter:brightness(1.06);background-position:100% 0%}}@keyframes generateIconDrift{0%{transform:translate(0)}to{transform:translate(1.5px)}}.workspace-main{position:relative;z-index:1}.my-masonry-grid{display:flex;margin-left:-10px;width:auto}.my-masonry-grid_column{padding-left:10px;background-clip:padding-box}.history-feed-empty{display:block;width:100%;column-span:all;border:1px dashed rgba(214,183,145,.3);border-radius:var(--radius-3);padding:26px 18px;text-align:center;color:var(--text-2);background:#100c0aad;font-size:.89rem}.history-feed-loader-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:8px 0 14px}.history-feed-sentinel{width:100%;height:1px;pointer-events:none}.history-feed-loader{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid rgba(217,181,141,.2);background:#120d0ab8;color:var(--text-2);font-size:.76rem;font-weight:700;letter-spacing:.02em}.history-feed-loader--idle{opacity:.8}.history-tile{position:relative;display:block;width:100%;margin:0 0 10px;overflow:hidden;border-radius:var(--radius-3);border:1px solid rgba(217,181,141,.26);background:#120f0d;box-shadow:0 16px 32px #00000057,inset 0 1px #fff0d912;transition:transform var(--dur-base) var(--ease-smooth),box-shadow var(--dur-base) var(--ease-smooth),border-color var(--dur-base) var(--ease-smooth);isolation:isolate}.history-tile-new:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:linear-gradient(135deg,rgba(255,240,217,.25) 0%,rgba(217,181,141,.12) 40%,transparent 70%);animation:tile-shimmer-reveal 1.2s ease-out forwards;pointer-events:none;border-radius:inherit}@keyframes tile-shimmer-reveal{0%{opacity:1}to{opacity:0}}.history-tile-deleting{animation:tile-exit .35s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes tile-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}@media (max-width: 767px){.history-tile{aspect-ratio:1 / 1!important}.history-tile-delete{opacity:1;transform:translateY(0) scale(1)}}.history-tile:before{content:"";position:absolute;inset:-24% 6% auto;height:56%;pointer-events:none;background:radial-gradient(circle at top,rgba(206,154,99,.2),transparent 70%);opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.history-tile-delete{position:absolute;bottom:10px;right:10px;z-index:4;width:32px;height:32px;border-radius:50%;border:1px solid rgba(227,188,145,.28);background:linear-gradient(145deg,#211812eb,#120e0beb);color:#ebd8c2;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffecd214,0 8px 18px #0000005c,0 0 14px #ec7b8e14;opacity:0;transform:translateY(6px) scale(.92);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.history-tile:hover .history-tile-delete,.history-tile:has(.history-tile-image:focus-visible) .history-tile-delete,.history-tile:has(.btn-reuse:focus-visible) .history-tile-delete,.history-tile:has(.history-tile-download:focus-visible) .history-tile-delete,.history-tile:has(.history-tile-delete:focus-visible) .history-tile-delete{opacity:1;transform:translateY(0) scale(1)}.history-tile-delete:hover{border-color:#f288968f;color:#ffc6cf;background:linear-gradient(145deg,#381a1ff0,#210f13f0);box-shadow:inset 0 1px #ffecd41a,0 0 0 1px #ec7b8e3d,0 10px 24px #0006,0 0 24px #ec7b8e52,0 0 40px #ec7b8e2e}.history-tile:hover{transform:translateY(-3px);border-color:#e0ba8d70;box-shadow:0 24px 42px #00000075,0 0 0 1px #c6915b33}.history-tile:hover:before{opacity:1}.history-tile-image{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out)}.history-tile:hover .history-tile-image{transform:scale(1.02);filter:brightness(1.03)}.history-tile-top{position:absolute;top:8px;left:8px;z-index:2}.history-status-pill{border-radius:var(--radius-pill);border:1px solid rgba(252,237,216,.32);background:#120e0bb3;color:#eddac2;font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 8px}.history-status-pill--failed{border-color:#ed7e8e7a;background:#3f1921a3;color:#ffc1c9}.history-status-pill--running{border-color:#d9b68e7a;background:#3927199e;color:#f5e0c1}.history-tile-overlay{position:absolute;inset:auto 0 0;z-index:2;padding:11px;background:linear-gradient(180deg,transparent 0%,rgba(10,8,7,.9) 36%,rgba(10,8,7,.97) 100%);opacity:0;transform:translateY(8px);transition:opacity var(--dur-base) var(--ease-smooth),transform var(--dur-base) var(--ease-smooth)}.history-tile:hover .history-tile-overlay,.history-tile:has(.history-tile-image:focus-visible) .history-tile-overlay,.history-tile:has(.btn-reuse:focus-visible) .history-tile-overlay,.history-tile:has(.history-tile-download:focus-visible) .history-tile-overlay,.history-tile:has(.history-tile-delete:focus-visible) .history-tile-overlay{opacity:1;transform:translateY(0)}.history-tile-meta{display:inline-flex;flex-wrap:wrap;gap:5px}.history-tile-meta span{border-radius:8px;border:1px solid rgba(214,182,144,.2);background:#110d0ad1;color:#c5b3a0;font-size:.66rem;padding:2px 6px}.history-tile-prompt{margin-top:8px;color:#efe0cc;font-size:.79rem;line-height:1.34;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.history-tile-actions{margin-top:8px;display:flex;gap:6px}.history-tile-download{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 10px;font-size:.73rem;text-align:center}.generating-card{position:relative;overflow:hidden;cursor:default}.generating-card-bg{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at calc(30% + var(--gen-offset, 0%)) 30%,hsl(var(--gen-hue, 30),45%,22%) 0%,transparent 50%),radial-gradient(circle at calc(70% - var(--gen-offset, 0%)) 70%,hsl(calc(var(--gen-hue, 30) + 120),35%,18%) 0%,transparent 50%),radial-gradient(circle at 50% 50%,hsl(calc(var(--gen-hue, 30) + 240),25%,14%) 0%,transparent 55%),radial-gradient(ellipse at center,#0e0b09,#060504);animation:gen-drift 8s ease-in-out infinite alternate;z-index:0}@keyframes gen-drift{0%{transform:rotate(0) scale(1);filter:hue-rotate(0deg)}50%{transform:rotate(12deg) scale(1.15);filter:hue-rotate(15deg)}to{transform:rotate(-6deg) scale(1.05);filter:hue-rotate(-10deg)}}.generating-card-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.95;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:240px 240px;animation:gen-grain .8s steps(4) infinite;pointer-events:none;mix-blend-mode:soft-light}@keyframes gen-grain{0%{background-position:0 0}33%{background-position:-40px -20px}66%{background-position:20px -40px}to{background-position:-20px 20px}}.generating-card-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:20px 18px;gap:12px}.generating-card-indicator{display:inline-flex;align-items:center;gap:6px}.generating-card-dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--gen-hue, 30),55%,65%);box-shadow:0 0 8px hsla(var(--gen-hue, 30),55%,55%,.5);animation:gen-dot-pulse 1.4s ease-in-out infinite}.generating-card-dot:nth-child(2){animation-delay:.2s}.generating-card-dot:nth-child(3){animation-delay:.4s}@keyframes gen-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.generating-card-prompt{color:#f8f2e999;font-size:.76rem;line-height:1.38;max-width:90%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 3px rgba(0,0,0,.5)}.generating-card-meta{display:inline-flex;gap:6px}.generating-card-meta span{border-radius:8px;border:1px solid hsla(var(--gen-hue, 30),30%,50%,.25);background:hsla(var(--gen-hue, 30),25%,12%,.5);color:hsla(var(--gen-hue, 30),40%,70%,.8);font-size:.62rem;font-weight:750;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-title{font-family:Sora,Manrope,sans-serif;font-size:1rem;font-weight:650}.section-count{border-radius:var(--radius-pill);border:1px solid var(--line-0);color:var(--text-1);padding:4px 9px;font-size:.74rem}.gallery-grid{display:grid;grid-template-columns:repeat(var(--gallery-columns, 4),minmax(0,1fr));gap:12px}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-2);border:1px solid var(--line-0);background:#140f0c;transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-base) var(--ease-out)}.gallery-item:hover img{transform:scale(1.02)}.gallery-item:hover{transform:translateY(-2px);border-color:var(--line-1);box-shadow:0 14px 28px #0000005c}.gallery-item-overlay{position:absolute;inset:auto 0 0;padding:12px;display:flex;justify-content:flex-end;opacity:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));transition:opacity var(--dur-fast) var(--ease-out)}.gallery-item:hover .gallery-item-overlay{opacity:1}.btn-download,.btn-reuse{min-height:30px;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--line-0);background:#18120ef0;color:#f0dfca;font-size:.73rem;font-weight:800;transition:all var(--dur-fast) var(--ease-out)}.btn-download:hover,.btn-reuse:hover{border-color:var(--line-1);background:#2d2119f5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:var(--space-4);background:#080605b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{width:min(560px,100%);border-radius:var(--radius-4);border:1px solid var(--line-1);background:radial-gradient(420px 140px at 20% -20%,rgba(198,145,91,.18),transparent 74%),linear-gradient(180deg,#231b15f5,#15110dfa);box-shadow:var(--shadow-lg);overflow:hidden}.modal-header{padding:17px 20px;border-bottom:1px solid var(--line-0)}.modal-title{font-family:Sora,Manrope,sans-serif;font-size:1.05rem;font-weight:650}.modal-body{padding:17px 20px;display:grid;gap:12px}.modal-footer{padding:13px 20px;border-top:1px solid var(--line-0);background:#1a140fdb;display:flex;justify-content:flex-end;gap:8px}.upload-zone{position:relative;overflow:hidden;text-align:center;padding:22px 14px;border-radius:var(--radius-2);border:1px dashed rgba(216,182,144,.34);background:#110d0ad1;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.upload-zone:hover{border-color:#c6915b9e;background:#1e1610e6}.upload-zone:after{content:"";position:absolute;top:-120%;right:-35%;bottom:-120%;left:-35%;background:linear-gradient(120deg,transparent,rgba(231,197,151,.08),transparent);transform:translate(-58%);transition:transform var(--dur-slow) var(--ease-out);pointer-events:none}.upload-zone:hover:after{transform:translate(32%)}.upload-zone-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.upload-zone-primary{font-size:.92rem;font-weight:700;color:#faecdc}.upload-zone-hint{margin-top:3px;color:var(--text-2);font-size:.76rem}.upload-zone--has-file{border-color:#c6915b99;background:#3a28189e}.upload-zone--has-file .upload-zone-text{color:#f4e7d7;font-weight:600}.form-group{display:grid;gap:6px}.form-label{color:var(--text-2);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.form-input,.form-select,.form-textarea{border-radius:var(--radius-1);border:1px solid var(--line-0);background:#140f0beb;color:var(--text-0);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.form-input,.form-select{min-height:40px;padding:0 12px}.form-textarea{min-height:86px;padding:10px 12px;resize:vertical}.form-input::placeholder,.form-textarea::placeholder{color:#9f8e7d}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#c6915b8f;box-shadow:0 0 0 1px #c6915b47;background:#1a130ef0}.form-checkbox-row{display:inline-flex;align-items:center;gap:8px}.form-checkbox{width:16px;height:16px;accent-color:var(--accent-0)}.form-checkbox-label{color:var(--text-1);font-size:.86rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preset-options-panel{overflow:hidden;border-radius:var(--radius-2);border:1px solid var(--line-0);background:#120e0bc7;padding:10px}.space-y-4>*+*{margin-top:12px}.btn{min-height:40px;padding:0 14px;border-radius:11px;font-size:.84rem;font-weight:800;transition:all var(--dur-fast) var(--ease-out)}.btn--md{min-height:40px}.btn--ghost{border:1px solid var(--line-0);background:#1d1611eb;color:#efdfcb}.btn--ghost:hover{transform:translateY(-1px);border-color:var(--line-1)}.btn--primary{border:1px solid rgba(198,145,91,.56);background:linear-gradient(145deg,#cf9f6cf5,#a87343fa);color:#2e1f13}.btn--primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.btn:disabled{opacity:.56}@media (max-width: 1220px){.history-feed{column-width:270px}}@media (max-width: 980px){.app-container{width:min(1320px,100% - 24px);margin-top:14px}.composer-textarea{min-height:86px;font-size:1.05rem}.history-feed{column-width:232px}}@media (max-width: 860px){.composer-controls{gap:10px;padding:10px;flex-wrap:wrap}.composer-controls-scroll{width:100%;flex:0 0 100%;flex-wrap:wrap;padding-bottom:4px}.control-divider{display:none}.preset-chip-dropdown{left:auto;right:0;min-width:min(280px,calc(100vw - 28px))}.preset-chip-dropdown:before{left:auto;right:18px}.preset-chip--metric .preset-chip-dropdown:before{right:auto;left:28px;top:-7px;bottom:auto;transform:rotate(45deg)}.preset-chip--metric .preset-chip-dropdown{width:min(292px,calc(100vw - 28px));min-width:min(292px,calc(100vw - 28px));top:calc(100% + 10px);bottom:auto;left:0;right:auto}.preset-chip--metric-end .preset-chip-dropdown{left:auto;right:0}.preset-chip--metric-end .preset-chip-dropdown:before{left:auto;right:28px}.btn-generate{width:100%;margin-left:0}.history-feed{column-width:210px;column-gap:8px}.history-tile-overlay{opacity:1;transform:translateY(0);padding:9px}.modal{width:min(560px,100%)}.form-grid{grid-template-columns:1fr}}@media (max-width: 640px){.app-container{width:min(1320px,100% - 14px)}.composer-prompt{padding:14px 14px 10px}.composer-textarea{min-height:78px;font-size:1rem}.composer-textarea--json{font-size:.84rem;line-height:1.55;padding:12px}.composer-refs{padding-inline:12px}.chip,.preset-chip-trigger{min-height:40px}.metric-popover-count-grid{grid-template-columns:1fr}.history-feed{column-width:auto;column-count:1;column-gap:0}.history-tile{margin-bottom:10px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.image-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:12px;background:#080605d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:zoom-out}.image-preview-content{position:relative;width:fit-content;max-width:96vw;max-height:96dvh;display:flex;flex-direction:column;background:#0c0908b8;border-radius:var(--radius-3);overflow:hidden;cursor:default;box-shadow:0 0 0 1px #fff0d90f,0 40px 80px #000000b8}.image-preview-media{position:relative;flex:1 1 auto;min-height:0;padding:8px 8px 6px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:96vw;border-radius:calc(var(--radius-3) - 4px) calc(var(--radius-3) - 4px) 0 0}.image-preview-img-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;overflow:hidden;border-radius:calc(var(--radius-3) - 6px);box-shadow:inset 0 0 0 1px #fff0d90d}.image-preview-img{display:block;width:auto!important;height:auto!important;max-width:calc(96vw - 16px)!important;max-height:calc(96dvh - 136px)!important;aspect-ratio:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;object-fit:contain!important;object-position:center center}.preview-close-btn{position:absolute;top:16px;right:16px;z-index:10;width:40px;height:40px;border-radius:50%;border:1px solid rgba(222,183,141,.3);background:linear-gradient(145deg,#2b2019f2,#1c1510f5);color:#f0dcc8;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffeed41a,0 8px 18px #00000052;transition:all var(--dur-fast) var(--ease-out)}.preview-close-btn:hover{border-color:#e1ba8f7a;background:linear-gradient(145deg,#372920f7,#251d18f7);box-shadow:inset 0 1px #ffeed621,0 0 0 1px #cb986152,0 10px 22px #0000005c,0 0 22px #c6915b29;transform:scale(1.04)}.image-preview-meta{position:relative;z-index:1;flex:0 0 auto;width:100%;max-width:100%;padding:12px 14px 13px;background:radial-gradient(130% 90% at 15% -10%,rgba(199,144,88,.15),transparent 62%),linear-gradient(180deg,#0f0b09e6,#0a0807f2);-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);display:grid;gap:8px;max-height:min(18dvh,170px);overflow-x:hidden;overflow-y:auto;border-radius:0 0 calc(var(--radius-3) - 2px) calc(var(--radius-3) - 2px);box-shadow:inset 0 1px #ffedd20a}.image-preview-meta:before{content:"";position:absolute;left:0;right:0;top:-34px;height:42px;pointer-events:none;background:linear-gradient(180deg,#c7905833,#c7905814 40%,#c7905800)}.image-preview-meta-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;max-width:100%;min-height:34px;overflow:hidden}.image-preview-meta-chips{display:inline-flex;flex-wrap:wrap;gap:7px;min-width:0}.image-preview-meta-chips span{border-radius:999px;border:1px solid rgba(225,188,146,.18);background:linear-gradient(140deg,#261c15f2,#1a140ff0);color:#d3bfaa;font-size:.67rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;line-height:1;box-shadow:inset 0 1px #ffeccc12,0 0 0 1px #c6915b14}.image-preview-prompt{color:#ecdcc9;font-size:.9rem;line-height:1.48;max-width:100%;opacity:.95;overflow-wrap:normal;text-shadow:0 1px 0 rgba(0,0,0,.2);white-space:nowrap;text-overflow:ellipsis;cursor:help;overflow:hidden}.image-preview-prompt-row{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;overflow:hidden}.image-preview-prompt-row .image-preview-prompt{flex:1 1 auto;min-width:0}.image-preview-download{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 14px;font-size:.76rem;font-weight:800;letter-spacing:.01em;border-radius:999px;border:1px solid rgba(216,177,133,.32);background:linear-gradient(145deg,#392a1ff2,#231b15f2);color:#f3e1cc;box-shadow:inset 0 1px #ffeacc24,0 6px 16px #00000059;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.image-preview-download:hover{border-color:#e0bc928f;color:#fff2df;box-shadow:inset 0 1px #ffebcf33,0 0 0 1px #ca955f47,0 10px 24px #0000005c,0 0 20px #c6915b33}.image-preview-download svg{opacity:.92}.image-preview-copy{flex:0 0 auto;min-height:30px;padding:0 11px;border-radius:999px;border:1px solid rgba(214,176,133,.24);background:#17110ddb;color:#dcc7b1;font-size:.72rem;font-weight:760;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.image-preview-copy:hover{border-color:#dfbc9470;color:#f2e0cb;box-shadow:0 0 0 1px #c7915933,0 8px 18px #00000052}.image-preview-copy--copied{border-color:#78d8ad80;color:#a8f1cd}.image-preview-copy--error{border-color:#f2829285;color:#ffb4bf}.magnify-bubble{position:fixed;width:360px;height:360px;translate:-50% -50%;border-radius:50%;border:1px solid rgba(240,200,150,.35);background:#0a0908;box-shadow:inset 0 0 0 1px #fff2dc0f,0 0 0 1px #c6915b1f,0 0 32px #dca87147,0 0 16px #c6915b38,0 20px 50px #000000ad;overflow:hidden;pointer-events:none;z-index:5000}.magnify-bubble--floating{will-change:transform,left,top,opacity}.magnify-bubble:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,235,206,.06),transparent 60%);pointer-events:none}.magnify-bubble-inner{width:100%;height:100%;background-repeat:no-repeat;background-position:center}@media (max-width: 860px){.image-preview-backdrop{padding:10px}.image-preview-content{width:fit-content;max-width:100%;max-height:min(97dvh,calc(100dvh - 20px))}.image-preview-media{padding:8px;max-width:100%}.image-preview-img{max-width:calc(100vw - 20px)!important;max-height:calc(97dvh - 128px)!important}.image-preview-meta{padding:8px 12px 10px;max-height:min(18dvh,150px)}.magnify-bubble{display:none}}@media (max-width: 640px){.image-preview-content{width:100%;max-width:100%;max-height:min(98dvh,calc(100dvh - 12px))}.image-preview-media{padding:6px}.image-preview-meta{gap:7px}.image-preview-meta-top,.image-preview-prompt-row{align-items:flex-start;flex-direction:column;gap:8px}.image-preview-download{min-height:32px;padding:0 12px;font-size:.73rem}.image-preview-prompt{font-size:.84rem;line-height:1.42}.image-preview-img{max-width:calc(100vw - 14px)!important;max-height:calc(98dvh - 116px)!important}.preview-close-btn{top:10px;right:10px;width:36px;height:36px}}
