:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color: #667eea;--secondary-color: #764ba2;--background-color: #f8f9fa;--font-color: #333;--white: #fff;--light-gray: #e1e5e9;--medium-gray: #6c757d;--danger-color: #e53e3e;--danger-hover-color: #c53030}body,html,#root{width:100%;height:100%;margin:0;padding:0;background-color:var(--background-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a;width:100%}.app-title{margin:0;font-size:1.8rem;font-weight:600}.login-section{display:flex;align-items:center;gap:1rem}.login-section p{margin:0;font-size:.9rem;opacity:.9}.user-controls{display:flex;align-items:center}.user-logged-in span{font-size:.9rem;opacity:.9;margin-right:.5rem}.logout-btn,.login-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--white);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-btn:hover,.login-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.login-buttons{display:flex;align-items:center;gap:.5rem}.login-buttons span{font-size:.9rem;opacity:.9;margin-right:.5rem}.app-content{flex:1;padding:2rem;overflow-y:auto}.todos-container{max-width:700px;margin:0 auto;background:var(--white);padding:2rem;border-radius:8px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem}.todos-container h1,.todos-title{font-size:2rem;font-weight:700;color:var(--font-color);margin-bottom:2rem;text-align:center}.todo-form{display:flex;gap:.5rem;margin-bottom:2rem}.todo-input{flex:1;padding:.75rem 1rem;border:1px solid var(--light-gray);border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.todo-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea40}.add-todo-btn{padding:.75rem 1.5rem;background-color:var(--primary-color);color:var(--white);border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .2s}.add-todo-btn:hover{background-color:#5a6edc;transform:translateY(-1px)}.todo-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}.todo-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#f8f9fa;border-radius:6px;border:1px solid var(--light-gray);transition:background-color .2s}.todo-item:hover{background-color:#f1f3f5}.todo-checkbox{width:20px;height:20px;border-radius:4px;border:1px solid var(--light-gray);cursor:pointer}.todo-text{flex:1;color:var(--font-color);font-size:1rem}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--medium-gray)}.delete-todo-btn{background:none;border:none;color:var(--medium-gray);cursor:pointer;font-size:1.2rem;line-height:1;transition:color .2s}.delete-todo-btn:hover{color:var(--danger-color)}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem;text-align:center}.app-title{font-size:1.5rem}.app-content,.todos-container{padding:1rem}}.user-info{background:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;padding:.5rem 1rem;margin-bottom:1rem;font-size:.9rem;color:#1976d2}.user-info span{font-weight:600}
