@font-face{font-family:DM Mono;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTW7PB1QTsUX8KYth-gCKSIUKw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTW7PB1QTsUX8KYth-gBqSI.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvrGyEY2tbZX9.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvrGyEYOtbQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthSQBLyM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthqQBA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEY2tbZX9.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEYOtbQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmserifdisplay/v17/-nFhOHM81r4j6k0gjAW3mujVU2B2G_VB3vD212k.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmserifdisplay/v17/-nFhOHM81r4j6k0gjAW3mujVU2B2G_VB0PD2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmserifdisplay/v17/-nFnOHM81r4j6k0gjAW3mujVU2B2G_5x0ujy.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmserifdisplay/v17/-nFnOHM81r4j6k0gjAW3mujVU2B2G_Bx0g.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display: "DM Serif Display", serif;--font-body: "DM Mono", monospace;--bg-base: #f0ede6;--sidebar-bg: #e8e4dc;--surface: #faf8f4;--border: rgba(0, 0, 0, .28);--border-inner: rgba(0, 0, 0, .14);--border-hover: rgba(0, 0, 0, .55);--grid-line: rgba(0, 0, 0, .1);--accent: #e8400c;--accent-hover: #c73409;--accent-text: #ffffff;--accent-subtle: rgba(232, 64, 12, .1);--accent-glow-1: rgba(232, 64, 12, .25);--accent-glow-2: rgba(232, 64, 12, .15);--text-primary: #1a1814;--text-secondary: #6b6456;--text-muted: #a89f93;--input-bg: rgba(0, 0, 0, .04);--chip-bg: rgba(0, 0, 0, .05);--chip-hover: rgba(0, 0, 0, .08);--error-bg: rgba(185, 28, 28, .08);--error-border: rgba(185, 28, 28, .25);--error-text: #b91c1c;--color-status-done: #4a7c59;--color-type-tasks: #6b5ea8;--color-type-checklist: #4a7c59;--color-type-note: #b07030;--color-type-team: #4a7c8a}.avatar{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0}.profile-avatar{width:64px;height:64px;border-radius:10px;object-fit:cover;flex-shrink:0}.identity-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.nudge-meta .identity-avatar,.nudge-sender-chip .identity-avatar{width:20px;height:20px}.member-avatar{width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0}.member-avatar-sm{width:22px;height:22px;border-radius:4px;object-fit:cover;border:1.5px solid var(--sidebar-bg);margin-left:-4px;flex-shrink:0}.member-avatars .member-avatar-sm:first-child{margin-left:0}.mobile-avatar{width:100%;height:100%;object-fit:cover;display:block}.dropdown-avatar{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}html,body{height:100%;width:100%;font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}.shell{display:flex;height:100dvh;overflow:hidden;background:var(--bg-base)}.sidebar{width:240px;flex-shrink:0;background:var(--sidebar-bg);border-right:1.5px solid var(--border);display:flex;flex-direction:column;padding:1.5rem 1rem;gap:.25rem;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:0 .25rem;margin-bottom:1.5rem}.brand-mark{width:28px;height:28px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mark-inner{display:block;width:11px;height:11px;border-radius:1px;background:var(--accent-text);transform:rotate(12deg)}.brand-name{font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--text-primary);letter-spacing:0}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:6px;background:none;border:none;font-family:var(--font-body);font-size:.8rem;color:var(--text-secondary);text-decoration:none;cursor:pointer;width:100%;text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:var(--chip-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-subtle);color:var(--accent);font-weight:500;border-left:2.5px solid var(--accent);padding-left:calc(.75rem - 2.5px)}.nav-badge{margin-left:auto;font-size:.68rem;background:var(--chip-bg);padding:1px 6px;border-radius:20px;border:1px solid var(--border);color:var(--text-muted)}.nav-item.active .nav-badge{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1.5px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.user-info{display:flex;align-items:center;gap:.6rem;text-decoration:none;border-radius:6px;padding:.25rem;margin:-.25rem;transition:background .15s}.user-info:hover{background:var(--chip-hover)}.user-meta{display:flex;flex-direction:column;gap:1px;overflow:hidden}.user-name{font-size:.8rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-logout{display:flex;align-items:center;gap:.5rem;background:none;border:1.5px solid var(--border);border-radius:6px;padding:.45rem .75rem;font-family:var(--font-body);font-size:.75rem;color:var(--text-secondary);cursor:pointer;width:100%;transition:background .15s,color .15s,border-color .15s;letter-spacing:.02em}.btn-logout:hover{background:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem;border-bottom:1.5px solid var(--border);gap:1rem;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:.75rem;min-width:0}.topbar-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.page-title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;color:var(--text-primary);margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title.completed-title{color:var(--text-muted)}.search-wrap{position:relative}.search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input{background:var(--input-bg);border:1.5px solid var(--border);border-radius:6px;padding:.5rem .75rem .5rem 2rem;font-size:.8rem;color:var(--text-primary);font-family:var(--font-body);outline:none;width:200px;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);width:260px;transition:border-color .2s,box-shadow .2s,width .3s}.btn-ghost{display:flex;align-items:center;gap:.4rem;padding:.5rem .875rem;background:none;color:var(--text-secondary);border:1.5px solid var(--border);border-radius:6px;font-family:var(--font-body);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.btn-ghost:hover:not(.disabled){background:var(--chip-hover);color:var(--text-primary);border-color:var(--border-hover)}.btn-ghost.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}a.btn-ghost{text-decoration:none}.btn-new{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--accent);color:var(--accent-text);border:1.5px solid var(--accent);border-radius:6px;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-new:hover{background:var(--accent-hover)}.btn-primary{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;background:var(--accent);color:var(--accent-text);border:1.5px solid var(--accent);border-radius:6px;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap;text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:.5rem 1rem;background:none;color:var(--text-secondary);border:1.5px solid var(--border);border-radius:6px;font-family:var(--font-body);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s;text-decoration:none}.btn-secondary:hover{background:var(--chip-hover);color:var(--text-primary)}.btn-danger{display:flex;align-items:center;gap:.35rem;padding:.5rem .9rem;background:var(--error-bg);color:var(--error-text);border:1.5px solid var(--error-border);border-radius:6px;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s}.btn-danger:hover{filter:brightness(.92)}.btn-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:1.5rem;width:100%;max-width:440px;display:flex;flex-direction:column;gap:.875rem}.modal-title{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--text-primary);margin:0}.modal-hint{font-size:.78rem;color:var(--text-muted);margin:-.25rem 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.sort-select{background:var(--input-bg);border:1.5px solid var(--border);border-radius:6px;padding:.3rem 1.75rem .3rem .625rem;font-family:var(--font-body);font-size:.72rem;letter-spacing:.03em;color:var(--text-secondary);outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b6456' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:border-color .15s,color .15s;white-space:nowrap}.sort-select:hover{border-color:var(--border-hover);color:var(--text-primary)}.sort-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.toggle>input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.toggle>input[type=checkbox]:disabled{cursor:wait}.toggle-track{position:absolute;inset:0;background:var(--input-bg);border:1.5px solid var(--border);border-radius:2px;pointer-events:none;transition:background .15s,border-color .15s}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--text-secondary);border-radius:1px;transition:transform .15s,background .15s}.toggle>input[type=checkbox]:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle>input[type=checkbox]:checked+.toggle-track:after{transform:translate(16px);background:var(--accent-text)}.toggle>input[type=checkbox]:disabled+.toggle-track{opacity:.5}.mobile-fab,.mobile-nav{display:none}@media(max-width:640px){.sidebar{display:none}.shell{height:100dvh}.main{padding-bottom:64px}.topbar{flex-direction:column;align-items:stretch;gap:.75rem;padding:.875rem 1rem;overflow:visible}.page-title{font-size:1.4rem}.topbar-right{display:flex;gap:.5rem;flex-wrap:wrap}.btn-new,.btn-ghost span{display:none}.mobile-fab{position:fixed;bottom:calc(64px + 1rem);right:1rem;width:52px;height:52px;border-radius:14px;background:var(--accent);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--accent-text);box-shadow:0 4px 16px #e8400c59;transition:background .2s,transform .15s,box-shadow .2s;z-index:90}.mobile-fab:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #e8400c66}.mobile-fab:active{transform:translateY(0)}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--sidebar-bg);border-top:1.5px solid var(--border);align-items:center;justify-content:space-around;padding:0 .5rem;z-index:100}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;padding:.5rem 1rem;border-radius:2px;transition:color .15s,background .15s;min-width:56px;text-decoration:none}.mobile-nav-item.active{color:var(--accent);background:var(--accent-subtle)}.mobile-nav-item svg{flex-shrink:0}}
