@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-bg-primary: #0a0d14;--color-bg-secondary: #12161f;--color-bg-tertiary: #1a1f2e;--color-bg-glass: rgba(26, 31, 46, .7);--color-gradient-start: #6366f1;--color-gradient-middle: #8b5cf6;--color-gradient-end: #d946ef;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-accent: #8b5cf6;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px rgba(139, 92, 246, .4);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden}body{position:relative;background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 50%,var(--color-bg-primary) 100%)}body:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 50%);animation:rotate 20s linear infinite;pointer-events:none;z-index:0}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.container{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:var(--space-xl);min-height:100vh;display:flex;flex-direction:column}.auth-container{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-xl)}.auth-card{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--space-2xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl)}.auth-card h1{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-middle),var(--color-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-lg);text-align:center}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;margin-bottom:var(--space-xs);color:var(--color-text-secondary);font-size:.875rem;font-weight:500}input[type=text],input[type=email],input[type=password]{width:100%;padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem;font-family:inherit;transition:all var(--transition-normal)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #8b5cf633}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-xl);font-size:1rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width var(--transition-slow),height var(--transition-slow)}.btn:hover:before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-middle));color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-accent)}.btn-block{width:100%}.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:1.125rem}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:.875rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal);font-family:inherit}.btn-icon:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.btn-icon:active{transform:translateY(0)}.btn-icon svg{width:20px;height:20px}.logo-container{display:flex;align-items:center;gap:var(--space-md)}.app-logo{width:40px;height:40px;border-radius:var(--radius-md);object-fit:cover;box-shadow:0 4px 12px #0003}.auth-logo-container{display:flex;justify-content:center;margin-bottom:var(--space-lg)}.auth-logo{width:80px;height:80px;border-radius:var(--radius-lg);object-fit:cover;box-shadow:0 8px 16px #0000004d}.app-header{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(255,255,255,.1)}.header-top{display:flex;justify-content:space-between;align-items:center}.app-header h1{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-middle),var(--color-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:0}.user-info-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.user-email{color:var(--color-text-secondary);font-size:1.125rem;font-weight:700}.user-score-header{color:var(--color-text-secondary);font-size:1.125rem;display:flex;align-items:center;gap:var(--space-xs)}.score-value-header{font-size:1.125rem;font-weight:700;background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.last-update-header{font-size:.875rem;color:var(--color-text-muted);font-weight:400;margin-left:var(--space-xs)}.user-rank-header{font-size:1.125rem;font-weight:700;color:#fbbf24;margin-right:var(--space-sm)}.user-name-header{font-size:1.125rem;font-weight:500;color:var(--color-text-secondary)}.user-score-header-inline{font-size:1.125rem;font-weight:700;background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-left:var(--space-sm)}.user-info-left{display:flex;align-items:center;gap:var(--space-sm)}.leaderboard{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--space-sm);margin-bottom:var(--space-md);box-shadow:var(--shadow-lg)}.leaderboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.leaderboard h2{font-size:1rem;font-weight:700;margin-bottom:0;display:flex;align-items:center;gap:var(--space-xs)}.leaderboard h2:before{content:"🏆";font-size:1.25rem}.leaderboard.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;margin:0;border-radius:0;background:var(--color-bg-secondary);display:flex;flex-direction:column;padding:var(--space-lg)}.leaderboard.fullscreen .leaderboard-list{max-height:none;flex:1;padding-right:var(--space-xs);margin-top:var(--space-md)}@media (min-width: 1024px){.leaderboard.fullscreen{padding:var(--space-2xl)}.leaderboard.fullscreen h2{font-size:2rem;margin-bottom:var(--space-lg)}.leaderboard.fullscreen .leaderboard-item{padding:var(--space-md) var(--space-lg);font-size:1.25rem;margin-bottom:var(--space-xs)}.leaderboard.fullscreen .rank-number{font-size:1.5rem;width:4rem}.leaderboard.fullscreen .user-name-rank{font-size:1.5rem}.leaderboard.fullscreen .user-score{font-size:1.75rem}.leaderboard.fullscreen .leaderboard-header,.leaderboard.fullscreen .leaderboard-list,.leaderboard.fullscreen .leaderboard-date-picker{max-width:800px;width:100%;margin-left:auto;margin-right:auto}}.leaderboard-date-picker{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);margin-top:var(--space-md)}.daily-total-display{font-size:.875rem;font-weight:700;color:var(--color-text-secondary);background:#ffffff0d;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1)}.date-picker-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.date-picker-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent)}.date-picker-btn svg{width:14px;height:14px}.today-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);margin-left:var(--space-xs)}.today-btn svg{width:14px;height:14px}.today-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-accent)}.leaderboard-date-input{position:absolute;opacity:0;pointer-events:none}.leaderboard-list{list-style:none;display:flex;flex-direction:column;gap:0;max-height:200px;overflow-y:auto;padding-right:var(--space-xs)}.leaderboard-list::-webkit-scrollbar{width:8px}.leaderboard-list::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:var(--radius-full)}.leaderboard-list::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:var(--radius-full)}.leaderboard-list::-webkit-scrollbar-thumb:hover{background:var(--color-gradient-middle)}.leaderboard-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-xs);background:transparent;border-radius:var(--radius-md);transition:all var(--transition-fast);border-bottom:1px solid rgba(255,255,255,.05)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item:hover{background:#8b5cf60d}.leaderboard-item.current-user{background:#8b5cf61a;border-color:#8b5cf633}.rank-number{font-size:.75rem;font-weight:700;color:var(--color-text-muted);min-width:1.5rem;text-align:center}.rank-number.top-1{color:#fbbf24}.rank-number.top-2{color:#94a3b8}.rank-number.top-3{color:#cd7f32}.user-name-rank{color:var(--color-text-primary);font-weight:500;font-size:.75rem}.user-score{font-size:.875rem;font-weight:700;background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-width:2rem;text-align:right}.last-update-rank{font-size:.625rem;color:var(--color-text-muted);min-width:3rem;text-align:right}.score-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);padding:var(--space-2xl)}.btn-score{width:200px;height:200px;border-radius:50%;font-size:3rem;font-weight:800;background:var(--color-bg-tertiary);color:var(--color-text-primary);border:4px solid rgba(255,255,255,.1);box-shadow:var(--shadow-xl);cursor:pointer;transition:all var(--transition-normal);position:relative;z-index:1}.btn-score:active{transform:scale(.95)}.hover-enabled .btn-score:hover{transform:scale(1.05);border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.btn-score.animate{animation:flash .3s ease-out}.btn-decrement{width:80px;height:80px;border-radius:50%;font-size:1.5rem;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:all var(--transition-normal)}.hover-enabled .btn-decrement:hover{background:var(--color-bg-secondary);border-color:var(--color-danger);color:var(--color-danger)}.btn-decrement.animate-decrement{animation:flash .3s ease-out}.btn-decrement:active{transform:scale(.95)}.error-message{background:#ef44441a;border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg);text-align:center;font-size:.875rem;display:none}.error-message.show{display:block;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.loading:after{content:"...";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@media (max-width: 768px){.container{padding:var(--space-md)}.auth-card{padding:var(--space-xl)}.app-header h1{font-size:1.5rem}.btn-score{width:160px;height:160px;font-size:2.5rem}.leaderboard{padding:var(--space-md)}}.emoji-particle{position:fixed;pointer-events:none;z-index:9999;font-size:var(--particle-size, 2rem);left:var(--start-x);top:var(--start-y);animation:spectacular-float 5s cubic-bezier(.12,0,.39,0) forwards}@keyframes spectacular-float{0%{opacity:0;transform:translate(0) scale(.5) rotate(0)}10%{opacity:1;transform:translate(var(--mid-x),var(--mid-y)) scale(1.2) rotate(var(--random-rotation-1))}to{opacity:0;transform:translate(var(--end-x),var(--end-y)) scale(1.5) rotate(var(--random-rotation-2))}}.score-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:15rem;font-weight:900;color:var(--color-success);pointer-events:none;z-index:9000;opacity:0;text-shadow:0 0 50px rgba(16,185,129,.4)}.score-popup.plus{color:var(--color-success);text-shadow:0 0 50px rgba(16,185,129,.4)}.score-popup.minus{color:var(--color-danger);text-shadow:0 0 50px rgba(239,68,68,.4)}.score-popup.animate{animation:score-float 5s cubic-bezier(.16,1,.3,1) forwards}.score-popup-slot{display:flex;align-items:center;justify-content:center}.score-slot{display:flex;align-items:center;justify-content:center;gap:.05em;line-height:1em;font-variant-numeric:tabular-nums}.score-slot-window{height:1em;overflow:hidden}.score-slot-reel{display:flex;flex-direction:column;transform:translateY(var(--slot-start, 0));will-change:transform}.score-slot-item{height:1em;display:flex;align-items:center;justify-content:center}.score-slot-reel.roll{animation:slot-roll 4s cubic-bezier(.22,1,.36,1) forwards}@keyframes slot-roll{0%{transform:translateY(var(--slot-start, 0))}to{transform:translateY(var(--slot-end, 0))}}@keyframes score-float{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}30%{opacity:1;transform:translate(-50%,-60%) scale(1.2)}to{opacity:0;transform:translate(-50%,-80%) scale(1.5)}}.flash-effect{animation:flash .3s ease-out}@keyframes flash{0%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(2);transform:scale(.98)}to{filter:brightness(1);transform:scale(1)}}.mb-3{margin-bottom:var(--space-lg)}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-overlay.active{opacity:1;visibility:visible}.app-sidebar{position:fixed;top:0;right:-320px;width:320px;height:100%;background:var(--color-bg-secondary);border-left:1px solid rgba(255,255,255,.1);box-shadow:-10px 0 30px #0000004d;z-index:1001;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1)}.app-sidebar.active{transform:translate(-320px)}.sidebar-header{padding:var(--space-lg);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-user{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-user-name{font-size:1.05rem;font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.sidebar-footer{padding:var(--space-lg);border-top:1px solid rgba(255,255,255,.05)}.date-selector{margin-bottom:var(--space-xl)}.date-selector label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.input-date{width:100%;background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);padding:var(--space-sm) var(--space-md);font-family:inherit;font-size:.9375rem;outline:none;transition:border-color .2s ease}.input-date:focus{border-color:var(--color-accent)}.daily-summary{background:#ffffff08;border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-xl);border:1px solid rgba(255,255,255,.05)}.summary-total{text-align:center;margin-bottom:var(--space-md)}.summary-total .label{display:block;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.summary-total .value{font-size:2.25rem;font-weight:800;background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-end));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.summary-stats{display:flex;justify-content:center;gap:var(--space-xl)}.stat-item{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1.125rem}.stat-item.plus{color:var(--color-success)}.stat-item.minus{color:var(--color-danger)}.stat-item .dot{width:8px;height:8px;border-radius:50%}.stat-item.plus .dot{background:var(--color-success);box-shadow:0 0 8px var(--color-success)}.stat-item.minus .dot{background:var(--color-danger);box-shadow:0 0 8px var(--color-danger)}.logs-container h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-md)}.logs-list{list-style:none;display:flex;flex-direction:column;gap:12px}.log-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:#ffffff05;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.03)}.log-change{font-weight:700;font-size:1rem}.log-change.plus{color:var(--color-success)}.log-change.minus{color:var(--color-danger)}.log-time{font-size:.75rem;color:var(--color-text-muted)}.empty-state{text-align:center;color:var(--color-text-muted);font-size:.875rem;padding:var(--space-xl) 0}.btn-logout{background:#ef444414;color:#ef4444;border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;justify-content:center;width:100%;padding:.875rem;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.btn-logout:hover{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.btn-logout:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.modal-overlay.active{opacity:1;visibility:visible}.confirm-modal{background:var(--color-bg-secondary);width:90%;max-width:400px;padding:2.5rem;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px #0006;text-align:center;transform:scale(.9);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.active .confirm-modal{transform:scale(1)}.modal-icon{width:64px;height:64px;background:#ef44441a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.confirm-modal h3{font-size:1.5rem;margin-bottom:.75rem;color:var(--color-text)}.confirm-modal p{color:var(--color-text-muted);font-size:1rem;line-height:1.5;margin-bottom:2rem}.modal-actions{display:flex;gap:1rem}.modal-actions button{flex:1;padding:.875rem;font-weight:600}.btn-danger{background:#ef4444;color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal)}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}
