:root{--bg:#0a0a0a;--card:#161616;--card-hover:#1e1e1e;--border:#262626;--text:#f5f5f5;--muted:#8a8a8a;--accent:#3b82f6;--green:#22c55e;--red:#ef4444;--amber:#f59e0b;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased}.wrap{max-width:640px;margin:0 auto;padding:calc(var(--safe-top) + 20px) 16px calc(var(--safe-bottom) + 40px)}.head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.head h1{font-size:26px;font-weight:700;letter-spacing:-.02em}.head .count{color:var(--muted);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 14px 14px 16px;margin-bottom:10px;display:flex;gap:12px;align-items:flex-start;transition:background .15s,opacity .2s,transform .2s}.task.done{opacity:0;transform:translateX(40px);pointer-events:none}.check{flex:0 0 auto;width:44px;height:44px;margin:-9px 0 0 -9px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative}.check,.check:before{background:transparent}.check:before{content:"";width:26px;height:26px;border:2px solid var(--border);border-radius:50%;transition:border-color .15s,background .15s}.check:active:before{transform:scale(.9)}.check.checked:before{background:var(--green);border-color:var(--green)}.check svg{position:absolute;width:14px;height:14px}.body{flex:1 1 auto;min-width:0}.body .t{font-size:15px;font-weight:500;word-wrap:break-word}.meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:6px;align-items:center}.meta span{font-size:12px;color:var(--muted)}.pill{padding:2px 8px;border-radius:999px;font-size:11px!important;font-weight:600}.pill.high{background:rgba(239,68,68,.15);color:#fca5a5}.pill.due{background:rgba(245,158,11,.15);color:#fcd34d}.pill.overdue{background:var(--red);color:#fff}.who{color:var(--accent)!important;font-weight:500}.snooze{flex:0 0 auto;background:transparent;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:14px 8px;margin:-14px -4px -14px 0;min-height:44px;border-radius:8px}.snooze:active{background:var(--card-hover)}.sheet-bg{position:fixed;inset:0;height:100dvh;background:rgba(0,0,0,.65);display:flex;align-items:flex-end;justify-content:center;z-index:50;animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{background:#1c1c1c;border-top:1px solid var(--border);border-radius:18px 18px 0 0;width:100%;max-width:640px;padding:18px 16px calc(var(--safe-bottom) + 18px);box-shadow:0 -8px 40px rgba(0,0,0,.5);animation:slideup .2s ease}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;background:#444;border-radius:2px;margin:0 auto 14px}.sheet h3{font-size:15px;margin-bottom:14px;color:var(--muted);font-weight:500}.snooze-opts{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.snooze-opts button{background:var(--card-hover);border:1px solid var(--border);color:var(--text);padding:16px;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer}.snooze-opts button:active{background:#2a2a2a}.sheet-cancel{width:100%;margin-top:10px;padding:15px;background:transparent;border:none;color:var(--muted);font-size:15px;cursor:pointer;border-radius:12px}.sheet-cancel:active{background:var(--card-hover)}.empty{text-align:center;color:var(--muted);padding:80px 20px}.empty .big{font-size:40px;margin-bottom:12px}.pin-wrap{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.pin-wrap h1{font-size:22px;margin-bottom:28px;font-weight:600}.dots{display:flex;gap:14px;margin-bottom:36px}.dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border)}.dot.on{background:var(--text);border-color:var(--text)}.pad{display:grid;grid-template-columns:repeat(3,76px);grid-gap:16px;gap:16px}.pad button{height:76px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:28px;font-weight:400;cursor:pointer}.pad button:active{background:var(--card-hover)}.pad .blank{border:none;background:transparent;cursor:default}.pin-err{color:var(--red);font-size:13px;height:18px;margin-top:18px}.refresh{background:transparent;border:none;color:var(--muted);font-size:13px;cursor:pointer;padding:4px 8px}