:root{color-scheme:light dark;--bg:#f5f5f7;--card:#fff;--text:#1c1c1e;--muted:#777;--accent:#007aff;--line:#ddd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px -apple-system,BlinkMacSystemFont,system-ui,sans-serif}header,main{max-width:820px;margin:auto;padding:20px}header{position:relative;padding-top:max(22px,env(safe-area-inset-top))}h1{font-size:36px;margin:6px 0 8px;letter-spacing:-1px}.sub{color:var(--muted);font-size:13px;text-transform:capitalize}.card{background:var(--card);border-radius:16px;padding:16px;margin:12px 0}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:13px}.done{text-decoration:line-through;color:var(--muted)}button,input,textarea{font:inherit}button{border:0;background:var(--accent);color:#fff;border-radius:11px;padding:11px 15px;cursor:pointer}button.small{font-size:13px;padding:7px 10px}button.secondary{background:transparent;color:var(--accent)}button.danger{background:#ff3b30}input,textarea{width:100%;padding:12px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;margin:5px 0 12px}input[type=checkbox]{width:23px;height:23px;accent-color:var(--accent);margin:0;flex:none}label{display:block;margin-top:8px;font-size:14px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding:8px 8px max(10px,env(safe-area-inset-bottom));z-index:10}nav button{background:transparent;color:var(--muted);border-radius:8px;flex:1;max-width:180px;font-size:12px;padding:12px 2px}nav button.active{color:var(--accent);font-weight:700}main{padding-bottom:110px}.empty{color:var(--muted);padding:10px 0}#logout{position:absolute;right:20px;top:30px}dialog{border:0;border-radius:18px;background:var(--card);color:var(--text);width:min(94vw,450px);padding:22px}dialog::backdrop{background:#0007}@media(prefers-color-scheme:dark){:root{--bg:#000;--card:#1c1c1e;--text:#fff;--muted:#aaa;--line:#38383a;--accent:#0a84ff}}@media(min-width:900px){nav{left:0;right:auto;top:0;bottom:0;width:170px;flex-direction:column;justify-content:start;padding-top:110px;border-top:0;border-right:1px solid var(--line)}nav button{flex:none;font-size:15px;text-align:left;padding:15px}header,main{transform:translateX(65px)}}
.calendar-day-row{display:flex;align-items:center;gap:10px;margin:10px 0}.calendar-day-row input{flex:1}.calendar-events{display:grid;gap:10px}.calendar-event{border-left:3px solid #0a84ff;padding:10px 12px;background:var(--card,#fff);border-radius:8px;cursor:pointer}.calendar-event small{display:block;color:#777;margin-top:4px}.calendar-help{font-size:.9rem;opacity:.8;line-height:1.5}.calendar-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.calendar-buttons button{max-width:100%}
