@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";:root{--color-primary: #7B2FF7;--color-primary-light: #A06BFF;--color-primary-dark: #5A1DB8;--color-primary-bg: #F0EAFF;--color-primary-surface: #E4D9FF;--color-secondary: #FF6B6B;--color-secondary-light: #FF9F9F;--color-secondary-dark: #E04545;--color-secondary-bg: #FFF0F0;--color-success: #00D68F;--color-success-light: #5FFFBF;--color-success-dark: #00A86B;--color-success-bg: #E6FFF5;--color-error: #FF4757;--color-error-light: #FF7A85;--color-error-dark: #D63040;--color-error-bg: #FFF0F1;--color-hint: #448AFF;--color-hint-light: #82B1FF;--color-hint-dark: #2962FF;--color-hint-bg: #E8F0FF;--color-accent: #FFD93D;--color-accent-light: #FFE57F;--color-accent-dark: #FFC107;--color-accent-bg: #FFFDE7;--color-bg: #FFFDF7;--color-bg-warm: #FFF8F0;--color-bg-game: #F0EAFF;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-border: #E8E2F4;--color-border-light: #F0ECF8;--color-text: #2D1B69;--color-text-secondary: #7B6BA4;--color-text-muted: #B0A3CC;--color-text-inverse: #FFFFFF;--color-player-1: #7B2FF7;--color-player-2: #FF6B6B;--color-player-3: #00D68F;--color-player-4: #448AFF;--color-player-5: #FFD93D;--color-player-6: #FF8A5C;--font-family: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Nunito", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--weight-normal: 400;--weight-medium: 600;--weight-bold: 700;--weight-extrabold: 800;--weight-black: 900;--leading-tight: 1.15;--leading-normal: 1.4;--leading-relaxed: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-3xl: 32px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(123, 47, 247, .06);--shadow-md: 0 4px 16px rgba(123, 47, 247, .1);--shadow-lg: 0 8px 32px rgba(123, 47, 247, .14);--shadow-xl: 0 16px 48px rgba(123, 47, 247, .18);--shadow-glow-primary: 0 4px 24px rgba(123, 47, 247, .35);--shadow-glow-success: 0 4px 24px rgba(0, 214, 143, .35);--shadow-glow-error: 0 4px 24px rgba(255, 71, 87, .35);--shadow-glow-accent: 0 4px 24px rgba(255, 217, 61, .35);--shadow-button: 0 4px 0 rgba(0, 0, 0, .08);--shadow-button-primary: 0 4px 0 var(--color-primary-dark);--shadow-button-success: 0 4px 0 var(--color-success-dark);--shadow-button-error: 0 4px 0 var(--color-error-dark);--shadow-card: 0 4px 20px rgba(123, 47, 247, .08), 0 1px 3px rgba(0, 0, 0, .04);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-snap: cubic-bezier(.2, 0, 0, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-celebratory: .6s;--z-base: 0;--z-card: 10;--z-sticky: 100;--z-overlay: 200;--z-modal: 300;--z-toast: 400;--z-confetti: 500;--max-width: 480px;--header-height: 56px;--bottom-safe: env(safe-area-inset-bottom, 0px)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}h1,.h1{font-size:var(--text-4xl);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:-.02em}h2,.h2{font-size:var(--text-3xl);font-weight:var(--weight-extrabold);line-height:var(--leading-tight);letter-spacing:-.01em}h3,.h3{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}h4,.h4{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-normal)}.subtitle{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-text-secondary);line-height:var(--leading-normal)}.body{font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-relaxed)}.caption{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.overline{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.number-display{font-size:var(--text-5xl);font-weight:var(--weight-black);line-height:1;font-variant-numeric:tabular-nums}.timer-display{font-size:var(--text-4xl);font-weight:var(--weight-black);line-height:1;font-variant-numeric:tabular-nums}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.96)}to{transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.15)}60%{transform:scale(.9)}80%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #7b2ff74d}50%{box-shadow:0 0 0 12px #7b2ff700}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes timerTick{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes timerUrgent{0%,to{transform:scale(1);color:var(--color-error)}50%{transform:scale(1.15)}}@keyframes timerRing{0%{stroke-dashoffset:0}}@keyframes successPop{0%{opacity:0;transform:scale(0) rotate(-30deg)}50%{opacity:1;transform:scale(1.2) rotate(5deg)}70%{transform:scale(.95) rotate(-2deg)}to{transform:scale(1) rotate(0)}}@keyframes checkDraw{0%{stroke-dashoffset:48}to{stroke-dashoffset:0}}@keyframes starBurst{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(360deg)}}@keyframes celebrateFloat{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-80px) scale(.5)}}@keyframes errorShake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-8px)}30%,70%{transform:translate(8px)}}@keyframes crossDraw{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}@keyframes micPulse{0%,to{box-shadow:0 0 #ff475766,0 0 #ff475733}50%{box-shadow:0 0 0 14px #ff475700,0 0 0 28px #ff475700}}@keyframes progressFill{0%{width:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes badgePop{0%{opacity:0;transform:scale(0) rotate(-15deg)}60%{opacity:1;transform:scale(1.2) rotate(3deg)}to{transform:scale(1) rotate(0)}}@keyframes bgGradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);line-height:var(--leading-normal);min-height:100dvh;overflow-x:hidden}#root{min-height:100dvh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;color:inherit}input,textarea{font-family:inherit;font-size:inherit;color:inherit}img{display:block;max-width:100%}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.app-container{max-width:var(--max-width);margin:0 auto;width:100%;min-height:100dvh;display:flex;flex-direction:column;position:relative}.screen{flex:1;display:flex;flex-direction:column;padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--bottom-safe));animation:fadeIn var(--duration-normal) var(--ease-smooth)}.screen-centered{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4);text-align:center}.screen-game{background:var(--color-bg-game);min-height:100dvh}.decorative-dots{position:absolute;width:120px;height:120px;border-radius:50%;opacity:.08;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--weight-bold);border-radius:var(--radius-xl);transition:all var(--duration-fast) var(--ease-smooth);position:relative;-webkit-user-select:none;user-select:none;white-space:nowrap;border:3px solid transparent}.btn--full{width:100%}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-md)}.btn--md{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);border-radius:var(--radius-2xl)}.btn--xl{padding:var(--space-5) var(--space-10);font-size:var(--text-xl);border-radius:var(--radius-2xl)}.btn--primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-button-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-light)}.btn--primary:active:not(:disabled){box-shadow:none}.btn--secondary{background:var(--color-secondary);color:var(--color-text-inverse);box-shadow:0 4px 0 var(--color-secondary-dark)}.btn--secondary:hover:not(:disabled){background:var(--color-secondary-light)}.btn--success{background:var(--color-success);color:var(--color-text-inverse);box-shadow:var(--shadow-button-success)}.btn--success:hover:not(:disabled){background:var(--color-success-light)}.btn--error{background:var(--color-error);color:var(--color-text-inverse);box-shadow:var(--shadow-button-error)}.btn--ghost{background:transparent;color:var(--color-primary)}.btn--ghost:hover:not(:disabled){background:var(--color-primary-bg)}.btn--outline{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border);box-shadow:var(--shadow-button)}.btn--outline:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--loading{pointer-events:none}.btn__spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.btn__icon{display:flex;align-items:center;font-size:1.2em}.btn__label{display:flex;align-items:center}.onboarding{min-height:100dvh;display:flex;flex-direction:column;padding:var(--space-8) var(--space-6);position:relative;overflow:hidden;transition:background var(--duration-slow) var(--ease-smooth)}.onboarding__dots{display:flex;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-8);z-index:1}.onboarding__dot{width:10px;height:10px;border-radius:50%;background:var(--color-text-muted);opacity:.3;transition:all var(--duration-normal) var(--ease-bounce)}.onboarding__dot--active{width:28px;border-radius:var(--radius-full);background:var(--color-primary);opacity:1}.onboarding__dot--done{background:var(--color-primary);opacity:.5}.onboarding__content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-4);z-index:1}.onboarding__emoji{font-size:80px;line-height:1;margin-bottom:var(--space-4);filter:drop-shadow(0 8px 20px rgba(0,0,0,.1))}.onboarding__title{font-size:var(--text-4xl);font-weight:var(--weight-black);color:var(--color-text);line-height:var(--leading-tight);white-space:pre-line}.onboarding__text{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:320px;line-height:var(--leading-relaxed)}.onboarding__actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);z-index:1;padding-top:var(--space-6)}.onboarding__decor{position:absolute;border-radius:50%;pointer-events:none}.onboarding__decor--1{width:260px;height:260px;bottom:-80px;right:-80px;background:var(--color-primary);opacity:.04}.onboarding__decor--2{width:160px;height:160px;top:10%;left:-50px;background:var(--color-accent);opacity:.06}.card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.card--interactive{cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-smooth)}.card--interactive:hover{box-shadow:var(--shadow-lg)}.card--mode{padding:var(--space-6);border-radius:var(--radius-2xl);border:3px solid var(--color-border-light);background:var(--color-surface)}.card--mode:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--card-accent, var(--color-primary));border-radius:var(--radius-xl) var(--radius-xl) 0 0}.card--elevated{box-shadow:var(--shadow-lg);border-radius:var(--radius-2xl)}.card--game{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-6);box-shadow:var(--shadow-lg);border:2px solid var(--color-border-light)}.card--hint{background:linear-gradient(135deg,var(--color-hint-bg),var(--color-surface));border:2px solid var(--color-hint);border-radius:var(--radius-2xl);padding:var(--space-6)}.card--stat{text-align:center;padding:var(--space-6) var(--space-4);border-radius:var(--radius-2xl);background:var(--color-surface);border:2px solid var(--color-border-light)}.card--stat:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-accent, var(--color-primary))}.home{gap:var(--space-6);position:relative;overflow:hidden}.home__hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding-top:var(--space-6);position:relative;z-index:1}.home__hero-badge{margin-bottom:var(--space-2)}.home__title{font-size:var(--text-5xl);font-weight:var(--weight-black);color:var(--color-primary);display:flex;align-items:center;gap:var(--space-2)}.home__title-emoji{font-size:.8em;filter:drop-shadow(0 4px 12px rgba(123,47,247,.2))}.home__subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);font-weight:var(--weight-medium)}.home__quick-stats{display:flex;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);position:relative;z-index:1}.home__quick-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.home__quick-stat-value{font-size:var(--text-2xl);font-weight:var(--weight-black);color:var(--color-primary)}.home__quick-stat-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.home__quick-stat-divider{width:1px;height:32px;background:var(--color-border)}.home__modes{position:relative;z-index:1}.home__section-title{font-size:var(--text-lg);font-weight:var(--weight-extrabold);color:var(--color-text);margin-bottom:var(--space-3)}.home__modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.home__mode-card{display:flex;flex-direction:column;gap:var(--space-2);min-height:130px}.home__mode-icon{font-size:var(--text-3xl)}.home__mode-title{font-size:var(--text-lg);font-weight:var(--weight-extrabold);color:var(--color-text)}.home__mode-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-normal)}.home__secondary{position:relative;z-index:1;display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}.home__decor{position:absolute;border-radius:50%;pointer-events:none}.home__decor--1{width:220px;height:220px;top:-50px;right:-70px;background:var(--color-primary);opacity:.04}.home__decor--2{width:150px;height:150px;bottom:10%;left:-50px;background:var(--color-accent);opacity:.05}.create-game{gap:var(--space-5)}.create-game__header{display:flex;flex-direction:column;gap:var(--space-2)}.create-game__back{align-self:flex-start;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-primary);padding:var(--space-1) 0}.create-game__title{font-size:var(--text-3xl);font-weight:var(--weight-black)}.create-game__sections{display:flex;flex-direction:column;gap:var(--space-4);flex:1}.create-game__section{display:flex;flex-direction:column;gap:var(--space-3)}.create-game__section-title{font-size:var(--text-base);font-weight:var(--weight-extrabold)}.create-game__players{display:flex;flex-wrap:wrap;gap:var(--space-2)}.create-game__player-chip{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-primary-bg);border-radius:var(--radius-full);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--color-primary)}.create-game__player-remove{width:20px;height:20px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-black);transition:opacity var(--duration-fast)}.create-game__player-remove:hover{opacity:.8}.create-game__add-player{display:flex;gap:var(--space-2)}.create-game__input{padding:var(--space-2) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);width:100px;outline:none;transition:border-color var(--duration-fast);background:transparent}.create-game__input:focus{border-color:var(--color-primary)}.create-game__add-btn{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:var(--text-xl);font-weight:var(--weight-black);display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--ease-bounce)}.create-game__add-btn:hover{transform:scale(1.1)}.create-game__options{display:flex;gap:var(--space-2);flex-wrap:wrap}.create-game__option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-weight:var(--weight-bold);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-smooth)}.create-game__option--compact{padding:var(--space-3) var(--space-4);font-size:var(--text-lg);font-weight:var(--weight-extrabold)}.create-game__option--active{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface)}.create-game__option-icon{font-size:var(--text-2xl)}.create-game__option-label{white-space:nowrap}.create-game__help{color:var(--color-text-secondary);font-size:var(--text-sm)}.create-game__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-bold);text-align:center}.create-game__start{padding-top:var(--space-4)}.lobby{gap:var(--space-4);position:relative;overflow:hidden}.lobby__bg-circle{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.lobby__bg-circle--1{width:220px;height:220px;top:-80px;right:-60px;background:var(--color-primary);opacity:.06}.lobby__bg-circle--2{width:160px;height:160px;bottom:10%;left:-70px;background:var(--color-accent);opacity:.05}.lobby__header{position:relative;z-index:1}.lobby__back{color:var(--color-text-secondary);font-weight:var(--weight-bold);font-size:var(--text-sm);padding:var(--space-2) 0}.lobby__hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);position:relative;z-index:1;padding:var(--space-2) 0}.lobby__hero-icon{font-size:2.5rem;line-height:1}.lobby__title{font-size:var(--text-2xl);font-weight:var(--weight-black);color:var(--color-text)}.lobby__counter{display:flex;align-items:baseline;gap:2px}.lobby__counter-current{font-size:var(--text-3xl);font-weight:var(--weight-black);color:var(--color-primary);line-height:1}.lobby__counter-sep,.lobby__counter-total{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-muted)}.lobby__players-card{display:flex;flex-direction:column;gap:var(--space-2);position:relative;z-index:1}.lobby__slot{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);transition:background var(--duration-fast) var(--ease-smooth)}.lobby__slot--connected{background:var(--color-success-bg)}.lobby__slot--waiting{background:var(--color-primary-bg)}.lobby__slot-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;background:var(--color-border);color:var(--color-text-muted);font-weight:var(--weight-extrabold);transition:background var(--duration-normal) var(--ease-smooth)}.lobby__slot--connected .lobby__slot-avatar{color:#fff}.lobby__slot-info{display:flex;flex-direction:column;flex:1;min-width:0}.lobby__slot-name{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby__slot-status{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.lobby__slot-status--ok{color:var(--color-success)}.lobby__slot-check{width:28px;height:28px;border-radius:50%;background:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-black);flex-shrink:0}.lobby__slot-dots{display:flex;gap:3px;align-items:center;flex-shrink:0}.lobby__slot-dots span{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);opacity:.4;animation:lobbyDotPulse 1.4s ease-in-out infinite}.lobby__slot-dots span:nth-child(2){animation-delay:.2s}.lobby__slot-dots span:nth-child(3){animation-delay:.4s}@keyframes lobbyDotPulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.lobby__invite-card{display:flex;flex-direction:column;gap:var(--space-3);position:relative;z-index:1}.lobby__invite-header{display:flex;align-items:center;gap:var(--space-2)}.lobby__invite-icon{font-size:1.4rem}.lobby__invite-title{font-size:var(--text-lg);font-weight:var(--weight-extrabold);color:var(--color-text)}.lobby__invite-hint{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.lobby__invite-url-wrap{border-radius:var(--radius-md);background:var(--color-primary-bg);border:1px dashed var(--color-primary-light);padding:var(--space-3) var(--space-4);position:relative}.lobby__invite-url{font-size:var(--text-xs);color:var(--color-primary);word-break:break-all;font-weight:var(--weight-medium);line-height:var(--leading-relaxed);-webkit-user-select:all;user-select:all}.lobby__invite-actions{display:flex;flex-direction:column;gap:var(--space-2)}.lobby__ready{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);position:relative;z-index:1}.lobby__ready-icon{font-size:2rem;animation:lobbyReadyBounce .8s ease-in-out infinite alternate}@keyframes lobbyReadyBounce{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.lobby__ready-text{font-size:var(--text-lg);font-weight:var(--weight-extrabold);color:var(--color-success);text-align:center}.timer{position:relative;display:flex;align-items:center;justify-content:center}.timer--sm{width:64px;height:64px}.timer--md{width:96px;height:96px}.timer--lg{width:130px;height:130px}.timer__ring{position:absolute;inset:0;width:100%;height:100%}.timer__ring-bg{stroke:var(--color-border-light)}.timer__ring-progress{filter:drop-shadow(0 0 6px currentColor)}.timer__value{font-weight:var(--weight-black);font-variant-numeric:tabular-nums;z-index:1}.timer--sm .timer__value{font-size:var(--text-lg)}.timer--md .timer__value{font-size:var(--text-2xl)}.timer--lg .timer__value{font-size:var(--text-3xl)}.timer--urgent{animation:pulse .5s ease-in-out infinite}.timer--urgent .timer__ring-progress{filter:drop-shadow(0 0 10px var(--color-error))}.mic-btn{position:relative;width:88px;height:88px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow-primary);border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth)}.mic-btn:disabled{opacity:.4;cursor:not-allowed}.mic-btn__icon{width:36px;height:36px;z-index:2;position:relative}.mic-btn__ring{position:absolute;inset:-6px;border-radius:50%;border:3px solid var(--color-primary-light);opacity:.3}.mic-btn__ring--2{inset:-14px;opacity:.15}.mic-btn--recording{background:var(--color-error);box-shadow:var(--shadow-glow-error)}.mic-btn--recording .mic-btn__ring{border-color:var(--color-error-light);animation:pulseGlow 1.5s ease-in-out infinite}.mic-btn__pulse{position:absolute;inset:0;border-radius:50%;background:var(--color-error);z-index:0}.player-indicator{display:flex;gap:var(--space-2);padding:var(--space-2);overflow-x:auto;scrollbar-width:none}.player-indicator::-webkit-scrollbar{display:none}.player-chip{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-full);border:2px solid var(--color-border-light);min-width:max-content;transition:border-color var(--duration-fast) var(--ease-smooth),opacity var(--duration-normal) var(--ease-smooth)}.player-chip--active{border-color:var(--player-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 20%,transparent)}.player-chip--dead{opacity:.45}.player-chip__avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--weight-extrabold);font-size:var(--text-sm);flex-shrink:0}.player-chip__info{display:flex;flex-direction:column;line-height:1.2;gap:1px}.player-chip__name{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text)}.player-chip__hearts{display:flex;gap:2px}.player-chip__heart{font-size:.7rem;line-height:1;color:var(--color-secondary);transition:color var(--duration-fast),opacity var(--duration-fast)}.player-chip__heart--lost{color:var(--color-border);opacity:.4}.player-chip__glow{position:absolute;inset:-2px;border-radius:var(--radius-full);border:2px solid var(--player-color);pointer-events:none}.artist-list{display:flex;flex-direction:column;gap:var(--space-2)}.artist-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-weight:var(--weight-medium);font-size:var(--text-sm);overflow:hidden}.artist-item--accepted{background:var(--color-success-bg);color:var(--color-success-dark)}.artist-item--duplicate{background:var(--color-accent-bg);color:var(--color-accent-dark)}.artist-item--not-found{background:var(--color-error-bg);color:var(--color-error)}.artist-item__icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-black);font-size:var(--text-xs);flex-shrink:0}.artist-item--accepted .artist-item__icon{background:var(--color-success);color:#fff}.artist-item--duplicate .artist-item__icon{background:var(--color-accent);color:#fff}.artist-item--not-found .artist-item__icon{background:var(--color-error);color:#fff}.artist-item__name{flex:1}.artist-list__empty{text-align:center;padding:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm);font-style:italic}.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-weight:var(--weight-bold);font-size:var(--text-sm)}.status--accepted{background:var(--color-success-bg);color:var(--color-success-dark);border:2px solid var(--color-success)}.status--duplicate{background:var(--color-accent-bg);color:var(--color-accent-dark);border:2px solid var(--color-accent)}.status--not-found{background:var(--color-error-bg);color:var(--color-error);border:2px solid var(--color-error)}.status--pending{background:var(--color-primary-bg);color:var(--color-primary);border:2px solid var(--color-primary-light)}.status-badge__icon{font-size:1.2em;font-weight:var(--weight-black)}.hint-card__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.hint-card__icon{font-size:var(--text-3xl);width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--color-hint-bg);border-radius:var(--radius-lg);flex-shrink:0}.hint-card__title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-hint-dark)}.hint-card__counter{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-hint)}.hint-card__text{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text)}.progress{display:flex;align-items:center;gap:var(--space-2);width:100%}.progress__track{flex:1;border-radius:var(--radius-full);background:var(--color-border-light);overflow:hidden}.progress--sm .progress__track{height:6px}.progress--md .progress__track{height:10px}.progress__fill{height:100%;border-radius:var(--radius-full);position:relative}.progress__fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}.progress__label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-secondary);min-width:40px;text-align:right}.active-game{position:relative;gap:var(--space-4);padding-top:var(--space-4);overflow:hidden}.active-game__bg-circle{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.active-game__bg-circle--1{width:200px;height:200px;top:-60px;right:-60px;background:var(--color-primary);opacity:.06}.active-game__bg-circle--2{width:140px;height:140px;bottom:20%;left:-50px;background:var(--color-secondary);opacity:.05}.active-game__bg-circle--3{width:100px;height:100px;top:40%;right:-30px;background:var(--color-accent);opacity:.07}.active-game__header{position:relative;z-index:1}.active-game__turn{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);position:relative;z-index:1}.active-game__turn-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.active-game__turn-name{font-size:var(--text-2xl);font-weight:var(--weight-black);color:var(--color-primary)}.active-game__round{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);background:var(--color-primary-bg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.active-game__timer{display:flex;justify-content:center;position:relative;z-index:1}.active-game__status{display:flex;justify-content:center;min-height:36px;position:relative;z-index:1}.active-game__controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);position:relative;z-index:1}.active-game__mic-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.active-game__mic-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-align:center}.active-game__actions{display:flex;gap:var(--space-3)}.active-game__text-input-row{width:min(480px,100%);display:flex;gap:var(--space-2)}.active-game__text-input{flex:1;border:2px solid var(--color-primary-light);border-radius:var(--radius-xl);padding:12px;font-size:var(--text-base)}.active-game__hint-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-6);z-index:var(--z-modal)}.active-game__hint-actions{display:flex;justify-content:center;margin-top:var(--space-3)}.active-game__artists{flex:1;display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:var(--space-4);margin:0 calc(var(--space-4) * -1);margin-bottom:calc(var(--space-4) * -1);box-shadow:0 -4px 20px #0000000d;position:relative;z-index:1}.active-game__artists-header{display:flex;flex-direction:column;gap:var(--space-2)}.active-game__artists-title{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-secondary)}.success-screen{background:var(--color-success-bg);gap:var(--space-6);position:relative;overflow:hidden}.success-screen__icon{filter:drop-shadow(var(--shadow-glow-success))}.success-screen__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.success-screen__title{font-size:var(--text-4xl);font-weight:var(--weight-black);color:var(--color-success-dark)}.success-screen__artist{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text)}.success-screen__points{font-size:var(--text-3xl);font-weight:var(--weight-black);color:var(--color-accent-dark);background:var(--color-accent-bg);padding:var(--space-2) var(--space-6);border-radius:var(--radius-full)}.success-screen__action{width:100%;max-width:300px}.success-screen__glow{position:absolute;width:300px;height:300px;border-radius:50%;background:var(--color-success);opacity:.06;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.error-screen{background:var(--color-error-bg);gap:var(--space-6);position:relative;overflow:hidden}.error-screen__icon-wrap{filter:drop-shadow(var(--shadow-glow-error))}.error-screen__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.error-screen__emoji{font-size:48px;margin-bottom:var(--space-2)}.error-screen__title{font-size:var(--text-3xl);font-weight:var(--weight-black);color:var(--color-error-dark)}.error-screen__artist{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text)}.error-screen__text{font-size:var(--text-base);color:var(--color-text-secondary);max-width:280px;text-align:center;line-height:var(--leading-relaxed)}.error-screen__actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;max-width:300px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--weight-bold);border-radius:var(--radius-full);white-space:nowrap}.badge--sm{padding:2px var(--space-2);font-size:var(--text-xs)}.badge--md{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.badge--default{background:var(--color-primary-bg);color:var(--color-primary)}.badge--success{background:var(--color-success-bg);color:var(--color-success-dark)}.badge--error{background:var(--color-error-bg);color:var(--color-error)}.badge--accent{background:var(--color-accent-bg);color:var(--color-accent-dark)}.badge--hint{background:var(--color-hint-bg);color:var(--color-hint-dark)}.badge--player{background:var(--color-primary);color:#fff;font-weight:var(--weight-extrabold)}.badge__icon{display:flex;font-size:1.1em}.stat-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.stat-card__icon{font-size:var(--text-3xl);margin-bottom:var(--space-1)}.stat-card__value{font-size:var(--text-4xl);font-weight:var(--weight-black);line-height:1}.stat-card__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.game-end{gap:var(--space-6);align-items:center;text-align:center;background:linear-gradient(180deg,var(--color-accent-bg) 0%,var(--color-bg) 40%);position:relative;overflow:hidden;padding-top:var(--space-8)}.game-end__winner{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.game-end__crown{font-size:56px;filter:drop-shadow(0 4px 12px rgba(255,217,61,.4))}.game-end__title{font-size:var(--text-4xl);font-weight:var(--weight-black);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-end__winner-name{font-size:var(--text-2xl);font-weight:var(--weight-extrabold);color:var(--color-text)}.game-end__winner-score{font-size:var(--text-xl);font-weight:var(--weight-black);color:var(--color-primary);background:var(--color-primary-bg);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full)}.game-end__podium{display:flex;align-items:flex-end;justify-content:center;gap:var(--space-3);width:100%}.game-end__podium-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex:1;max-width:100px}.game-end__podium-avatar{font-size:32px}.game-end__podium-name{font-size:var(--text-sm);font-weight:var(--weight-bold)}.game-end__podium-score{font-size:var(--text-lg);font-weight:var(--weight-black);color:var(--color-primary)}.game-end__podium-bar{width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.game-end__podium-item--1 .game-end__podium-bar{height:80px;background:linear-gradient(180deg,var(--color-accent),var(--color-accent-dark))}.game-end__podium-item--2 .game-end__podium-bar{height:56px;background:linear-gradient(180deg,var(--color-primary-light),var(--color-primary))}.game-end__podium-item--3 .game-end__podium-bar{height:40px;background:linear-gradient(180deg,var(--color-secondary-light),var(--color-secondary))}.game-end__badges{width:100%}.game-end__section-title{font-size:var(--text-base);font-weight:var(--weight-extrabold);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.game-end__badges-row{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}.game-end__stats{width:100%}.game-end__stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.game-end__actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;padding-top:var(--space-2)}.game-history{gap:var(--space-5)}.game-history__header{display:flex;flex-direction:column;gap:var(--space-2)}.game-history__back{align-self:flex-start;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-primary);padding:var(--space-1) 0}.game-history__title{font-size:var(--text-2xl);font-weight:var(--weight-black)}.game-history__list,.game-history__card{display:flex;flex-direction:column;gap:var(--space-3)}.game-history__card-top{display:flex;justify-content:space-between;align-items:center}.game-history__date{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-medium)}.game-history__card-main{display:flex;flex-direction:column;gap:var(--space-1)}.game-history__winner{font-size:var(--text-lg);font-weight:var(--weight-extrabold);color:var(--color-text)}.game-history__players{font-size:var(--text-sm);color:var(--color-text-secondary)}.game-history__card-stats{display:flex;gap:var(--space-4)}.game-history__stat{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted)}.game-history__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-secondary);text-align:center}.game-history__empty-icon{font-size:48px;margin-bottom:var(--space-2)}.game-history__empty-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.statistics{gap:var(--space-5)}.statistics__header{display:flex;flex-direction:column;gap:var(--space-2)}.statistics__back{align-self:flex-start;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-primary);padding:var(--space-1) 0}.statistics__title{font-size:var(--text-2xl);font-weight:var(--weight-black)}.statistics__main-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.statistics__section{display:flex;flex-direction:column;gap:var(--space-4)}.statistics__section-title{font-size:var(--text-base);font-weight:var(--weight-extrabold)}.statistics__top-list{display:flex;flex-direction:column;gap:var(--space-3)}.statistics__top-item{display:grid;grid-template-columns:28px 1fr 80px 30px;gap:var(--space-2);align-items:center}.statistics__top-rank{font-size:var(--text-sm);font-weight:var(--weight-extrabold);color:var(--color-primary)}.statistics__top-name{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text)}.statistics__top-bar-wrap{width:100%}.statistics__top-count{font-size:var(--text-sm);font-weight:var(--weight-extrabold);color:var(--color-text-secondary);text-align:right}.statistics__achievements-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3)}.statistics__achievement{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border-radius:var(--radius-lg);background:var(--color-accent-bg);text-align:center;position:relative}.statistics__achievement--locked{opacity:.45;background:var(--color-border-light);filter:grayscale(.8)}.statistics__achievement-icon{font-size:var(--text-2xl)}.statistics__achievement-label{font-size:var(--text-xs);font-weight:var(--weight-extrabold);color:var(--color-text)}.statistics__achievement-desc{font-size:10px;color:var(--color-text-muted);line-height:1.3}.statistics__achievement-lock{position:absolute;top:var(--space-1);right:var(--space-1);font-size:10px}.voice-confirm{justify-content:center}.voice-confirm__card{display:flex;flex-direction:column;gap:14px}.voice-confirm__title{margin:0}.voice-confirm__value{margin:0;font-size:28px;font-weight:800;color:var(--color-primary)}.voice-confirm__label{font-size:14px;color:var(--color-text-secondary)}.voice-confirm__input{width:100%;border:2px solid var(--color-primary-light);border-radius:var(--radius-lg);padding:12px;font-size:16px}.voice-confirm__actions{display:flex;justify-content:flex-end;gap:8px}
