*,:before,:after{box-sizing:border-box}html{max-width:100%;overflow-x:hidden}:root{--bg:#060c1f;--surface:#0c0f30d1;--card-item:#ffffff0f;--input-bg:#ffffff0d;--green-dark:#d4785a;--green-light:#e8a48c;--yellow:#ffd166;--purple:#8b5cf6;--cream:#f5f0e8;--brown:#f0f4ff;--border:#8c5aff33;--white:#fff}.aurora{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.aurora:before{content:"";filter:blur(50px);background:radial-gradient(#6432dc26 0%,#b450a00f 40%,#0000 70%);width:700px;height:450px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.aurora:after{content:"";filter:blur(55px);background:radial-gradient(#d4785a17 0%,#0000 70%);width:450px;height:350px;position:absolute;bottom:5%;right:0%}body{background-color:var(--bg);max-width:100%;min-height:100vh;margin:0;font-family:Nunito,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;will-change:opacity;background-image:radial-gradient(circle at 2% 4%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 8% 11%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 14% 3%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 21% 8%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 28% 13%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 35% 5%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 42% 10%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 49% 3%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 56% 8%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 63% 13%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 70% 5%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 77% 10%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 84% 4%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 91% 9%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 97% 13%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 5% 14%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 12% 7%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 19% 12%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 26% 4%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 33% 9%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 40% 14%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 47% 6%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 54% 11%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 61% 4%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 68% 9%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 75% 14%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 82% 6%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 89% 11%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 95% 4%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 3% 20%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 9% 26%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 16% 21%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 23% 28%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 30% 19%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 37% 25%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 44% 30%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 51% 22%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 58% 28%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 65% 20%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 72% 26%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 79% 21%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 86% 29%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 93% 19%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 6% 32%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 13% 25%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 20% 32%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 27% 18%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 34% 25%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 41% 32%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 48% 19%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 55% 26%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 62% 32%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 69% 19%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 76% 25%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 83% 32%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 90% 19%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 97% 26%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 1% 42%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 7% 48%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 14% 40%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 21% 46%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 28% 52%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 35% 41%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 42% 47%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 49% 42%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 56% 48%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 63% 40%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 70% 46%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 77% 52%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 84% 42%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 91% 48%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 98% 40%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 4% 60%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 11% 67%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 18% 62%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 25% 69%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 32% 61%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 39% 68%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 46% 62%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 53% 69%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 60% 62%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 67% 68%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 74% 62%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 81% 69%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 88% 62%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 95% 68%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 2% 76%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 9% 73%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 16% 79%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 23% 74%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 30% 79%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 37% 73%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 44% 79%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 51% 74%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 58% 79%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 65% 73%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 72% 79%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 79% 73%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 86% 79%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 93% 74%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 5% 86%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 12% 91%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 19% 85%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 26% 92%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 33% 87%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 40% 93%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 47% 86%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 54% 92%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 61% 86%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 68% 93%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 75% 87%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 82% 93%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 89% 87%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 96% 92%,#ffffff73 0 1px,#0000 1.5px);background-repeat:no-repeat;background-size:100% 100%;animation:6s ease-in-out infinite alternate twinkle1;position:fixed;inset:0}body:after{content:"";pointer-events:none;will-change:opacity;background-image:radial-gradient(circle at 11% 6%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 33% 18%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 67% 3%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 89% 12%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 22% 35%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 78% 29%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 45% 49%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 11% 63%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 67% 57%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 89% 71%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 33% 82%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 55% 91%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 78% 77%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 22% 89%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 4% 45%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 96% 39%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 56% 21%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 44% 74%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 8% 83%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 91% 59%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 28% 59%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px);background-repeat:no-repeat;background-size:100% 100%;animation:4s ease-in-out 1s infinite alternate twinkle2;position:fixed;inset:0}@keyframes twinkle1{0%{opacity:.65}to{opacity:1}}@keyframes twinkle2{0%{opacity:1}to{opacity:.3}}.page-bg{background:0 0;width:100%;min-height:calc(100vh - 60px);overflow-x:hidden}.grocery-title,.recipe-title,.meal-title,.feedback-title,.todo-title,.restaurant-title,.home-title{letter-spacing:-.01em;font-family:DM Serif Display,serif;font-weight:400}.grocery-title,.recipe-title,.meal-title,.feedback-title,.todo-title,.restaurant-title,.notes-heading,.day-name,.cuisine-count,.recipe-category,.detail-label,.form-title{color:var(--brown)!important}.grocery-container,.recipe-container,.meal-container,.feedback-container,.todo-container,.home-card{-webkit-backdrop-filter:blur(24px);background:var(--surface)!important;border:1px solid var(--border)!important;box-shadow:0 8px 48px #00000080,inset 0 1px #b48cff1f,0 0 40px #6432c81a!important}.music-note,.item-priority,.priority-btn.selected{text-shadow:0 0 10px #d4785a80}.add-button,.submit-button,.add-recipe-button,.post-button{box-shadow:0 4px 20px #d4785a40!important}.add-button,.todo-add-btn,.submit-button,.add-recipe-button,.post-button,.picker-freetext-btn{letter-spacing:.01em;font-weight:800;border-radius:100px!important}.add-input,.todo-input,.form-input,.note-input,.picker-freetext-input,.edit-input{border:1px solid #ffffff1f!important;border-radius:14px!important}.category-tab,.todo-filter-btn,.assignee-btn,.back-button{border-radius:100px!important}.cuisine-tile{border-radius:20px!important}@media (width<=768px){body:before{opacity:.75;background-image:radial-gradient(circle at 8% 11%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 28% 13%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 63% 13%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 86% 29%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 22% 35%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 75% 14%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 44% 47%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 9% 73%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 67% 68%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 39% 68%,#ffffffbf 0 1px,#0000 1.5px),radial-gradient(circle at 86% 79%,#ffffff73 0 1px,#0000 1.5px),radial-gradient(circle at 12% 91%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 54% 92%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 30% 79%,#fff9 0 1px,#0000 1.5px),radial-gradient(circle at 93% 48%,#ffffff73 0 1px,#0000 1.5px);animation:none}body:after{opacity:.55;background-image:radial-gradient(circle at 11% 6%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 67% 3%,#fffffff2 0,#ffffffb3 1.5px,#ffffff1f 4px,#0000 7px),radial-gradient(circle at 33% 18%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 89% 12%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 45% 49%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 78% 77%,#ffffffd9 0,#fff9 1.5px,#ffffff1a 4px,#0000 7px),radial-gradient(circle at 22% 89%,#ffffffe6 0,#ffffffa6 1.5px,#ffffff1f 4px,#0000 7px);animation:none}.aurora:before,.aurora:after{filter:none;opacity:.7}.grocery-container,.recipe-container,.meal-container,.feedback-container,.todo-container,.home-card{-webkit-backdrop-filter:none!important;background:#0c0f30ed!important}.music-bar{-webkit-backdrop-filter:none;background:#0c0f30ed}}.navbar{-webkit-backdrop-filter:blur(24px);z-index:10;background:#060c1fd1;border-bottom:1px solid #7850ff26;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 24px #5028b41f}.navbar-brand{color:var(--cream);font-size:1.8rem;line-height:1;text-decoration:none}.hamburger{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;gap:5px;padding:6px;transition:background .2s;display:flex}.hamburger:hover{background:#ffffff26}.hamburger span{background:var(--cream);border-radius:2px;width:24px;height:2px;display:block}.sidebar-overlay{z-index:100;background:#00000059;position:fixed;inset:0}.sidebar{-webkit-backdrop-filter:blur(32px);z-index:101;background:#060c1fe6;border-right:1px solid #7850ff1f;flex-direction:column;width:280px;max-width:85vw;height:100vh;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:8px 0 48px #00000080}.sidebar.sidebar-open{transform:translate(0)}.sidebar-header{background:0 0;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.sidebar-title{color:var(--brown);letter-spacing:.02em;font-size:1.1rem;font-weight:800}.sidebar-close{color:var(--cream);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:1.1rem;transition:background .2s}.sidebar-close:hover{background:#fff3}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex}.sidebar-link{color:var(--brown);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:flex}.sidebar-link:hover{background:#ffffff14}.sidebar-link.active{background:var(--green-dark);color:var(--white)}.sidebar-logout{border:2px solid var(--border);color:var(--brown);cursor:pointer;background:0 0;border-radius:12px;margin:16px;padding:12px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s}.sidebar-logout:hover{color:#c87070;border-color:#c87070}.login-container{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--white);border:2px solid var(--border);border-radius:20px;width:100%;max-width:380px;padding:40px;box-shadow:0 4px 24px #4a7c3f1a}.login-title{color:var(--green-dark);text-align:center;letter-spacing:.05em;margin:0 0 4px;font-size:2.2rem;font-weight:800}.login-subtitle{color:#a0a0a0;text-align:center;margin:0 0 28px;font-size:.95rem}.login-form{flex-direction:column;gap:12px;display:flex}.login-input{border:2px solid var(--border);background:var(--cream);color:var(--brown);border-radius:12px;outline:none;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s}.login-input:focus{border-color:var(--green-dark);background:var(--white)}.login-button{background:var(--green-dark);color:var(--white);cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:12px;font-family:inherit;font-size:1rem;font-weight:700;transition:background .2s}.login-button:hover{background:var(--green-light)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#c87070;text-align:center;margin:0;font-size:.9rem}
