*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff1a}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 1.5s ease-in-out infinite}.app-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;overflow-x:hidden;position:relative}.app-container:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23fff' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.main-content{margin:0 auto;max-width:1200px;padding:2rem;position:relative;z-index:1}.glass-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000001a}@media (max-width:768px){.main-content{padding:1rem}}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.header{margin-bottom:2rem;position:relative}.header-content{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;display:flex;justify-content:space-between;padding:2rem}.logo h1{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:2px 2px 4px #0003}.logo .tagline{color:#fffc;font-size:1rem;font-style:italic}.header-stats{display:flex;gap:2rem}.stat-item{background:#ffffff1a;border-radius:12px;min-width:100px;padding:1rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-number{color:#fff;display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#ffffffb3;font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.header-content{flex-direction:column;gap:1.5rem;padding:1.5rem}.logo h1{font-size:2rem}.header-stats{justify-content:space-around;width:100%}.stat-item{min-width:80px;padding:.75rem}.stat-number{font-size:1.5rem}}.todo-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;box-shadow:0 4px 16px #0000001a;margin-bottom:1rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.todo-card:hover{border-color:#ffffff4d;box-shadow:0 8px 24px #00000026;transform:translateY(-2px)}.todo-card.completed{background:#ffffff0d;opacity:.7}.todo-header{justify-content:space-between}.todo-header,.todo-left{align-items:flex-start;display:flex;gap:1rem}.todo-left{flex:1 1}.todo-checkbox{background:#0000;border:2px solid #ffffff4d;border-radius:6px;cursor:pointer;height:24px;margin-top:2px;transition:all .3s ease;width:24px}.todo-checkbox:checked{background:#fff3;border-color:#ffffff80}.todo-title-section{flex:1 1}.todo-title{color:#fff;font-size:1.25rem;font-weight:600;line-height:1.4;margin-bottom:.5rem}.todo-title.completed-text{opacity:.6;text-decoration:line-through}.todo-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.category-badge,.priority-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.due-date{align-items:center;color:#ffffffb3;display:flex;font-size:.875rem;gap:.25rem}.todo-actions{display:flex;gap:.5rem}.action-btn{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .3s ease;width:36px}.action-btn:hover{background:#fff3;transform:scale(1.1)}.edit-btn:hover{background:#3b82f64d}.delete-btn:hover{background:#ef44444d}.todo-body{border-top:1px solid #ffffff1a;margin-top:1rem;padding-top:1rem}.todo-description{color:#ffffffe6;line-height:1.6;margin-bottom:.75rem}.expand-btn{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:.875rem;margin-left:.5rem;text-decoration:underline;transition:color .3s ease}.expand-btn:hover{color:#fff}.todo-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fffc;font-size:.875rem;padding:.25rem .75rem}@media (max-width:768px){.todo-card{padding:1rem}.todo-header{flex-direction:column;gap:1rem}.todo-left{width:100%}.todo-actions{align-self:flex-end}.todo-title{font-size:1.1rem}.todo-meta{gap:.25rem}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #0000001a;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#333;font-size:1.5rem;font-weight:700;margin:0}.close-btn{align-items:center;background:#0000001a;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:all .3s ease;width:32px}.close-btn:hover{background:#0003;transform:rotate(90deg)}.todo-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #0000001a;border-radius:10px;color:#333;font-size:1rem;padding:.75rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #0000001a;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem}.btn{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#0000001a;color:#666}.btn-secondary:hover{background:#0003}@media (max-width:768px){.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn{width:100%}}.footer{margin-top:3rem;padding:2rem;text-align:center}.footer-content{margin:0 auto;max-width:600px}.footer-text{color:#ffffffe6;font-size:1rem;font-weight:500;margin-bottom:.5rem}.footer-subtext{color:#fff9;font-size:.875rem;font-style:italic}@media (max-width:768px){.footer{padding:1.5rem}.footer-text{font-size:.9rem}.footer-subtext{font-size:.8rem}}.loading-container{align-items:center;display:flex;justify-content:center;min-height:50vh}.loading{color:#fff;font-size:1.5rem;font-weight:500}.todo-controls{flex-wrap:wrap;justify-content:space-between;margin-bottom:2rem}.control-left,.todo-controls{align-items:center;display:flex;gap:1rem}.control-left{flex:1 1}.add-todo-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 15px #10b9814d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.add-todo-btn:hover{box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.search-box{flex:1 1;max-width:400px}.search-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.search-input::placeholder{color:#fff9}.search-input:focus{background:#ffffff26;border-color:#fff6;outline:none}.filter-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;display:flex;gap:.5rem;padding:.25rem}.filter-tab{background:#0000;border:none;border-radius:8px;color:#fffc;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.filter-tab:hover{background:#ffffff1a;color:#fff}.filter-tab.active{background:#fff3;color:#fff;font-weight:600}.todo-list{margin-bottom:2rem}.empty-state{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-state p{color:#ffffffb3;font-size:1rem}@media (max-width:768px){.todo-controls{align-items:stretch;flex-direction:column}.control-left{flex-direction:column;width:100%}.search-box{max-width:none}.filter-tabs{justify-content:center;width:100%}.filter-tab{flex:1 1;text-align:center}.empty-state{padding:2rem 1rem}.empty-icon{font-size:3rem}.empty-state h3{font-size:1.25rem}}