*{margin:0;padding:0;box-sizing:border-box}* ::selection{background:#fff;color:#111}:root{background:#000;color:#fff;font-family:Space Mono,Google Sans Display,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:400}li{list-style:none}input,textarea{font-family:Space Mono,Google Sans Display,sans-serif;background:none;color:#fff;border:none;outline:none;font-size:18px;resize:none;-webkit-user-select:text;user-select:text}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;padding:10px;background:#111;color:#fff;border-radius:4px;font-size:16px;cursor:pointer}button{font-family:Space Mono,Google Sans Display,sans-serif;background:none;color:#fff;border:none;font-size:16px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:5px}button:focus{outline:none}button[disabled]{opacity:.5;cursor:not-allowed}button .icon{display:block}.button{display:inline-flex;padding:10px;border-radius:8px;gap:4px;align-items:center;justify-content:center;color:#fffc}@media(max-width:768px){.button{font-size:13px;padding:8px 16px}}.icon{font-family:Material Symbols Outlined;font-weight:300;line-height:1}main.appLayout{width:100vw;height:100dvh;overflow:hidden;display:flex;flex-direction:row}.leftContent{flex:1;display:flex;flex-direction:column;min-width:0;height:100%}.sidebar{width:340px;background:#080808;border-left:1px solid #222;display:flex;flex-direction:column;padding:24px;gap:24px;overflow:hidden;z-index:10}@media(max-width:1024px){.sidebar{width:280px}}@media(max-width:768px){main.appLayout{flex-direction:column;overflow-y:auto}.leftContent{flex:none;height:auto}.video{height:60vh}.sidebar{width:100%;border-left:none;border-top:1px solid #222;padding:16px;overflow:visible}.sidebarSection{flex:none;height:auto}.sidebarModeList{overflow-y:visible}}.sidebarSection{background:#111;padding:16px;border-radius:12px;border:1px solid #222;display:flex;flex-direction:column;box-shadow:0 4px 15px #0000004d;flex:1;min-height:0}.sidebar h3{font-family:Space Mono;text-transform:uppercase;font-size:14px;color:#777;letter-spacing:.1em;margin-bottom:16px}.sidebarModeList{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:4px}.sidebarModeList::-webkit-scrollbar{width:4px}.sidebarModeList::-webkit-scrollbar-track{background:transparent}.sidebarModeList::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.sidebarModeList::-webkit-scrollbar-thumb:hover{background:#444}.sidebarModeList button{width:100%;padding:10px 14px;border-radius:8px;background:#181818;border:1px solid #222;transition:all .2s;justify-content:flex-start;font-size:14px;color:#aaa}.sidebarModeList button span{font-size:18px}.sidebarModeList button.active{background:#fff;color:#000;border-color:#fff;scale:1.02;box-shadow:0 4px 20px #ffffff1a}.sidebarModeList button:hover:not(.active){background:#1a1a1a;border-color:#444;color:#fff}.promptEditor{display:flex;flex-direction:column;gap:12px;background:#111;padding:16px;border-radius:12px;border:1px solid #222;flex:none;box-shadow:0 8px 30px #0009}.promptEditor .hint{font-size:11px;color:#555;margin-top:-8px;font-style:italic}.promptEditor textarea{background:#000;border:1px solid #333;border-radius:8px;padding:12px;font-size:13px;line-height:1.5;min-height:120px;width:100%;color:#ddd}.promptEditor textarea:focus{border-color:#666}.video{overflow:hidden;position:relative;flex:1;min-height:400px;background-image:linear-gradient(to bottom,#000,#111)}.video video{display:block;margin:0 auto;height:100%;max-width:100%;object-fit:cover;transition:filter .2s;transform:rotateY(180deg);aspect-ratio:1}.video:has(.focusedPhoto) video{filter:blur(10px) brightness(.1)}.video:has(.focusedPhoto) .shutter{opacity:0;pointer-events:none}.flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:1;animation:flash .3s ease-out forwards}.customPrompt{position:absolute;top:50%;left:50%;translate:-50% -50%;background:#000c;z-index:100;padding:20px;width:90%;max-width:420px;border-radius:5px}.customPrompt textarea{font-size:14px;width:100%}@keyframes flash{0%{opacity:1}to{opacity:0}}.videoControls{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}.videoControls .icon{font-size:42px}.modeSelector{display:flex;gap:16px;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;padding:10px;border-top:1px solid #333;overflow:auto}.modeSelector li{position:relative}.modeSelector button{text-transform:uppercase;font-size:16px;display:flex;align-items:center;justify-content:center;filter:grayscale(1) brightness(.7);transition:all .2s;white-space:nowrap;gap:5px;position:relative;background:transparent;padding:1px 7px;border-radius:3px}.modeSelector button.active{filter:grayscale(0) brightness(1)!important;background:#fff;color:#000}@media(max-width:768px){.modeSelector button{font-size:14px}}.startButton{position:absolute;display:block;top:0;right:0;bottom:0;left:0;text-align:center;font-size:18px;padding:10px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.shutter{background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;padding:10px;filter:drop-shadow(0 0 10px rgba(0,0,0,.5));transition:all .2s}.shutter .icon{font-size:42px;color:#ddd;transition:color .2s}.shutter:hover{scale:1.1}.shutter:hover .icon{color:#fff}.shutter:active{scale:.8;rotate:10deg}.focusedPhoto{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.focusedPhoto{top:0;right:0;bottom:0;left:0;width:100%;height:100%}}.focusedPhoto img{width:100%;height:100%;object-fit:contain}.focusedPhoto .circleBtn{top:20px;right:20px;translate:0 0;background:#000a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.focusedPhoto .downloadButton{position:absolute;bottom:40px;left:50%;translate:-50% 0}.circleBtn{position:absolute;translate:50% -50%;top:0;right:0;background:#000000b3;z-index:1;font-size:23px;padding:5px;border-radius:50%;filter:drop-shadow(0 0 10px rgba(0,0,0,.5));transition:all .2s;border:1px solid rgba(255,255,255,.3);transition:scale .2s}.deleteBtn{scale:0;translate:25% -25%}.results{display:flex;position:relative;height:clamp(200px,25dvh,300px);border-top:1px solid #333;padding:15px;overflow:auto;background:#111}@media(max-width:768px){.results{height:clamp(100px,15dvh,200px);padding:10px}}.results ul{display:flex;gap:10px}.results ul:has(li:hover) li{opacity:.7}.results li{aspect-ratio:1;height:100%;transition:opacity .3s;position:relative}.results li .emoji{position:absolute;bottom:5px;right:5px;z-index:1;font-size:24px}.results li .photo{border-radius:5px;overflow:hidden;border:1px solid rgba(255,255,255,.3);width:100%;height:100%}.results li:hover{opacity:1!important}.results li:hover .deleteBtn{scale:1}.results li.empty{border:1px dashed #555;border-radius:5px;padding:10px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;gap:10px;font-size:14px}.results li.empty p{font-size:24px}.results li.empty .icon{color:#aaa}@media(max-width:768px){.results li.empty{padding:8px;font-size:11px}.results li.empty p{display:none}}.results li img{width:100%;height:100%;object-fit:cover}.results li.isBusy{position:relative}.results li.isBusy img{filter:brightness(.4)}.results li.isBusy:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 25%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.2) 75%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite ease-in-out;z-index:1;pointer-events:none}.button{border:2px solid #fff;color:#fff;filter:drop-shadow(0 0 10px rgba(0,0,0,.5));text-transform:uppercase;padding:10px 20px;border-radius:5px;background:#1e88e5;transition:all .2s}.button:hover{scale:1.1}.button:active{scale:.8}.downloadButton{position:absolute;bottom:0;left:50%;translate:-50% 50%}.makeGif{position:sticky;right:15px;align-self:center;background:#e64a19;border:2px solid #fff;color:#fff;filter:drop-shadow(0 0 10px rgba(0,0,0,.5));text-transform:uppercase;padding:10px 20px;border-radius:5px;white-space:nowrap;margin-left:auto;z-index:99}@media(max-width:768px){.makeGif{right:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.keyButton{position:absolute;top:20px;right:20px;background:#000c}.enhanceBtn{background:#111;border:1px solid #333;color:#aaa!important;padding:8px 12px;border-radius:8px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;cursor:pointer}.enhanceBtn:hover:not(:disabled){background:#222;border-color:#444;color:#fff!important}.enhanceBtn:disabled{opacity:.5;cursor:wait}.enhanceBtn .icon{font-size:18px}.enhanceBtn.is-spinning .icon{animation:spin 1s linear infinite}.promptActionsRow{display:flex;gap:8px;width:100%}.actionBtn{background:#111;border:1px solid #333;color:#777;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s;cursor:pointer;min-width:40px}.actionBtn:hover:not(:disabled){background:#222;border-color:#555;color:#fff}.actionBtn:disabled{opacity:.3;cursor:not-allowed}.actionBtn .icon{font-size:20px}z-index: 100; padding: 8px; border-radius: 50%; border: 1px solid #333; transition: all .2s; } .keyButton .icon{font-size:24px;color:#ffb300}.keyButton.hasKey{border-color:#4caf50}.keyButton.hasKey .icon{color:#4caf50}.keyButton:hover{scale:1.1;background:#111e;border-color:#555}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3000;display:grid;place-items:center;animation:fadeIn .3s ease-out}.confirmModal{background:#111;border:1px solid #333;padding:30px;border-radius:12px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 40px #00000080}.confirmModal h3{margin-bottom:12px;font-size:20px;color:#fff}.confirmModal p{color:#aaa;margin-bottom:24px;line-height:1.5;font-size:15px}.modalActions{display:flex;gap:12px;justify-content:center}.modalActions .button{min-width:100px}.modalActions .button.cancel{background:#333;border-color:#444}.modalActions .button.delete{background:#d32f2f;border-color:#ff5252}.modalActions .button:hover{scale:1.05}.auth-screen{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw;background:var(--bg-color, #121212);color:#fff}.auth-card{background:#ffffff0d;padding:3rem;border-radius:24px;text-align:center;max-width:400px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card h1{font-size:2.5rem;margin-bottom:1rem}.auth-card p{opacity:.8;margin-bottom:2rem}.login-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:1rem;font-size:1.1rem;background:#fff;color:#000;border-radius:12px;cursor:pointer;transition:transform .2s;border:none}.login-btn:hover{transform:translateY(-2px)}.auth-error{color:#ff5252;background:#ff52521a;padding:.8rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.user-bar{position:fixed;top:1rem;right:1rem;z-index:1000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.5rem 1rem;border-radius:50px;font-size:.8rem;display:flex;align-items:center;gap:1rem;border:1px solid rgba(255,255,255,.1)}.logout-link{background:none;border:none;color:#aaa;cursor:pointer;text-decoration:underline;padding:0}.logout-link:hover{color:#fff}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-top:4px solid white;border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
