@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&display=swap";:root{--ink:#1e2a4a;--paper:#f6f5f1;--card:#fff;--sage:#6e9a82;--sage-soft:#dce8e1;--sky:#a9c6dc;--sky-soft:#e9f1f6;--amber:#d9a441;--amber-soft:#f7ebd4;--muted:#7c8494;--line:#e7e4dc;--danger:#c1594f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,sans-serif}.app-shell{background:var(--paper);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}.screen{flex:1;padding:32px 20px 90px;overflow-y:auto}.greeting{font-family:Fraunces,serif;font-size:24px;font-weight:500;line-height:1.15}.date-label{color:var(--muted);letter-spacing:.03em;margin-top:4px;font-family:IBM Plex Mono,monospace;font-size:11px}.section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;margin:24px 0 10px;font-family:IBM Plex Mono,monospace;font-size:10.5px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}.btn{cursor:pointer;border:none;border-radius:12px;width:100%;padding:13px 18px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.btn-primary{background:var(--ink);color:#fff}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{color:var(--ink);border:1.5px solid var(--line);background:0 0}.btn-danger-text{color:var(--danger);background:0 0;width:auto;padding:8px;font-size:12.5px;font-weight:600}.field{margin-bottom:14px}.field label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input,.field textarea,.field select{border:1.5px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;outline:none;padding:12px 13px;font-family:Inter,sans-serif;font-size:14px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--sage)}.error-msg{background:var(--amber-soft);color:#8a5a1a;border-radius:10px;margin-bottom:14px;padding:10px 13px;font-size:12.5px}.auth-wrap{flex-direction:column;justify-content:center;max-width:420px;min-height:100vh;margin:0 auto;padding:32px 24px;display:flex}.auth-title{margin-bottom:6px;font-family:Fraunces,serif;font-size:26px;font-weight:500}.auth-sub{color:var(--muted);margin-bottom:28px;font-size:13.5px;line-height:1.5}.auth-switch{text-align:center;color:var(--muted);margin-top:18px;font-size:13px}.auth-switch a{color:var(--ink);font-weight:600;text-decoration:none}.loading-center{min-height:60vh;color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex}.task{background:var(--card);border:1px solid var(--line);border-radius:16px;align-items:flex-start;gap:11px;margin-bottom:9px;padding:13px 14px;display:flex}.task.done{background:var(--sage-soft);border-color:#0000}.check{border:2px solid var(--muted);cursor:pointer;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;transition:all .15s;display:flex}.check.checked{background:var(--sage);border-color:var(--sage)}.check.disabled{cursor:default;opacity:.4}.check svg{opacity:0;width:12px;height:12px;transition:all .15s}.check.checked svg{opacity:1}.task-body{flex:1;min-width:0}.task-title{font-size:13.5px;font-weight:600;line-height:1.3}.task.done .task-title{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--sage);text-decoration-color:var(--sage)}.task-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;display:flex}.pill{background:var(--sky-soft);color:var(--ink);letter-spacing:.03em;white-space:nowrap;border-radius:20px;padding:2px 7px;font-family:IBM Plex Mono,monospace;font-size:9px}.pill.local{background:var(--amber-soft)}.due{color:var(--muted);font-size:10.5px}.who{gap:3px;margin-left:auto;display:flex}.who span{color:#fff;opacity:.25;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:8px;font-weight:700;display:flex}.who span.filled{opacity:1}.who span.a{background:var(--ink)}.who span.b{background:var(--sky);color:var(--ink)}.add-row{border:1.5px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:2px;padding:13px 14px;font-size:12.5px;font-weight:600;display:flex}.empty-state{text-align:center;color:var(--muted);padding:40px 20px;font-size:13px;line-height:1.6}.wcard{background:var(--card);border:1px solid var(--line);border-radius:20px;margin-top:6px;padding:18px}.wcard-top{justify-content:space-between;align-items:center;display:flex}.lock{color:var(--muted);align-items:center;gap:5px;font-size:10px;font-weight:600;display:flex}.arcs{justify-content:space-between;margin:20px 4px 4px;display:flex}.arc-btn{cursor:pointer;background:0 0;border:none;border-radius:12px;padding:4px;transition:all .15s}.arc-btn.selected{background:var(--sage-soft)}.arc-label{text-align:center;color:var(--muted);min-height:12px;margin-top:6px;font-size:9.5px;font-weight:600}.flag-row{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:14px;font-size:11.5px;display:flex}.flag-box{border:2px solid var(--line);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.flag-box.on{background:var(--amber);border-color:var(--amber)}.flag-box svg{opacity:0;width:9px;height:9px}.flag-box.on svg{opacity:1}.wcard textarea{resize:vertical;min-height:60px;margin-top:12px}.saved-check{color:var(--sage);align-items:center;gap:6px;margin-top:12px;font-size:12px;font-weight:600;display:flex}.locked-msg{text-align:center;color:var(--muted);padding:60px 20px;font-size:13px;line-height:1.6}.locked-msg .lockicon{margin-bottom:10px;font-size:26px}.navbar{border-top:1px solid var(--line);background:var(--card);width:100%;max-width:480px;margin:0 auto;padding:10px 8px 16px;display:flex;position:sticky;bottom:0}.navbtn{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;font-size:9.5px;font-weight:600;display:flex}.navbtn.active{color:var(--ink)}.navbtn svg{width:19px;height:19px}.thread{align-items:center;display:flex}.avatar{color:#fff;z-index:2;border:2px solid var(--paper);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex;position:relative}.avatar.a{background:var(--ink)}.avatar.b{background:var(--sky);color:var(--ink)}.thread-line{background:var(--line);z-index:1;width:16px;height:2px;margin:0 -3px;position:relative}.thread-line.on{background:var(--sage)}.top-row{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.link-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600;text-decoration:underline}.nav-brand,.nav-footer{display:none}.mobile-logout,.today-grid{display:block}@media (width>=860px){.app-shell{flex-direction:row;align-items:stretch;max-width:1120px;min-height:100vh}.navbar{border-top:none;border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;order:1;justify-content:flex-start;align-items:stretch;gap:2px;width:230px;height:100vh;padding:28px 16px;position:sticky;top:0}.navbtn{border-radius:12px;flex-direction:row;flex:none;justify-content:flex-start;gap:11px;padding:11px 14px;font-size:13px}.navbtn.active{background:var(--sage-soft);color:var(--ink)}.navbtn svg{width:18px;height:18px}.nav-brand{color:var(--ink);padding:6px 14px 26px;font-family:Fraunces,serif;font-size:19px;font-weight:600;display:block}.nav-footer{border-top:1px solid var(--line);margin-top:auto;padding-top:16px;display:block}.nav-footer .link-btn{color:var(--muted);padding:11px 14px;font-size:12.5px;text-decoration:none}.mobile-logout{display:none}.screen{flex:1;order:2;max-width:680px;margin:0;padding:48px 56px;overflow-y:visible}.top-row{margin-bottom:8px}.greeting{font-size:28px}.today-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:28px;display:grid}.today-grid .today-col+.today-col{margin-top:0}}@media (width>=1180px){.screen{padding:56px 72px}}
