:root{--bg:#f3f5f8;--surface:#ffffff;--text:#121a26;--muted:#5d6878;--border:#dde2ea;--accent:#2c5d93;--accent-soft:#e6eef8;--danger:#b23a3a;--tab-bg:rgba(255,255,255,0.92);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#0c121c;--surface:#151d2a;--text:#e8edf4;--muted:#94a0b2;--border:#253043;--accent:#7fb0e6;--accent-soft:#1b2a3f;--danger:#ef8a8a;--tab-bg:rgba(16,23,34,0.92)}}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}code{font-size:.9em}.shell{min-height:100dvh}.content{max-width:640px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 20px) 16px calc(env(safe-area-inset-bottom) + 96px);display:flex;flex-direction:column;gap:12px}.page-header{padding:8px 4px}.page-header h1{font-size:28px;font-weight:700;letter-spacing:-.01em}.eyebrow{color:var(--muted);font-size:14px;font-weight:500;margin-bottom:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.card h2{font-size:17px;font-weight:600;margin-bottom:4px}.card p{color:var(--muted);font-size:15px;line-height:1.4}.muted-card{position:relative}.badge{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 10px}.signout{display:flex;justify-content:center;padding-top:12px}.link-button{background:none;border:none;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline;padding:8px}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--tab-bg);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-top:1px solid var(--border);padding-bottom:max(calc(env(safe-area-inset-bottom) - 14px),6px)}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 4px;color:var(--muted);text-decoration:none;font-size:10.5px;font-weight:500}.tab.active{color:var(--accent)}.tab-icon svg{width:24px;height:24px;display:block}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px 24px;display:flex;flex-direction:column;gap:16px;text-align:center}.login-mark{width:56px;height:56px;margin:0 auto;border-radius:14px;background:#13233a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.04em}.login-card h1{font-size:22px;font-weight:700}.login-form{display:flex;flex-direction:column;gap:10px;text-align:left}.login-form label{font-size:14px;color:var(--muted);font-weight:500}.login-form input{font:inherit;font-size:17px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.login-form button{font:inherit;font-size:17px;font-weight:600;padding:12px;border:none;border-radius:10px;background:var(--accent);color:#fff;margin-top:4px}@media (prefers-color-scheme:dark){.login-form button{color:#0c121c}}.error{color:var(--danger);font-size:14px}.notice{color:var(--muted);font-size:15px;line-height:1.4}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.small-link{font-size:14px;font-weight:600;text-decoration:none}.card a,.small-link{color:var(--accent)}.pill-button{background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:15px;border-radius:999px;padding:8px 14px}@media (prefers-color-scheme:dark){.pill-button{color:#0c121c}}.list{list-style:none;margin:0;padding:0;flex-direction:column;gap:8px}.item,.list{display:flex}.item{align-items:center;gap:12px;padding:12px 14px}.item-body{flex:1 1;min-width:0}.item-title{color:var(--text)!important;font-size:16px!important;font-weight:500;overflow-wrap:anywhere}.item-meta{color:var(--muted);font-size:13px!important;margin-top:2px!important}.item.done .item-title{text-decoration:line-through;color:var(--muted)!important}.mini-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.mini-list li{display:flex;align-items:center;justify-content:space-between;gap:12px}.check{width:24px;height:24px;flex:none;border-radius:50%;border:2px solid var(--border);background:none;padding:0}.check.checked{background:var(--accent);border-color:var(--accent)}.countdown{flex:none;font-size:13px;font-weight:600;border-radius:999px;padding:4px 10px;white-space:nowrap}.countdown-ok{color:var(--muted);background:var(--bg)}.countdown-soon{color:#8a5a00;background:#fdf1d8}.countdown-overdue,.countdown-urgent{color:#fff;background:#c0392b}@media (prefers-color-scheme:dark){.countdown-soon{color:#f4c66a;background:#3a2d12}.countdown-overdue,.countdown-urgent{background:#a93226}}.form{display:flex;flex-direction:column;gap:10px}.form-row{display:flex;gap:8px}.form-row>*{flex:1 1;min-width:0}.form input,.form select{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);width:100%}.form button{font:inherit;font-size:16px;font-weight:600;padding:10px;border:none;border-radius:10px;background:var(--accent);color:#fff}@media (prefers-color-scheme:dark){.form button{color:#0c121c}}.secondary-button{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;text-decoration:none;border-radius:10px;border:1px solid var(--border);color:var(--text)!important}.done-section summary{color:var(--muted);font-size:14px;font-weight:600;padding:8px 4px;cursor:pointer}.quickadd{display:flex;flex-direction:column;gap:6px;margin-top:4px}.quickadd-row{display:flex;gap:8px}.quickadd-row input{flex:1 1;min-width:0;font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.quickadd-row button{flex:none;width:44px;font-size:22px;font-weight:600;line-height:1;border:none;border-radius:10px;background:var(--accent);color:#fff}.quickadd-row button:disabled{opacity:.4}@media (prefers-color-scheme:dark){.quickadd-row button{color:#0c121c}}.quickadd-preview{color:var(--accent)!important;font-size:13px!important}.quickadd-done{color:var(--muted)!important;font-size:13px!important}.chips{display:flex;gap:8px;padding:0 2px}.chip{font-size:14px;font-weight:600;text-decoration:none;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px}.chip.active{color:#fff;background:var(--accent);border-color:var(--accent)}@media (prefers-color-scheme:dark){.chip.active{color:#0c121c}}.group{display:flex;flex-direction:column;gap:8px}.group-title{font-size:14px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 4px 0}.group-title span{font-weight:500}.tag{display:inline-block;margin-right:6px;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:1px 6px}.overdue-text{color:var(--danger);font-weight:600}.item-meta{flex-wrap:wrap}.item-meta,.task-mini{display:flex;align-items:center}.task-mini{gap:12px}.task-mini .item-body{flex:1 1;min-width:0}.hint{color:var(--muted);font-size:13px;line-height:1.5;padding:4px}