: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;display:flex;place-items:center;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}}html,body{display:flex;justify-content:center;margin:0;padding:0;height:auto;min-height:100dvh;width:100%;overflow-x:hidden;overflow-y:auto}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100dvh;height:auto;overflow:hidden;transition:background .5s ease,color .5s ease}body.day-theme{background:radial-gradient(circle at center,#eef2f3,#cfd9df);color:#222}body.night-theme{background:radial-gradient(circle at center,#1e1e2f,#0f0f1a);color:#f0f0f0}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:2rem;min-height:calc(100dvh - 4rem);height:calc(100vh - 4rem);box-sizing:border-box;width:100vw}.column{display:flex;flex-direction:column;background:#ffffff0d;border-radius:16px;padding:1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 30px #0000001a;overflow-y:auto;max-height:100%;gap:1rem}.day-theme .column{background:#ffffffa6;color:#222}h2,h3{color:#ffd369;margin-top:0;flex-shrink:0}.day-theme h2,.day-theme h3{color:#333}.card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1rem;box-shadow:0 4px 15px #0000004d;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:transform .2s ease-in-out;flex-shrink:0}.day-theme .card{background:linear-gradient(135deg,#fefefe,#f5f5f7);color:#000}.card:hover{transform:scale(1.02)}.card-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;width:100%}.due-date{font-size:small}.todo-form input{padding:.6rem;border-radius:6px;border:none;outline:none;width:70%}.column-header{z-index:1;background:none;display:flex;justify-content:space-between;align-items:center;font-size:1.5em;font-weight:700}.column-header-text{font-size:1.5em;font-weight:700}.night-theme .column-header-text{color:#ffd369}.day-theme .column-header-text{color:#222}.night-theme .column-header{color:#ffd369}.day-theme .column-header{color:#222}.column-content{display:flex;flex-direction:column;overflow:visible;gap:1rem;overflow-y:auto;flex-grow:1;padding-top:0}.add-task{padding:.3rem .8rem;border:none;border-radius:6px;cursor:pointer;font-weight:700;color:#333}.day-theme .add-task{background-color:#66a6ff}.night-theme .add-task{background-color:#ffd369}.todo-form button:hover{background-color:#ffe49b}.done span{text-decoration:line-through;color:#bbb}button{background:none;color:inherit;border:none;font-size:1.2rem;cursor:pointer}input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:#ffd369}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-auto-rows:auto}.column{height:auto;max-height:unset;overflow-y:visible}body{height:100%;overflow-y:visible}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:999}.modal{background:var(--modal-bg, #fff);color:var(--modal-text, #222);padding:2rem;border-radius:20px;box-shadow:0 8px 30px #0006;width:90%;max-width:400px;animation:slideIn .3s ease-out;display:flex;flex-direction:column;gap:1rem}.night-theme .modal{--modal-bg: #1f1f2e;--modal-text: #f0f0f0}.modal h2{margin:0;font-size:1.5rem}.modal input[type=text],.modal input[type=date]{padding:.6rem;border-radius:8px;border:1px solid #ccc;font-size:1rem}.modal-buttons{display:flex;justify-content:space-between;gap:1rem}.modal button{padding:.6rem 1.2rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;border:none;transition:background .2s ease}.modal .modal-button{background-color:#66a6ff;color:#fff}.modal .modal-button:hover{background-color:#4b8dff}.modal .close-button{align-self:flex-end;background-color:#ccc;color:#222}.modal .close-button:hover{background-color:#aaa}.modal-header{align-items:center;display:flex;font-size:x-large;font-weight:900;flex-direction:row;justify-content:space-between}@keyframes slideIn{0%{opacity:0;transform:translateY(-10%)}to{opacity:1;transform:translateY(0)}}.weather-box{display:flex;flex-direction:column;background:linear-gradient(145deg,#5f2c82,#49a09d);color:#fff;padding:2rem;border-radius:20px;margin-bottom:1.5rem;box-shadow:0 10px 30px #0006;font-family:Segoe UI,sans-serif;text-align:center;animation:fadeIn .6s ease-in-out;justify-content:center}.weather-main{display:flex;flex-direction:row}.day-theme .weather-box{background:linear-gradient(145deg,#a1c4fd,#c2e9fb);color:#222}.weather-desc{display:flex;font-weight:700}.location{font-size:1.75rem;font-weight:600}.weather-group{display:flex;flex-direction:column;align-items:flex-start}.hourly-weather{display:flex;gap:1rem;overflow-x:auto;padding:.5rem;width:100%;scrollbar-width:none;-ms-overflow-style:none}.hourly-weather::-webkit-scrollbar{display:none}.hour-card{background:#ffffff0f;border-radius:18px;padding:.75rem;display:flex;flex-direction:column;align-items:center;flex:1 1 auto;min-width:60px;max-width:100px;transition:background .3s ease;text-align:center;box-shadow:0 4px 12px #0003;max-height:150px;box-sizing:border-box}.hour-icon{height:60px;width:60px}.day-theme .hour-card{background:#0000000f}.hour-card:hover{background:#ffffff26}.weather-icon img{width:32px;height:32px;margin-bottom:.5rem}.hour-time{font-size:.75rem;font-weight:500;margin-bottom:.2rem;color:#f1f1f1;white-space:nowrap}.hour-temp{font-size:1rem;font-weight:600;margin-bottom:.1rem;color:#fff}.hour-time-day{font-size:.75rem;font-weight:500;margin-bottom:.2rem;color:#222;white-space:nowrap}.hour-temp-day{font-size:1rem;font-weight:600;margin-bottom:.1rem;color:#222}.hour-pop{font-size:.7rem;color:#a4d7f5}.hour-pop-day{font-size:.7rem;color:#222}.weather-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between}
