:root{--bg:#fafafa;--card:#fff;--fg:#222;--muted:#666;--line:#e3e3e3;--ring:#888;--accent:#335;--on-accent:#fff;--offline-bg:#fff4d6;--offline-fg:#6a4b00;--done-bg:#eef8ee;--done:#3a3;--late-bg:#fdecec;--late-line:#e99;--late:#d33;--event-bg:#eef3fb;--tag-bg:#e6e6f8;--tag-fg:#446;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15151c;--card:#20202a;--fg:#eee;--muted:#a3a3b1;--line:#33333f;--ring:#8a8a99;--accent:#b4b4f0;--on-accent:#15151c;--offline-bg:#3a3014;--offline-fg:#f3d98b;--done-bg:#1c2e1f;--late-bg:#3a1d1d;--late-line:#7a3434;--late:#ff6b6b;--event-bg:#1d2535;--tag-bg:#2e2e4a;--tag-fg:#c8c8f0}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);color:var(--fg);-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.35 system-ui,-apple-system,Segoe UI,sans-serif}#app{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.view{padding:calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 84px);flex:1}.top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.top h1{margin:0;font-size:1.25rem}.progress{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}.back{color:var(--accent);flex-basis:100%;align-items:center;min-height:44px;text-decoration:none;display:flex}h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:16px 0 6px;font-size:.75rem}.row{background:var(--card);border:1px solid var(--line);color:inherit;border-radius:12px;align-items:center;gap:10px;margin-bottom:6px;padding:10px;text-decoration:none;display:flex}.row .main,.row .body{overflow-wrap:anywhere;flex:1;min-width:0}.row .sub,.row .note-line,.row .count{display:block}.row .sub{color:var(--muted);font-size:.8rem}.row.done .sub{color:var(--fg)}.row .note-line{color:var(--tag-fg);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.chev{color:var(--muted);margin-left:6px;font-size:1.1rem;line-height:1}.row .t{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.row.done{background:var(--done-bg)}.row.late{background:var(--late-bg);border-color:var(--late-line)}.row.event{background:var(--event-bg);border-style:dashed}.row.archived{opacity:.6}.chk{border:2px solid var(--ring);color:#fff;cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1rem;display:flex}.row.done .chk{background:var(--done);border-color:var(--done)}.row.late .chk{border-color:var(--late)}.chk.icon{color:var(--accent);cursor:default;border:none}.chk:disabled{opacity:.45;cursor:not-allowed}.tag{background:var(--tag-bg);color:var(--tag-fg);border-radius:8px;margin-left:6px;padding:1px 7px;font-size:.7rem}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;border-radius:10px;min-height:44px;padding:8px 12px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.danger{color:var(--late);border-color:var(--late-line)}button:disabled{opacity:.5;cursor:not-allowed}.dismiss-event{color:var(--muted);background:0 0;border:none;min-width:44px;min-height:44px;padding:0;font-size:1.2rem}.fab{text-align:center;background:var(--accent);width:100%;color:var(--on-accent);border:none;border-radius:12px;margin:14px 0;padding:12px;text-decoration:none;display:block}.banner{border-radius:10px;margin-bottom:8px;padding:10px 12px;font-size:.9rem;text-decoration:none;display:block}.banner.offline{background:var(--offline-bg);color:var(--offline-fg)}.banner.scheduler{background:var(--late-bg);color:var(--late)}.banner.push{background:var(--tag-bg);color:var(--tag-fg)}.reminders{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;padding:4px 10px 10px}.reminders h2{margin-top:8px}.reminder{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;display:flex}.reminder:last-child{border-bottom:none}.reminder .title{flex-basis:100%}.reminder button{flex:1}.empty,.error{color:var(--muted);text-align:center;padding:24px 0}.error{color:var(--late);padding:8px 0}.error:empty{display:none}.nav{padding:2px 4px calc(env(safe-area-inset-bottom) + 2px);background:var(--card);border-top:1px solid var(--line);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{min-height:48px;color:var(--muted);white-space:nowrap;flex:1;justify-content:center;align-items:center;padding:0 2px;font-size:.8rem;text-decoration:none;display:flex}.nav a.active{color:var(--accent);font-weight:700}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field span,.field>label{color:var(--muted);font-size:.85rem}input,select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:10px;width:100%;padding:10px}input[type=checkbox]{width:auto}fieldset{border:none;margin:0;padding:0}.days{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.days .day{border:1px solid var(--line);border-radius:10px;align-items:center;gap:4px;min-height:44px;padding:0 10px;display:flex}.with-suffix{align-items:center;gap:8px;display:flex}.with-suffix input{flex:1}.suffix{color:var(--fg)}.preview{color:var(--muted);font-size:.85rem}.task-form button{width:100%;margin-top:8px;padding:12px}.toggle{min-height:44px;color:var(--muted);align-items:center;gap:10px;margin-top:12px;display:flex}.toggle input,.days input{width:22px;height:22px}.note-history{margin-top:16px}.range{gap:8px;display:flex}.range label{color:var(--muted);flex:1;font-size:.85rem}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:4px 12px 12px}.card ul{margin:0;padding-left:18px;font-size:.9rem}.hint ol{padding-left:18px}.login-page{padding:calc(env(safe-area-inset-top) + 40px) 16px 24px}.login-page h1{text-align:center}.login button{width:100%;padding:12px}button.main{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;padding:0}.count{color:var(--accent);font-size:.75rem}.note{background:var(--tag-bg);color:var(--tag-fg);white-space:pre-wrap;border-radius:10px;padding:8px 10px}.comments{margin:4px 0;padding:0;font-size:.85rem;list-style:none}.comment{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:4px 0}.empty-comments{color:var(--muted);font-size:.85rem}.comment-form{align-items:flex-end;gap:6px;margin-top:6px;display:flex}.comment-form textarea,.dlg textarea,.task-form textarea{font:inherit;border:1px solid var(--line);background:var(--card);width:100%;color:var(--fg);resize:vertical;border-radius:10px;flex:1;padding:8px}.entry-actions{gap:6px;margin-top:6px;display:flex}.entry-actions button{padding:4px 10px;font-size:.85rem}.note-log{padding-left:18px;font-size:.85rem}.who{color:var(--muted);margin-top:-8px}.week-grid{border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);table-layout:fixed;border-radius:12px;width:100%;overflow:hidden}.week-grid th,.week-grid td{border-bottom:1px solid var(--line)}.week-grid tbody tr:last-child>*{border-bottom:none}.week-grid .corner{width:42%}.week-grid th.day{color:var(--muted);text-align:center;padding:8px 0 6px;font-size:.7rem;font-weight:600}.week-grid th.day.today,.week-grid td.today{background:var(--tag-bg)!important}.week-grid th.day.today .wd{color:var(--accent)}.week-grid th.day .wd{text-transform:uppercase;letter-spacing:.03em;display:block}.week-grid th.day .num{color:var(--fg);font-size:.95rem;display:block}.week-grid th.label{text-align:left;padding:8px 6px 8px 10px;font-weight:400}.week-grid .label .title{overflow-wrap:anywhere;font-size:.9rem;line-height:1.2;display:block}.week-grid .label .meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;display:block}.week-grid td{text-align:center;color:var(--accent);font-size:1.15rem;line-height:1}.legend{color:var(--muted);justify-content:center;gap:14px;margin-top:10px;font-size:.75rem;display:flex}.legend .ev{color:#4a6fb5}.legend .dl{color:var(--late)}.legend .rc{color:var(--accent)}.week-grid tr:nth-child(2n)>*{background:color-mix(in srgb, var(--bg) 60%, var(--card))}.week-grid tr.kind-event td.on{color:#4a6fb5;font-size:1rem}.week-grid tr.kind-deadline td.on{color:var(--late);font-size:1rem}.dlg{background:var(--card);width:min(92vw,420px);color:var(--fg);border:none;border-radius:16px;padding:16px}.dlg::backdrop{background:#0006}.dlg-title{margin-top:0;font-weight:600}.dlg-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}@media (max-width:420px){.dlg-actions{flex-direction:column-reverse}.dlg-actions button{width:100%}}.dlg .detail{max-height:80dvh;overflow-y:auto}.past-comments{margin-top:12px}
