:root{--bg: #1b1d1f;--panel: #232629;--panel-2: #2a2e31;--border: #33383c;--text: #e8eaed;--muted: #9aa0a6;--accent: #298ce4;--danger: #ef4444}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;-webkit-font-smoothing:antialiased}.screen{min-height:100%;display:flex;flex-direction:column}.center{align-items:center;justify-content:center}.muted{color:var(--muted)}.pad{padding:40px 20px}.spacer{flex:1}.signin{gap:16px;padding:24px;text-align:center}.signin-logo{width:72px;height:72px;border-radius:18px}.signin-title{font-size:28px;font-weight:700;margin:4px 0 0}.accent{color:var(--accent)}.notice{font-size:14px;color:#fcd34d;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:10px;padding:10px 14px;max-width:300px}.btn{border:none;border-radius:12px;padding:10px 16px;font-size:15px;font-weight:600;cursor:pointer;color:var(--text);background:var(--panel-2)}.btn.lg{padding:14px 22px;font-size:16px}.btn.sm{padding:6px 10px;font-size:13px;border-radius:10px}.btn.primary{background:var(--accent);color:#fff}.btn.ghost{background:transparent;color:var(--muted)}.btn.danger{background:transparent;color:var(--danger)}.btn:disabled{opacity:.5}.link{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;padding:0}.link:hover{color:var(--text)}.app{display:flex;flex-direction:column;min-height:100%}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-top,0));background:#1b1d1fe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;font-weight:700}.brand img{width:24px;height:24px;border-radius:6px}.who{display:flex;align-items:center;gap:10px;min-width:0}.who .email{font-size:12px;color:var(--muted);max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list{flex:1;padding:12px 12px 96px}.bucket{margin-bottom:18px}.bucket-head{display:flex;align-items:center;gap:8px;padding:4px 6px 8px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.bucket-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.bucket-count{font-size:12px;color:var(--muted);margin-left:auto}.task{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px;background:var(--panel);border:1px solid var(--border);border-radius:14px;cursor:pointer}.task:active{background:var(--panel-2)}.check{width:22px;height:22px;flex:0 0 auto;border-radius:50%;border:2px solid var(--muted);background:transparent;cursor:pointer}.check:active{border-color:var(--accent)}.task-main{flex:1;min-width:0}.task-title{font-size:15px;line-height:1.3}.task-meta{font-size:12px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due{font-size:12px;color:var(--muted);flex:0 0 auto}.due.overdue{color:var(--danger);font-weight:600}.fab{position:fixed;right:18px;bottom:calc(20px + env(safe-area-inset-bottom,0));width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 6px 20px #0006}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;z-index:50}.sheet{width:100%;background:var(--panel);border-top-left-radius:20px;border-top-right-radius:20px;padding:10px 18px calc(20px + env(safe-area-inset-bottom,0));animation:sheet-up .2s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--border);margin:4px auto 14px}.sheet-title{width:100%;background:transparent;border:none;color:var(--text);font-size:18px;font-weight:600;outline:none;padding:4px 0;margin-bottom:10px;border-bottom:1px solid var(--border)}.sheet-label{display:block;font-size:12px;color:var(--muted);margin:8px 0 4px}.sheet-input{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;font-size:15px;outline:none}.sheet-actions{display:flex;align-items:center;gap:10px;margin-top:18px}.install-help{padding:4px 2px 2px}.install-help h3{margin:4px 0 12px;font-size:17px;font-weight:700}.install-help p{font-size:14px;color:var(--muted);margin:8px 0;line-height:1.45}.install-help b{color:var(--text);font-weight:600}
