:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{margin:0}@font-face{font-family:Cafe24Surround;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2105_2@1.0/Cafe24Ssurround.woff)format("woff");font-weight:400;font-display:swap}@font-face{font-family:OmuDaye;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2304-01@1.0/omyu_pretty.woff2)format("woff2");font-weight:400;font-display:swap}:root{--bg:#fff;--surface:#fff;--text:#3a3a3a;--muted:#9a9a9a;--accent:#f5a8c4;--accent-soft:#fdedf3;--border:#f3d9e4;--font-display:"Cafe24Surround", sans-serif;--font-body:"OmuDaye", sans-serif;--font-number:"OmuDaye", sans-serif}:root[data-theme=dark]{--bg:#34292f;--surface:#3e323a;--text:#f5ecef;--muted:#bea1ac;--accent:#f5a8c4;--accent-soft:#4a3941;--border:#4d3d45}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0;transition:background-color .2s,color .2s}.page{flex-direction:column;max-width:54rem;min-height:100vh;margin:0 auto;padding:0 1.5rem;display:flex}h1{text-wrap:balance;margin:0}.font-display,.eyebrow,h1,nav{font-family:var(--font-display)}.font-number{font-family:var(--font-number)}.site-header{border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;padding:1.75rem 0;display:flex}.site-nav{color:var(--muted);align-items:center;gap:2rem;font-size:.95rem;display:flex}.nav-link{color:inherit;text-decoration:none}.nav-user{color:var(--muted)}.nav-link:hover{opacity:.7}.nav-link.active{color:var(--accent)}#theme-toggle{background:var(--accent-soft);color:var(--text);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.1rem;line-height:1;display:inline-flex}#theme-toggle:hover{opacity:.8}.hero{text-align:center;padding:3.5rem 0 4rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:1rem;font-size:.8rem}.hero h1{font-size:2.2rem}@media (width>=768px){.hero h1{font-size:2.75rem}}.content{flex:1;padding-bottom:6rem}.todo-layout{align-items:flex-start;gap:1.5rem;display:flex}.todo-main{flex:1;min-width:0}.memo-pad{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;flex-direction:column;flex-shrink:0;width:15rem;padding:1.25rem;display:flex}.memo-heading{font-family:var(--font-number);margin:0 0 .75rem;font-size:1.05rem;font-weight:400}.memo-textarea{resize:vertical;height:20rem;color:var(--text);font-size:.95rem;font-family:var(--font-number);background:0 0;border:none;line-height:1.6}.memo-textarea::placeholder{color:var(--muted)}.memo-textarea:focus{outline:none}@media (width<=700px){.todo-layout{flex-direction:column-reverse}.memo-pad{width:100%}.memo-textarea{height:10rem}}.calendar{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;margin-bottom:2rem;padding:1.25rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.calendar-title{font-family:var(--font-number);align-items:center;gap:.75rem;font-size:1.2rem;display:flex}.today-btn{background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-family:var(--font-body);cursor:pointer;border:none;border-radius:9999px;padding:.2rem .7rem}.today-btn:hover{opacity:.8}.calendar-nav-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;width:2rem;height:2rem;font-size:1.4rem;line-height:1}.calendar-nav-btn:hover{background:var(--accent-soft);color:var(--accent)}.calendar-weekdays{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);margin-bottom:.5rem;font-size:.85rem;display:grid}.calendar-grid{flex-direction:column;gap:.25rem;display:flex}.calendar-week{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.calendar-day{aspect-ratio:1;color:var(--text);font-size:.95rem;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex;position:relative}.calendar-day:hover{background:var(--accent-soft)}.calendar-day.outside{color:var(--muted);opacity:.5}.calendar-day.today .calendar-day-number{color:var(--accent);font-weight:700}.calendar-day.selected{background:var(--accent);color:#fff}.calendar-day.selected .calendar-day-number{color:#fff}.calendar-day-dot{background:var(--accent);border-radius:9999px;width:5px;height:5px}.calendar-day.selected .calendar-day-dot{background:#fff}.selected-date-label{font-family:var(--font-number);margin:0 0 1rem;font-size:1.2rem;font-weight:400}.todo-form{gap:.75rem;margin-bottom:2rem;display:flex}#todo-input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:1rem;font-family:var(--font-number);border-radius:.5rem;flex:1;padding:.75rem 1rem}#todo-input::placeholder{color:var(--muted)}#todo-input:focus{border-color:var(--accent);outline:none}#add-btn{background:var(--accent);color:#fff;text-shadow:0 1px 1px #0000001f;cursor:pointer;font-size:1rem;font-weight:500;font-family:var(--font-body);border:none;border-radius:.5rem;padding:.75rem 1.25rem}#add-btn:hover{opacity:.85}#remaining-count{color:var(--muted);margin:0 0 1rem;font-size:.95rem}#todo-list,.todo-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.home-list{flex-direction:column;gap:2rem;display:flex}.home-date-heading{font-family:var(--font-number);margin:0 0 1rem;font-size:1.2rem;font-weight:400}.home-past-section{border-bottom:1px solid var(--border);flex-direction:column;gap:2rem;padding-bottom:1.5rem;display:flex}.load-past-btn{background:var(--accent-soft);color:var(--accent);font-size:.9rem;font-family:var(--font-body);cursor:pointer;border:none;border-radius:9999px;align-self:center;padding:.5rem 1.25rem}.load-past-btn:hover{opacity:.85}.todo-item{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.todo-text{text-align:left;flex:1;font-size:1.05rem}.todo-item.done .todo-text{color:#9ca3af;opacity:.7;text-decoration:line-through}.todo-actions{flex-shrink:0;gap:.5rem;display:flex}.complete-btn,.delete-btn{color:var(--muted);cursor:pointer;font-size:.95rem;font-family:var(--font-body);background:0 0;border:none;flex-shrink:0;transition:color .15s}.complete-btn:hover,.delete-btn:hover,.todo-item.done .complete-btn{color:var(--accent)}#empty-msg{color:var(--muted);text-align:center;padding:2.5rem 0;font-size:.95rem}.auth-box{max-width:22rem;margin:0 auto}.auth-tabs{gap:.5rem;margin-bottom:1.5rem;display:flex}.auth-tab{background:var(--accent-soft);color:var(--muted);font-size:.9rem;font-family:var(--font-number);cursor:pointer;border:none;border-radius:.5rem;flex:1;padding:.6rem}.auth-tab.active{background:var(--accent);color:#fff}.auth-form{flex-direction:column;gap:.75rem;display:flex}.auth-form input:not([type=checkbox]){background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:1rem;font-family:var(--font-number);border-radius:.5rem;padding:.75rem 1rem}.auth-form input:not([type=checkbox])::placeholder{color:var(--muted)}.auth-form input:not([type=checkbox]):focus{border-color:var(--accent);outline:none}.auth-form button[type=submit]{background:var(--accent);color:#fff;text-shadow:0 1px 1px #0000001f;cursor:pointer;font-size:1rem;font-weight:500;font-family:var(--font-number);border:none;border-radius:.5rem;padding:.75rem 1.25rem}.auth-form button[type=submit]:hover{opacity:.85}.auth-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-remember{color:var(--muted);font-size:.85rem;font-family:var(--font-number);cursor:pointer;align-items:center;gap:.4rem;display:flex}.auth-remember input{accent-color:var(--accent);cursor:pointer}.auth-error{color:var(--accent);font-size:.85rem;font-family:var(--font-number);margin:0}.site-footer{border-top:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);justify-content:center;align-items:center;padding:2rem 0;font-size:.8rem;display:flex}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
