* { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', sans-serif; -webkit-tap-highlight-color: transparent; }
body { background-color: #000; color: #fff; height: 100vh; width: 100vw; overflow: hidden; }
.screen { display: none; height: 100%; width: 100%; position: absolute; top: 0; left: 0; z-index: 1; }
.screen.active { display: flex; flex-direction: column; }
.app-view { display: none; height: 100%; width: 100%; flex-direction: column; }
.app-view.active { display: flex; }
.auth-container { width: 90%; max-width: 400px; margin: auto; padding: 30px 20px; display: flex; flex-direction: column; align-items: center; }
.auth-container h1 { font-size: 52px; font-weight: 900; background: linear-gradient(90deg, #CE1126, #FCD116, #006B3F); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 20px; }
.auth-tabs { display: flex; width: 100%; margin-bottom: 25px; border-bottom: 1px solid #333; }
.auth-tab { flex: 1; text-align: center; padding: 12px; font-size: 16px; font-weight: bold; color: #666; cursor: pointer; }
.auth-tab.active { color: #fff; border-bottom: 2px solid #FE2C55; }
.auth-input { width: 100%; padding: 16px; margin-bottom: 15px; background: #151515; border: 1px solid #2a2a2a; border-radius: 12px; color: white; font-size: 16px; outline: none; }
.auth-btn { width: 100%; padding: 16px; margin-top: 12px; border: none; border-radius: 12px; font-size: 16px; font-weight: 700; cursor: pointer; }
.auth-btn.primary { background: linear-gradient(135deg, #FE2C55, #FF0050); color: white; }
.google-btn { background: #ffffff; color: #333333; display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 15px; font-weight: 600; }
.message { margin-top: 20px; font-size: 14px; min-height: 20px; text-align: center; }
.side-menu-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 998; }
.side-menu-overlay.active { display: block; }
.side-menu { position: fixed; top: 0; left: -300px; width: 300px; height: 100%; background: #121212; z-index: 999; transition: left 0.3s ease; padding: 20px; overflow-y: auto; color: #fff; }
.side-menu.active { left: 0; }
.menu-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; font-size: 20px; font-weight: bold; }
.menu-section-title { font-size: 12px; color: #888; margin: 15px 0 5px 0; padding-left: 5px; font-weight: 600; }
.menu-item { display: flex; align-items: center; gap: 15px; padding: 14px 5px; font-size: 15px; color: #fff; border-bottom: 1px solid #222; cursor: pointer; }
.menu-item i:first-child { width: 22px; color: #fff; font-size: 18px; }
.logout-item { color: #FE2C55 !important; margin-top: 10px; }
.top-bar { position: absolute; top: 0; left: 0; width: 100%; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; z-index: 5; background: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent); }
.top-tabs { display: flex; gap: 20px; font-size: 16px; font-weight: 600; color: #aaa; }
.top-tabs .active-tab { color: #fff; border-bottom: 2px solid #fff; padding-bottom: 3px; }
.search-icon { font-size: 22px; color: #fff; cursor: pointer; }
.feed-container { flex: 1; overflow-y: scroll; scroll-snap-type: y mandatory; height: 100%; background: #000; }
.video-wrapper { height: 100vh; width: 100vw; scroll-snap-align: start; position: relative; display: flex; justify-content: center; align-items: center; background: #111; }
.video-player { width: 100%; height: 100%; object-fit: cover; }
.video-overlay { position: absolute; bottom: 80px; left: 0; width: 100%; padding: 20px; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); display: flex; justify-content: space-between; align-items: flex-end; }
.video-info { flex: 1; margin-right: 20px; }
.video-info h4 { font-size: 18px; margin-bottom: 8px; }
.video-info p { font-size: 15px; line-height: 1.4; color: #eee; }
.video-actions { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.action-btn { background: none; border: none; color: white; display: flex; flex-direction: column; align-items: center; font-size: 14px; cursor: pointer; }
.action-btn i { font-size: 28px; margin-bottom: 5px; }
.action-btn.liked i { color: #FE2C55; }
.bottom-nav { height: 60px; background: #000; border-top: 1px solid #222; display: flex; justify-content: space-around; align-items: center; position: absolute; bottom: 0; width: 100%; z-index: 10; }
.nav-item { color: #888; text-align: center; font-size: 10px; cursor: pointer; }
.nav-item i { font-size: 22px; display: block; margin-bottom: 4px; }
.nav-item.active { color: #fff; }
.upload-btn-trigger { width: 45px; height: 30px; background: linear-gradient(90deg, #25F4EE, #FE2C55); border-radius: 8px; display: flex; justify-content: center; align-items: center; }
.upload-btn-trigger i { font-size: 18px; margin: 0; color: #000 !important; }
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); z-index: 100; justify-content: center; align-items: center; }
.modal.active { display: flex; }
.modal-content { background: #1a1a1a; width: 90%; max-width: 400px; padding: 25px; border-radius: 15px; }
.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.close-btn { background: none; border: none; color: white; font-size: 24px; cursor: pointer; }
.comments-modal { display: none; position: fixed; bottom: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 200; justify-content: center; align-items: flex-end; }
.comments-modal.active { display: flex; }
.comments-modal-content { background: #1a1a1a; width: 100%; max-width: 500px; height: 60vh; border-radius: 20px 20px 0 0; display: flex; flex-direction: column; }
.comments-header { padding: 15px 20px; border-bottom: 1px solid #333; display: flex; justify-content: space-between; align-items: center; font-weight: bold; }
.comments-list { flex: 1; overflow-y: auto; padding: 15px 20px; }
.comment-item { margin-bottom: 15px; display: flex; gap: 10px; }
.comment-avatar { width: 35px; height: 35px; background: #333; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: bold; color: #FCD116; }
.comment-body { flex: 1; }
.comment-username { font-size: 13px; color: #888; margin-bottom: 3px; }
.comment-text { font-size: 15px; color: #fff; }
.comment-input-area { padding: 15px 20px; border-top: 1px solid #333; display: flex; gap: 10px; align-items: center; }
.comment-input { flex: 1; background: #2a2a2a; border: none; border-radius: 20px; padding: 10px 15px; color: white; font-size: 15px; outline: none; }
.send-btn { background: none; border: none; color: #FE2C55; font-size: 20px; cursor: pointer; }
.page-header { padding: 20px; border-bottom: 1px solid #222; background: #000; display: flex; align-items: center; }
.discover-content, .inbox-content, .wallet-content, .settings-content, .activity-content, .qrcode-content, .promote-content, .studio-content, .subpage-content { padding: 20px; overflow-y: auto; flex: 1; }
.search-bar { width: 100%; padding: 12px 15px; background: #1a1a1a; border: none; border-radius: 8px; color: white; font-size: 16px; margin-bottom: 15px; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
.tag { background: #222; padding: 8px 15px; border-radius: 20px; font-size: 14px; color: #25F4EE; }
.search-results { margin-top: 10px; }
.search-user-item { display: flex; align-items: center; gap: 15px; padding: 15px 0; border-bottom: 1px solid #222; cursor: pointer; }
.search-user-avatar { width: 45px; height: 45px; background: #333; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; color: #FCD116; }
.search-user-info { flex: 1; }
.search-user-info b { font-size: 16px; display: block; }
.search-user-info span { font-size: 12px; color: #888; }
.notif-item, .activity-item { display: flex; align-items: center; gap: 15px; padding: 15px 0; border-bottom: 1px solid #222; }
.notif-icon, .activity-icon { width: 40px; height: 40px; background: #222; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #FE2C55; }
.notif-text, .activity-text { font-size: 14px; color: #ddd; flex: 1; }
.notif-text b, .activity-text b { color: #fff; }
.activity-text span { color: #888; font-size: 12px; display: block; margin-top: 3px; }
.wallet-balance-card { background: linear-gradient(135deg, #FCD116, #FF9900); padding: 30px; border-radius: 15px; text-align: center; margin-bottom: 20px; color: #000; }
.wb-label { font-size: 14px; font-weight: bold; display: block; }
.wb-amount { font-size: 48px; font-weight: 900; display: block; margin: 10px 0; }
.wb-currency { font-size: 16px; font-weight: bold; }
.settings-section { margin-bottom: 25px; }
.settings-section-title { font-size: 13px; color: #888; margin-bottom: 10px; padding-left: 5px; }
.settings-item { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #222; font-size: 15px; cursor: pointer; }
.settings-label { color: #888; font-size: 14px; margin: 15px 0 5px 0; display: block; }
.username-status { font-size: 13px; margin-top: -10px; margin-bottom: 10px; min-height: 18px; }
.username-status.available { color: #25F4EE; }
.username-status.taken { color: #FE2C55; }
.subpage-item { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #222; font-size: 15px; }
.subpage-toggle { background: #333; width: 40px; height: 22px; border-radius: 11px; position: relative; cursor: pointer; }
.subpage-toggle.on { background: #25F4EE; }
.subpage-toggle::after { content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; background: white; border-radius: 50%; transition: 0.3s; }
.subpage-toggle.on::after { left: 20px; }
.subpage-input { width: 100%; padding: 12px; background: #1a1a1a; border: 1px solid #333; border-radius: 8px; color: white; margin-bottom: 15px; }
.studio-tabs { display: flex; gap: 20px; margin-bottom: 20px; border-bottom: 1px solid #222; }
.studio-tab { padding: 10px 0; color: #888; font-weight: bold; cursor: pointer; }
.studio-tab.active { color: #fff; border-bottom: 2px solid #FE2C55; }
.studio-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.studio-stat-card { background: #1a1a1a; padding: 15px; border-radius: 12px; display: flex; flex-direction: column; }
.ss-label { font-size: 12px; color: #888; margin-bottom: 5px; }
.ss-value { font-size: 22px; font-weight: bold; margin-bottom: 5px; }
.ss-change { font-size: 11px; color: #25F4EE; }
.qrcode-card { background: #fff; color: #000; padding: 30px; border-radius: 15px; text-align: center; }
.qrcode-avatar { width: 70px; height: 70px; background: #FCD116; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: bold; margin: 0 auto 10px auto; color: #000; }
.qrcode-box { background: #fff; padding: 20px; border: 2px solid #000; border-radius: 10px; display: inline-block; margin: 15px 0; }
.promote-hero { text-align: center; padding: 30px 20px; background: linear-gradient(135deg, #1a1a1a, #2a2a2a); border-radius: 15px; margin-bottom: 20px; }
.promote-hero h3 { margin-top: 15px; font-size: 22px; }
.promote-video-item { display: flex; align-items: center; gap: 15px; padding: 15px; background: #1a1a1a; border-radius: 10px; margin-bottom: 10px; }
.promote-video-thumb { width: 60px; height: 80px; background: #333; border-radius: 8px; overflow: hidden; }
.promote-video-thumb video { width: 100%; height: 100%; object-fit: cover; }
.promote-video-info { flex: 1; }
.promote-video-info p { font-size: 13px; color: #888; margin-top: 5px; }
.promote-btn { background: #FE2C55; color: white; border: none; padding: 8px 15px; border-radius: 20px; font-size: 12px; font-weight: bold; cursor: pointer; }
#profile-view { background: #000; overflow-y: auto; padding-bottom: 70px; }
.profile-header { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; }
.profile-info { display: flex; flex-direction: column; align-items: center; padding: 10px 20px 20px; }
.profile-avatar { width: 90px; height: 90px; background: #333; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 36px; font-weight: bold; color: #FCD116; margin-bottom: 15px; }
.profile-stats { display: flex; gap: 30px; margin-bottom: 20px; }
.stat { display: flex; flex-direction: column; align-items: center; }
.stat b { font-size: 18px; }
.stat span { font-size: 12px; color: #888; }
.profile-actions { display: flex; gap: 10px; margin-bottom: 15px; }
.edit-profile-btn { background: #222; color: white; border: none; padding: 10px 30px; border-radius: 4px; font-weight: bold; cursor: pointer; }
.follow-btn { background: #FE2C55; color: white; border: none; padding: 10px 30px; border-radius: 4px; font-weight: bold; }
.follow-btn.following { background: #222; color: #fff; border: 1px solid #444; }
.go-live-btn { background: transparent; color: white; border: 1px solid #444; padding: 10px 15px; border-radius: 4px; font-weight: bold; }
.profile-tabs { display: flex; border-top: 1px solid #222; border-bottom: 1px solid #222; margin-top: 10px; }
.tab { flex: 1; text-align: center; padding: 15px; color: #666; font-size: 20px; border-bottom: 2px solid transparent; }
.tab.active { color: #fff; border-bottom: 2px solid #fff; }
.videos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 2px; }
.grid-video { aspect-ratio: 9/16; background: #222; position: relative; }
.grid-video video { width: 100%; height: 100%; object-fit: cover; }
.grid-views { position: absolute; bottom: 5px; left: 5px; font-size: 12px; color: white; }
.creator-dashboard { background: linear-gradient(135deg, #1a1a1a, #2a2a2a); margin: 15px 20px; padding: 20px; border-radius: 15px; border: 1px solid #FCD116; }
.creator-header { color: #FCD116; font-weight: bold; font-size: 16px; margin-bottom: 15px; }
.creator-stats { display: flex; justify-content: space-between; margin-bottom: 20px; }
.c-stat { display: flex; flex-direction: column; align-items: center; }
.c-label { font-size: 12px; color: #888; margin-bottom: 5px; }
.c-value { font-size: 20px; font-weight: bold; color: #fff; }
.withdraw-btn { width: 100%; padding: 12px; background: #006B3F; color: white; border: none; border-radius: 8px; font-weight: bold; cursor: pointer; }
.creator-screen { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; z-index: 500; flex-direction: column; }
.creator-screen.active { display: flex; }
.creator-top-bar { position: absolute; top: 0; left: 0; right: 0; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; z-index: 10; background: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent); }
.creator-close-btn, .creator-flip-btn { background: none; border: none; color: white; font-size: 24px; cursor: pointer; }
.creator-top-center { background: rgba(255,255,255,0.15); padding: 8px 20px; border-radius: 20px; font-size: 14px; font-weight: 600; }
.camera-container { flex: 1; position: relative; overflow: hidden; background: #000; }
#creator-camera { width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); }
.camera-filter-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }
.creator-right-toolbar { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 20px; z-index: 5; }
.toolbar-btn { background: none; border: none; color: white; display: flex; flex-direction: column; align-items: center; font-size: 11px; cursor: pointer; gap: 5px; }
.toolbar-btn i { font-size: 24px; text-shadow: 0 2px 5px rgba(0,0,0,0.5); }
.duration-selector { display: flex; justify-content: center; gap: 20px; padding: 15px; background: rgba(0,0,0,0.3); }
.duration-option { color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; padding: 5px 10px; border-radius: 15px; }
.duration-option.active { background: #fff; color: #000; }
.capture-area { display: flex; justify-content: space-around; align-items: center; padding: 20px; background: rgba(0,0,0,0.5); }
.filter-previews { display: flex; gap: 10px; overflow-x: auto; flex: 1; padding: 10px 0; }
.filter-preview { display: flex; flex-direction: column; align-items: center; gap: 5px; cursor: pointer; min-width: 60px; }
.filter-preview.active span { color: #FE2C55; font-weight: bold; }
.filter-thumb { width: 50px; height: 50px; border-radius: 50%; border: 2px solid #fff; }
.filter-preview span { font-size: 10px; color: #fff; }
.capture-btn { width: 70px; height: 70px; border-radius: 50%; background: #fff; border: 4px solid #fff; outline: 3px solid #FE2C55; cursor: pointer; }
.gallery-preview { width: 50px; height: 50px; background: #333; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; cursor: pointer; border: 1px solid #555; }
.creator-bottom-tabs { position: absolute; bottom: 0; left: 0; right: 0; display: flex; justify-content: center; gap: 30px; padding: 15px; background: rgba(0,0,0,0.8); z-index: 10; }
.creator-tab { color: #888; font-size: 16px; font-weight: bold; cursor: pointer; padding: 5px 10px; }
.creator-tab.active { color: #fff; }
.bottom-sheet-modal { display: none; position: fixed; bottom: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 600; justify-content: center; align-items: flex-end; }
.bottom-sheet-modal.active { display: flex; }
.bottom-sheet-content { background: #1a1a1a; width: 100%; max-height: 70vh; border-radius: 20px 20px 0 0; padding: 20px; overflow-y: auto; animation: slideUp 0.3s ease-out; }
@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
.bottom-sheet-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.filter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.filter-card { display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; }
.filter-card-thumb { width: 60px; height: 60px; border-radius: 10px; border: 2px solid transparent; }
.filter-card.active .filter-card-thumb { border-color: #FE2C55; }
.filter-card span { font-size: 11px; color: #fff; }
.beautify-sliders { display: flex; flex-direction: column; gap: 20px; }
.slider-item { display: flex; align-items: center; gap: 15px; }
.slider-item span:first-child { width: 80px; font-size: 14px; }
.slider-item input[type="range"] { flex: 1; accent-color: #FE2C55; }
.slider-value { width: 30px; text-align: right; font-size: 14px; color: #FE2C55; }
.effects-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.effect-card { display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; }
.effect-thumb { width: 60px; height: 60px; background: #222; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 28px; }
.effect-card span { font-size: 11px; color: #fff; }