:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;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;min-width:320px;min-height:100vh}#root{width:100%}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}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%}.login-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:360px;padding:2rem}.login-form h2{margin:0 0 .5rem;text-align:center}.login-form input{padding:.6em 1em;border-radius:8px;border:1px solid #444;background:transparent;color:inherit;font-size:1em;font-family:inherit}.login-form button{margin-top:.5rem}.error{color:#ff6b6b;margin:0;text-align:center}.toggle-mode{text-align:center;margin:.5rem 0 0;font-size:.9em;color:#aaa}.link-button{background:none;border:none;color:#646cff;cursor:pointer;padding:0;font-size:inherit;font-family:inherit;text-decoration:underline}.link-button:hover{color:#535bf2;background:none;border:none}.dashboard{width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #333}.dashboard-header h1{font-size:1.8em;margin:0}.header-right{display:flex;align-items:center;gap:1rem}.dashboard-content{display:flex;flex-direction:column;gap:2rem}.card{padding:1.5rem;border-radius:12px;border:1px solid #333}.card h3{margin:0 0 1rem}.card p{margin:.4rem 0}.user-info p{font-size:.95em}.weather-section h3{margin:0 0 1rem}.weather-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.weather-card{padding:1rem;border-radius:12px;border:1px solid #333}.weather-city{font-weight:600;margin-bottom:.5rem}.weather-temp{font-size:1.6em;font-weight:700}.weather-desc{color:#aaa;font-size:.9em;margin:.25rem 0}.weather-wind{color:#888;font-size:.85em}.todo-section h3{margin:0 0 1rem}.todo-form{display:flex;gap:.5rem;margin-bottom:1rem}.todo-form input{flex:1;padding:.6em 1em;border-radius:8px;border:1px solid #444;background:transparent;color:inherit;font-size:1em;font-family:inherit}.todo-list{list-style:none;padding:0;margin:0}.todo-list li{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid #2a2a2a}.todo-list li label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.todo-list li.completed span{text-decoration:line-through;opacity:.5}.todo-list li.empty{color:#888;justify-content:center;border:none}.delete-btn{background:none;border:none;color:#ff6b6b;font-size:1.3em;cursor:pointer;padding:0 .3em;line-height:1}.delete-btn:hover{color:#ff4040;border-color:transparent}@media(prefers-color-scheme:light){.dashboard-header{border-bottom-color:#ddd}.card,.weather-card{border-color:#ddd}.todo-list li{border-bottom-color:#eee}.todo-form input,.login-form input{border-color:#ccc}.weather-desc{color:#666}.weather-wind{color:#888}}
