@import"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap";:root{--primary:#ff6b9d;--primary-light:#ff8fb8;--primary-dark:#e8527e;--secondary:#c084fc;--accent:#fbbf24;--accent-light:#fde68a;--success:#34d399;--danger:#f87171;--warning:#fb923c;--bg:#fefefe;--bg-card:#fff;--bg-soft:#fdf2f8;--bg-hover:#fff1f5;--text:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#fce7f3;--border-hover:#fbcfe8;--shadow-sm:0 1px 3px rgba(251,113,166,.08);--shadow:0 4px 16px rgba(251,113,166,.1);--shadow-lg:0 8px 32px rgba(251,113,166,.15);--shadow-glow:0 0 20px rgba(255,107,157,.2);--radius-sm:12px;--radius:16px;--radius-lg:24px;--radius-full:9999px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-soft)}::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:3px}.app-container{margin:0 auto;max-width:640px;min-height:100vh;padding:0 16px}.app-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border-bottom:1px solid var(--border);padding:12px 0;position:sticky;top:0;z-index:100}.header-inner{justify-content:space-between;margin:0 auto;max-width:640px;padding:0 16px}.app-logo,.header-inner{align-items:center;display:flex}.app-logo{color:var(--text);gap:8px;text-decoration:none}.logo-icon{align-items:center;border-radius:var(--radius-sm);box-shadow:var(--shadow);display:flex;font-size:18px;height:36px;justify-content:center;width:36px}.logo-icon,.logo-text{background:linear-gradient(135deg,var(--primary),var(--secondary))}.logo-text{-webkit-background-clip:text;font-size:1.1rem;font-weight:800;-webkit-text-fill-color:transparent;background-clip:text}.header-actions{align-items:center;display:flex;gap:8px}.bottom-nav{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffeb;border-top:1px solid var(--border);bottom:0;left:0;padding:8px 0 max(8px,env(safe-area-inset-bottom));position:fixed;right:0;z-index:100}.nav-inner{justify-content:space-around;margin:0 auto;max-width:640px}.nav-inner,.nav-item{align-items:center;display:flex}.nav-item{background:none;border:none;border-radius:var(--radius);color:var(--text-muted);cursor:pointer;flex-direction:column;font-size:.7rem;font-weight:600;gap:2px;padding:6px 16px;text-decoration:none;transition:all .3s ease}.nav-item .nav-icon{font-size:1.25rem;transition:transform .3s ease}.nav-item.active,.nav-item:hover{color:var(--primary)}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{transform:scale(1.15)}.nav-item.active{background:var(--bg-soft)}.btn{align-items:center;border:none;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:700;gap:6px;justify-content:center;padding:10px 20px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 4px 14px #ff6b9d66;color:#fff}.btn-primary:hover{box-shadow:0 6px 20px #ff6b9d80;transform:translateY(-1px)}.btn-secondary{background:var(--bg-soft);border:1.5px solid var(--border);color:var(--primary)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-danger{background:linear-gradient(135deg,var(--danger),#ef4444);box-shadow:0 4px 14px #f872724d;color:#fff}.btn-sm{font-size:.75rem;padding:6px 14px}.btn-lg{font-size:1rem;padding:14px 28px}.btn-icon{border-radius:var(--radius-full);height:36px;padding:0;width:36px}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-soft);color:var(--primary)}.card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:all .3s ease}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow)}.card-glow{border-color:var(--primary-light);box-shadow:var(--shadow-glow)}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);display:block;font-size:.8rem;font-weight:700;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.form-input{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:.95rem;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.form-input:focus{background:#fff;border-color:var(--primary-light);box-shadow:0 0 0 3px #ff6b9d1a}.form-input::-moz-placeholder{color:var(--text-muted)}.form-input::placeholder{color:var(--text-muted)}textarea.form-input{min-height:80px;resize:vertical}.leaderboard-list{display:flex;flex-direction:column;gap:12px}.leaderboard-item{align-items:center;animation:slideUp .4s ease backwards;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:14px;padding:16px;transition:all .3s ease}.leaderboard-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-2px)}.leaderboard-item:first-child{animation-delay:.05s}.leaderboard-item:nth-child(2){animation-delay:.1s}.leaderboard-item:nth-child(3){animation-delay:.15s}.leaderboard-item:nth-child(4){animation-delay:.2s}.leaderboard-item:nth-child(5){animation-delay:.25s}.rank-badge{align-items:center;border-radius:var(--radius-full);display:flex;flex-shrink:0;font-size:1.1rem;font-weight:900;height:44px;justify-content:center;position:relative;width:44px}.rank-1{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 14px #fbbf2466;color:#fff}.rank-1:after{content:"👑";font-size:16px;position:absolute;top:-12px}.rank-2{background:linear-gradient(135deg,#d1d5db,#9ca3af);box-shadow:0 4px 14px #9ca3af4d;color:#fff}.rank-3{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 14px #d977064d;color:#fff}.rank-default{background:var(--bg-soft);border:1.5px solid var(--border);color:var(--primary)}.user-info{flex:1;min-width:0}.user-name{align-items:center;color:var(--text);display:flex;font-size:.95rem;font-weight:800;gap:6px}.user-name .tiktok-icon,.user-stats{color:var(--text-muted);font-size:.75rem}.user-stats{margin-top:2px}.win-count{align-items:center;color:var(--primary);display:flex;flex-shrink:0;font-size:1.2rem;font-weight:800;gap:4px}.win-count .emoji{font-size:1.1rem}.podium-section{padding:24px 0;text-align:center}.podium-title{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;font-size:1.4rem;font-weight:900;margin-bottom:4px;-webkit-text-fill-color:transparent;background-clip:text}.podium-subtitle{color:var(--text-muted);font-size:.8rem;margin-bottom:24px}.podium-grid{align-items:end;display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr;margin-bottom:24px}.podium-card{animation:scaleIn .5s ease backwards;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:16px 8px;text-align:center;transition:all .4s ease}.podium-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.podium-card.first{border-color:var(--accent);box-shadow:0 8px 32px #fbbf2433;order:0;padding:24px 8px}.podium-card.second{order:-1}.podium-card.third{order:1}.podium-avatar{align-items:center;border-radius:var(--radius-full);display:flex;font-size:1.5rem;font-weight:900;height:56px;justify-content:center;margin:0 auto 8px;position:relative;width:56px}.podium-card.first .podium-avatar{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 20px #fbbf2466;color:#fff;height:68px;width:68px}.podium-card.second .podium-avatar{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#fff}.podium-card.third .podium-avatar{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.podium-crown{font-size:22px;position:absolute;top:-14px}.podium-username{color:var(--text);font-size:.8rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-wins{color:var(--primary);font-size:.7rem;font-weight:700;margin-top:2px}.section-header{justify-content:space-between;margin-bottom:16px}.section-header,.section-title{align-items:center;display:flex}.section-title{color:var(--text);font-size:1.1rem;font-weight:800;gap:8px}.empty-state{color:var(--text-muted);padding:48px 20px;text-align:center}.empty-icon{font-size:3rem;margin-bottom:12px;opacity:.6}.empty-title{color:var(--text-secondary);font-size:1rem;font-weight:700;margin-bottom:4px}.empty-desc{font-size:.85rem}.video-card{animation:slideUp .4s ease backwards;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:16px;transition:all .3s ease}.video-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow)}.video-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.video-title{color:var(--text);flex:1;font-size:.95rem;font-weight:700}.video-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:12px;margin-bottom:10px}.video-link{align-items:center;color:var(--primary);display:inline-flex;font-size:.8rem;font-weight:600;gap:4px;text-decoration:none}.video-link:hover{text-decoration:underline}.video-answer{background:var(--bg-soft);color:var(--primary)}.video-answer,.video-winners-count{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 12px}.video-winners-count{background:linear-gradient(135deg,#34d3991a,#34d3990d);color:var(--success)}.add-winner-form{border-top:1px solid var(--border);display:flex;gap:8px;margin-top:12px;padding-top:12px}.add-winner-form .form-input{border-radius:var(--radius);font-size:.85rem;padding:8px 12px}.login-page{align-items:center;background:linear-gradient(135deg,var(--bg-soft),#f0e6ff,#fff7ed);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:380px;padding:36px 28px;text-align:center;width:100%}.login-icon{font-size:3rem;margin-bottom:12px}.login-title{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;font-size:1.4rem;font-weight:900;margin-bottom:4px;-webkit-text-fill-color:transparent;background-clip:text}.login-desc{color:var(--text-muted);font-size:.85rem;margin-bottom:28px}.login-error{background:#f872721a;color:var(--danger);margin-bottom:16px;padding:10px 16px}.login-error,.toast{border-radius:var(--radius);font-size:.85rem;font-weight:600}.toast{align-items:center;animation:slideIn .3s ease;background:#fff;border:1.5px solid var(--border);box-shadow:var(--shadow-lg);display:flex;gap:8px;max-width:340px;padding:12px 20px;position:fixed;right:20px;top:20px;z-index:10000}.toast-success{border-color:var(--success);color:var(--success)}.toast-error{border-color:var(--danger);color:var(--danger)}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-card{animation:scaleIn .3s ease;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px}.modal-title{font-size:1.1rem;font-weight:800}.modal-body{padding:20px}.modal-footer{border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:16px 20px}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.7rem;font-weight:700;gap:4px;padding:2px 10px}.badge-primary{background:var(--bg-soft);color:var(--primary)}.badge-success{background:#34d3991a;color:var(--success)}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.loading-text{color:var(--text-muted);font-size:.85rem;font-weight:600}.sparkle{position:relative}.sparkle:before{animation:pulse 2s ease infinite;content:"✨";font-size:14px;position:absolute;right:-8px;top:-8px}.winners-mini-list{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.winners-mini-item{align-items:center;display:flex;font-size:.8rem;gap:8px;padding:6px 0}.winners-mini-rank{align-items:center;background:var(--bg-soft);border-radius:var(--radius-full);color:var(--primary);display:flex;font-size:.65rem;font-weight:800;height:22px;justify-content:center;width:22px}.winners-mini-name{color:var(--text);font-weight:700}.winners-mini-comment{color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-content{padding-bottom:100px;padding-top:8px}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media(max-width:480px){.app-container{padding:0 12px}.podium-card{padding:12px 4px}.podium-username{font-size:.7rem}.card{padding:16px}.leaderboard-item{gap:10px;padding:12px}.rank-badge{font-size:.95rem;height:38px;width:38px}.modal-card{margin:12px}.login-card{padding:28px 20px}.toast{left:12px;max-width:none;right:12px}}.text-center{text-align:center}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.gap-8{gap:8px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.w-full{width:100%}
