@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=JetBrains+Mono:wght@400;700&family=Space+Mono:wght@400;700&display=swap";:root{font-family:var(--font-ui);color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ease-apple:cubic-bezier(.25, .1, .25, 1);--keyboard-offset:0px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{min-width:var(--size-min-viewport-width);background:var(--bg-primary);overscroll-behavior-x:none;overscroll-behavior-y:auto;-webkit-touch-callout:none;min-height:100dvh;margin:0;overflow:hidden auto}html,body,#root{max-width:100%;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0}input,textarea{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.app-shell{min-height:100dvh;padding:calc(var(--space-page-top) + env(safe-area-inset-top)) var(--space-page) calc(var(--space-page-bottom) + env(safe-area-inset-bottom));overscroll-behavior:auto;display:block}.login-shell{min-height:100vh;padding:var(--space-login-padding);background:var(--bg-primary);place-items:center;display:grid}.login-panel{border-radius:var(--radius-card);width:min(100%,360px);box-shadow:none;padding:var(--space-login-padding);background:0 0;border:0}.login-logo{justify-content:center;margin-bottom:32px;display:flex}.login-logo .logo-placeholder{width:205px;height:145px;box-shadow:none;border:0}.login-status{margin:0 0 var(--space-login-padding);color:var(--text-system);font-family:var(--font-mono);text-align:center;font-size:12px}.field-stack{justify-items:center;gap:10px;display:grid}.input-field,.quick-input-field,.task-editor,.select-field{border:1px solid color-mix(in srgb, var(--color-card-border), transparent 60%);border-radius:var(--radius-control);background:var(--color-input-background);width:100%;color:var(--text-primary);outline:none;transition:border-color .16s ease-out,box-shadow .16s ease-out,background .16s ease-out}.input-field,.select-field{min-height:var(--size-control-height);padding:0 var(--space-page-top)}.login-panel .input-field,.login-panel .primary-button{width:min(100%,220px);min-height:34px;font-size:13px}.login-panel .input-field{padding:0 12px}.input-field:focus,.quick-input-field:focus,.task-editor:focus,.select-field:focus{border-color:var(--color-text);box-shadow:var(--shadow-focus)}.primary-button{min-height:var(--size-control-height);background:var(--text-primary);color:var(--color-card-background);border-radius:30px;font-weight:700;transition:transform .14s ease-out,opacity .14s ease-out}.primary-button:hover{opacity:.92;transform:translateY(-1px)}.error-text{margin:var(--space-field-gap) 0 0;color:var(--color-danger);font-family:var(--font-mono);text-align:center;font-size:12px}.dashboard-header{justify-content:space-between;align-items:center;gap:var(--space-gap);margin-bottom:var(--space-section-gap);display:flex}.dashboard-meta{color:var(--text-system);margin:0}.system-status-line{color:var(--text-system);font-family:var(--font-mono);gap:3px;font-size:12px;line-height:1.45;display:grid}.content-pane{overflow-anchor:none;min-width:0}.sidebar-nav{display:none}.sidebar-top{justify-content:center;align-items:center;gap:var(--space-gap);margin-bottom:42px;display:flex}.logo-placeholder{place-items:center;width:132px;height:94px;display:grid}.logo-placeholder img{object-fit:contain;width:100%;height:100%;display:block}.category-list{gap:var(--space-field-gap);display:grid}.category-entry{gap:6px;display:grid}.sidebar-section-label{margin:18px var(--space-card) 2px;color:var(--text-system);font-family:var(--font-mono);font-size:11px}.list-tools{gap:var(--space-compact-gap);padding-left:var(--space-card);display:flex}.list-tools button{color:var(--text-system);font-family:var(--font-mono);background:0 0;padding:0;font-size:11px}.list-tools button:hover{color:var(--text-primary)}.list-invite-form input{border:1px solid color-mix(in srgb, var(--color-card-border), transparent 74%);border-radius:var(--radius-control);width:100%;min-height:34px;padding:0 var(--space-field-gap);color:var(--text-primary);font-family:var(--font-mono);background:0 0;outline:none;font-size:12px}.new-list-button{border-radius:var(--radius-control);min-height:42px;padding:0 var(--space-card);color:var(--text-system);font-family:var(--font-mono);text-align:left;background:0 0;font-size:13px;transition:background .14s ease-out,color .14s ease-out,transform .14s ease-out}.new-list-button:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-1px)}.new-list-form input{border:1px solid color-mix(in srgb, var(--color-card-border), transparent 72%);border-radius:var(--radius-control);width:100%;min-height:42px;padding:0 var(--space-card);color:var(--text-primary);font-family:var(--font-mono);background:0 0;outline:none;font-size:13px}.new-list-form input:focus{border-color:color-mix(in srgb, var(--text-primary), transparent 68%);box-shadow:var(--shadow-focus)}.sidebar-connection{gap:var(--space-field-gap);padding:0 var(--space-card);margin-top:34px;display:grid}.sidebar-connection span{color:var(--text-system);font-family:var(--font-mono);font-size:12px}.sidebar-connection button{background:var(--text-primary);color:var(--color-card-background);font-family:var(--font-ui);border-radius:30px;justify-self:start;padding:8px 13px;font-size:12px;transition:transform .14s ease-out,opacity .14s ease-out}.sidebar-connection button:hover{opacity:.9;transform:translateY(-1px)}.category-card{justify-content:space-between;align-items:center;gap:var(--space-gap);border-radius:var(--radius-control);min-height:46px;padding:0 var(--space-card);color:var(--text-primary);text-align:left;background:0 0;border:1px solid #0000;transition:background .14s ease-out,border-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out;display:flex}.category-card.active{border-color:color-mix(in srgb, var(--color-card-border), transparent 70%);background:var(--bg-secondary);box-shadow:none}.category-card:hover{background:var(--bg-secondary);transform:translateY(-1px)}.category-name{font-family:var(--font-mono);letter-spacing:0;font-size:14px;font-weight:400;display:block}.category-count{font-family:var(--font-mono);color:var(--text-system);font-size:13px;display:block}.task-section{overflow-anchor:none;overscroll-behavior:auto;min-height:calc(100vh - 170px);margin-top:0}.task-list{gap:var(--space-field-gap);align-content:start;display:grid}.task-card{border:1px solid color-mix(in srgb, var(--color-card-border), transparent 55%);border-radius:var(--radius-card);background:var(--bg-secondary);padding:var(--space-page-top);touch-action:pan-y;-webkit-user-select:none;user-select:none;backface-visibility:hidden;will-change:transform;transition:background .14s ease-out,border-color .14s ease-out,box-shadow .14s ease-out,opacity .14s ease-out,transform .14s ease-out;position:relative;overflow:hidden}.task-card[draggable=true]{cursor:grab}.task-card[draggable=true]:active{cursor:grabbing}.task-card:hover{border-color:color-mix(in srgb, var(--color-card-border), transparent 30%);background:color-mix(in srgb, var(--bg-secondary), var(--color-card-background) 30%);box-shadow:none}.task-card.dragging{opacity:.72;transform:scale(.995)}.task-card.drop-target{border-color:color-mix(in srgb, var(--text-primary), transparent 58%);background:color-mix(in srgb, var(--bg-secondary), var(--color-card-background) 42%)}.task-card.completed{opacity:.5}.task-row{gap:var(--space-field-gap);align-items:flex-start;display:flex}.check-button,.icon-button{width:var(--size-icon-button);height:var(--size-icon-button);border-radius:var(--radius-pill);background:var(--color-background);color:var(--text-primary);flex:none;place-items:center;transition:transform .14s ease-out,opacity .14s ease-out,background .14s ease-out;display:grid}.check-button:hover,.icon-button:hover{opacity:.86;transform:scale(1.04)}.task-content{flex:1;min-width:0}.task-title-wrap{max-width:100%;display:inline-block;position:relative}.task-title{margin:var(--space-compact-gap) 0 4px;overflow-wrap:anywhere;color:var(--text-primary);font-weight:700}.strike-line{height:var(--size-strike-line-height);pointer-events:none;position:absolute;top:55%;left:0;right:0}.task-notes,.task-date{color:var(--text-system);overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.task-notes{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.subtask-list{margin:var(--space-field-gap) 0 0;padding-left:var(--space-card);color:var(--text-system)}.subtask-list li{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);align-items:start;gap:6px;display:grid}.subtask-list li.done{color:var(--text-system);text-decoration:line-through}.subtask-preview-check{color:var(--text-primary);font-size:11px}.inline-retry-button{background:var(--bg-secondary);color:var(--text-primary);border-radius:30px;padding:4px 10px;font-size:11px}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.55}.task-actions{gap:var(--space-compact-gap);opacity:1;transition:opacity .14s ease-out;display:flex}.task-editor{min-height:160px;padding:var(--space-gap);resize:vertical;white-space:pre-wrap;line-height:1.5}.editor-grid{margin-top:var(--space-field-gap);gap:10px;display:grid}.quick-input{left:var(--space-gap);right:calc(var(--size-fab) + 28px);bottom:calc(var(--space-gap) + env(safe-area-inset-bottom) + var(--keyboard-offset));z-index:20;position:fixed}.quick-input-field{min-height:var(--size-quick-input-height);padding:0 var(--space-card);box-shadow:var(--shadow-floating);touch-action:manipulation}.fab{right:var(--space-card);bottom:calc(var(--space-page-top) + env(safe-area-inset-bottom) + var(--keyboard-offset));z-index:21;width:var(--size-fab);height:var(--size-fab);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-card-background);box-shadow:var(--shadow-floating);place-items:center;display:grid;position:fixed}.empty-state{place-content:center;gap:var(--space-compact-gap);min-height:calc(100vh - 260px);padding:var(--space-login-padding) 4px;color:var(--text-system);text-align:center;display:grid;transform:none}.empty-state h2{color:var(--text-primary);margin:0;font-size:22px}.empty-state p{font-family:var(--font-mono);margin:0;font-size:12px}.empty-state.pending{visibility:hidden}.team-task-label{color:var(--text-system);font-family:var(--font-mono);margin:0 0 5px;font-size:11px}.detail-team-label{margin-bottom:var(--space-card)}.team-invites{gap:var(--space-field-gap);margin-bottom:var(--space-section-gap);display:grid}.team-invite-list{gap:var(--space-compact-gap);display:grid}.team-invite-card{justify-content:space-between;align-items:center;gap:var(--space-gap);border:1px solid color-mix(in srgb, var(--color-card-border), transparent 70%);border-radius:var(--radius-control);background:var(--bg-secondary);padding:var(--space-field-gap);display:flex}.team-invite-card div:first-child{gap:3px;min-width:0;display:grid}.team-invite-card strong{color:var(--text-primary);overflow-wrap:anywhere}.team-invite-card span{color:var(--text-system);font-family:var(--font-mono);font-size:11px}.team-invite-actions{gap:var(--space-compact-gap);flex:none;display:flex}.team-invite-actions button,.detail-invite button{background:var(--text-primary);color:var(--color-card-background);border-radius:30px;padding:8px 12px;font-size:12px}.team-invite-actions .ghost{color:var(--text-system);background:0 0}.mobile-menu-button{margin-bottom:var(--space-compact-gap)}.drawer-layer{z-index:40;overscroll-behavior:none;position:fixed;inset:0}.drawer-scrim{background:var(--color-drawer-scrim);width:100%;height:100%;position:absolute;inset:0}.drawer-nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:min(82vw,320px);min-height:100dvh;max-height:100dvh;padding:calc(var(--space-login-padding) + env(safe-area-inset-top)) var(--space-page) calc(96px + env(safe-area-inset-bottom));border-right:1px solid color-mix(in srgb, var(--color-card-border), transparent 60%);background:var(--bg-primary);box-shadow:var(--shadow-floating);display:block;position:relative;overflow:hidden auto}.drawer-nav .sidebar-top{justify-content:space-between;margin-bottom:40px}.drawer-nav .logo-placeholder{width:122px;height:86px}.detail-panel{left:var(--space-gap);right:var(--space-gap);bottom:calc(var(--space-page-bottom) + env(safe-area-inset-bottom) + var(--keyboard-offset));z-index:32;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;backface-visibility:hidden;will-change:transform, opacity;border:1px solid color-mix(in srgb, var(--color-card-border), transparent 70%);border-radius:var(--radius-card);background:var(--bg-primary);max-height:72dvh;padding:var(--space-card);box-shadow:var(--shadow-floating);scroll-padding:72px 0 96px;position:fixed;overflow:hidden auto}.detail-header{justify-content:space-between;align-items:center;gap:var(--space-gap);margin-bottom:var(--space-card);display:flex}.system-label{color:var(--text-system);font-family:var(--font-mono);margin:0;font-size:12px}.detail-title{margin:0 0 var(--space-field-gap);color:var(--text-primary);font-size:22px}.detail-notes{margin:0 0 var(--space-card);color:var(--text-system);line-height:1.55}.detail-notes.muted{opacity:.78}.detail-fields{gap:var(--space-field-gap);margin-bottom:var(--space-login-padding);display:grid}.detail-fields label{gap:6px;min-width:0;display:grid}.detail-fields label span{color:var(--text-system);font-family:var(--font-mono);font-size:11px}.detail-input,.detail-textarea{border:1px solid color-mix(in srgb, var(--color-card-border), transparent 72%);border-radius:var(--radius-control);width:100%;min-width:0;color:var(--text-primary);background:0 0;outline:none;transition:border-color .16s ease-out,box-shadow .16s ease-out}.detail-input{min-height:42px;padding:0 var(--space-field-gap)}.detail-datetime{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:color-mix(in srgb, var(--bg-secondary), var(--color-card-background) 38%);color:var(--text-primary);font-family:var(--font-ui);font-variant-numeric:tabular-nums;appearance:none}.detail-datetime::-webkit-calendar-picker-indicator{border-radius:var(--radius-pill);opacity:.62;filter:grayscale()contrast(1.1);cursor:pointer;width:18px;height:18px}.detail-datetime::-webkit-calendar-picker-indicator:hover{opacity:.88}.detail-datetime::-webkit-datetime-edit{color:var(--text-primary)}.detail-datetime::-webkit-datetime-edit-fields-wrapper{color:var(--text-primary)}.detail-datetime::-webkit-datetime-edit-text{color:var(--text-primary)}.detail-datetime::-webkit-datetime-edit-month-field{color:var(--text-primary)}.detail-datetime::-webkit-datetime-edit-day-field{color:var(--text-primary)}.detail-datetime::-webkit-datetime-edit-year-field{color:var(--text-primary)}.detail-datetime::-webkit-datetime-edit-hour-field{color:var(--text-primary)}.detail-datetime::-webkit-datetime-edit-minute-field{color:var(--text-primary)}.detail-datetime::-webkit-datetime-edit-ampm-field{color:var(--text-primary)}.detail-textarea{min-height:220px;padding:var(--space-field-gap);resize:vertical;white-space:pre-wrap;line-height:1.55}.detail-input:focus,.detail-textarea:focus{border-color:color-mix(in srgb, var(--text-primary), transparent 68%);box-shadow:var(--shadow-focus)}.detail-save-button{background:var(--text-primary);min-height:38px;color:var(--color-card-background);border-radius:30px;justify-self:start;padding:0 16px;font-size:13px;font-weight:700;transition:opacity .14s ease-out,transform .14s ease-out}.detail-save-button:hover{opacity:.9;transform:translateY(-1px)}.detail-meta-grid{gap:var(--space-field-gap);margin:0 0 var(--space-login-padding);display:grid}.detail-invite{gap:var(--space-field-gap);margin-bottom:var(--space-login-padding);display:grid}.detail-invite form{gap:var(--space-compact-gap);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.detail-invite input{border:1px solid color-mix(in srgb, var(--color-card-border), transparent 72%);border-radius:var(--radius-control);min-height:38px;padding:0 var(--space-field-gap);color:var(--text-primary);background:0 0;outline:none}.detail-invite input:focus{border-color:color-mix(in srgb, var(--text-primary), transparent 68%);box-shadow:var(--shadow-focus)}.detail-meta-grid div{gap:3px;display:grid}.detail-meta-grid dt{color:var(--text-system);font-family:var(--font-mono);font-size:11px}.detail-meta-grid dd{color:var(--text-primary);margin:0}.detail-subtasks{gap:var(--space-field-gap);display:grid}.detail-subtask-list{gap:var(--space-compact-gap);min-width:0;display:grid}.detail-subtask{align-items:center;gap:var(--space-compact-gap);min-height:36px;color:var(--text-primary);grid-template-columns:28px minmax(0,1fr) 28px;min-width:0;display:grid}.detail-subtask span{overflow-wrap:anywhere}.detail-subtask .done{color:var(--text-system);text-decoration:line-through}.subtask-check,.subtask-delete{border-radius:var(--radius-pill);background:var(--bg-secondary);width:28px;height:28px;color:var(--text-primary);place-items:center;display:grid}.subtask-delete{color:var(--text-system)}.subtask-input{border:1px solid color-mix(in srgb, var(--color-card-border), transparent 72%);border-radius:var(--radius-control);width:100%;min-width:0;min-height:42px;padding:0 var(--space-field-gap);color:var(--text-primary);background:0 0;outline:none}.subtask-input:focus{border-color:color-mix(in srgb, var(--text-primary), transparent 68%);box-shadow:var(--shadow-focus)}@media (width<=759px){body{overscroll-behavior:none}.app-shell{padding:calc(14px + env(safe-area-inset-top)) 16px calc(var(--bottom-bar-height) + 30px + env(safe-area-inset-bottom));overscroll-behavior:none}.dashboard-header{z-index:12;background:color-mix(in srgb, var(--bg-primary), transparent 4%);align-items:flex-start;margin:-4px -4px 14px;padding:4px;position:sticky;top:0}.task-section{min-height:calc(100dvh - 210px);padding-bottom:calc(var(--bottom-bar-height) + env(safe-area-inset-bottom));overscroll-behavior:contain}.task-list{gap:9px;min-height:max(220px,100dvh - 390px)}.task-card{padding:15px}.check-button:active,.icon-button:active,.primary-button:active,.detail-save-button:active,.team-invite-actions button:active,.detail-invite button:active,.sidebar-connection button:active,.inline-retry-button:active,.new-list-button:active,.category-card:active,.fab:active{opacity:.86;transform:scale(.985)}.task-card:hover{border-color:color-mix(in srgb, var(--color-card-border), transparent 55%);background:var(--bg-secondary);box-shadow:none}.category-card:hover,.new-list-button:hover,.sidebar-connection button:hover,.detail-save-button:hover{transform:none}.task-actions{gap:6px}.check-button,.icon-button{width:38px;height:38px}.drawer-layer,.drawer-scrim{touch-action:none}.drawer-nav{width:min(88vw,340px);padding:calc(18px + env(safe-area-inset-top)) 18px calc(118px + env(safe-area-inset-bottom));touch-action:pan-y}.drawer-nav .sidebar-top{margin-bottom:32px}.drawer-nav .category-list{gap:10px}.sidebar-connection{padding-bottom:calc(18px + env(safe-area-inset-bottom));margin-top:28px}.quick-input{left:14px;right:calc(var(--size-fab) + 24px)}.quick-input-field{min-height:56px;font-size:16px}.fab{right:14px}.mobile-detail-panel{width:calc(100dvw - 20px);min-width:0;max-width:calc(100dvw - 20px);left:10px;right:auto;bottom:calc(10px + env(safe-area-inset-bottom) + var(--keyboard-offset));max-height:min(84dvh, calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--keyboard-offset)));padding:18px;padding-bottom:calc(22px + env(safe-area-inset-bottom));scroll-padding:76px 0 calc(112px + env(safe-area-inset-bottom));overscroll-behavior:contain;overscroll-behavior-x:none;touch-action:pan-y;contain:layout paint;border-bottom-right-radius:22px;border-bottom-left-radius:22px;overflow-x:clip;transform:translate(0,0)}.mobile-detail-panel *{min-width:0;max-width:100%}.mobile-detail-panel .detail-header,.mobile-detail-panel .detail-fields,.mobile-detail-panel .detail-meta-grid,.mobile-detail-panel .detail-invite,.mobile-detail-panel .detail-subtasks{overflow-x:clip}.mobile-detail-panel .detail-header{z-index:1;margin:-18px -18px var(--space-card);background:var(--bg-primary);border-top-left-radius:var(--radius-card);border-top-right-radius:var(--radius-card);padding:14px 18px 10px;position:sticky;top:-18px}.detail-title{overflow-wrap:anywhere;margin-bottom:12px;font-size:20px}.mobile-detail-panel .detail-fields{gap:12px;margin-bottom:22px}.detail-textarea{resize:none;min-height:clamp(170px,30dvh,240px);font-size:16px;overflow-x:hidden}.detail-input,.detail-invite input,.subtask-input{min-height:46px;font-size:16px}.mobile-detail-panel .detail-save-button{bottom:calc(8px + env(safe-area-inset-bottom));z-index:2;min-height:44px;padding:0 18px;position:sticky;box-shadow:0 10px 26px #00000014}.mobile-detail-panel .detail-invite form{grid-template-columns:minmax(0,1fr)}.mobile-detail-panel .detail-invite button{justify-self:start;min-height:40px;padding:0 14px}.mobile-detail-panel .detail-subtasks{padding-bottom:calc(34px + env(safe-area-inset-bottom))}.empty-state{min-height:calc(100dvh - 250px)}}@media (width>=760px){.app-shell{max-width:1180px;padding-top:var(--size-desktop-top-padding);grid-template-columns:210px minmax(720px,1fr);gap:20px;margin:0 auto;display:grid}.app-shell.has-detail{grid-template-columns:210px minmax(640px,1fr) 380px;max-width:1280px}.sidebar-nav{top:var(--size-desktop-top-padding);min-height:calc(100vh - var(--size-desktop-top-padding) - var(--space-page-bottom));padding:var(--space-card);border:1px solid color-mix(in srgb, var(--color-card-border), transparent 72%);border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-card-background), var(--color-background) 45%);align-self:start;display:block;position:sticky}.content-pane{padding-top:2px}.mobile-menu-button{display:none}.dashboard-header{min-height:40px}.quick-input{left:max(50vw - 410px,230px);right:max(calc((100vw - 1280px) / 2 + 408px + var(--size-fab) + 22px), calc(408px + var(--size-fab) + 22px))}.app-shell:not(.has-detail) .quick-input{right:max(calc((100vw - 1180px) / 2 + var(--size-fab) + 22px), calc(var(--size-fab) + 22px))}.task-actions{opacity:.72}.task-card:hover .task-actions{opacity:1}.detail-panel{top:var(--size-desktop-top-padding);z-index:1;max-height:calc(100vh - var(--size-desktop-top-padding) - var(--space-login-padding));box-shadow:none;align-self:start;position:sticky;bottom:auto;left:auto;right:auto}}
