*{margin:0;padding:0;box-sizing:border-box}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,#f5f7fa,#e8eaf2,#f1f3f5);min-height:100vh;position:relative}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.3) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(247,248,250,.4) 0%,transparent 50%);pointer-events:none;z-index:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-content{min-height:100vh;transition:filter .3s ease}.app-container{max-width:1200px;margin:0 auto;padding:0 2rem;min-height:100vh;position:relative;z-index:1}.app-content.blurred{filter:blur(5px)}.header{position:relative;top:2rem;display:flex;justify-content:space-between;align-items:center;z-index:2}.header-left{display:flex;align-items:center;gap:1.5rem}.header-right{display:flex;align-items:center;gap:1rem}.header-title{font-size:1.5rem;font-weight:700;color:#374151}.header-greeting{font-size:1rem;font-weight:500;color:#374151}.logout-text-button-desktop{background:none;border:none;color:#ff8000;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem;transition:opacity .2s ease}.logout-text-button-desktop:hover{opacity:.8}.desktop-only{display:block}@media(max-width:768px){.desktop-only{display:none}}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1000}@media(max-width:768px){.mobile-menu-button{display:block}}.hamburger-icon{display:flex;flex-direction:column;gap:5px;width:24px;height:18px}.hamburger-icon span{display:block;width:100%;height:2px;background-color:#374151;border-radius:2px;transition:opacity .3s ease}.mobile-menu-button.open .hamburger-icon span{opacity:.5}.mobile-menu{display:none;position:fixed;inset:0;z-index:999}@media(max-width:768px){.mobile-menu{display:block}}.mobile-menu-overlay{position:absolute;inset:0;background-color:#00000080;animation:fadeIn .3s ease}.mobile-menu-content{position:absolute;top:5rem;right:2rem;background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:1.25rem;padding:1.5rem;box-shadow:0 20px 60px #00000026,0 12px 40px #0000001f,0 6px 20px #00000014,0 3px 10px #0000000a,inset 0 1px #ffffffe6;display:flex;flex-direction:column;gap:1rem;min-width:200px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-name{font-size:1rem;font-weight:500;color:#374151;text-align:center}.mobile-logout-button{background:none;border:none;color:#ff8000;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem;text-align:center;transition:opacity .2s ease}.mobile-logout-button:hover{opacity:.8}.login-link{cursor:pointer;background:linear-gradient(90deg,#11cbdc,#ff8000cc,#11cbdc);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease-in-out infinite;font-weight:600}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.logout-text-button{background:none;border:none;color:#ff8000;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem;display:flex;align-items:center;gap:.25rem;transition:opacity .2s ease}.logout-text-button:hover{opacity:.8}.logout-close{font-size:1.2rem;line-height:1}.btn-cyan,.btn-orange{padding:.75rem 1.5rem;border-radius:.75rem;font-weight:500;color:#fff;border:none;cursor:pointer;transition:all .2s ease-out;font-size:1rem}.btn-cyan{background:linear-gradient(135deg,#001aff45,#11cbdc);box-shadow:0 4px 12px #11cbdc4d}.btn-cyan:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#001aff66,#11cbdc);box-shadow:0 6px 20px #11cbdc66}.btn-cyan:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #11cbdc4d}.btn-orange{background:linear-gradient(135deg,#ff800091,#d72868c2);box-shadow:0 4px 12px #ff80004d}.btn-orange:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#ff8000b3,#d72868e6);box-shadow:0 6px 20px #ff800066}.btn-orange:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #ff80004d}.btn-cyan:disabled,.btn-orange:disabled{opacity:.5;cursor:not-allowed;transform:none}.activity-card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:1.25rem;padding:1.5rem;box-shadow:0 20px 60px #00000026,0 12px 40px #0000001f,0 6px 20px #00000014,0 3px 10px #0000000a,inset 0 1px #ffffffe6;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease,height .3s ease,margin .3s ease;min-height:362px;min-width:362px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.activity-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px #0000002e,0 16px 50px #00000026,0 8px 25px #0000001a,0 4px 12px #0000000f,inset 0 1px #ffffffe6}.activity-card-hidden{opacity:0;transform:scale(.8);pointer-events:none;transition:all .3s ease}.activity-card-expanded{height:auto;min-height:500px;grid-column:1 / -1;transition:all .5s ease}.activity-chart-container{margin-top:1.5rem;margin-bottom:1rem;overflow:visible;padding-bottom:5px}.activity-card-footer{display:flex;justify-content:center;align-items:center;margin-top:1rem}.activity-chart{width:100%}.activity-chart-loading{display:flex;justify-content:center;align-items:center;height:300px;font-size:1rem;color:#6b7280}.chart-title{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:1rem;text-align:center}.pulse-button{border-radius:.75rem;transition:background .3s ease,box-shadow .3s ease,transform .2s ease!important;padding:.75rem 1.5rem!important;font-size:1rem!important;min-width:120px;width:120px;box-sizing:border-box;text-align:center}.pulse-button:hover:not(:disabled):not(.pulse-button-pulsing):not(.pulse-button-cooldown){transform:translateY(-2px)!important}.pulse-button:active:not(:disabled):not(.pulse-button-pulsing):not(.pulse-button-cooldown){transform:translateY(0)!important}.pulse-button-pulsing{background:linear-gradient(135deg,#11cbdccc,#11cbdc)!important;box-shadow:0 4px 12px #11cbdc66!important;transform:none!important;transition:background .3s ease,box-shadow .3s ease,transform .2s ease!important}.pulse-button-cooldown{background:#6b7280!important;box-shadow:0 4px 12px #6b72804d!important;transition:background .3s ease,box-shadow .3s ease,transform .2s ease!important}.pulse-button-cooldown:hover{background:#6b7280!important;box-shadow:0 4px 12px #6b72804d!important;transform:none!important}.activities-container{margin-top:2rem;width:100%}.activities-container .empty-state-container{display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.activities-title{font-size:2rem;font-weight:700;color:#374151;margin-bottom:2rem;text-align:center;width:100%}.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.activity-card-deleting{opacity:0;transform:scale(.8);height:0!important;margin:0!important;padding:0!important;overflow:hidden;pointer-events:none}.activity-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.activity-header-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.activity-name{font-size:1.25rem;font-weight:600;color:#374151;margin:0;max-width:18ch;word-wrap:break-word;word-break:break-word;white-space:normal;overflow-wrap:break-word;line-height:1.4}.activity-date{font-size:.875rem;color:#6b7280}.activity-header-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:.75rem}.activity-delete-button{width:22px;height:22px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff4040e6,#dc2626);color:#fff;font-size:16px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #dc262666;transition:all .2s ease;padding:0;flex-shrink:0;align-self:flex-start;margin-top:0}.activity-delete-button:hover{transform:scale(1.1);background:linear-gradient(135deg,#ff4040,#b91c1c);box-shadow:0 4px 12px #dc262699}.activity-delete-button:active{transform:scale(.95)}.loading-text{text-align:center;color:#6b7280;font-size:1.125rem}.empty-state-container{width:100%;display:flex;flex-direction:column;align-items:center}.empty-state-grid{display:flex!important;justify-content:center!important;align-items:center!important;gap:1.5rem;width:100%;max-width:100%;margin:0 auto;padding:0}.empty-state-grid>*{flex-shrink:0}.empty-state-grid .add-activity-form{margin:0;flex-shrink:0}.empty-state-message{width:100%;text-align:center;padding:2rem;color:#6b7280}.empty-state-message h3{font-size:1.5rem;margin-bottom:.5rem;color:#374151}.empty-state-message p{font-size:1rem}.add-activity-form{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:1.25rem;padding:1.5rem;box-shadow:0 20px 60px #00000026,0 12px 40px #0000001f,0 6px 20px #00000014,0 3px 10px #0000000a,inset 0 1px #ffffffe6;min-height:362px;min-width:362px;max-width:362px;width:362px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.add-activity-form:hover{transform:translateY(-2px);border-color:#9ca3afb3;box-shadow:0 24px 70px #0000002e,0 16px 50px #00000026,0 8px 25px #0000001a,0 4px 12px #0000000f,inset 0 1px #ffffffe6}.activity-limit-message{text-align:center;color:#6b7280;padding:2rem 0}.activity-limit-message p{margin:.5rem 0;font-size:1rem;line-height:1.5}.activity-limit-message p:first-child{font-weight:500;color:#374151}.form-title{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:1rem;text-align:center}.activity-form{display:flex;gap:.75rem;align-items:center}.form-group{flex:1}.activity-input-wrapper{position:relative;width:100%}.activity-input{width:100%;padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease;background:transparent}.activity-input-placeholder{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:.875rem;pointer-events:none;white-space:nowrap}.typing-cursor{display:inline-block;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.activity-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.activity-input:disabled{background-color:#f9fafb;cursor:not-allowed}.add-button{padding:.75rem 1.5rem;border-radius:.75rem;font-size:1rem;min-width:120px;width:120px;box-sizing:border-box;text-align:center}.activity-detail-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.activity-detail-container{background:#fff;border-radius:1rem;padding:2rem;max-width:900px;width:90%;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease-out}.activity-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.activity-detail-title{font-size:2rem;font-weight:700;color:#374151;margin:0}.activity-detail-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s ease}.activity-detail-close:hover{background:#f3f4f6;color:#374151}.activity-detail-content{min-height:400px}.activity-detail-loading{display:flex;justify-content:center;align-items:center;height:400px;font-size:1.125rem;color:#6b7280}.activity-detail-chart{width:100%}.chart-title{font-size:1.5rem;font-weight:600;color:#374151;margin-bottom:1rem;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.delete-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.delete-modal-content{background:#ffffffe6;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.4);border-radius:1.5rem;padding:2rem;max-width:500px;width:90%;box-shadow:0 24px 70px #0000002e,0 16px 50px #00000026,0 8px 25px #0000001a,0 4px 12px #0000000f,inset 0 1px #fffffff2;animation:slideIn .3s ease-out}.delete-modal-title{font-size:1.5rem;font-weight:600;color:#374151;margin:0 0 1rem}.delete-modal-message{font-size:1rem;color:#6b7280;margin:0 0 1.5rem;line-height:1.5}.delete-modal-message strong{color:#374151}.delete-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.delete-modal-cancel,.delete-modal-confirm{padding:.75rem 1.5rem;border-radius:.75rem;font-weight:500;font-size:1rem;cursor:pointer;border:none;transition:all .2s ease}.delete-modal-cancel{background:#f3f4f6;color:#374151}.delete-modal-cancel:hover{background:#e5e7eb}.delete-modal-confirm{background:linear-gradient(135deg,#ff4040e6,#dc2626);color:#fff;box-shadow:0 4px 12px #dc26264d}.delete-modal-confirm:hover{background:linear-gradient(135deg,#ff4040,#b91c1c);box-shadow:0 6px 20px #dc262666;transform:translateY(-1px)}.delete-modal-confirm:active{transform:translateY(0)}
