:root{--bg-color:#09090b;--panel-bg:#0a0a0cf0;--panel-border:#ffffff1f;--panel-shadow:0 20px 50px #000000e6;--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)saturate(140%);box-shadow:var(--panel-shadow), 0 0 0 1px #ffffff0a inset;isolation:isolate;padding:24px;position:relative;transform:translateZ(0)}.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:vertical;scrollbar-width:none;-ms-overflow-style:none;min-height:56px;line-height:1.5;overflow-y:auto}.textarea::-webkit-scrollbar{display:none}.prompt-bar-container{pointer-events:none;z-index:100;background:linear-gradient(#0000 0%,#09090bbf 45%,#09090bf5 100%);justify-content:center;padding:24px;display:flex;position:fixed;bottom:0;left:0;right:0}.prompt-bar{pointer-events:auto;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(40px)saturate(140%);z-index:100;background:#0e0e12eb;border:1px solid #ffffff24;align-items:center;width:100%;max-width:800px;padding:8px 16px;transition:all .2s;display:flex;transform:translateZ(0);box-shadow:0 20px 56px #000000d9,inset 0 0 0 1px #ffffff0a}.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;opacity:.5;background:#ffffff0d}.send-btn{color:#000;cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 0 #fff0}.send-btn:hover:not(:disabled){background:#f4f4f5;transform:scale(1.05)translateY(-2px);box-shadow:0 0 20px #ffffff4d}.send-btn:active:not(:disabled){transform:scale(.95)}.send-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}.app-shell{flex-direction:column;flex:1;min-height:0;transition:filter .35s,transform .35s,opacity .35s;display:flex}.app-shell--blurred{filter:blur(10px)saturate(88%);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(1.01)}.top-nav{-webkit-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-md);aspect-ratio:4/5;background:#000;transition:transform .7s cubic-bezier(.2,1,.2,1),box-shadow .7s;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000004d}.poster-card:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(135deg,#ffffff1f 0%,#0000 40% 100%);transition:opacity .7s;position:absolute;inset:0}.poster-card:hover{transform:translateY(-10px)scale(1.02);box-shadow:0 30px 60px #000000e6}.poster-card:hover:after{opacity:1.5}.poster-img{object-fit:cover;width:100%;height:100%;transition:opacity .3s,transform .5s;display:block}.poster-overlay{opacity:0;z-index:3;background:linear-gradient(#0000 0%,#0006 60%,#000000f2 100%);flex-direction:column;justify-content:flex-end;padding:24px;transition:opacity .5s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.poster-card:hover .poster-overlay{opacity:1}.poster-card:hover .poster-img{opacity:.5;transform:scale(1.05)}.poster-overlay .chip{-webkit-backdrop-filter:blur(8px);letter-spacing:.05em;text-transform:uppercase;color:#ffffffe6;font-weight:600;background:#ffffff14!important;border:1px solid #ffffff1a!important;border-radius:100px!important;padding:4px 12px!important;font-size:10px!important}.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:520px;max-height:70vh;position:absolute;bottom:80px;left:50%;overflow-y:auto;transform:translate(-50%)}.dna-grid{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.dna-card{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;transition:all .15s;display:flex}.dna-card:hover{background:#ffffff12;border-color:#ffffff1a}.dna-card.active{background:#ffffff14;border-color:#ffffff40}.dna-emoji{text-align:center;flex-shrink:0;width:24px;font-size:18px}.dna-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dna-name{font-family:var(--font-heading);color:var(--text-main);font-size:13px;font-weight:600}.dna-tagline{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.dna-check{color:var(--text-muted);flex-shrink:0}.preset-badge-pin{z-index:5;-webkit-backdrop-filter:blur(8px);color:#ffffffd9;font-size:11px;font-family:var(--font-heading);letter-spacing:.02em;pointer-events:none;opacity:0;background:#0000008c;border:1px solid #ffffff1f;border-radius:100px;padding:3px 10px;font-weight:500;transition:opacity .3s;position:absolute;top:12px;left:12px}.poster-card:hover .preset-badge-pin{opacity:1}.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)}.login-overlay{z-index:20000;-webkit-backdrop-filter:blur(22px)saturate(125%);background:radial-gradient(circle at 20% 20%,#ffffff08 0%,#fff0 35%),radial-gradient(circle at 80% 75%,#ffffff05 0%,#fff0 40%),#000000c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.login-card{width:100%;max-width:420px;position:relative}.login-card-glow{filter:blur(28px);pointer-events:none;background:radial-gradient(circle at 50% 20%,#fff3,#fff0);position:absolute;inset:-20px}.login-card-shell{-webkit-backdrop-filter:blur(44px)saturate(145%);background:linear-gradient(160deg,#16161ccc,#0e0e12bd);border:1px solid #ffffff24;border-radius:18px;padding:24px;position:relative;overflow:hidden;box-shadow:0 28px 80px #000000b8,inset 0 1px #ffffff24}.login-orb{pointer-events:none;filter:blur(20px);opacity:.5;border-radius:999px;position:absolute}.login-orb--one{background:#80b9ff38;width:120px;height:120px;top:-40px;right:-20px}.login-orb--two{background:#ff9ed82e;width:90px;height:90px;bottom:-30px;left:-20px}.login-card-shell:after{content:"";pointer-events:none;background:linear-gradient(#fff0 0%,#ffffff12 40%,#fff3 50%,#ffffff12 60%,#fff0 100%);width:58%;height:320%;animation:6.8s ease-in-out infinite loginSheen;position:absolute;top:-120%;left:-40%;transform:rotate(22deg)}.login-badge{color:#fffc;letter-spacing:.12em;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;margin-bottom:14px;padding:4px 10px;font-size:11px;display:inline-flex}.login-headline-row{letter-spacing:.1em;text-transform:uppercase;color:#ffffff9e;align-items:center;gap:6px;margin-bottom:10px;font-size:11px;display:inline-flex}.login-headline-dot{background:#86efacd9;border-radius:999px;width:6px;height:6px;box-shadow:0 0 10px #86efaca6}.login-title{font-family:var(--font-heading);letter-spacing:-.02em;margin-bottom:8px;font-size:28px}.login-subtitle{color:#ffffffad;margin-bottom:18px;font-size:13px;line-height:1.45}.login-form{flex-direction:column;gap:12px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa8;font-size:11px;font-family:var(--font-heading)}.login-input{color:#fffffff2;background:#ffffff0b;border:1px solid #ffffff1f;border-radius:12px;padding:13px 14px;font-size:14px;transition:border-color .2s,background .2s,box-shadow .2s}.login-input:focus{background:#ffffff13;border-color:#ffffff47;box-shadow:0 0 0 2px #ffffff0d}.login-error{color:#fecaca;background:#ef444429;border:1px solid #fca5a559;border-radius:10px;padding:8px 10px;font-size:12px}.login-submit-btn{color:#fffffff0;letter-spacing:.03em;cursor:pointer;background:linear-gradient(#222226f5 0%,#121216f5 100%);border:1px solid #ffffff24;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:44px;margin-top:4px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 10px 28px #0000008c,inset 0 1px #ffffff14}.login-submit-btn:hover:not(:disabled){background:linear-gradient(#28282efa 0%,#16161cfa 100%);transform:translateY(-1px);box-shadow:0 14px 32px #0000009e,inset 0 1px #ffffff1f}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.login-footnote{text-align:center;color:#ffffff6b;letter-spacing:.04em;margin-top:2px;font-size:11px}@keyframes loginSheen{0%{opacity:0;transform:translate(-20%)rotate(22deg)}12%{opacity:.55}32%{opacity:0;transform:translate(190%)rotate(22deg)}to{opacity:0;transform:translate(190%)rotate(22deg)}}.splash-screen{z-index:99999;-webkit-backdrop-filter:blur(60px);cursor:pointer;background:#000000eb;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-image{border-radius:30px;width:120px;height:120px;margin-bottom:24px;animation:4s ease-out forwards logoReveal;box-shadow:0 20px 40px #00000080}.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}}
