.seasonal-effects{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;transition:background-color .5s ease}.seasonal-effects.night{background:linear-gradient(to bottom,#1a1a2e,#16213e)}.moon{position:absolute;top:50px;right:50px;width:80px;height:80px;background:#f5f5f5;border-radius:50%;box-shadow:0 0 50px #f5f5f5;animation:moonGlow 4s infinite}.stars{position:absolute;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='2'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23fff'/%3E%3C/svg%3E");animation:twinkle 4s infinite}.seasonal-effects.sunrise{background:linear-gradient(to bottom,#ff6b6b,#ffd93d)}.sunrise .sun{position:absolute;bottom:0;left:50%;width:100px;height:100px;background:gold;border-radius:50%;transform:translate(-50%);animation:sunrise 2s ease-out}.seasonal-effects.day{background:linear-gradient(to bottom,#87ceeb,#e0f6ff)}.day .sun{position:absolute;top:50px;right:50px;width:100px;height:100px;background:gold;border-radius:50%;box-shadow:0 0 50px gold}.seasonal-effects.sunset{background:linear-gradient(to bottom,#ff6b6b,#ff8c42)}.sunset .sun{position:absolute;bottom:0;left:50%;width:100px;height:100px;background:#ff8c42;border-radius:50%;transform:translate(-50%);animation:sunset 2s ease-in}.sun-rays{position:absolute;width:100%;height:100%;animation:rotate 20s linear infinite}.sun-rays:before,.sun-rays:after{content:"";position:absolute;top:50%;left:50%;width:200%;height:2px;background:#ffffff80;transform-origin:center}.sun-rays:before{transform:rotate(45deg)}.sun-rays:after{transform:rotate(-45deg)}.rain{position:absolute;width:100%;height:100%}.raindrop{position:absolute;width:2px;height:20px;background:#ffffff80;animation:rain 1s linear infinite}.snow{position:absolute;width:100%;height:100%}.snowflake{position:absolute;width:10px;height:10px;background:#fff;border-radius:50%;animation:snow 3s linear infinite}@keyframes moonGlow{0%,to{box-shadow:0 0 50px #f5f5f5}50%{box-shadow:0 0 100px #f5f5f5}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes sunrise{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes sunset{0%{transform:translate(-50%)}to{transform:translate(-50%,100%)}}@keyframes rain{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes snow{0%{transform:translateY(-100%) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100%) rotate(360deg);opacity:0}}.calendar-container{position:fixed;right:20px;top:20px;width:300px;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.calendar-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.calendar-modal-content{width:90%;max-width:800px;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;position:relative}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.close-button{background:none;border:none;font-size:2rem;cursor:pointer;color:inherit;padding:.5rem;line-height:1}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:2rem}.calendar-day-header{text-align:center;font-weight:700;padding:.5rem;font-size:.9rem}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative}.calendar-day:hover{transform:scale(1.1)}.calendar-day.empty{background:transparent}.calendar-day.holiday,.calendar-day.has-reminder{position:relative}.reminder-dot{position:absolute;bottom:4px;width:6px;height:6px;background:currentColor;border-radius:50%}.holiday-name{font-size:.7rem;text-align:center;margin-top:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.reminder-form{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.reminder-form h4{margin-bottom:1rem}.reminder-form form{display:flex;gap:1rem;flex-wrap:wrap}.reminder-form input{flex:1;min-width:200px;padding:.5rem;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:inherit}.reminder-form button{padding:.5rem 1rem;border-radius:4px;border:none;background:#fff3;color:inherit;cursor:pointer;transition:all .3s ease}.reminder-form button:hover{background:#ffffff4d}.settings-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.settings-content{position:relative;background:#1e1e1ef2;border-radius:8px;padding:2rem;width:90%;max-width:600px;box-shadow:0 0 20px #00000080;overflow:hidden}.factory-theme{background:linear-gradient(135deg,#2c3e50,#1a1a1a);border:2px solid #34495e}.factory-theme:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0px,rgba(255,255,255,.05) 1px,transparent 1px,transparent 10px);pointer-events:none}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #34495e}.settings-header h2{margin:0;color:#ecf0f1;font-size:1.8rem;text-transform:uppercase;letter-spacing:2px}.close-button{background:none;border:none;color:#ecf0f1;font-size:2rem;cursor:pointer;transition:transform .3s ease}.close-button:hover{transform:rotate(90deg)}.settings-section{margin-bottom:2rem}.settings-section h3{color:#ecf0f1;margin-bottom:1rem;font-size:1.2rem;text-transform:uppercase;letter-spacing:1px}.settings-grid{display:grid;gap:1.5rem}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#ffffff0d;border-radius:4px;transition:background .3s ease}.setting-item:hover{background:#ffffff1a}.setting-item label{color:#ecf0f1;font-size:1rem}.toggle-button{background:#34495e;border:none;padding:.5rem 1rem;border-radius:4px;color:#ecf0f1;cursor:pointer;transition:all .3s ease}.toggle-button.active{background:#2ecc71}.season-select,.mode-select{background:#34495e;border:1px solid #2c3e50;color:#ecf0f1;padding:.5rem;border-radius:4px;cursor:pointer;transition:all .3s ease}.season-select:hover,.mode-select:hover{background:#2c3e50}.logout-button{background:#e74c3c;border:none;padding:.5rem 1rem;border-radius:4px;color:#ecf0f1;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:#c0392b}.factory-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}.steam-pipe{position:absolute;width:2px;height:100px;background:linear-gradient(to top,rgba(255,255,255,.1),transparent);animation:steam 3s infinite}.steam-pipe:nth-child(1){left:20%;animation-delay:0s}.steam-pipe:nth-child(2){left:50%;animation-delay:1s}.steam-pipe:nth-child(3){left:80%;animation-delay:2s}.gear{position:absolute;width:40px;height:40px;background:#ffffff1a;border-radius:50%;animation:rotate 10s linear infinite}.gear:nth-child(4){top:10%;right:10%}.gear:nth-child(5){bottom:10%;left:10%;animation-direction:reverse}@keyframes steam{0%{transform:translateY(0) scaleY(1);opacity:0}50%{opacity:.5}to{transform:translateY(-100px) scaleY(0);opacity:0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bottom-panel{position:fixed;bottom:0;left:0;right:0;height:120px;z-index:100;transition:all .3s ease}.panel-content{max-width:1200px;margin:0 auto;padding:1rem;display:flex;justify-content:space-between;align-items:center}.panel-section{flex:1;padding:0 1rem}.panel-section h3{margin:0 0 .5rem;font-size:1rem;font-weight:500}.action-buttons{display:flex;gap:1rem}.glass-button{padding:.5rem 1rem;border:none;border-radius:20px;background:#ffffff1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:inherit;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.glass-button:hover{background:#fff3;transform:translateY(-2px)}.overview-stats{display:flex;gap:2rem}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.stat-label{font-size:.8rem;opacity:.8}.connect-buttons{display:flex;gap:1rem}.connect-button{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.github-icon,.portfolio-icon{font-size:1.2rem}.app{min-height:100vh;padding:20px;transition:background-color .3s ease}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.mode-selector{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;border-radius:8px}.mode-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .3s ease}.mode-button:hover{transform:translateY(-2px)}.todo-list{max-width:800px;margin:0 auto;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.todo-form{display:flex;gap:1rem;margin-bottom:2rem}.todo-form input{flex:1;padding:.5rem;border-radius:4px;font-size:1rem}.todo-form button{padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .3s ease}.todo-form button:hover{transform:translateY(-2px)}.todos-container{display:flex;flex-direction:column;gap:1rem}.todo-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:4px;transition:all .3s ease}.todo-item:hover{transform:translate(4px)}.todo-content{display:flex;align-items:center;gap:1rem}.delete-button{padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .3s ease}.delete-button:hover{transform:translateY(-2px)}.auth-container{display:flex;align-items:center;gap:1rem}.git-login-btn{padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .3s ease}.user-info{display:flex;align-items:center;gap:1rem}.avatar{width:32px;height:32px;border-radius:50%}
