:root{--bg-color:#09090b;--panel-bg:#0c0c0fb3;--panel-border:#ffffff1a;--panel-shadow:0 8px 32px #000c;--text-main:#fff;--text-muted:#a1a1aa;--text-faint:#52525b;--accent:#fff;--accent-hover:#e4e4e7;--accent-faint:#ffffff1a;--accent-glow:#fff3;--input-bg:#18181be6;--input-border:#ffffff26;--input-focus:#fff6;--font-heading:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:20px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;position:relative;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.01em;font-weight:500}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(40px);box-shadow:var(--panel-shadow);padding:24px;position:relative;overflow:hidden}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:500}.input,.textarea{color:var(--text-main);font-family:var(--font-body);background:0 0;border:none;outline:none;width:100%;padding:16px;font-size:16px}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.textarea{resize:none;min-height:56px;line-height:1.5;overflow-y:auto}.prompt-bar-container{pointer-events:none;z-index:100;background:linear-gradient(#0000 0%,#09090bcc 100%);justify-content:center;padding:24px;display:flex;position:fixed;bottom:0;left:0;right:0}.prompt-bar{pointer-events:auto;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(40px);align-items:center;width:100%;max-width:800px;padding:8px 16px;transition:all .2s;display:flex;box-shadow:0 16px 48px #000c}.prompt-bar:focus-within{border-color:var(--input-focus);box-shadow:0 16px 40px #000c, 0 0 0 1px var(--input-focus)}.chip-container{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;border:1px solid #0000;border-radius:100px;padding:6px 14px;font-size:13px;transition:all .2s}.chip:hover{color:var(--text-main);background:#ffffff1a}.chip.active{background:var(--accent-faint);border-color:var(--accent);color:var(--text-main)}.btn{background:var(--accent);color:#000;border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn:disabled{color:var(--text-faint);cursor:not-allowed;background:#ffffff1a}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:10px;transition:all .2s;display:flex}.icon-btn:hover{color:var(--text-main);background:#ffffff1a}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.top-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;border-bottom:1px solid var(--panel-border);background:#09090bcc;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.gallery-area{flex:1;padding:32px 32px 120px;overflow-y:auto}.results-container{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%;display:grid}.poster-card{border-radius:var(--radius-sm);aspect-ratio:4/5;background:#000;position:relative;overflow:hidden}.poster-img{object-fit:cover;width:100%;height:100%;transition:opacity .3s,transform .5s;display:block}.poster-overlay{opacity:0;background:linear-gradient(#0000 0%,#0003 50%,#000000e6 100%);flex-direction:column;justify-content:flex-end;padding:20px;transition:opacity .3s;display:flex;position:absolute;inset:0}.poster-card:hover .poster-overlay{opacity:1}.poster-card:hover .poster-img{opacity:.6;transform:scale(1.02)}.poster-actions{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.prompt-text{color:var(--text-main);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.settings-popover{z-index:1000;pointer-events:auto;width:400px;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.lightbox-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;cursor:zoom-out;background:#0009;justify-content:center;align-items:center;padding:40px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{object-fit:contain;border-radius:var(--radius-sm);cursor:default;max-width:100%;max-height:100%;box-shadow:0 32px 64px #000}.lightbox-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:48px;height:48px;transition:color .2s;display:flex;position:absolute;top:32px;right:40px}.lightbox-close:hover{color:var(--text-main)}.splash-screen{z-index:99999;-webkit-backdrop-filter:blur(4px);cursor:pointer;background:#00000073;justify-content:center;align-items:center;animation:1.5s ease-out fadeIn;display:flex;position:fixed;inset:0}.splash-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.splash-logo{font-family:var(--font-heading);letter-spacing:.35em;color:var(--text-main);text-transform:uppercase;background:linear-gradient(#fff 0%,#71717a 100%);-webkit-text-fill-color:transparent;will-change:transform, opacity;-webkit-background-clip:text;margin-bottom:24px;font-size:clamp(3rem,10vw,5rem);font-weight:700;animation:4s ease-out forwards logoReveal}.splash-hint{font-family:var(--font-main);letter-spacing:.3em;color:var(--text-faint);opacity:.4;font-size:11px;animation:3s ease-in-out infinite fadeInOut}@keyframes logoReveal{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes fadeInOut{0%,to{opacity:.2}50%{opacity:.5}}
