:root{color-scheme:light;--bg:#f4f7fa;--surface:#fff;--text:#172838;--muted:#5c6f7e;--line:#dce5ec;--accent:#1368da;--soft:#eaf2ff;--red:#b32d38;--green:#237a45;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}*{box-sizing:border-box}html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{margin:0;width:100%;min-width:0;overflow-x:hidden;background:var(--bg);color:var(--text)}main{max-width:720px;margin:auto;padding:calc(12px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom))}.topbar,.summary,.month-bar,.section-title,.dialog-head,.task-top,.row{display:flex;align-items:center}.topbar,.summary,.section-title,.dialog-head,.task-top{justify-content:space-between}.topbar{margin-bottom:10px}.eyebrow{font-size:.67rem;font-weight:700;letter-spacing:.12em;color:var(--muted)}h1{font-size:1.75rem;letter-spacing:-.045em;margin:1px 0}h1 span{color:var(--accent);margin-left:3px}h2{font-size:1rem;margin:0}.badge{font-size:.73rem;color:var(--muted);border:1px solid var(--line);padding:4px 8px;border-radius:999px}.row{gap:6px}button,input,select,textarea{font:inherit}button{touch-action:manipulation;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:9px;min-height:36px;padding:6px 10px;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.5}.icon{width:36px;padding:0;font-size:1.15rem}.small{min-height:32px;padding:4px 8px;font-size:.8rem}.primary{background:var(--accent);color:#fff;border:0;font-weight:650;min-height:42px;width:100%}.link{background:transparent;border:0;color:var(--accent);padding:3px 5px;min-height:30px}.panel,.calendar,.task{background:var(--surface);border:1px solid var(--line);border-radius:13px}.login{padding:16px;max-width:430px;margin:32px auto}.login h2{font-size:1.25rem}.login>p{margin:6px 0 12px}.summary{min-height:32px;margin:2px 2px 7px;color:var(--muted);font-size:.82rem}.calendar{padding:10px}.month-bar{gap:6px;margin-bottom:8px}.month-bar h2{text-transform:capitalize;text-align:center;flex:1}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekdays{font-size:.65rem;color:var(--muted);text-align:center;margin-bottom:3px}.day{min-height:35px;padding:4px 0;border:0;border-radius:8px;position:relative;background:transparent}.day.today{box-shadow:inset 0 0 0 1px var(--accent)}.day.selected{background:var(--accent);color:#fff}.day.has-tasks:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);position:absolute;bottom:3px;left:calc(50% - 2px)}.day.selected:after{background:#fff}.filters{display:flex;gap:4px;overflow:auto;margin:9px 0}.filters button{white-space:nowrap;min-height:32px;background:transparent;border-color:transparent;font-size:.79rem}.filters .active{background:var(--text);color:var(--surface)}.section-title{margin:8px 2px 7px}#tasks{display:grid;gap:7px}.task{border-left:3px solid var(--accent);padding:10px 11px}.task.history{border-left-color:var(--green)}.task.deleted{border-left-color:var(--muted);opacity:.82}.task h3{font-size:.95rem;margin:0;font-weight:650;overflow-wrap:anywhere}.status{font-size:.68rem;border-radius:999px;padding:3px 7px;background:#e8f6ed;color:var(--green);white-space:nowrap;margin-left:8px}.status.deleted{background:var(--bg);color:var(--muted)}.meta,.hint{font-size:.77rem;color:var(--muted);line-height:1.35}.meta{margin-top:3px}.notes{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:.88rem}.overdue{color:var(--red)}.actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.actions button{font-size:.76rem;min-height:31px;padding:4px 8px}.actions .done{color:var(--green)}.actions .delete{color:var(--red)}.empty{padding:22px 14px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.add{margin-top:9px}.hint{margin:8px 0}.error{color:var(--red);font-size:.8rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}label{display:block;font-size:.78rem;margin-bottom:8px}input,textarea,select{display:block;width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:8px 9px;border-radius:8px;margin-top:3px;min-height:38px;font-size:16px}textarea{resize:vertical}.check-row{margin:2px 0 7px}.check{display:flex;align-items:center;gap:7px;margin:0}.check input{width:18px;height:18px;min-height:18px;margin:0}dialog{color:var(--text);background:var(--surface);width:calc(100% - 20px);max-width:520px;max-height:92dvh;padding:14px;border:1px solid var(--line);border-radius:15px;margin:auto;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#10233388}.dialog-head{gap:10px;margin-bottom:10px}.snooze-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.snooze-grid button{min-height:42px}.task .overdue{color:var(--red)}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:600px){dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}}@media(max-width:400px){main{padding-left:8px;padding-right:8px}.calendar{padding:8px}.day{min-height:33px}.two{grid-template-columns:1fr 1fr;gap:6px}.actions button{padding-left:7px;padding-right:7px}.topbar h1{font-size:1.55rem}}@media(max-width:330px){.two{grid-template-columns:1fr}.month-bar .small{display:none}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#101922;--surface:#1a2733;--text:#e6eef6;--muted:#a8bacb;--line:#344555;--accent:#4d9aff;--soft:#213c59;--red:#ff929c;--green:#7fd49b}.status{background:#193a29}.primary{color:#071c32}}
