*,body{margin:0}*{box-sizing:border-box;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0a0a0a,#1a0a1a 50%,#2a0a2a);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{min-height:100vh}.age-verify-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.age-verify-card{background:#1e0a28e6;border:2px solid #ff69b44d;border-radius:24px;box-shadow:0 20px 60px #ff69b433;max-width:500px;padding:48px 40px;text-align:center;width:100%}.welcome-logo{margin-bottom:24px}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#9b4dff);-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:700;margin:0 0 8px}.logo-tagline{color:#ccc;font-size:16px;letter-spacing:1px;margin:0}.warning-icon{filter:drop-shadow(0 0 20px rgba(255,193,7,.5));font-size:64px;margin-bottom:24px}.age-verify-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:24px;line-height:1.4;margin-bottom:32px}.dob-input-container{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:24px}.dob-input{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;color:#fff;font-size:20px;padding:16px;text-align:center;transition:all .3s ease;width:70px}.dob-input-year{width:100px}.dob-input:focus{background:#ffffff1a;border-color:#ff69b4;box-shadow:0 0 20px #ff69b466;outline:none}.dob-separator{color:#ffffff80;font-size:24px;font-weight:700}.error-message{background:#ff00001a;border:1px solid #ff00004d;border-radius:8px;color:#ff6b6b;font-size:14px;margin-bottom:16px;padding:12px}.verify-button{background:linear-gradient(135deg,#ff1493,#ff69b4);border:none;border-radius:12px;box-shadow:0 4px 20px #ff149366;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px 48px;transition:all .3s ease}.verify-button:hover{box-shadow:0 6px 30px #ff149399;transform:translateY(-2px)}.auth-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#1e0a28e6;border:2px solid #ff69b44d;border-radius:24px;box-shadow:0 20px 60px #ff69b433;max-width:450px;padding:48px 40px;width:100%}.auth-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:42px;margin-bottom:8px;text-align:center}.subtitle{color:#ffffffb3;font-size:16px;margin-bottom:32px;text-align:center}.auth-tabs{display:flex;gap:12px;margin-bottom:24px}.auth-tabs button{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:8px;color:#fff9;cursor:pointer;flex:1 1;font-size:16px;padding:12px;transition:all .3s ease}.auth-tabs button.active{background:linear-gradient(135deg,#ff1493,#ff69b4);border-color:#ff69b4;color:#fff}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form input{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;color:#fff;font-size:16px;padding:16px;transition:all .3s ease}.auth-form input:focus{background:#ffffff1a;border-color:#ff69b4;box-shadow:0 0 20px #ff69b466;outline:none}.auth-submit{background:linear-gradient(135deg,#ff1493,#ff69b4);border:none;border-radius:12px;box-shadow:0 4px 20px #ff149366;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-top:8px;padding:16px;transition:all .3s ease}.auth-submit:hover{box-shadow:0 6px 30px #ff149399;transform:translateY(-2px)}.gallery-screen{min-height:100vh;padding:20px}.gallery-header{align-items:center;background:#1e0a2899;border:1px solid #ff69b433;border-radius:16px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:32px;padding:24px}.wallet-display{gap:16px}.wallet-display,.wallet-item{align-items:center;display:flex}.wallet-item{background:#ff69b41a;border:2px solid #ff69b44d;border-radius:12px;gap:8px;padding:8px 16px;transition:all .3s ease}.wallet-item:hover{background:#ff69b426;border-color:#ff69b4}.wallet-icon{font-size:18px}.wallet-value{color:#fff;font-size:16px;font-weight:600}.gallery-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:32px}.logout-btn{background:#ffffff1a;border:2px solid #ff69b44d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px;transition:all .3s ease}.logout-btn:hover{background:#ffffff26;border-color:#ff69b4}.filters{background:#1e0a2899;border:1px solid #ff69b433;border-radius:16px;display:flex;flex-wrap:wrap;gap:32px;margin-bottom:32px;padding:24px}.filter-group{align-items:center;display:flex;gap:12px}.filter-group label{color:#fffc;font-size:14px;font-weight:600}.filter-group button{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:14px;padding:8px 20px;transition:all .3s ease}.filter-group button.active{background:linear-gradient(135deg,#ff1493,#ff69b4);border-color:#ff69b4;color:#fff}.companions-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:0 4px}.companion-card{background:#1e0a28cc;border:2px solid #ff69b433;border-radius:16px;cursor:pointer;overflow:hidden;transition:all .3s ease}.companion-card:hover{border-color:#ff69b4;box-shadow:0 12px 40px #ff69b466;transform:translateY(-8px)}.companion-avatar{background:#0a0a0acc;line-height:0;min-height:300px;overflow:hidden;position:relative}.companion-avatar,.companion-avatar img{display:block;height:auto;max-height:450px;width:100%}.companion-avatar img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:high-quality;object-fit:contain;object-position:top center}.companion-info{padding:20px}.companion-info h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:22px;margin-bottom:8px}.companion-bio{color:#ffffffb3;font-size:14px;line-height:1.5;margin-bottom:12px}.companion-tags{display:flex;gap:8px}.tag{background:#ff69b433;border:1px solid #ff69b466;border-radius:12px;color:#ff69b4;font-size:12px;padding:4px 12px}.chat-screen{background:linear-gradient(135deg,#0a0a0a,#1a0a1a 50%,#2a0a2a);display:flex;flex-direction:column;height:100vh}.chat-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e0a28fa;border-bottom:2px solid #ff69b433;display:flex;gap:16px;justify-content:space-between;padding:12px 24px;position:-webkit-sticky;position:sticky;top:70px;z-index:100;.chat-wallet-display-left{margin-right:16px}}.chat-wallet-display{margin-left:auto}.wallet-item-small{align-items:center;background:#ff69b426;border:2px solid #ff69b466;border-radius:10px;display:flex;gap:6px;padding:6px 14px}.wallet-item-small .wallet-icon{font-size:16px}.wallet-item-small .wallet-value{color:#ff69b4;font-size:15px;font-weight:700}.back-btn{background:#ffffff1a;border:2px solid #ff69b44d;color:#fff;transition:all .3s ease}.back-btn:hover{background:#ffffff26;border-color:#ff69b4}.companion-header-info{align-items:center;display:flex;gap:12px}.companion-header-info img{border:3px solid #ff69b4;border-radius:50%;cursor:pointer;height:65px;object-fit:cover;transition:all .3s ease;width:65px}.companion-header-info img:hover{box-shadow:0 4px 20px #ff69b499;transform:scale(1.05)}.companion-header-info h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:20px}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:24px 24px 100px;scroll-behavior:smooth}.message{display:flex;isolation:isolate;max-width:70%;position:relative}.message.user{margin-left:auto}.message.assistant{margin-right:auto}.tts-button-container{pointer-events:auto;position:absolute;right:8px;top:8px;z-index:1}.tts-icon-btn-outside{align-items:center;background:#ff69b44d;border:2px solid #ff69b480;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;padding:0;transition:all .3s ease;width:36px}.tts-icon-btn-outside:hover{background:#ff69b499;border-color:#ff69b4;box-shadow:0 4px 15px #ff69b499;transform:scale(1.15)}.message-content{background:#1e0a28cc;border:1px solid #ff69b44d;border-radius:16px;isolation:isolate;padding:16px 20px;position:relative}.message.assistant .message-content:has(.tts-button-container){padding-right:56px}.tts-icon-btn{align-items:center;background:#ff69b433;border:2px solid #ff69b466;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;padding:0;position:absolute;right:8px;top:8px;transition:all .3s ease;width:32px}.tts-icon-btn:hover{background:#ff69b466;border-color:#ff69b4;transform:scale(1.1)}.message-audio{border-radius:8px;margin-top:12px;width:100%}.tts-details{background:#ff69b41a;border:1px solid #ff69b44d;border-radius:12px;margin:16px 0;padding:16px}.tts-detail-row{align-items:center;display:flex;font-size:15px;justify-content:space-between;padding:8px 0}.tts-detail-row span:first-child{color:#ffffffb3}.tts-detail-row span:last-child{color:#fff;font-weight:600}.tts-cost{color:#ff69b4!important;font-size:18px!important}.message.user .message-content{background:linear-gradient(135deg,#ff1493,#ff69b4);border-color:#ff69b4}.message-content p{font-size:15px;line-height:1.5;margin:0}.narrative-text{color:#fed7aa;font-style:italic;font-weight:400}.message-image{cursor:pointer;display:block;margin-top:12px;max-width:100%;transition:all .3s ease}.message-image.clickable:hover{box-shadow:0 4px 20px #ff69b466;transform:scale(1.02)}.message-video-container{margin-top:12px;max-width:100%;position:relative}.message-video{border-radius:12px;display:block;max-width:100%}.video-fullscreen-btn{align-items:center;background:#000000b3;border:2px solid #ff69b499;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;line-height:1;padding:0;position:absolute;right:12px;top:12px;transition:all .3s ease;width:44px;z-index:10}.video-fullscreen-btn:hover{background:#ff1493e6;border-color:#ff69b4;box-shadow:0 4px 15px #ff149399;transform:scale(1.1)}.video-container{margin-top:12px;position:relative}.message-video.clickable{cursor:pointer;transition:all .3s ease}.message-video.clickable:hover{box-shadow:0 4px 20px #ff69b466;transform:scale(1.02)}.fullscreen-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000f2;bottom:0;cursor:zoom-out;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fullscreen-close{align-items:center;background:#ff1493e6;border:2px solid #ff69b4;border-radius:50%;box-shadow:0 4px 20px #ff149399;color:#fff;cursor:pointer;display:flex;font-size:32px;font-weight:700;height:56px;justify-content:center;line-height:1;position:absolute;right:24px;top:24px;transition:all .3s ease;width:56px;z-index:10000}.fullscreen-close:hover{background:#ff1493;box-shadow:0 6px 30px #ff1493cc;transform:rotate(90deg) scale(1.1)}.fullscreen-content{cursor:default;max-height:95vh;max-width:95vw}.fullscreen-media{border-radius:8px;box-shadow:0 20px 80px #ff149366;max-height:95vh;max-width:100%}.typing-indicator{color:#fffc;font-style:italic}.chat-input-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e0a28fa;border-top:2px solid #ff69b433;bottom:0;display:flex;flex-direction:column;gap:12px;padding:20px 24px 32px;position:-webkit-sticky;position:sticky;z-index:50}.suggestions-container{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.suggestion-btn{background:#ff69b426;border:1px solid #ff69b44d;border-radius:20px;color:#fffc;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.suggestion-btn:hover{background:#ff69b44d;border-color:#ff69b4;color:#fff;transform:translateY(-1px)}.message.generating .message-content{background:#9b4dff33;border-color:#9b4dff66;font-style:italic}.message.system{margin:0 auto;max-width:80%}.message.system .message-content{background:#9b4dff33;border-color:#9b4dff66;text-align:center}.action-buttons{display:flex;gap:12px}.camera-btn,.video-btn{background:linear-gradient(135deg,#ff1493,#ff69b4);border:none;border-radius:12px;box-shadow:0 4px 20px #ff149366;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px 20px;transition:all .3s ease}.video-btn{background:linear-gradient(135deg,#9b4dff,#ff1493)}.camera-btn:hover:not(:disabled),.video-btn:hover:not(:disabled){box-shadow:0 6px 30px #ff149399;transform:translateY(-2px)}.camera-btn:disabled,.video-btn:disabled{cursor:not-allowed;opacity:.5}.message-input-wrapper{display:flex;gap:12px}.message-input-wrapper input{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;color:#fff;flex:1 1;font-size:15px;padding:14px 20px;transition:all .3s ease}.message-input-wrapper input:focus{background:#ffffff1a;border-color:#ff69b4;box-shadow:0 0 20px #ff69b466;outline:none}.send-btn{background:linear-gradient(135deg,#ff1493,#ff69b4);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .3s ease}.send-btn:hover:not(:disabled){box-shadow:0 4px 20px #ff149366;transform:translateY(-2px)}.send-btn:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{background:#000000d9;padding:20px;z-index:1000}.modal-content{background:linear-gradient(135deg,#1e0a28fa,#320a32fa);border:2px solid #ff69b4;border-radius:24px;box-shadow:0 20px 60px #ff149380;max-height:90vh;max-width:600px;overflow-y:auto;padding:40px;width:100%}.modal-content.scene-selector{max-width:800px}.modal-content h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:28px;margin-bottom:12px;text-align:center}.modal-content p{color:#fffc;font-size:16px;margin-bottom:24px;text-align:center}.fantasy-textarea{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;color:#fff;font-family:inherit;font-size:15px;margin-bottom:24px;padding:16px;resize:vertical;transition:all .3s ease;width:100%}.fantasy-textarea:focus{background:#ffffff1a;border-color:#ff69b4;box-shadow:0 0 20px #ff69b466;outline:none}.fantasy-textarea::placeholder{color:#fff6}.modal-buttons{display:flex;gap:12px}.cancel-btn,.generate-btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease}.cancel-btn{background:#ffffff1a;border:2px solid #ff69b44d;color:#fff}.cancel-btn:hover{background:#ffffff26;border-color:#ff69b4}.generate-btn{background:linear-gradient(135deg,#9b4dff,#ff1493);box-shadow:0 4px 20px #9b4dff66}.generate-btn:hover{box-shadow:0 6px 30px #9b4dff99;transform:translateY(-2px)}.scene-categories{-webkit-overflow-scrolling:touch;display:flex;gap:12px;justify-content:center;margin:24px 0;overflow-x:auto;scrollbar-color:#ff69b480 #0000;scrollbar-width:thin}.scene-categories::-webkit-scrollbar{height:4px}.scene-categories::-webkit-scrollbar-track{background:#0000}.scene-categories::-webkit-scrollbar-thumb{background:#ff69b44d;border-radius:2px}.scene-categories::-webkit-scrollbar-thumb:hover{background:#ff69b480}.scene-categories button{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;color:#ffffffb3;cursor:pointer;flex-shrink:0;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.scene-categories button.active{background:linear-gradient(135deg,#ff1493,#ff69b4);border-color:#ff69b4;box-shadow:0 4px 20px #ff149366;color:#fff}.scene-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:24px 0;max-height:400px;overflow-y:auto}.scene-button{align-items:center;background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;min-height:80px;padding:16px 12px;transition:all .3s ease}.scene-button:hover{background:linear-gradient(135deg,#ff149333,#9b4dff33);border-color:#ff69b4;box-shadow:0 4px 16px #ff14934d;transform:translateY(-2px)}.scene-icon{font-size:24px}.scene-name{color:#fff;font-size:13px;font-weight:500;text-align:center}.custom-fantasy-btn{background:#9b4dff1a;border:2px solid #9b4dff80;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease}.custom-fantasy-btn:hover{background:#9b4dff33;border-color:#9b4dff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#ff69b480;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ff69b4b3}@media (min-width:700px) and (max-width:900px){.companions-grid{gap:20px;grid-template-columns:repeat(3,1fr)}}@media (min-width:540px) and (max-width:768px){.companions-grid{gap:24px;grid-template-columns:1fr;margin:0 auto;max-width:650px;padding:0 5%}.companion-card{margin:0 auto;width:100%}.companion-avatar{min-height:auto}.filters{flex-direction:column;gap:16px}.message{max-width:85%}.gallery-header{flex-direction:column;gap:16px;text-align:center}.modal-content{max-height:85vh;overflow-y:auto;padding:20px}.modal-content h3{font-size:20px;margin-bottom:12px}.scene-categories{margin:16px 0}.scene-categories button{font-size:14px;padding:10px 18px}}@media (max-width:539px){.companions-grid{gap:20px;grid-template-columns:1fr;margin:0 auto;max-width:500px;padding:0 7.5%}.companion-card{margin:0 auto;width:100%}.filters{flex-direction:column;gap:16px}.message{max-width:85%}.gallery-header{flex-direction:column;gap:16px;text-align:center}.modal-content{max-height:85vh;overflow-y:auto;padding:20px}.modal-content h3{font-size:20px;margin-bottom:12px}.scene-categories{margin:16px 0}.scene-categories button{font-size:14px;padding:10px 18px}}.app-header{align-items:center;background:linear-gradient(180deg,#1e0a28fa,#14051efa);border-bottom:2px solid #ff69b44d;display:flex;gap:16px;height:70px;left:0;padding:0 24px;position:fixed;right:0;top:0;z-index:1002}.app-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin:0}.hamburger-menu{align-items:center;background:#ff69b433;border:2px solid #ff69b466;border-radius:8px;cursor:pointer;display:none;flex-direction:column;gap:6px;height:44px;justify-content:center;transition:all .3s ease;width:44px}.hamburger-menu:hover{background:#ff69b44d;border-color:#ff69b4}.hamburger-menu span{background:#fff;border-radius:2px;display:block;height:3px;transition:all .3s ease;width:24px}.sidebar{background:linear-gradient(180deg,#1e0a28f2,#14051efa);border-right:2px solid #ff69b44d;display:flex;flex-direction:column;height:calc(100vh - 70px);left:0;overflow-y:auto;position:fixed;top:70px;transition:transform .3s ease;width:280px;z-index:1000}.sidebar-header{align-items:center;border-bottom:1px solid #ff69b433;display:flex;justify-content:space-between;padding:24px 20px}.sidebar-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin:0}.sidebar-close{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:32px;height:32px;line-height:1;padding:0;transition:color .3s ease;width:32px}.sidebar-close:hover{color:#ff69b4}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;padding:20px 0}.sidebar-section{padding:8px 16px}.sidebar-section-bottom{border-top:1px solid #ff69b433;margin-top:auto;padding-top:16px}.sidebar-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:12px;color:#fffc;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:14px 16px;position:relative;text-align:left;transition:all .3s ease;width:100%}.sidebar-item:hover{background:#ff69b41a;border-color:#ff69b44d;color:#fff}.sidebar-item.active{background:linear-gradient(135deg,#ff149333,#ff69b433);border-color:#ff69b4;color:#fff}.sidebar-icon{flex-shrink:0;font-size:20px}.sidebar-label{flex:1 1}.sidebar-badge{background:linear-gradient(135deg,#ff1493,#ff69b4);border-radius:12px;color:#fff;font-size:12px;font-weight:600;min-width:24px;padding:2px 8px;text-align:center}.sidebar-wallet{background:#ff69b40d;border:1px solid #ff69b433;border-radius:12px;padding:16px}.sidebar-wallet-header{align-items:center;color:#fff;display:flex;font-size:15px;font-weight:600;gap:12px;margin-bottom:12px}.sidebar-wallet-details{display:flex;flex-direction:column;gap:8px}.sidebar-wallet-item{align-items:center;color:#ffffffb3;display:flex;font-size:13px;justify-content:space-between}.sidebar-wallet-value{color:#ff69b4;font-weight:600}.sidebar-logout{color:#ff6b6b}.sidebar-logout:hover{background:#ff6b6b1a;border-color:#ff6b6b4d}.sidebar-overlay{background:#000000b3;display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:999}.main-content{margin-left:280px;margin-top:70px;min-height:calc(100vh - 70px);transition:margin-left .3s ease}.chat-container{margin:0 auto;max-width:1200px;width:100%}.chat-screen{width:100%}.gallery-screen{margin:0 auto;max-width:1400px;padding:32px 24px}.my-chats-screen{margin:0 auto;max-width:1200px;padding:32px 24px}.page-header{margin-bottom:32px;text-align:center}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:36px;margin-bottom:8px}.page-subtitle{color:#fff9;font-size:16px}.empty-state{padding:80px 20px}.empty-icon{font-size:80px;margin-bottom:24px;opacity:.5}.empty-state h2{color:#fff;font-size:28px;margin-bottom:12px}.empty-state p{color:#fff9;font-size:16px;margin-bottom:32px}.primary-btn{background:linear-gradient(135deg,#ff1493,#ff69b4);border:none;border-radius:12px;box-shadow:0 4px 20px #ff149366;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:all .3s ease}.primary-btn:hover{box-shadow:0 6px 30px #ff149399;transform:translateY(-2px)}.chats-list{display:flex;flex-direction:column;gap:16px}.chat-item{background:#1e0a2899;border:2px solid #ff69b433;border-radius:16px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .3s ease}.chat-item:hover{background:#1e0a28cc;border-color:#ff69b4;box-shadow:0 8px 30px #ff69b44d;transform:translateX(8px)}.chat-item-avatar{border:2px solid #ff69b44d;border-radius:12px;flex-shrink:0;height:80px;overflow:hidden;width:80px}.chat-item-avatar img{height:100%;object-fit:cover;width:100%}.chat-item-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.chat-item-header{align-items:center;display:flex;justify-content:space-between}.chat-item-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:20px;margin:0}.chat-item-time{color:#ffffff80;font-size:12px}.chat-item-preview{color:#ffffffb3;font-size:14px;line-height:1.4;margin:0}.chat-item-meta{align-items:center;display:flex;justify-content:space-between}.chat-item-badge{color:#ff69b4;font-size:12px;font-weight:600}.chat-item-tags{display:flex;gap:6px}.tag-small{background:#ff69b426;border:1px solid #ff69b44d;border-radius:6px;color:#fffc;font-size:11px;padding:3px 8px}@media (min-width:1920px){.chat-container{max-width:1400px}.gallery-screen{max-width:1600px}.companions-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (min-width:1440px) and (max-width:1919px){.chat-container{max-width:1200px}.gallery-screen{max-width:1400px}}@media (min-width:1024px) and (max-width:1439px){.chat-container{max-width:900px}.gallery-screen{max-width:1100px}.sidebar{width:260px}.main-content{margin-left:260px}}@media (max-width:1023px){.sidebar{box-shadow:none;transform:translateX(-100%)}.chat-header{top:70px}.sidebar-open{box-shadow:4px 0 20px #00000080;transform:translateX(0)}.sidebar-close,.sidebar-overlay{display:block}.hamburger-menu{display:flex}.main-content{margin-left:0;margin-top:70px}.chat-container{max-width:100%}.gallery-screen{padding:24px 16px}.companions-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.my-chats-screen{padding:24px 16px}}@media (max-width:767px){.chat-item{flex-direction:column;gap:12px}.chat-item-avatar{height:200px;width:100%}.companions-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.page-header h1{font-size:28px}}@media (max-width:479px){.sidebar{width:85%}.companions-grid{grid-template-columns:1fr}.hamburger-menu{height:44px;left:16px;top:16px;width:44px}.chat-item-header{align-items:flex-start;flex-direction:column;.buy-tokens-screen{margin:0 auto;max-width:1200px;padding:32px 24px}.token-packages{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:40px}.token-package{align-items:center;background:#1e0a28cc;border:2px solid #ff69b44d;border-radius:20px;display:flex;flex-direction:column;padding:32px 24px;position:relative;text-align:center;transition:all .3s ease}.token-package:hover{border-color:#ff69b4;box-shadow:0 12px 40px #ff69b466;transform:translateY(-8px)}.package-featured{border:3px solid #ff69b4;box-shadow:0 8px 30px #ff149366}.package-badge{background:linear-gradient(135deg,#ff1493,#ff69b4);border-radius:20px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 16px;position:absolute;top:-12px}.badge-featured{background:linear-gradient(135deg,gold,#ffed4e);color:#1a0a1a}.token-package h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:24px;margin:24px 0 16px}.package-tokens{color:#ff69b4;font-size:48px;font-weight:700;margin-bottom:8px}.package-price{color:#fff;font-size:32px;font-weight:600;margin-bottom:16px}.price-period{color:#fff9;font-size:18px}.package-desc{color:#ffffffb3;font-size:14px;line-height:1.5;margin-bottom:24px}.package-buttons{display:flex;flex-direction:column;gap:12px;width:100%}.btn-card,.btn-crypto{border:2px solid #ff69b466;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease;width:100%}.btn-crypto{background:linear-gradient(135deg,gold,#ffed4e);border-color:gold;color:#1a0a1a}.btn-crypto:hover{box-shadow:0 6px 20px #ffd70099;transform:translateY(-2px)}.btn-card{background:linear-gradient(135deg,#ff1493,#ff69b4);border-color:#ff69b4;color:#fff}.btn-card:hover{box-shadow:0 6px 20px #ff149399;transform:translateY(-2px)}.payment-note{background:#ffd7001a;border:2px solid #ffd7004d;border-radius:16px;padding:24px;text-align:center}.payment-note p{color:#fffc;font-size:14px;margin:8px 0}.payment-note strong{color:gold}@media (max-width:767px){.token-packages{grid-template-columns:1fr}}gap:4px}}.message-image{border-radius:12px;height:auto;margin-top:8px;max-width:400px;width:100%}@media (max-width:767px){.message-image{max-width:300px}}@media (max-width:479px){.message-image{max-width:100%}}.message video{border-radius:12px;height:auto;margin-top:8px;max-width:400px;width:100%}@media (max-width:767px){.message video{max-width:300px}}@media (max-width:479px){.message video{max-width:100%}}.buy-coins-btn{background:linear-gradient(135deg,#ff1493,#ff69b4);border:2px solid #ff69b4;border-radius:12px;box-shadow:0 4px 15px #ff14934d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:16px;padding:12px 24px;transition:all .3s ease;width:100%}.buy-coins-btn:hover{background:linear-gradient(135deg,#ff1493,#ff1493);box-shadow:0 6px 20px #ff149380;transform:translateY(-2px)}.header-buy-coins-btn{align-items:center;background:linear-gradient(135deg,#ff1493,#ff69b4);border:2px solid #ff69b4;border-radius:10px;box-shadow:0 4px 15px #ff14934d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:6px;margin-left:auto;padding:10px 24px;transition:all .3s ease}.header-buy-coins-btn:hover{box-shadow:0 6px 20px #ff149380;transform:translateY(-2px)}.buy-coins-modal{background:linear-gradient(135deg,#1a0a1a,#2a0a2a);border:2px solid #ff69b4;max-width:600px;position:relative}.modal-close-btn{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 10px #0000004d;color:#1a1a2e;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;line-height:1;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px;z-index:10}.modal-close-btn:hover{background:#f0f0f0;transform:scale(1.1)}.buy-coins-title{color:#fff;font-size:36px;margin-bottom:8px;text-align:center}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text}.buy-coins-subtitle{color:#ffffffb3;font-size:16px;margin-bottom:32px;text-align:center}.coin-package{background:#1e0a2899;border:2px solid #ff69b44d;border-radius:20px;padding:32px;position:relative;transition:all .3s ease}.coin-package:hover{border-color:#ff69b4;box-shadow:0 8px 30px #ff69b466}.package-badge{background:linear-gradient(135deg,#ff1493,#ff69b4);border-radius:20px;box-shadow:0 4px 15px #ff149380;font-size:13px;font-weight:700;left:50%;letter-spacing:.5px;padding:6px 20px;position:absolute;top:-12px;transform:translateX(-50%)}.package-coins{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:16px}.coin-icon{font-size:48px}.coin-amount{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:56px;font-weight:700}.coin-label{color:#fffc;font-size:20px}.package-price{margin-bottom:24px;text-align:center}.price-amount{color:#ff69b4;display:block;font-size:42px;font-weight:700}.price-label{color:#fff9;font-size:15px}.package-features{background:#ff69b41a;border:1px solid #ff69b433;border-radius:12px;margin-bottom:24px;padding:20px}.feature-item{align-items:center;color:#ffffffe6;display:flex;font-size:15px;gap:8px;padding:8px 0}.feature-item:before{background:#ff69b4;border-radius:50%;content:"";height:6px;width:6px}.payment-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.crypto-payment-btn{align-items:center;background:linear-gradient(135deg,#ff8c00,#f60);border:none;border-radius:12px;box-shadow:0 4px 20px #ff8c0066;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;gap:12px;justify-content:center;padding:18px 32px;text-decoration:none;transition:all .3s ease;width:100%}.crypto-payment-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff9500,#f70);box-shadow:0 6px 30px #ff8c0099;transform:translateY(-2px)}.crypto-payment-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.crypto-icons{gap:6px}.crypto-icon,.crypto-icons{align-items:center;display:flex}.crypto-icon{background:#fff3;border-radius:50%;font-size:24px;font-weight:700;height:32px;justify-content:center;width:32px}.crypto-text{font-size:18px;font-weight:700;letter-spacing:.5px}.test-credit-btn{background:#9b4dff33;border:2px dashed #9b4dff80;border-radius:12px;color:#ffffffb3;cursor:pointer;font-size:15px;font-weight:600;padding:14px 32px;transition:all .3s ease;width:100%}.test-credit-btn:hover{background:#9b4dff4d;border-color:#9b4dff;color:#fff}.check-pending-btn{background:#3b82f633;border:2px solid #3b82f680;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 32px;transition:all .3s ease;width:100%}.check-pending-btn:hover{background:#3b82f64d;border-color:#3b82f6;transform:translateY(-2px)}.manual-credit-btn{background:#ff69b433;border:2px solid #ff69b480;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 32px;transition:all .3s ease;width:100%}.manual-credit-btn:hover{background:#ff69b44d;border-color:#ff69b4;transform:translateY(-2px)}.payment-note small{color:#ffffff80;display:block;font-size:12px;margin-top:8px}.payment-note{color:#fff9;font-size:13px;margin-top:16px}.modal-footer-note,.payment-note{text-align:center}.modal-footer-note{color:#ffffff80;font-size:12px;margin-top:24px;.payment-processing-modal{background:linear-gradient(135deg,#1a0a1a,#2a0a2a);border:2px solid #ff69b4;max-width:500px}.processing-icon{align-items:center;display:flex;font-size:64px;justify-content:center;margin-bottom:24px;position:relative}.spinner{animation:spin 1s linear infinite;border:4px solid #ff69b433;border-radius:50%;border-top-color:#ff69b4;height:100px;position:absolute;width:100px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.processing-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;font-size:28px;margin-bottom:12px}.processing-subtitle{color:#ffffffb3;font-size:16px;margin-bottom:32px}.processing-steps{background:#ff69b41a;border:1px solid #ff69b433;border-radius:16px;margin-bottom:24px;padding:24px;text-align:left}.step{align-items:center;color:#ffffff80;display:flex;gap:16px;padding:12px 0}.step.completed{color:#4ade80}.step.active{color:#fff}.step-icon{align-items:center;display:flex;flex-shrink:0;font-size:24px;height:32px;justify-content:center;width:32px}.mini-spinner{animation:spin .8s linear infinite;border:3px solid #ff69b433;border-radius:50%;border-top-color:#ff69b4;height:20px;width:20px}.step-text{font-size:15px;font-weight:500}.processing-info{background:#9b4dff1a;border:1px solid #9b4dff4d;border-radius:12px;margin-bottom:20px;padding:16px}.processing-info p{color:#fffc;font-size:14px;margin:8px 0}.check-count{color:#ff69b4;font-weight:600}.processing-note{background:#ffc1071a;border:1px solid #ffc1074d;border-radius:12px;color:#ffffffb3;font-size:14px;line-height:1.5;margin-bottom:24px;padding:16px}.close-processing-btn{background:linear-gradient(135deg,#ff69b433,#9b4dff33);border:2px solid #ff69b499;border-radius:16px;box-shadow:0 4px 15px #ff69b44d;color:#fff;cursor:pointer;font-size:17px;font-weight:700;letter-spacing:.5px;padding:16px 32px;text-transform:uppercase;transition:all .3s ease;width:100%}.close-processing-btn:hover{background:linear-gradient(135deg,#ff69b466,#9b4dff66);border-color:#ff69b4;box-shadow:0 6px 25px #ff69b480;transform:translateY(-3px)}@media (max-width:768px){.processing-title{font-size:24px}.processing-icon{font-size:48px}.spinner{height:80px;width:80px}}border-top:1px solid #ff69b433;padding-top:20px}@media (max-width:768px){.header-buy-coins-btn{font-size:14px;padding:8px 16px}.buy-coins-title{font-size:28px}.coin-amount{font-size:42px}.price-amount{font-size:36px}.coin-package{padding:24px}}@media (max-width:479px){.header-buy-coins-btn{font-size:13px;padding:6px 12px}}.settings-screen{margin:0 auto;max-width:800px;padding:40px 20px}.settings-container{display:flex;flex-direction:column;gap:32px}.settings-section{background:#ffffff08;border:1px solid #ff69b433;border-radius:16px;padding:24px}.settings-section h3{color:#ff69b4;font-size:18px;margin-bottom:20px}.settings-item{margin-bottom:16px}.settings-item label{color:#888;display:block;font-size:14px;margin-bottom:6px}.settings-value{background:#ffffff0d;border-radius:8px;color:#fff;font-size:16px;padding:12px}.settings-btn,.settings-btn-primary{border:none;border-radius:12px;cursor:pointer;font-size:15px;margin-bottom:8px;padding:14px;transition:all .3s ease;width:100%}.settings-btn{background:#ffffff0d;border:2px solid #ff69b44d;color:#ff69b4}.settings-btn:hover{background:#ff69b41a;border-color:#ff69b4}.settings-btn-primary{background:linear-gradient(135deg,#ff69b4,#9b4dff);color:#fff;font-weight:700}.settings-btn-primary:hover{box-shadow:0 8px 24px #ff69b466;transform:scale(1.02)}.settings-note{color:#666;font-size:13px;margin-top:8px}.sidebar-profile{padding:16px}.sidebar-profile-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.sidebar-profile-details{padding-left:28px}.sidebar-profile-email{color:#ccc;font-size:14px;word-break:break-word}.back-btn{background:#ff69b433;border:none;border-radius:8px;color:#ff69b4;cursor:pointer;font-size:14px;padding:8px 16px}.back-btn:hover{background:#ff69b44d}.companion-studio{background:linear-gradient(135deg,#1a0a2e,#0f0519);bottom:0;color:#fff;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:9999}.studio-header{align-items:center;background:#ffffff0d;border-bottom:2px solid #ff69b44d;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 30px}.studio-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#9b4dff);-webkit-background-clip:text;background-clip:text;font-size:28px;margin:0}.close-studio-btn{background:#ff454533;border:2px solid #ff454580;border-radius:8px;color:#ff4545;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.close-studio-btn:hover{background:#ff45454d;transform:translateY(-2px)}.studio-container{display:flex;flex:1 1;min-height:0;overflow:hidden}.studio-sidebar{background:#ffffff08;border-right:2px solid #ff69b433;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;width:300px}.studio-sidebar h2{color:#ff69b4;flex-shrink:0;font-size:18px;margin:0;padding:20px 20px 15px}.companion-list{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:0 20px 20px}.companion-item{background:#ffffff0d;border:2px solid #ff69b433;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .3s ease}.companion-item:hover{background:#ff69b41a;border-color:#ff69b480;transform:translateX(5px)}.companion-item.active{background:#ff69b433;border-color:#ff69b4;box-shadow:0 0 20px #ff69b44d}.avatar-section{align-items:center;display:flex;flex-direction:column;gap:10px;position:relative}.change-avatar-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s ease}.change-avatar-btn:hover{box-shadow:0 4px 15px #4caf5066;transform:translateY(-2px)}.category-tabs-container{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:30px}.add-scene-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:10px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:700;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.add-scene-btn:hover{box-shadow:0 6px 20px #4caf5080;transform:translateY(-3px)}.scene-actions{display:flex;gap:8px}.edit-scene-btn{background:#4caf5033;border:1px solid #4caf5080;border-radius:6px;color:#4caf50;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .3s ease}.edit-scene-btn:hover{background:#4caf504d;transform:scale(1.1);.media-type-filter{background:#0000004d!important;border:2px solid #ff69b433!important;border-radius:16px!important;display:flex!important;gap:16px!important;justify-content:center!important;margin-bottom:24px!important;padding:20px!important}.media-type-btn{background:linear-gradient(135deg,#ff69b4,#9b4dff)!important;border:2px solid #ff69b466!important;border-radius:14px!important;box-shadow:0 4px 15px #0000004d!important;color:#fff!important;cursor:pointer!important;flex:1 1!important;font-size:17px!important;font-weight:700!important;max-width:280px!important;padding:16px 40px!important;transition:all .3s ease!important}.media-type-btn:hover{background:linear-gradient(135deg,#ff1493,#ff69b4)!important;border-color:#ff69b4b3!important;box-shadow:0 8px 25px #ff69b466!important;transform:translateY(-3px)!important}.media-type-btn.active{background:linear-gradient(135deg,#9b4dff,#ff1493)!important;border-color:#ff69b4!important;box-shadow:0 8px 30px #ff69b499!important;transform:translateY(-2px)!important}}.companion-thumb{border-radius:8px;height:60px;object-fit:cover;width:60px}.companion-info{flex:1 1}.companion-name{font-size:16px;font-weight:700;margin-bottom:4px}.companion-stats{color:#aaa;font-size:12px}.lucy-badge{background:linear-gradient(135deg,#9b4dff,#ff69b4);border-radius:12px;display:inline-block;font-size:10px;margin-top:4px;padding:2px 8px}.studio-main{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;padding:30px}.companion-header{align-items:center;background:#ffffff0d;border:2px solid #ff69b44d;border-radius:16px;display:flex;gap:20px;margin-bottom:30px;padding:20px}.companion-avatar-large{border:3px solid #ff69b4;border-radius:12px;height:100px;object-fit:cover;width:100px}.companion-header h2{font-size:32px;margin:0 0 8px}.companion-header p{color:#aaa;margin:4px 0}.scene-count{color:#ff69b4!important;font-weight:600}.category-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.category-tab{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;text-transform:uppercase;transition:all .3s ease;.action-mode-tabs{display:flex;gap:12px;margin-bottom:24px}.mode-tab{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s ease}.mode-tab:hover{background:#ff69b41a;border-color:#ff69b480;transform:translateY(-2px)}.mode-tab.active{background:linear-gradient(135deg,#ff69b44d,#9b4dff4d);border-color:#ff69b4;box-shadow:0 4px 15px #ff69b44d}.upload-preview-section{background:#0000004d;border:2px dashed #4caf5080;border-radius:12px;margin-top:20px;padding:24px}.upload-preview-section h4{color:#4caf50;margin-top:0}.preview-media{background:#00000080;border-radius:12px;margin-bottom:16px;max-height:400px;object-fit:contain;width:100%}.upload-info{background:#ffffff0d;border-radius:8px;margin-bottom:16px;padding:12px}.upload-info p{margin:6px 0;.media-source-selection{align-items:stretch;background:#0003;border-radius:12px;display:flex;gap:20px;margin-bottom:24px;padding:20px}.source-option{background:#ffffff0d;border:2px solid #ff69b433;border-radius:12px;flex:1 1;padding:16px;text-align:center}.source-option h4{color:#ff69b4;font-size:18px;margin:0 0 8px}.source-description{color:#aaa;font-size:13px;margin-bottom:16px}.upload-file-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-block;font-size:15px;font-weight:700;padding:12px 32px;text-align:center;transition:all .3s ease}.upload-file-btn:hover{box-shadow:0 8px 25px #4caf5066;transform:translateY(-3px)}.file-support-note{color:#666;font-size:11px;line-height:1.4;margin-top:12px}.divider-or{align-items:center;color:#888;display:flex;font-size:14px;font-weight:700;padding:0 16px;position:relative}.divider-or:after,.divider-or:before{background:#ffffff1a;content:"";flex:1 1;height:2px}.divider-or span{background:#ffffff1a;border-radius:20px;padding:0 12px}@media (max-width:1024px){.studio-container{flex-direction:column}.studio-sidebar{border-bottom:2px solid #ff69b433;border-right:none;max-height:200px;width:100%}.companion-list{flex-direction:row;overflow-x:auto;overflow-y:hidden}.companion-item{min-width:200px}.media-modal{max-height:90vh;max-width:700px;overflow-y:auto}.modal-close-x{background:#ff454533;border:2px solid #ff454580;border-radius:50%;color:#ff4545;cursor:pointer;font-size:18px;font-weight:700;height:36px;position:absolute;right:16px;top:16px;transition:all .3s ease;width:36px}.modal-close-x:hover{background:#ff454566;transform:rotate(90deg)}.modal-input,.modal-textarea{background:#ffffff1a;border:2px solid #ff69b44d;border-radius:8px;color:#fff;font-family:inherit;font-size:14px;margin-bottom:16px;padding:12px;resize:vertical;width:100%}.modal-input:focus,.modal-textarea:focus{border-color:#ff69b4;box-shadow:0 0 10px #ff69b44d;outline:none}.media-source-tabs{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.source-tab{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:140px;padding:12px 20px;transition:all .3s ease}.source-tab:hover{background:#ff69b41a;border-color:#ff69b480;transform:translateY(-2px)}.source-tab.active{background:linear-gradient(135deg,#ff69b4,#9b4dff);border-color:#ff69b4;box-shadow:0 4px 15px #ff69b466}.modal-upload-section{background:#0003;border-radius:12px;margin-bottom:16px;padding:20px;text-align:center;.lucy-model-section{margin-bottom:20px}.lucy-model-section label{color:#ff69b4;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.xxx-mode-toggle{background:#ff45691a;border:2px solid #ff45694d;border-radius:8px;margin:16px 0;padding:12px}.checkbox-label{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:10px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.boosters-section,.kinks-section{margin-top:16px}.boosters-section label,.kinks-section label{color:#9b4dff;display:block;font-size:14px;font-weight:600;margin-bottom:10px}.tags-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tag-btn{background:#ffffff0d;border:2px solid #9b4dff4d;border-radius:20px;color:#aaa;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:all .3s ease}.tag-btn:hover{background:#9b4dff1a;border-color:#9b4dff80;color:#fff}.tag-btn.active{background:linear-gradient(135deg,#9b4dff,#ff69b4);border-color:#9b4dff;box-shadow:0 2px 10px #9b4dff66;color:#fff}}.modal-upload-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:700;margin:12px 0;padding:14px 40px;transition:all .3s ease}.modal-upload-btn:hover{box-shadow:0 8px 25px #4caf5080;transform:translateY(-3px)}.file-note{color:#888;font-size:12px;margin-top:8px}.modal-preview{background:#0000004d;border:2px solid #4caf5080;border-radius:12px;margin-top:20px;max-height:450px;overflow:hidden;padding:16px}.modal-preview-media{border-radius:8px;display:block;height:auto;margin-bottom:12px;max-height:300px;object-fit:contain;width:100%}.preview-info{color:#4caf50;font-size:14px;font-weight:600;margin:8px 0}.modal-generation-section{background:#0003;border-radius:12px;padding:16px}.suggest-btn-modal{background:#9b4dff33;border:2px solid #9b4dff80;border-radius:8px;color:#9b4dff;cursor:pointer;font-size:13px;margin-bottom:16px;padding:8px 16px;transition:all .3s ease}.suggest-btn-modal:hover{background:#9b4dff4d;transform:translateY(-2px)}.modal-generate-btn{background:linear-gradient(135deg,#ff69b4,#9b4dff);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:12px;padding:14px;transition:all .3s ease;width:100%}.modal-generate-btn:hover:not(:disabled){box-shadow:0 8px 25px #ff69b480;transform:translateY(-3px)}.modal-generate-btn:disabled{cursor:not-allowed;opacity:.5}.media-source-selection{flex-direction:column}}@media (max-width:768px){.studio-header{padding:15px 20px}.studio-header h1{font-size:22px}.studio-main{padding:20px}.category-tabs{flex-wrap:nowrap;overflow-x:auto}.category-tab{flex-shrink:0;min-width:120px}}color:#ccc;font-size:14px}.upload-info strong{color:#ff69b4}.clear-upload-btn{background:#ff454533;border:2px solid #ff454580;border-radius:8px;color:#ff4545;cursor:pointer;font-size:14px;font-weight:600;margin-top:10px;padding:10px;transition:all .3s ease;width:100%}.clear-upload-btn:hover{background:#ff45454d;transform:translateY(-2px)}}.category-tab:hover{background:#ff69b41a;transform:translateY(-2px)}.category-tab.active{background:linear-gradient(135deg,#ff69b4,#9b4dff);border-color:#ff69b4;box-shadow:0 4px 20px #ff69b466}.category-tab .count{font-size:12px;margin-left:8px;opacity:.8}.generation-section{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:16px;margin-bottom:30px;padding:24px}.generation-section h3{color:#ff69b4;margin-bottom:20px;margin-top:0}.service-selector{background:#0000004d;border-radius:12px;display:flex;gap:20px;margin-bottom:20px;padding:16px}.service-selector label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px}.service-selector input[type=radio]{cursor:pointer}.disabled-note{color:#888;font-size:12px;margin-left:4px}.prompt-section{margin-bottom:20px}.prompt-section label{color:#ff69b4;display:block;font-weight:600;margin-bottom:8px}.prompt-section input,.prompt-section textarea{background:#0000004d;border:2px solid #ff69b44d;border-radius:8px;color:#fff;font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.prompt-section input:focus,.prompt-section textarea:focus{border-color:#ff69b4;box-shadow:0 0 10px #ff69b44d;outline:none}.suggest-btn{background:#9b4dff33;border:2px solid #9b4dff80;border-radius:8px;color:#9b4dff;cursor:pointer;font-size:13px;margin-top:8px;padding:8px 16px;transition:all .3s ease}.suggest-btn:hover{background:#9b4dff4d;transform:translateY(-2px)}.generate-btn{background:linear-gradient(135deg,#ff69b4,#9b4dff);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:10px;padding:16px;transition:all .3s ease;width:100%}.generate-btn:hover:not(:disabled){box-shadow:0 8px 30px #ff69b480;transform:translateY(-3px)}.generate-btn:disabled{cursor:not-allowed;opacity:.6}.error-msg,.success-msg{border-radius:8px;font-size:14px;margin-top:16px;padding:12px}.error-msg{background:#ff454533;border:2px solid #ff454580;color:#ff4545}.success-msg{background:#4caf5033;border:2px solid #4caf5080;color:#4caf50}.generated-preview{background:#0000004d;border:2px solid #ff69b480;border-radius:12px;margin-top:24px;padding:20px}.generated-preview h4{color:#ff69b4;margin-top:0}.preview-image{border-radius:12px;margin-bottom:16px;max-height:400px;object-fit:contain;width:100%}.assign-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:14px;transition:all .3s ease;width:100%}.assign-btn:hover{box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.scenes-section{margin-top:40px}.scenes-section h3{color:#ff69b4;margin-bottom:20px}.scenes-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.scene-card{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;overflow:hidden;transition:all .3s ease}.scene-card:hover{border-color:#ff69b4;box-shadow:0 8px 25px #ff69b44d;transform:translateY(-5px)}.scene-preview{height:200px;object-fit:cover;width:100%}.scene-info{align-items:center;display:flex;justify-content:space-between;padding:12px}.scene-name{flex:1 1;font-size:14px;font-weight:600}.delete-scene-btn{background:#ff454533;border:1px solid #ff454580;border-radius:6px;color:#ff4545;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .3s ease}.delete-scene-btn:hover{background:#ff45454d}.empty-state{color:#888;grid-column:1/-1;padding:60px 20px;text-align:center}.empty-state p{margin:8px 0}.modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.modal-content{background:linear-gradient(135deg,#1a0a2e,#0f0519);border:2px solid #ff69b480;border-radius:16px;max-width:500px;padding:30px;width:90%}.modal-content h3{color:#ff69b4;margin-top:0}.modal-content label{color:#ccc;display:block;font-weight:600;margin:16px 0 8px}.modal-content input{background:#ffffff1a;border:2px solid #ff69b44d;border-radius:8px;color:#fff;font-size:16px;padding:12px;width:100%}.modal-content input:focus{border-color:#ff69b4;outline:none}.modal-actions{display:flex;gap:12px;margin-top:24px}.modal-actions button{border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px;transition:all .3s ease}.modal-actions button:first-child{background:#ffffff1a;border:2px solid #ffffff4d;color:#fff}.modal-actions button.primary{background:linear-gradient(135deg,#ff69b4,#9b4dff);border:none;color:#fff}.modal-actions button:hover{transform:translateY(-2px)}.studio-main::-webkit-scrollbar,.studio-sidebar::-webkit-scrollbar{width:8px}.studio-main::-webkit-scrollbar-track,.studio-sidebar::-webkit-scrollbar-track{background:#ffffff0d}.studio-main::-webkit-scrollbar-thumb,.studio-sidebar::-webkit-scrollbar-thumb{background:#ff69b480;border-radius:4px}.studio-main::-webkit-scrollbar-thumb:hover,.studio-sidebar::-webkit-scrollbar-thumb:hover{background:#ff69b4b3}.admin-login-screen{align-items:center;background:linear-gradient(135deg,#0a0a0a,#1a0a1a 50%,#2a0a2a);display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-login-card{background:#1e0a28f2;border:2px solid #ff69b44d;border-radius:24px;box-shadow:0 20px 60px #ff69b433;max-width:450px;padding:48px 40px;width:100%}.admin-login-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#9b4dff);-webkit-background-clip:text;background-clip:text;font-size:32px;margin-bottom:8px;text-align:center}.admin-subtitle{color:#888;font-size:16px;margin-bottom:32px;text-align:center}.admin-login-form{display:flex;flex-direction:column;gap:16px}.admin-login-form input{background:#ffffff0d;border:2px solid #ff69b44d;border-radius:12px;color:#fff;font-size:16px;padding:16px;transition:all .3s ease}.admin-login-form input:focus{background:#ffffff1a;border-color:#ff69b4;box-shadow:0 0 20px #ff69b466;outline:none}.otp-input,.totp-input{font-size:24px!important;font-weight:700;letter-spacing:8px;text-align:center}.otp-instructions{color:#ccc;font-size:15px;margin-bottom:8px;text-align:center}.admin-error{background:#ff00001a;border:1px solid #ff00004d;border-radius:8px;color:#ff6b6b;font-size:14px;padding:12px;text-align:center}.admin-login-btn{background:linear-gradient(135deg,#ff1493,#ff69b4);border:none;border-radius:12px;box-shadow:0 4px 20px #ff149366;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px;transition:all .3s ease}.admin-login-btn:hover:not(:disabled){box-shadow:0 6px 30px #ff149399;transform:translateY(-2px)}.admin-login-btn:disabled{cursor:not-allowed;opacity:.6}.admin-back-btn{background:#ffffff1a;border:2px solid #ff69b44d;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;padding:14px;transition:all .3s ease}.admin-back-btn:hover{background:#ffffff26;border-color:#ff69b4}.recaptcha-notice{color:#666;font-size:12px;margin-top:8px;text-align:center}.admin-dashboard{background:linear-gradient(135deg,#0a0a0a,#1a0a1a 50%,#2a0a2a);color:#fff;min-height:100vh}.admin-header{align-items:center;background:#1e0a28f2;border-bottom:2px solid #ff69b44d;display:flex;justify-content:space-between;padding:16px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.admin-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#9b4dff);-webkit-background-clip:text;background-clip:text;font-size:24px;margin:0}.admin-header-right{align-items:center;display:flex;gap:16px}.admin-user-email{color:#ccc;font-size:14px}.admin-logout-btn{background:#ff6b6b33;border:2px solid #ff6b6b66;border-radius:8px;color:#ff6b6b;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .3s ease}.admin-logout-btn:hover{background:#ff6b6b4d;border-color:#ff6b6b}.admin-layout{display:flex;min-height:calc(100vh - 68px)}.admin-sidebar{background:#140a1ecc;border-right:2px solid #ff69b433;padding:24px 0;width:250px}.admin-sidebar nav{display:flex;flex-direction:column;gap:8px;padding:0 16px}.admin-sidebar button{background:#0000;border:1px solid #0000;border-radius:12px;color:#ccc;cursor:pointer;font-size:15px;font-weight:500;padding:14px 20px;text-align:left;transition:all .3s ease}.admin-sidebar button:hover{background:#ff69b41a;border-color:#ff69b44d;color:#fff}.admin-sidebar button.active{background:linear-gradient(135deg,#ff149333,#9b4dff33);border-color:#ff69b4;color:#fff}.admin-content{flex:1 1;overflow-y:auto;padding:32px}.overview-page h2{color:#fff;font-size:28px;margin-bottom:24px}.metrics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.metric-card{background:#1e0a28cc;border:2px solid #ff69b433;border-radius:16px;padding:24px;transition:all .3s ease}.metric-card:hover{border-color:#ff69b4;box-shadow:0 8px 30px #ff69b44d;transform:translateY(-4px)}.metric-icon{font-size:36px;margin-bottom:12px}.metric-value{color:#ff69b4;font-size:32px;font-weight:700;margin-bottom:8px}.metric-label{color:#888;font-size:14px;letter-spacing:1px;margin-bottom:4px;text-transform:uppercase}.metric-change{color:#4ade80;font-size:13px}.users-page h2{color:#fff;font-size:28px;margin-bottom:24px}.data-table{background:#1e0a2899;border:2px solid #ff69b433;border-radius:16px;overflow:hidden}.data-table table{border-collapse:collapse;width:100%}.data-table th{background:#ff69b41a;border-bottom:2px solid #ff69b44d;color:#ff69b4;font-size:14px;font-weight:600;letter-spacing:1px;padding:16px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #ffffff0d;color:#ccc;padding:14px 16px}.data-table tbody tr:hover{background:#ff69b40d}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.badge-never_paid{background:#8883;color:#888}.badge-one_time{background:#4ade8033;color:#4ade80}.badge-active_subscription{background:#635bff33;color:#635bff}.badge-churned{background:#ff6b6b33;color:#ff6b6b}.status-active{color:#4ade80;font-weight:600}.status-pending{color:#fbbf24;font-weight:600}.logs-page h2{color:#fff;font-size:28px;margin-bottom:24px}.logs-container{display:flex;flex-direction:column;gap:8px}.log-entry{grid-gap:16px;align-items:center;background:#1e0a2899;border-left:4px solid;border-radius:8px;display:grid;gap:16px;grid-template-columns:180px 100px 1fr;padding:12px 16px}.log-info{border-left-color:#3b82f6}.log-warning{border-left-color:#fbbf24}.log-error{border-left-color:#ef4444}.log-time{color:#888;font-size:13px}.log-type{color:#ff69b4;font-size:13px;font-weight:600;text-transform:uppercase}.log-message{color:#ccc;font-size:14px}.loading{color:#888;font-size:18px;padding:60px;text-align:center}@media (max-width:1024px){.admin-layout{flex-direction:column}.admin-sidebar{border-bottom:2px solid #ff69b433;border-right:none;width:100%}.admin-sidebar nav{flex-direction:row;overflow-x:auto;padding:0 16px 16px}.admin-sidebar button{white-space:nowrap}.metrics-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.metrics-grid{grid-template-columns:1fr}.data-table{overflow-x:auto}.log-entry{gap:8px;grid-template-columns:1fr}}
/*# sourceMappingURL=main.5c18337e.css.map*/