:root{--bg: #f6f4ef;--surface: #ffffff;--text: #1f2326;--muted: #6b7075;--line: #e4e0d8;--accent: #13836b;--accent-soft: #dff4ec;--danger: #b3261e;--radius: 14px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}@media(prefers-color-scheme:dark){:root{--bg: #16181b;--surface: #1f2226;--text: #e9e7e2;--muted: #9a9fa4;--line: #2e3237;--accent: #48c5aa;--accent-soft: #183530;--danger: #f2b8b5;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1{font-size:1.4rem;margin:0 0 .25rem}h2{font-size:1.15rem;margin:0;font-weight:600}code{font-size:.85em;word-break:break-all}.center{display:grid;place-items:center;min-height:40vh;text-align:center}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);margin:0}.card-page{min-height:100dvh;display:grid;place-items:center;padding:16px}.card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;gap:14px}.card p{margin:0}label{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;min-height:44px}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;cursor:pointer}button.primary{min-height:44px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:600}@media(prefers-color-scheme:dark){button.primary{color:#0f2a23}}button.primary:disabled{opacity:.5;cursor:default}button.link{background:none;border:0;color:var(--muted);padding:8px}.qr{width:200px;height:200px;justify-self:center;background:#fff;border-radius:8px;padding:8px}.shell{max-width:760px;margin:0 auto;padding:env(safe-area-inset-top) 16px 32px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 0 8px}.brand{font-weight:700;letter-spacing:.01em}.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px;overflow-x:auto}.tab{flex:1 0 auto;text-align:center;padding:10px 14px;border-radius:9px;min-height:44px;color:var(--muted);text-decoration:none;white-space:nowrap}.tab.active{background:var(--accent-soft);color:var(--text);font-weight:600}.content{padding-top:20px}.caught-up{display:grid;justify-items:center;gap:10px;padding:64px 0;color:var(--muted)}.caught-up .check{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.6rem}.topbar-actions{display:flex;gap:4px;align-items:center}a.brand{color:var(--text);text-decoration:none}a.link{color:var(--muted);text-decoration:none;padding:8px}a.link.active{color:var(--text)}h3{font-size:1rem;margin:0;font-weight:600;word-break:break-all}.stack{display:grid;gap:12px}.stack-lg{display:grid;gap:28px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.list>li+li{border-top:1px solid var(--line)}.row{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:56px;color:inherit;text-decoration:none}a.row:hover{background:var(--accent-soft)}.row-main{flex:1;min-width:0;display:grid;gap:2px}.row-top{display:flex;gap:8px;align-items:baseline}.row-title{font-weight:600}.row-title.read{font-weight:400}.push{margin-left:auto;white-space:nowrap}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{font-size:.8rem;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:0;white-space:nowrap}.pill.warn{background:#f6e7c8;color:#7a5410;cursor:pointer}@media(prefers-color-scheme:dark){.pill.warn{background:#3a3020;color:#f0d29a}}.notice{margin:0;padding:10px 14px;border-radius:10px;background:var(--accent-soft);cursor:pointer}.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.chip{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;min-height:36px;white-space:nowrap}.chip.active{background:var(--accent-soft);border-color:transparent;font-weight:600}.review-row{align-items:flex-start}.review-row a.row-title{color:inherit;text-decoration:none;min-width:0}.flag{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#f6e7c8;color:#7a5410;white-space:nowrap}@media(prefers-color-scheme:dark){.flag{background:#3a3020;color:#f0d29a}}.bucket-pick{display:grid;gap:4px;flex-shrink:0}.bp{font-size:.75rem;padding:4px 8px;min-width:58px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--muted)}.bp.is-sorted{border-color:var(--accent);color:var(--text);font-weight:600}.bp.is-yours{background:var(--accent);border-color:var(--accent);color:#fff}@media(prefers-color-scheme:dark){.bp.is-yours{color:#0f2a23}}@media(max-width:480px){.topbar-actions a.link,.topbar-actions button.link{padding:8px 4px;font-size:.9rem}}.todo-list,.sublist,.glance{list-style:none;margin:0;padding:0}.todo-list{display:grid;gap:10px}.todo{display:grid;gap:4px;width:100%;text-align:left;font:inherit;color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}a.todo:hover,button.todo:hover{border-color:var(--accent)}.todo.group{cursor:pointer;background:var(--surface)}.todo-top{display:flex;align-items:baseline;gap:8px;min-width:0}.todo-from{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-from.read{font-weight:500}.todo-meta{margin-left:auto;color:var(--muted);font-size:.8rem;white-space:nowrap}.todo-subject{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-summary{color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sublist{display:grid;gap:8px;margin:8px 0 0 12px;padding-left:10px;border-left:2px solid var(--line)}.badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;letter-spacing:.02em}.badge.urgent{background:#f9dedc;color:#8c1d18}.badge.soft{background:#f6e7c8;color:#7a5410}@media(prefers-color-scheme:dark){.badge.urgent{background:#4a2523;color:#f2b8b5}.badge.soft{background:#3a3020;color:#f0d29a}}.more,.section-toggle{justify-self:start;background:none;border:0;color:var(--accent);font-weight:600;padding:6px 2px;min-height:36px}.section-toggle{color:var(--muted);font-weight:500}.section-title{color:var(--muted);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.glance{display:grid;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.glance>li+li{border-top:1px solid var(--line)}.glance a{display:flex;gap:10px;align-items:baseline;padding:11px 14px;color:inherit;text-decoration:none;min-width:0}.glance a:hover{background:var(--accent-soft)}.glance-from{font-weight:600;white-space:nowrap;max-width:38%;overflow:hidden;text-overflow:ellipsis}.glance-text{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.tab .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c0392b;margin-left:6px;vertical-align:middle}.card-logo{display:flex;justify-content:center;margin:4px 0 10px}.card-logo.small{justify-content:flex-start;margin:0 0 6px}.brand{display:inline-flex;align-items:center;padding:4px 0}.todo{padding:0;overflow:hidden;position:relative;transition:transform .15s ease;touch-action:pan-y}.todo-body{display:grid;gap:4px;padding:14px 16px 8px;color:inherit;text-decoration:none;width:100%;text-align:left;font:inherit;background:none;border:0;cursor:pointer}.actions{display:flex;gap:2px;padding:0 8px 8px;flex-wrap:wrap}.actions button,.actions a.open{font-size:.85rem;padding:6px 10px;min-height:34px;border-radius:8px;border:0;background:none;color:var(--accent);font-weight:600;text-decoration:none;display:inline-flex;align-items:center}.actions button:hover,.actions a.open:hover{background:var(--accent-soft)}.actions a.open{margin-left:auto;color:var(--muted);font-weight:500}.swipe-wrap{position:relative}.swipe-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-radius:var(--radius);font-weight:700;color:#fff}.swipe-hint.right{background:var(--accent)}.swipe-hint.left{background:#b07a1e}.badge.back{background:var(--accent-soft);color:var(--accent)}.remind{display:grid;gap:4px;padding:4px 12px 12px;border-top:1px solid var(--line)}.remind>button:not(.primary):not(.link){text-align:left;background:none;border:0;color:var(--text);padding:10px 6px;border-radius:8px;min-height:40px}.remind>button:not(.primary):not(.link):hover{background:var(--accent-soft)}.remind-pick{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px;color:var(--text);font-size:1rem}.remind-pick input{min-height:38px;padding:6px 8px}.group-head{padding-bottom:6px}.snoozed-row{display:flex;gap:10px;align-items:baseline;padding:8px 14px;min-width:0}.toast{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(560px,calc(100% - 32px));display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--text);color:var(--bg);border-radius:12px;padding:10px 10px 10px 16px;box-shadow:0 8px 24px #0000002e;z-index:20;font-size:.92rem}.toast span{flex:1;min-width:160px}.toast button{background:none;border:0;color:var(--accent-soft);font-weight:700;padding:8px 10px;min-height:36px;border-radius:8px}.toast button.x{color:inherit;opacity:.6;font-size:1.2rem;padding:4px 8px}.toast.error{background:var(--danger);color:#fff}@media(prefers-color-scheme:dark){.toast button{color:var(--accent)}.toast.error{color:#2a0f0d}}a.row-link{color:inherit;text-decoration:none}a.row-link:hover{text-decoration:underline}.policy{display:flex;align-items:center;gap:8px;margin-top:6px;color:inherit;font-size:inherit}.policy select{font:inherit;font-size:.9rem;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px;min-height:36px}
