:root{--primary-color: #4f46e5;--primary-hover: #4338ca;--secondary-color: #f8fafc;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--text-primary: #1f2937;--text-secondary: #6b7280;--border-color: #e5e7eb;--bg-light: #f9fafb;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--border-radius: 8px;--border-radius-lg: 12px;--transition: all .15s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{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;background:linear-gradient(135deg,var(--bg-light) 0%,var(--secondary-color) 100%);color:var(--text-primary);line-height:1.6;height:100%;overflow-x:hidden}#root{height:100%;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;min-height:100vh;max-width:800px;margin:0 auto;padding:0 16px}.header{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:2px solid var(--border-color);margin-bottom:24px}.header h1{font-size:1.8rem;font-weight:700;color:var(--primary-color)}.header-actions{display:flex;align-items:center;gap:16px}.switch-user-btn{padding:8px 16px;background:var(--bg-light);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.switch-user-btn:hover{border-color:var(--primary-color);background:var(--primary-light);transform:translateY(-1px)}.switch-user-btn:active{transform:translateY(0)}.main{flex:1;display:flex;flex-direction:column;gap:32px;padding-bottom:32px}.user-counter{background:#fff;border-radius:var(--border-radius-lg);padding:32px;box-shadow:var(--shadow-lg);text-align:center;border:2px solid var(--primary-color);position:relative;overflow:hidden}.user-counter.leader{border:3px solid #ffd700;background:linear-gradient(135deg,#fff,#fffbf0);box-shadow:0 0 20px #ffd7004d,var(--shadow-lg)}.crown{font-size:1.5em;animation:crownBounce 2s ease-in-out infinite}.leader-text{color:gold;font-weight:900;text-shadow:1px 1px 2px rgba(255,215,0,.5);animation:leaderGlow 2s ease-in-out infinite alternate}.leader-count{color:gold!important;text-shadow:0 2px 4px rgba(255,215,0,.3)!important;animation:countGlow 1.5s ease-in-out infinite alternate}.increment-btn.leader-btn{background:linear-gradient(135deg,gold,#ffed4e);color:#333;border:2px solid #ffd700;box-shadow:0 4px 15px #ffd70066}.increment-btn.leader-btn:hover:not(:disabled){background:#fff!important;color:gold;transform:translateY(-3px);box-shadow:0 6px 20px #ffd70099}.poop-rain{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.poop-drop{position:absolute;font-size:2rem;animation:wildPoopFall 2s linear infinite;top:-100px;filter:drop-shadow(0 0 10px rgba(255,255,0,.8))}.explosion-effects{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15}.explosion-particle{position:absolute;font-size:1.5rem;animation:explode 4s ease-out infinite;top:50%;left:50%}.screen-shake{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:5;animation:screenShake 4s ease-in-out}.rainbow-flash{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:8;animation:rainbowFlash 4s ease-in-out;border-radius:var(--border-radius-lg)}.poop-0{left:5%;animation-delay:0s;font-size:1.5rem}.poop-1{left:15%;animation-delay:.1s;font-size:2.5rem}.poop-2{left:25%;animation-delay:.2s;font-size:1.8rem}.poop-3{left:35%;animation-delay:.3s;font-size:3rem}.poop-4{left:45%;animation-delay:.4s;font-size:1.2rem}.poop-5{left:55%;animation-delay:.5s;font-size:2.8rem}.poop-6{left:65%;animation-delay:.6s;font-size:2rem}.poop-7{left:75%;animation-delay:.7s;font-size:1.6rem}.poop-8{left:85%;animation-delay:.8s;font-size:2.4rem}.poop-9{left:95%;animation-delay:.9s;font-size:1.4rem}.poop-10{left:10%;animation-delay:1s;font-size:2.2rem}.poop-11{left:20%;animation-delay:1.1s;font-size:1.7rem}.poop-12{left:30%;animation-delay:1.2s;font-size:2.6rem}.poop-13{left:70%;animation-delay:1.3s;font-size:1.3rem}.poop-14{left:80%;animation-delay:1.4s;font-size:2.9rem}.explosion-0{transform:translate(-50%,-50%) rotate(0);animation-delay:0s}.explosion-1{transform:translate(-50%,-50%) rotate(18deg);animation-delay:.1s}.explosion-2{transform:translate(-50%,-50%) rotate(36deg);animation-delay:.2s}.explosion-3{transform:translate(-50%,-50%) rotate(54deg);animation-delay:.3s}.explosion-4{transform:translate(-50%,-50%) rotate(72deg);animation-delay:.4s}.explosion-5{transform:translate(-50%,-50%) rotate(90deg);animation-delay:.5s}.explosion-6{transform:translate(-50%,-50%) rotate(108deg);animation-delay:.6s}.explosion-7{transform:translate(-50%,-50%) rotate(126deg);animation-delay:.7s}.explosion-8{transform:translate(-50%,-50%) rotate(144deg);animation-delay:.8s}.explosion-9{transform:translate(-50%,-50%) rotate(162deg);animation-delay:.9s}.explosion-10{transform:translate(-50%,-50%) rotate(180deg);animation-delay:1s}.explosion-11{transform:translate(-50%,-50%) rotate(198deg);animation-delay:1.1s}.explosion-12{transform:translate(-50%,-50%) rotate(216deg);animation-delay:1.2s}.explosion-13{transform:translate(-50%,-50%) rotate(234deg);animation-delay:1.3s}.explosion-14{transform:translate(-50%,-50%) rotate(252deg);animation-delay:1.4s}.explosion-15{transform:translate(-50%,-50%) rotate(270deg);animation-delay:1.5s}.explosion-16{transform:translate(-50%,-50%) rotate(288deg);animation-delay:1.6s}.explosion-17{transform:translate(-50%,-50%) rotate(306deg);animation-delay:1.7s}.explosion-18{transform:translate(-50%,-50%) rotate(324deg);animation-delay:1.8s}.explosion-19{transform:translate(-50%,-50%) rotate(342deg);animation-delay:1.9s}@keyframes wildPoopFall{0%{transform:translateY(-100px) rotate(0) scale(1);opacity:1;filter:drop-shadow(0 0 10px rgba(255,255,0,.8)) blur(0px)}15%{transform:translateY(50px) rotate(54deg) scale(1.3);opacity:1;filter:drop-shadow(0 0 15px rgba(255,165,0,.9)) blur(0px)}30%{transform:translateY(150px) rotate(108deg) scale(.9);opacity:1;filter:drop-shadow(0 0 20px rgba(255,0,255,.8)) blur(0px)}50%{transform:translateY(250px) rotate(216deg) scale(1.1);opacity:.9;filter:drop-shadow(0 0 25px rgba(0,255,255,.7)) blur(1px)}70%{transform:translateY(350px) rotate(324deg) scale(.7);opacity:.6;filter:drop-shadow(0 0 30px rgba(255,20,147,.6)) blur(2px)}85%{transform:translateY(450px) rotate(540deg) scale(.4);opacity:.3;filter:drop-shadow(0 0 35px rgba(148,0,211,.5)) blur(3px)}95%{transform:translateY(500px) rotate(648deg) scale(.2);opacity:.1;filter:drop-shadow(0 0 40px rgba(75,0,130,.3)) blur(5px)}to{transform:translateY(550px) rotate(720deg) scale(.05);opacity:0;filter:drop-shadow(0 0 50px rgba(0,0,0,0)) blur(10px)}}@keyframes explode{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:1;filter:brightness(1) drop-shadow(0 0 5px currentColor) blur(0px)}10%{transform:translate(-50%,-50%) scale(.8) rotate(36deg);opacity:1;filter:brightness(1.5) drop-shadow(0 0 10px currentColor) blur(0px)}25%{transform:translate(-50%,-50%) scale(1.5) rotate(90deg);opacity:1;filter:brightness(2) drop-shadow(0 0 15px currentColor) blur(0px)}40%{transform:translate(-80px,-80px) scale(2) rotate(144deg);opacity:.9;filter:brightness(1.8) drop-shadow(0 0 20px currentColor) blur(.5px)}55%{transform:translate(-120px,-120px) scale(1.8) rotate(216deg);opacity:.7;filter:brightness(1.5) drop-shadow(0 0 25px currentColor) blur(1px)}70%{transform:translate(-160px,-160px) scale(1.2) rotate(288deg);opacity:.5;filter:brightness(1.2) drop-shadow(0 0 30px currentColor) blur(2px)}85%{transform:translate(-200px,-200px) scale(.6) rotate(360deg);opacity:.2;filter:brightness(.8) drop-shadow(0 0 35px currentColor) blur(4px)}95%{transform:translate(-240px,-240px) scale(.2) rotate(432deg);opacity:.05;filter:brightness(.4) drop-shadow(0 0 40px currentColor) blur(8px)}to{transform:translate(-280px,-280px) scale(.01) rotate(500deg);opacity:0;filter:brightness(0) drop-shadow(0 0 0px transparent) blur(15px)}}@keyframes screenShake{0%,to{transform:translate(0)}2%{transform:translate(-5px) rotate(-1deg)}4%{transform:translate(5px) rotate(1deg)}6%{transform:translate(-5px) rotate(-1deg)}8%{transform:translate(5px) rotate(1deg)}10%{transform:translate(-5px) rotate(-1deg)}12%{transform:translate(5px) rotate(1deg)}14%{transform:translate(-5px) rotate(-1deg)}16%{transform:translate(5px) rotate(1deg)}18%{transform:translate(-3px) rotate(-.5deg)}20%{transform:translate(3px) rotate(.5deg)}22%{transform:translate(-2px) rotate(-.3deg)}24%{transform:translate(2px) rotate(.3deg)}26%{transform:translate(-1px) rotate(-.1deg)}28%{transform:translate(1px) rotate(.1deg)}30%{transform:translate(0)}}@keyframes rainbowFlash{0%{background:transparent;box-shadow:inset 0 0 0 0 transparent;filter:blur(0px) brightness(1)}5%{background:#ff000026;box-shadow:inset 0 0 80px #f006;filter:blur(0px) brightness(1.2)}15%{background:#ffa50026;box-shadow:inset 0 0 80px #ffa50066;filter:blur(0px) brightness(1.3)}25%{background:#ffff0026;box-shadow:inset 0 0 80px #ff06;filter:blur(0px) brightness(1.4)}35%{background:#00ff0026;box-shadow:inset 0 0 80px #0f06;filter:blur(0px) brightness(1.3)}45%{background:#0000ff26;box-shadow:inset 0 0 80px #00f6;filter:blur(0px) brightness(1.2)}55%{background:#4b008226;box-shadow:inset 0 0 80px #4b008266;filter:blur(0px) brightness(1.1)}65%{background:#ee82ee26;box-shadow:inset 0 0 80px #ee82ee66;filter:blur(0px) brightness(1)}75%{background:#ff14931a;box-shadow:inset 0 0 60px #ff14934d;filter:blur(1px) brightness(.9)}85%{background:#00ffff14;box-shadow:inset 0 0 40px #00ffff40;filter:blur(2px) brightness(.8)}95%{background:#ffffff08;box-shadow:inset 0 0 20px #ffffff26;filter:blur(4px) brightness(.6)}to{background:transparent;box-shadow:inset 0 0 0 0 transparent;filter:blur(6px) brightness(.4)}}.user-counter.leader{animation:leaderPulse 4s ease-in-out infinite}@keyframes leaderPulse{0%,to{transform:scale(1);border-color:gold}25%{transform:scale(1.02);border-color:#ffed4e}50%{transform:scale(1.05);border-color:gold}75%{transform:scale(1.02);border-color:#ffed4e}}@keyframes poopFall{0%{transform:translateY(-50px) rotate(0);opacity:1}to{transform:translateY(400px) rotate(360deg);opacity:0}}@keyframes crownBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes leaderGlow{0%{text-shadow:1px 1px 2px rgba(255,215,0,.5)}to{text-shadow:2px 2px 8px rgba(255,215,0,.8)}}@keyframes countGlow{0%{text-shadow:0 2px 4px rgba(255,215,0,.3)}to{text-shadow:0 4px 12px rgba(255,215,0,.6)}}.counter-display h2{font-size:1.25rem;margin-bottom:8px;color:var(--text-secondary)}.user-name{font-size:.875rem;color:var(--primary-color);font-weight:600;margin-bottom:16px;padding:4px 12px;background:#4f46e51a;border-radius:var(--border-radius);display:inline-block}.count-value{font-size:4rem;font-weight:900;color:var(--primary-color);margin-bottom:24px;text-shadow:0 2px 4px rgb(79 70 229 / .1)}.increment-btn{background:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius-lg);padding:16px 32px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:var(--transition);min-width:200px;box-shadow:var(--shadow);position:relative;overflow:hidden}.increment-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.increment-btn:active{transform:translateY(0)}.increment-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.increment-btn.updating{animation:pulse 1s infinite}.btn-content{display:flex;align-items:center;justify-content:center;gap:8px}.btn-icon{font-size:1.5rem;font-weight:700}.btn-loading{display:flex;align-items:center;justify-content:center;gap:8px}.last-update{margin-top:16px;font-size:.875rem;color:var(--text-secondary)}.counter-list{background:#fff;border-radius:var(--border-radius-lg);padding:24px;box-shadow:var(--shadow)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.section-header h3{font-size:1.25rem;color:var(--text-primary)}.total-stats{font-size:.875rem;color:var(--text-secondary);background:var(--bg-light);padding:4px 12px;border-radius:var(--border-radius);font-weight:500}.counters-grid{display:flex;flex-direction:column;gap:12px}.counter-wrapper{position:relative}.leader-badge{position:absolute;top:-8px;right:8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:4px 8px;border-radius:var(--border-radius);font-size:.75rem;font-weight:600;z-index:1;box-shadow:var(--shadow)}.counter-item{background:var(--bg-light);border-radius:var(--border-radius);padding:16px;transition:var(--transition);border:1px solid var(--border-color)}.counter-item:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.counter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.username{font-weight:600;color:var(--text-primary)}.counter-badge{background:var(--primary-color);color:#fff;padding:4px 12px;border-radius:20px;font-weight:700;min-width:40px;text-align:center;box-shadow:var(--shadow)}.counter-meta{margin-bottom:12px}.last-update{font-size:.75rem;color:var(--text-secondary)}.counter-visual{height:4px;background:var(--border-color);border-radius:2px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--success-color));border-radius:2px;transition:width .3s ease-in-out}.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary)}.empty-icon{font-size:3rem;margin-bottom:16px}.empty-state p{margin-bottom:8px}.empty-subtitle{font-size:.875rem;opacity:.8}.list-footer{margin-top:20px;padding-top:12px;border-top:1px solid var(--border-color);text-align:center}.update-info{font-size:.875rem;color:var(--text-secondary)}.footer{text-align:center;padding:20px 0;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer p{margin:0}.user-identity{display:flex;align-items:center;justify-content:center;gap:8px}.user-identity span{color:var(--text-secondary);font-size:.875rem}.user-identity strong{color:var(--primary-color);font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.modal{background:#fff;border-radius:var(--border-radius-lg);padding:32px;max-width:400px;width:90%;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}.modal h2{margin:0 0 16px;color:var(--primary-color);text-align:center}.modal p{margin:0 0 24px;color:var(--text-secondary);line-height:1.5}.input-group{margin-bottom:24px}.input-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.input-group input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;transition:var(--transition);box-sizing:border-box}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.input-group input:disabled{opacity:.6;cursor:not-allowed}.input-group input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{margin-top:8px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--border-radius);color:#dc2626;font-size:.875rem;font-weight:500}.existing-users-section{margin:24px 0;padding:20px;background:#f8faff;border-radius:var(--border-radius-lg);border:2px solid #e0e7ff}.existing-users-section h3{margin:0 0 16px;font-size:1rem;color:var(--primary-color);text-align:center}.users-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.user-card{display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.user-card:hover{border-color:var(--primary-color);background:var(--primary-light);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.user-name{font-weight:600;color:var(--text-primary);font-size:1rem}.user-date{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.divider{text-align:center;margin:16px 0;position:relative;color:var(--text-secondary);font-size:.875rem}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e5e7eb;z-index:1}.divider span{background:#f8faff;padding:0 12px;position:relative;z-index:2}.change-name-btn{display:block;width:100%;padding:10px 16px;background:#fff;border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem}.change-name-btn:hover{border-color:var(--primary-color);background:var(--primary-light)}.modal-actions{display:flex;justify-content:center;margin-bottom:16px}.primary-btn{background:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);min-width:140px}.primary-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-note{text-align:center;font-size:.875rem;color:var(--text-secondary);background:var(--bg-light);padding:12px;border-radius:var(--border-radius)}.mode-selector{display:flex;gap:8px;margin-bottom:20px}.mode-btn{flex:1;padding:12px 16px;border:2px solid var(--border-color);background:var(--bg-light);color:var(--text-primary);border-radius:var(--border-radius);font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.mode-btn:hover:not(:disabled){border-color:var(--primary-color);background:var(--primary-light)}.mode-btn.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.mode-btn:disabled{opacity:.6;cursor:not-allowed}.loading,.no-users{text-align:center;padding:20px;color:var(--text-secondary);background:var(--bg-light);border-radius:var(--border-radius);font-size:.875rem}.no-users{border:2px dashed var(--border-color)}select{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;background:#fff;color:var(--text-primary);transition:all .2s ease}select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}select:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:16px}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.mini-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.loading-counters{display:flex;flex-direction:column;gap:12px}.skeleton-counter{height:80px;background:linear-gradient(90deg,var(--bg-light) 25%,#e5e7eb 50%,var(--bg-light) 75%);background-size:200% 100%;border-radius:var(--border-radius);animation:shimmer 1.5s infinite}.error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:16px}.error h1{font-size:3rem}.error button{background:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:var(--transition)}.error button:hover{background:var(--primary-hover)}.error-message{text-align:center;padding:24px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--border-radius);color:var(--error-color)}.error-detail{font-size:.875rem;opacity:.8;margin-top:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 640px){.app{padding:0 12px}.header{flex-direction:column;gap:12px;text-align:center}.header h1{font-size:1.5rem}.user-counter{padding:24px 20px}.count-value{font-size:3rem}.increment-btn{min-width:180px;padding:14px 28px}.counter-list{padding:20px 16px}.section-header{flex-direction:column;gap:8px;align-items:flex-start}}@media (max-width: 480px){.count-value{font-size:2.5rem}.increment-btn{min-width:160px;padding:12px 24px;font-size:1rem}}
