html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-hover: #4f46e5;--secondary: #8b5cf6;--accent: #f59e0b;--danger: #ef4444;--bg-dark: #0f172a;--bg-card: rgba(30, 41, 59, .65);--bg-input: rgba(15, 23, 42, .4);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border: rgba(148, 163, 184, .2);--border-hover: rgba(99, 102, 241, .5);--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius: 12px;--radius-lg: 16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-dark);color:var(--text-primary);min-height:100vh;overflow-x:hidden}.app{position:relative;min-height:100vh}.background-gradient{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0f172a,#1e293b);z-index:0}.floating-circle{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:float 20s infinite ease-in-out}.circle-1{width:400px;height:400px;background:var(--primary);top:-100px;right:-100px}.circle-2{width:300px;height:300px;background:var(--secondary);bottom:-80px;left:-80px}.circle-3{width:250px;height:250px;background:var(--accent);top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.1)}}.container{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:var(--space-lg);min-height:100vh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding:var(--space-md) var(--space-lg);background:var(--bg-card);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo{display:flex;align-items:center;gap:var(--space-md)}.logo-icon{width:36px;height:36px;color:var(--primary)}.logo h1{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.icon-button{background:var(--bg-card);border-radius:var(--radius);padding:var(--space-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-button:hover{color:var(--text-primary);background:#1e293bcc}.icon-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.icon-button:disabled:hover{color:var(--text-secondary);background:var(--bg-card)}.header-actions{display:flex;gap:var(--space-sm);align-items:center}.reset-button{color:var(--danger)!important}.reset-button:hover{background:#ef44441a!important}.reset-button:disabled{opacity:.3!important}.main-content{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-lg);flex:1}.center-column{display:flex;flex-direction:column;gap:var(--space-lg)}@media(max-width:1024px){.main-content{grid-template-columns:1fr}.center-column{order:-1}}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);box-shadow:0 4px 24px #00000026}.participants-panel{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);height:calc(100vh - 140px)}.panel-header{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-md)}.panel-icon{width:22px;height:22px;color:var(--primary)}.panel-header h2{flex:1;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.count{background:var(--primary);padding:2px 10px;border-radius:20px;font-size:.875rem;font-weight:600;color:#fff}.add-participant{display:flex;flex-direction:column;gap:var(--space-sm)}.add-participant .input{width:100%}.add-participant .add-button{width:100%;min-width:44px;height:44px}.input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text-primary);font-size:.9375rem;transition:all .2s ease}.input::placeholder{color:var(--text-muted);animation:placeholderFadeIn .5s ease-out}@keyframes placeholderFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.input:focus{outline:none;border-color:var(--primary);background:var(--bg-card)}.input:disabled{opacity:.5;cursor:not-allowed}.input:disabled::placeholder{color:var(--text-muted)}.textarea-input{resize:vertical;min-height:72px;max-height:200px;font-family:inherit;line-height:1.5}.input:disabled:focus{border-color:var(--border);background:var(--bg-input)}.add-button{background:var(--primary);border:none;border-radius:var(--radius);padding:10px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.add-button:hover{background:var(--primary-hover)}.add-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.add-button:disabled:hover{background:var(--primary)}.participants-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-sm);padding-right:4px}.participants-list::-webkit-scrollbar{width:6px}.participants-list::-webkit-scrollbar-track{background:transparent}.participants-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.participant-card{background:var(--bg-input);border-radius:var(--radius);padding:12px 16px 12px 28px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);transition:background .2s ease,transform .2s ease;position:relative}.participant-index{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);color:var(--text-muted);font-size:.7rem;font-weight:600;border-radius:10px;border:1px solid var(--border)}.participant-card.spinning .participant-index{background:var(--primary);color:#fff;border-color:var(--primary)}.participant-card:hover{background:#1e293bb3;transform:translate(2px)}.participant-card.disabled{transition:none!important}.participant-card.spinning{background:#6366f126;border-color:var(--primary)}.participant-card.has-won{opacity:.5;background:#f59e0b14}.participant-card.has-won:hover{opacity:.7}.participant-name{flex:1;color:var(--text-primary);font-size:.9375rem;font-weight:500;padding-left:var(--space-md)}.participant-card.spinning .participant-name{color:var(--primary);font-weight:600}.participant-actions{display:flex;align-items:center;gap:6px}.trophy-badge{background:transparent;border:1px solid var(--border);border-radius:6px;padding:6px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;width:32px;height:32px}.trophy-badge:hover{background:#f59e0b1a;border-color:var(--accent);color:var(--accent)}.trophy-badge.won{background:#f59e0b33;border-color:var(--accent);color:var(--accent)}.trophy-badge:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.trophy-badge:disabled:hover{background:transparent;border-color:var(--border);color:var(--text-muted)}.remove-button{color:var(--primary);font-weight:600}.participant-actions{display:flex;align-items:center;gap:4px}.remove-button{background:transparent;border:none;border-radius:8px;padding:6px;color:var(--danger);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.remove-button:hover{background:#ef44441a}.remove-button:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.remove-button:disabled:hover{background:transparent}.participant-card.disabled{opacity:.6}.panel-disabled{opacity:.7;pointer-events:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;gap:var(--space-md);color:var(--text-muted);text-align:center}.spin-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);padding:var(--space-lg)}.wheel-container{width:100%;min-height:320px;display:flex;align-items:center;justify-content:center;padding:48px 24px}.spinning-name{font-size:3rem;font-weight:700;color:var(--primary);text-align:center;animation:pulse .4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.winner-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);animation:winner-appear .5s ease-out}@keyframes winner-appear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.trophy-icon{width:64px;height:64px;color:var(--accent);animation:trophy-bounce 1.2s cubic-bezier(.4,0,.2,1) infinite}@keyframes trophy-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.winner-display h3{font-size:1.125rem;color:var(--text-secondary);font-weight:600}.current-winner-name{font-size:3rem;font-weight:700;color:var(--accent);text-align:center}.ready-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);color:var(--text-muted);animation:ready-glow 2s ease-in-out infinite}.ready-display svg{opacity:.6;animation:sparkle 1.5s ease-in-out infinite}.ready-display p{font-size:1.125rem;animation:text-pulse 2s ease-in-out infinite}.ready-hint{font-size:.875rem;color:var(--text-muted);opacity:.8;margin-top:var(--space-sm)}.countdown-display{font-size:8rem;font-weight:900;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}@keyframes ready-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:.6}25%{transform:scale(1.1) rotate(5deg);opacity:.8}50%{transform:scale(1) rotate(0);opacity:.6}75%{transform:scale(1.1) rotate(-5deg);opacity:.8}}@keyframes text-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.warning-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:1000;background:#ef4444f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--danger);border-radius:var(--radius-lg);padding:12px 20px;color:#fff;font-size:.9375rem;font-weight:500;display:flex;align-items:center;gap:var(--space-sm);box-shadow:0 4px 20px #ef444466;animation:slideDown .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media(max-width:768px){.warning-toast{top:10px;left:var(--space-md);right:var(--space-md);transform:none;padding:10px 16px;font-size:.875rem}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}}.spin-button{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);border:none;border-radius:var(--radius-lg);padding:16px 48px;font-size:1.125rem;font-weight:600;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all .2s ease;box-shadow:0 4px 12px #6366f14d}.spin-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.spin-button:active:not(:disabled){transform:translateY(0)}.spin-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.spin-icon{width:20px;height:20px}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reset-button{background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:10px 20px;font-size:.9375rem;font-weight:500;color:var(--danger);cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);transition:all .2s ease}.reset-button:hover{background:#ef44441a;border-color:var(--danger)}.settings-button{background:transparent;border:1px solid rgba(139,92,246,.3);border-radius:var(--radius);padding:10px 20px;font-size:.9375rem;font-weight:500;color:var(--primary);cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);transition:all .2s ease}.settings-button:hover{background:#8b5cf61a;border-color:var(--primary)}.settings-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-md)}.settings-panel{background:#1e293b;border-radius:var(--radius-lg);padding:var(--space-lg);max-width:400px;width:100%}.settings-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);padding-bottom:var(--space-md)}.settings-header svg{width:22px;height:22px;color:var(--primary)}.settings-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.toggle-label{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-input{position:absolute;opacity:0;pointer-events:none}.toggle-slider{position:relative;width:44px;height:24px;background:var(--bg-input);border:1px solid var(--border);border-radius:12px;transition:all .2s ease}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:all .2s ease}.toggle-input:checked+.toggle-slider{background:var(--primary);border-color:var(--primary)}.toggle-input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-text{flex:1;color:var(--text-primary);font-size:.9375rem;font-weight:500}.settings-content{display:flex;flex-direction:column;gap:var(--space-lg)}.setting-group{display:flex;flex-direction:column;gap:var(--space-sm)}.setting-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.setting-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text-primary);font-size:.9375rem;transition:all .2s ease;width:100%}.setting-input:focus{outline:none;border-color:var(--primary);background:var(--bg-card)}.setting-item{display:flex;flex-direction:column;gap:var(--space-sm)}.share-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px var(--space-md);margin-top:var(--space-md);background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;border-radius:var(--radius);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.share-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #8b5cf64d}.share-button:active{transform:translateY(0)}.share-button:disabled{opacity:.7;cursor:wait}.share-button:disabled:hover{transform:none;box-shadow:none}.share-button svg{width:18px;height:18px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.share-warning{margin-top:var(--space-sm);text-align:center}.share-warning small{color:var(--text-muted);font-size:.75rem;line-height:1.4;opacity:.8}.reset-icon-wrapper{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ef44441a;border-radius:var(--radius);color:var(--danger)}.reset-warning{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg) 0}.reset-message{font-size:1.0625rem;font-weight:600;color:var(--text-primary);text-align:center;margin:0}.reset-detail{font-size:.9375rem;color:var(--text-secondary);text-align:center;line-height:1.6;margin:0}.reset-actions{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.reset-btn{flex:1;padding:12px 24px;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-btn{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.cancel-btn:hover{background:var(--bg-card);border-color:var(--text-muted)}.confirm-btn{background:var(--danger);color:#fff}.confirm-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.reset-btn:active{transform:translateY(0)}.confetti{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;overflow:hidden}.confetti:before,.confetti:after{content:"";position:absolute;width:8px;height:8px;animation:confetti-fall 3s linear infinite}.confetti:before{left:15%;animation-delay:0s;background:var(--primary)}.confetti:after{left:85%;animation-delay:.5s;background:var(--secondary)}.confetti-explode{position:fixed;top:50%;left:50%;width:100vw;height:100vh;transform:translate(-50%,-50%);pointer-events:none;z-index:999;overflow:hidden}.confetti-piece{position:absolute;width:10px;height:10px;opacity:0}@keyframes confetti-fall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.winners-panel{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.winners-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-bottom:6px;border-bottom:1px solid var(--border)}.winners-title{display:flex;align-items:center;gap:6px}.winners-icon{width:14px;height:14px;color:var(--text-muted)}.winners-header h3{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.clear-winners-button{background:transparent;border:1px solid rgba(148,163,184,.15);border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:400;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s ease}.clear-winners-button:hover{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.clear-winners-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.clear-winners-button:disabled:hover{background:transparent;border-color:var(--border);color:var(--text-secondary)}.winners-list{display:flex;flex-direction:column;gap:var(--space-sm)}.winner-item{background:var(--bg-input);border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:8px;border:1px solid transparent;transition:all .2s ease}.winner-item:hover{background:#1e293bb3;border-color:#f59e0b26}.winner-rank{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:#f59e0b1a;color:var(--accent);border-radius:4px;font-size:.7rem;font-weight:600}.winner-name{flex:1;color:var(--text-secondary);font-size:.9375rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.container{padding:var(--space-md)}.logo h1{font-size:1.5rem}.spin-panel{gap:var(--space-lg);padding:var(--space-md)}.wheel-container{min-height:260px;padding:32px 16px}.spinning-name,.current-winner-name{font-size:2rem}.trophy-icon{width:48px;height:48px}.spin-button{padding:14px 32px;font-size:1rem}}@media(max-width:480px){.logo h1{font-size:1.25rem}.spinning-name,.current-winner-name{font-size:1.75rem}.wheel-container{min-height:220px}.spin-button{width:100%}}.cheat-modal{max-width:500px;max-height:80vh;overflow-y:auto}.cheat-content{display:flex;flex-direction:column;gap:var(--space-lg)}.cheat-info{padding:var(--space-md);background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:var(--radius)}.cheat-info p{color:var(--text-secondary);font-size:.875rem;margin:0;text-align:center}.cheat-info .cheat-special{color:var(--accent);font-weight:600;margin-top:4px}.cheat-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.cheat-name{flex:1;font-size:.9375rem;display:flex;align-items:center;gap:var(--space-sm)}.guaranteed-badge{background:var(--accent);color:#fff;font-size:.625rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.cheat-input{width:100px;text-align:center}.cheat-actions{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.cheat-btn{flex:1;padding:12px 20px;border:none;border-radius:var(--radius);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cheat-btn.btn-primary{background:var(--primary);color:#fff}.cheat-btn.btn-primary:hover{background:var(--primary-hover)}.cheat-btn.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.cheat-btn.btn-secondary:hover{background:#6366f11a;border-color:var(--border-hover)}.settings-icon-wrapper{position:relative;cursor:default;padding:4px;border-radius:var(--radius-sm)}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--space-md)}
