@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800&family=Inter:wght@400;500;700&display=swap";:root{--bg-gradient:linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);--card-bg:#ffffff0d;--card-border:#ffffff1a;--primary:#8b5cf6;--primary-hover:#7c3aed;--accent:#f43f5e;--text-main:#f8fafc;--text-muted:#94a3b8;--success:#10b981;--error:#ef4444}*{box-sizing:border-box}body{background:var(--bg-gradient);color:var(--text-main);background-attachment:fixed;min-height:100vh;margin:0;font-family:Inter,sans-serif}h1,h2,h3,h4{margin:0;font-family:Outfit,sans-serif}.welcome-screen{justify-content:center;align-items:flex-start;min-height:100vh;padding:1.5rem 1rem;display:flex;position:relative;overflow-y:auto}.welcome-bg-glow{pointer-events:none;background:radial-gradient(circle,#8b5cf640 0%,#0000 70%);width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.welcome-content{z-index:1;flex-direction:column;align-items:center;gap:1.2rem;width:100%;max-width:480px;padding-top:1rem;display:flex}.welcome-logo{text-align:center}.logo-icon{margin-bottom:.2rem;font-size:clamp(2rem,8vw,3.5rem);animation:3s ease-in-out infinite float;display:block}.title{background:linear-gradient(90deg,#a855f7,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:clamp(1.8rem,7vw,3rem);font-weight:800;animation:3s ease-in-out infinite float}.welcome-tagline{color:var(--text-muted);margin:.2rem 0 0;font-size:clamp(.8rem,2.5vw,1rem)}.welcome-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:1.5rem;flex-direction:column;gap:.8rem;width:100%;padding:1.5rem;display:flex;box-shadow:0 25px 60px -12px #0006}.welcome-label{color:var(--text-muted);text-align:center;font-size:1rem;font-weight:500}.welcome-input{width:100%;color:var(--text-main);text-align:center;background:#0000004d;border:2px solid #8b5cf64d;border-radius:1rem;outline:none;padding:.9rem 1.2rem;font-family:Inter,sans-serif;font-size:1.1rem;transition:border-color .2s}.welcome-input:focus{border-color:var(--primary)}.welcome-play-btn{border-radius:1rem;animation:2s ease-in-out infinite pulse-glow;margin-bottom:0!important;padding:.9rem!important;font-size:1.05rem!important}.welcome-online-btn{border-radius:1rem;transition:all .2s;color:#c4b5fd!important;background:#8b5cf626!important;border:1px solid #8b5cf666!important;margin-bottom:0!important;padding:.75rem 1rem!important;font-size:.95rem!important}.welcome-online-btn:hover:not(:disabled){transform:translateY(-2px);border-color:var(--primary)!important;background:#8b5cf64d!important}.online-player-banner{color:#c4b5fd;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:.75rem;align-items:center;gap:.8rem;margin-bottom:.5rem;padding:.75rem 1rem;font-size:1rem;display:flex}.room-code-display{text-align:center;background:#0000004d;border:1px solid #ffffff1a;border-radius:1rem;margin-bottom:1.5rem;padding:1rem 1.2rem}.room-code-label{letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.4rem;font-size:.65rem;display:block}.room-code-row{justify-content:center;align-items:center;gap:.8rem;display:flex}.room-code-value{color:var(--primary);letter-spacing:.2em;font-family:Outfit,monospace;font-size:2.2rem;font-weight:900}.copy-btn{color:#c4b5fd;cursor:pointer;background:#8b5cf633;border:1px solid #8b5cf666;border-radius:.5rem;align-items:center;gap:.3rem;padding:.4rem .8rem;font-family:inherit;font-size:.8rem;transition:background .2s;display:flex}.copy-btn:hover{background:#8b5cf666}.lobby-player-list{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.lobby-player-row{background:#ffffff0d;border:1px solid #ffffff12;border-radius:.75rem;align-items:center;gap:.8rem;padding:.65rem 1rem;transition:background .2s;animation:.3s both slideUp;display:flex}.lobby-player-row.is-me{background:#8b5cf61f;border-color:#8b5cf64d}.lobby-avatar{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.9rem;font-weight:800;display:flex}.lobby-name{flex:1;font-size:.95rem;font-weight:600}.lobby-name em{color:var(--text-muted);margin-left:.3rem;font-size:.8rem;font-style:normal}.host-badge{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:.4rem;padding:.15rem .5rem;font-size:.75rem}.waiting-pulse{text-align:center;color:var(--text-muted);padding:.8rem;font-size:.95rem;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.player-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;font-weight:800;display:flex}@keyframes pulse-glow{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 20px 6px #8b5cf64d}}.welcome-features{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.feature-pill{color:var(--text-muted);background:#ffffff14;border:1px solid #ffffff1f;border-radius:2rem;padding:.35rem .9rem;font-size:.8rem}.app-container{text-align:center;width:100%;max-width:640px;margin:0 auto;padding:clamp(1rem,4vw,2rem) clamp(.75rem,3vw,1.5rem)}.subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:clamp(.9rem,3vw,1.1rem)}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:1.5rem;padding:clamp(1.2rem,4vw,2rem);animation:.4s slideUp;box-shadow:0 25px 50px -12px #00000040}.btn{background:var(--card-bg);color:var(--text-main);border:1px solid var(--card-border);cursor:pointer;border-radius:1rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-bottom:.8rem;padding:.85rem 1.2rem;font-family:Inter,sans-serif;font-size:clamp(.9rem,3vw,1rem);font-weight:600;transition:all .2s;display:flex}.btn:hover{background:#ffffff1a;transform:translateY(-2px)}.btn:active{animation:.12s clickFlash}.btn-primary{background:linear-gradient(to right, var(--primary), var(--primary-hover));border:none}.btn-primary:hover{background:linear-gradient(90deg,#9333ea,#6d28d9);box-shadow:0 10px 20px -3px #8b5cf666}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.mode-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.mode-card{color:#1e293b;cursor:pointer;background:#fff;border:none;border-radius:1.2rem;flex-direction:column;align-items:center;gap:.6rem;padding:clamp(1rem,4vw,1.5rem) 1rem;font-family:Inter,sans-serif;transition:all .2s;display:flex;box-shadow:0 4px 14px -2px #00000026}.mode-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px -4px #0003}.mode-card:active{animation:.12s clickFlash}.mode-card .icon{background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;padding:.8rem;display:flex}.mode-card span{font-size:clamp(.95rem,3vw,1.1rem);font-weight:700}.mode-card p{color:#64748b;text-align:center;margin:0;font-size:.78rem}.era-card span{font-size:clamp(1.1rem,4vw,1.35rem);font-weight:800}.era-card p{letter-spacing:.03em;color:var(--primary)!important;margin-top:.3rem!important;font-size:clamp(1.3rem,5vw,1.7rem)!important;font-weight:900!important}.category-card{min-height:140px;position:relative;overflow:hidden}.category-card.bollywood{background:linear-gradient(135deg,#fff7ed,#fed7aa)}.category-card.hollywood{background:linear-gradient(135deg,#f0f9ff,#bae6fd)}.category-flag{font-size:clamp(2rem,6vw,3rem)}.full-width{grid-column:1/-1}.breadcrumb{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;margin-bottom:1.5rem;font-size:.8rem;display:flex}.breadcrumb span.active{color:var(--primary);font-weight:600}.breadcrumb span.crumb-link{cursor:pointer;color:var(--text-muted);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .15s}.breadcrumb span.crumb-link:hover{color:var(--text-main)}.input-field{border:1px solid var(--card-border);width:100%;color:var(--text-main);background:#0003;border-radius:1rem;margin-bottom:.8rem;padding:.85rem 1rem;font-family:Inter,sans-serif;font-size:1rem}.input-field:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #8b5cf633}.stats{background:#0003;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.stat-item{flex-direction:column;align-items:center;display:flex}.stat-value{color:var(--primary);font-size:clamp(1.1rem,4vw,1.5rem);font-weight:800}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.hearts{gap:.2rem;font-size:clamp(1rem,3.5vw,1.4rem);display:flex}.hint-box{border-left:4px solid var(--primary);text-align:center;background:#ffffff14;border-radius:1rem;margin-bottom:1rem;padding:clamp(.8rem,3vw,1.5rem);font-size:clamp(1rem,3.5vw,1.4rem);font-style:italic;line-height:1.5}.hint-box.emoji-hint{letter-spacing:.3rem;font-size:clamp(1.8rem,6vw,3rem);font-style:normal}.word-display{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.5rem;max-width:100%;margin:1rem auto;padding:0 .25rem;display:flex;overflow:hidden}.word-chunk{flex-wrap:nowrap;align-items:flex-end;gap:clamp(.12rem,.4vw,.3rem);display:inline-flex}.word-space{background:#ffffff2e;border-radius:2px;flex-shrink:0;align-self:flex-end;width:clamp(.5rem,2.5vw,1.2rem);height:3px;margin-bottom:.4rem;display:inline-block}.letter-box{border-bottom:3px solid var(--text-muted);text-transform:uppercase;background:#00000040;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;transition:background .2s,border-color .2s;display:flex}.letter-box.filled{border-bottom-color:var(--primary);color:var(--text-main);animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn}.letter-box.symbol{color:var(--text-muted);background:0 0;border-bottom-color:#ffffff26}.keyboard{flex-direction:column;gap:.4rem;margin-top:1rem;display:flex}.keyboard-row{justify-content:center;gap:clamp(.15rem,.5vw,.4rem);display:flex}.key{color:var(--text-main);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff0f;border-radius:.5rem;flex:1;min-width:clamp(1.5rem,5.5vw,2.4rem);max-width:clamp(2rem,7vw,3rem);height:clamp(2rem,7vw,2.8rem);padding:0;font-family:Outfit,sans-serif;font-size:clamp(.6rem,2.5vw,.9rem);font-weight:700;transition:all .15s}.key:hover:not(:disabled){background:#ffffff38;transform:translateY(-1px)}.key:active:not(:disabled){transform:scale(.92)}.key.correct{background:var(--success);border-color:var(--success);color:#fff}.key.wrong{background:var(--error);border-color:var(--error);color:#fff;opacity:.7}.key:disabled{cursor:not-allowed}.setup-option{gap:.8rem;padding:1.2rem;font-size:clamp(1rem,3.5vw,1.2rem)}.setup-option:hover{background:#ffffff26;transform:translateY(-3px)}.end-game{text-align:center}.end-game h2{margin-bottom:1rem;font-size:clamp(1.8rem,6vw,2.5rem)}.end-game.win h2{color:var(--success)}.end-game.lose h2{color:var(--error)}.share-btns{gap:.8rem;margin-top:1.2rem;display:flex}.share-btns .btn{flex:1;margin-bottom:0}.dancing-winner{background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin:0 auto 1.2rem;font-size:2.2rem;animation:.6s ease-in-out infinite alternate dance,1.2s ease-in-out infinite glow;display:flex;box-shadow:0 0 30px #f59e0b80}.game-layout-online{text-align:left;align-items:flex-start;gap:1rem;display:flex}.online-sidebar{background:var(--card-bg);border:1px solid var(--card-border);border-radius:1rem;flex-direction:column;flex-shrink:0;gap:.8rem;width:220px;padding:1rem;display:flex;position:sticky;top:1rem}.sidebar-header{border-bottom:1px solid var(--card-border);padding-bottom:.6rem}.room-badge{background:var(--primary);border-radius:.3rem;padding:.2rem .5rem;font-size:.68rem;font-weight:700}.round-info{color:var(--text-muted);margin-top:.4rem;font-size:.82rem}.player-list{flex-direction:column;gap:.4rem;display:flex}.sidebar-timer-ring{flex-direction:column;align-items:center;gap:.2rem;display:flex;position:relative}.timer-ring-svg{width:64px;height:64px;transition:stroke-dashoffset .9s linear;transform:rotate(-90deg)}.timer-ring-bg{fill:none;stroke:#ffffff1a;stroke-width:4px}.timer-ring-fill{fill:none;stroke:var(--success);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset .9s linear,stroke .4s}.sidebar-timer-ring.warn .timer-ring-fill{stroke:#f59e0b}.sidebar-timer-ring.danger .timer-ring-fill{stroke:var(--error)}.timer-ring-label{color:var(--text-main);font-family:Outfit,sans-serif;font-size:.85rem;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sidebar-timer-ring.danger .timer-ring-label{color:var(--error);animation:.6s ease-in-out infinite timerPulse}.player-card{background:#ffffff08;border-radius:.5rem;align-items:center;gap:.6rem;padding:.5rem;display:flex}.player-card.is-me{border:1px solid var(--primary);background:#8b5cf61a}.player-rank{color:var(--text-muted);width:1rem;font-size:.85rem;font-weight:800}.player-info{flex:1;min-width:0}.player-name-row{align-items:center;gap:.3rem;display:flex}.player-info .name{white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:.82rem;font-weight:600;overflow:hidden}.player-score{color:var(--primary);font-size:.7rem}.player-status{font-size:.9rem}.sidebar-footer{border-top:1px solid var(--card-border);padding-top:.5rem}.playing-status{text-align:center;color:var(--success);margin-bottom:.8rem;font-size:.9rem;font-weight:600}.online-leaderboard-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172ae0;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.online-leaderboard-overlay.static{animation:none}.round-summary-card{border:2px solid var(--primary);text-align:center;background:#1e1b4b;border-radius:1.5rem;width:100%;max-width:440px;padding:clamp(1.5rem,5vw,2rem)}.revealed-word{background:#0000004d;border-radius:.5rem;margin:.8rem 0;padding:.5rem;font-size:1.1rem}.ranking-list{flex-direction:column;gap:.4rem;margin:1.2rem 0;display:flex}.ranking-item{background:#ffffff0d;border-radius:.5rem;justify-content:space-between;align-items:center;padding:.55rem 1rem;display:flex}.ranking-item.me{border-left:3px solid var(--primary);background:#8b5cf633}.ranking-item .rank{margin-right:.5rem;font-weight:800}.ranking-item .name{text-align:left;flex:1}.ranking-item .status{border-radius:.25rem;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.ranking-item .status.win{color:var(--success)}.ranking-item .status.lose{color:var(--error)}.waiting-host{color:var(--text-muted);font-size:.9rem;font-style:italic}.year-display{color:#fbbf24;background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;margin-left:.5rem;padding:.3rem .8rem;font-size:1rem;font-weight:700;animation:.4s ease-out popIn;display:inline-block}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes dance{0%{transform:rotate(-12deg)scale(1)}50%{transform:rotate(12deg)scale(1.1)translateY(-6px)}to{transform:rotate(-12deg)scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 20px #f59e0b66}50%{box-shadow:0 0 50px #f59e0be6}}@keyframes clickFlash{0%,to{opacity:1}50%{opacity:.6}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.timer-danger{animation:.6s ease-in-out infinite timerPulse;color:var(--error)!important}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.final-leaderboard{background:#00000040;border-radius:1rem;width:100%;margin:1.2rem 0;padding:1.2rem}.lb-title{text-align:center;color:#f59e0b;margin:0 0 1rem;font-size:1.2rem}.lb-row{background:#ffffff0a;border-radius:.6rem;align-items:center;gap:.8rem;margin-bottom:.4rem;padding:.65rem 1rem;transition:all .2s;animation:.4s both slideUp;display:flex}.lb-row:first-child{animation-delay:50ms}.lb-row:nth-child(2){animation-delay:.15s}.lb-row:nth-child(3){animation-delay:.25s}.lb-row:nth-child(n+4){animation-delay:.35s}.lb-first{background:#f59e0b33;border:1px solid #f59e0b66}.lb-second{background:#94a3b826;border:1px solid #94a3b84d}.lb-third{background:#cd7f3226;border:1px solid #b4641e4d}.lb-me{border-color:var(--primary)!important;background:#8b5cf626!important}.lb-rank{text-align:center;width:2rem;font-size:1.3rem}.lb-name{flex:1;font-size:.95rem;font-weight:600}.lb-score{color:var(--primary);font-family:Outfit,sans-serif;font-size:1rem;font-weight:800}.reveal-banner{border-radius:1rem;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.2rem;animation:.4s slideUp;display:flex}.reveal-win{background:#10b98126;border:1px solid #10b98166}.reveal-lose{background:#ef444426;border:1px solid #ef444466}.reveal-icon{flex-shrink:0;font-size:2rem}.reveal-text{flex-direction:column;flex:1;gap:.1rem;display:flex}.reveal-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.75rem}.reveal-word{color:var(--text-main);font-family:Outfit,sans-serif;font-size:clamp(1rem,3.5vw,1.3rem);font-weight:800}.reveal-countdown{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-style:italic;animation:.4s fadeIn}@media (width<=640px){.reveal-banner{gap:.6rem;padding:.8rem}.reveal-icon{font-size:1.5rem}.game-layout-online{flex-direction:column}.online-sidebar{flex-flow:wrap;width:100%;position:relative;top:0}.player-list{flex-flow:wrap}.player-card{flex:1;min-width:120px}.mode-grid{grid-template-columns:1fr 1fr;gap:.7rem}.stats{padding:.6rem}.card{border-radius:1rem;padding:1rem}.key{min-width:1.4rem;height:1.9rem;font-size:.6rem}.keyboard-row{gap:.12rem}}.toast{z-index:9999;pointer-events:none;white-space:nowrap;border-radius:2rem;padding:.75rem 1.4rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;animation:.3s cubic-bezier(.34,1.56,.64,1) both toastIn;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0006}.toast-info{color:#fff;background:#8b5cf6f2}.toast-error{color:#fff;background:#ef4444f2}.toast-success{color:#fff;background:#22c55ef2}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(1.5rem)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@media (width>=1024px){.app-container{max-width:720px;padding:2.5rem 2rem}.key{min-width:2.6rem;max-width:3.2rem;height:3rem;font-size:1rem}}
