@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-hover: #222222;--border-subtle: #262626;--border-default: #333333;--border-bright: #444444;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-tertiary: #737373;--text-muted: #525252;--accent: #ffffff;--accent-dim: #404040;--hope-color: #f472b6;--hope-bg: rgba(244, 114, 182, .15);--civa-color: #60a5fa;--civa-bg: rgba(96, 165, 250, .15);--pending-color: #fbbf24;--pending-bg: rgba(251, 191, 36, .15);--pending-border: rgba(251, 191, 36, .3);--danger: #ef4444;--warning: #f59e0b;--success: #22c55e}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:JetBrains Mono,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}input,button,select,textarea{font-family:inherit}::selection{background:var(--accent);color:var(--bg-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.auth-card{width:100%;max-width:400px}.workspace-select-card{max-width:440px}.auth-back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;margin-bottom:1.5rem;background:transparent;border:none;color:var(--text-tertiary);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .15s}.auth-back-btn:hover{color:var(--text-primary)}.auth-back-btn svg{width:18px;height:18px}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{width:64px;height:64px;margin:0 auto 1rem;color:var(--text-primary)}.auth-logo svg{width:100%;height:100%}.auth-icon{width:72px;height:72px;margin:0 auto 1.5rem;padding:1.25rem;background:linear-gradient(145deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--border-subtle);border-radius:20px;color:var(--pending-color);box-shadow:0 4px 20px #0000004d}.auth-icon svg{width:100%;height:100%;stroke-width:1.5}.auth-header h1{font-size:1.75rem;font-weight:700;margin:0;letter-spacing:-.03em}.auth-subtitle{color:var(--text-tertiary);margin:.75rem 0 0;font-size:.9375rem;line-height:1.5}.auth-subtitle strong{color:var(--text-primary)}.auth-form{margin-bottom:1.5rem}.auth-form.code-form{display:flex;flex-direction:column;gap:1rem}.auth-input-group{display:flex;gap:.5rem}.auth-input{flex:1;padding:1rem;font-size:1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-primary);outline:none;transition:border-color .15s}.auth-input::placeholder{color:var(--text-muted)}.auth-input:focus{border-color:var(--border-default)}.code-input{text-align:center;font-size:2rem;font-weight:600;letter-spacing:.75em;padding:1.25rem .25rem 1.25rem 1rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;background:transparent;border:2px solid var(--border-default);caret-color:var(--pending-color)}.code-input:focus{border-color:var(--pending-color);box-shadow:0 0 0 4px #eab30826}.code-input::placeholder{color:var(--text-muted);opacity:.4}.auth-submit-btn{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--text-primary);border:none;border-radius:10px;color:var(--bg-primary);cursor:pointer;transition:opacity .15s;flex-shrink:0}.auth-submit-btn:hover:not(:disabled){opacity:.9}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-submit-btn svg{width:24px;height:24px}.auth-btn{width:100%;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-btn.primary{background:var(--text-primary);border:none;color:var(--bg-primary);font-weight:600;box-shadow:0 2px 10px #ffffff1a}.auth-btn.primary:hover:not(:disabled){background:var(--text-secondary);transform:translateY(-1px);box-shadow:0 4px 15px #ffffff26}.auth-btn.primary:active:not(:disabled){transform:translateY(0)}.auth-btn.primary:disabled{opacity:.3;cursor:not-allowed;background:var(--text-muted)}.auth-btn.secondary{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);margin-top:1rem}.auth-btn.secondary:hover{border-color:var(--border-default);background:var(--bg-secondary)}.spinner{width:20px;height:20px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.spinner.large{width:40px;height:40px;border-width:3px;color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.auth-error{color:var(--danger);font-size:.875rem;margin:.75rem 0 0;text-align:center}.auth-footer{text-align:center;color:var(--text-tertiary);font-size:.875rem;margin:0}.link-btn{background:transparent;border:none;color:var(--text-primary);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:var(--text-secondary)}.link-btn:disabled{opacity:.5;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.demo-emails{display:flex;flex-direction:column;gap:.5rem}.demo-email-btn{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:all .15s}.demo-email-btn:hover:not(:disabled){border-color:var(--border-default);background:var(--bg-tertiary)}.demo-email-btn:disabled{opacity:.5;cursor:not-allowed}.demo-email{font-weight:500;color:var(--text-primary);font-size:.875rem}.demo-desc{font-size:.75rem;color:var(--text-muted)}.workspace-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.workspace-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-subtle);border-radius:12px;cursor:pointer;transition:all .15s}.workspace-item:hover:not(:disabled){border-color:var(--user-color, var(--border-default));background:var(--bg-tertiary);transform:translate(4px)}.workspace-item:disabled{opacity:.5;cursor:not-allowed}.workspace-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.workspace-name{font-weight:600;color:var(--text-primary);font-size:1rem}.workspace-user{font-size:.8125rem;color:var(--text-tertiary)}.workspace-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1rem;font-weight:600;color:#000}.no-workspaces{display:flex;flex-direction:column;align-items:center;padding:3rem 1rem;text-align:center}.no-workspaces .empty-icon{width:3rem;height:3rem;margin-bottom:1rem;color:var(--text-muted)}.no-workspaces .empty-icon svg{width:100%;height:100%}.no-workspaces p{margin:0;font-weight:500;color:var(--text-secondary)}.no-workspaces .empty-hint{margin-top:.25rem;font-size:.875rem;color:var(--text-muted)}.workspace-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.workspace-actions .auth-btn.primary svg{width:18px;height:18px}.workspace-actions .auth-btn.secondary{margin-top:0}.user-avatar-large{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.5rem;font-weight:600;color:#000;margin:0 auto 1rem}.workspace-arrow{width:20px;height:20px;color:var(--text-muted);flex-shrink:0}.workspace-item:hover .workspace-arrow{color:var(--text-primary)}.demo-code-hint{margin-top:2rem;padding:1rem 1.25rem;background:linear-gradient(145deg,#eab30814,#eab3080a);border:1px solid rgba(234,179,8,.2);border-radius:12px;text-align:center}.demo-label{font-size:.6875rem;color:var(--pending-color);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:.5rem;opacity:.8}.demo-code-value{font-size:1.75rem;font-weight:700;letter-spacing:.5em;color:var(--pending-color);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.app{min-height:100vh;max-width:640px;margin:0 auto;padding:1.5rem 1.5rem 6rem}.header{margin-bottom:1.5rem}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.header-left{display:flex;align-items:flex-start;gap:.75rem}.back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s;flex-shrink:0;margin-top:.25rem}.back-btn:hover{color:var(--text-primary);border-color:var(--border-default)}.back-btn svg{width:18px;height:18px}.header h1{font-size:1.5rem;font-weight:600;margin:0;letter-spacing:-.02em;color:var(--text-primary)}.stats{margin:.25rem 0 0;font-size:.8125rem;color:var(--text-tertiary);font-weight:400}.stats-completed{color:var(--text-muted)}.header-right{display:flex;align-items:center;gap:.5rem}.add-member-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.add-member-btn:hover{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-tertiary)}.add-member-btn svg{width:18px;height:18px}.user-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;flex-shrink:0}.user-badge:hover{background:var(--bg-tertiary);border-color:var(--border-default)}.user-dot{width:8px;height:8px;border-radius:50%}.task-container{display:flex;flex-direction:column}.tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:1rem}.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;color:var(--text-tertiary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.tab:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.tab.active{background:var(--bg-tertiary);color:var(--text-primary)}.tab-label{font-weight:600}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.375rem;height:1.375rem;padding:0 .375rem;font-size:.75rem;font-weight:600;border-radius:999px;background:var(--bg-hover);color:var(--text-secondary)}.tab-count.pending-count{background:var(--pending-bg);color:var(--pending-color)}.tab-count.completed-count{background:#22c55e26;color:var(--success)}.tab.active .tab-count.pending-count{background:var(--pending-color);color:#000}.tab.active .tab-count.completed-count{background:var(--success);color:#000}.tab-content{min-height:200px}.clear-all-btn{width:100%;margin-top:1rem;padding:.75rem;background:transparent;border:1px dashed var(--border-subtle);border-radius:8px;color:var(--text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.clear-all-btn:hover{border-color:var(--danger);color:var(--danger);background:#ef44441a}.task-list{display:flex;flex-direction:column;gap:.5rem}.task-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .15s,background-color .15s}.pending-list .task-item{border-color:var(--pending-border);background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(251,191,36,.05) 100%)}.pending-list .task-item:hover{border-color:var(--pending-color)}.task-item:hover{border-color:var(--border-default)}.task-item.completed{opacity:.7}.task-item.completed .task-title{text-decoration:line-through;color:var(--text-tertiary)}.task-checkbox{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.125rem;display:flex;align-items:center;justify-content:center;background:transparent;border:2px solid var(--border-default);border-radius:4px;cursor:pointer;transition:all .15s;padding:0}.pending-list .task-checkbox{border-color:var(--pending-color)}.pending-list .task-checkbox:hover{background:var(--pending-bg)}.task-checkbox svg{width:12px;height:12px;color:var(--bg-primary)}.task-checkbox:hover{border-color:var(--text-tertiary)}.task-item.completed .task-checkbox{background:var(--success);border-color:var(--success)}.task-content{flex:1;min-width:0}.task-title{display:block;font-size:.9375rem;font-weight:500;color:var(--text-primary);word-break:break-word;line-height:1.4}.task-meta{display:flex;align-items:center;gap:.5rem;margin-top:.375rem;flex-wrap:wrap}.meta-item,.meta-divider{font-size:.75rem;color:var(--text-muted)}.deadline-overdue{color:var(--danger)!important;font-weight:500}.deadline-today{color:var(--warning)!important;font-weight:500}.deadline-soon{color:var(--text-secondary)!important}.deadline-normal{color:var(--text-tertiary)!important}.deadline-completed{color:var(--text-muted)!important}.completion-remark{margin-top:.5rem;padding:.5rem .75rem;font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:6px;font-style:italic}.remark-label{color:var(--text-muted);font-style:normal}.completed-by{font-style:normal}.delete-button{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .15s;opacity:0;padding:0}.task-item:hover .delete-button{opacity:1}.delete-button svg{width:14px;height:14px;color:var(--text-muted);transition:color .15s}.delete-button:hover svg{color:var(--danger)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{width:3rem;height:3rem;margin-bottom:1rem;color:var(--text-muted)}.empty-icon svg{width:100%;height:100%}.empty-state p{margin:0;font-size:1rem;font-weight:500;color:var(--text-secondary)}.empty-hint{margin-top:.25rem;font-size:.875rem;color:var(--text-muted)}.completed-list .task-item{opacity:.7}.completed-list .task-item:hover{opacity:1}.fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--text-primary);border:none;border-radius:16px;color:var(--bg-primary);cursor:pointer;box-shadow:0 4px 20px #0006;transition:all .2s;z-index:50}.fab:hover{transform:scale(1.05);box-shadow:0 6px 24px #00000080}.fab:active{transform:scale(.95)}.fab svg{width:24px;height:24px}@media(min-width:640px){.fab{right:calc(50% - 320px + 2rem)}}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:16px;padding:1.5rem;animation:slideUp .2s ease-out}.task-form-modal{max-width:440px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-header h2{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-close svg{width:18px;height:18px}.modal-card h2{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.modal-task-title{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9375rem}.modal-field{margin-bottom:1.25rem}.modal-field label{display:block;font-size:.75rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.modal-field textarea,.modal-input{width:100%;padding:.75rem;font-size:.9375rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);outline:none;resize:vertical}.modal-field textarea{min-height:80px}.task-textarea{min-height:100px;line-height:1.5;resize:none}.modal-field textarea::placeholder,.modal-input::placeholder{color:var(--text-muted)}.modal-field textarea:focus,.modal-input:focus{border-color:var(--border-default)}.field-hint{display:block;margin-top:.375rem;font-size:.75rem;color:var(--text-muted)}.user-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.user-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;background:var(--bg-tertiary);border:2px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .15s}.user-option:hover{border-color:var(--border-default)}.user-option.active{border-color:var(--user-color, var(--text-primary));background:color-mix(in srgb,var(--user-color, var(--text-primary)) 10%,var(--bg-tertiary))}.user-option-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:600;color:#000}.user-option-avatar svg{width:18px;height:18px;color:#fff}.user-option-name{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.user-option.active .user-option-name{color:var(--text-primary)}.modal-footer{display:flex;gap:.75rem;margin-top:1.5rem}.modal-btn{flex:1;padding:.75rem 1rem;font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s}.modal-btn.cancel{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary)}.modal-btn.cancel:hover{background:var(--bg-hover);border-color:var(--border-default)}.modal-btn.confirm{background:var(--success);border:none;color:#000}.modal-btn.confirm:hover:not(:disabled){opacity:.9}.modal-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.modal-error{color:var(--danger);font-size:.875rem;margin:0;text-align:center}.create-workspace-modal{max-width:480px}.create-workspace-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.create-workspace-divider:before,.create-workspace-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.color-picker{display:flex;gap:.5rem;flex-wrap:wrap}.color-option{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .15s;outline:none}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:var(--text-primary);transform:scale(1.1);box-shadow:0 0 0 2px var(--bg-secondary)}.color-option:disabled{opacity:.5;cursor:not-allowed;transform:none}.color-option.small{width:28px;height:28px}.color-picker.compact{gap:.375rem}.members-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.member-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:var(--bg-tertiary);border-radius:8px}.member-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:600;color:#000;flex-shrink:0}.member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.member-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.member-email{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s;padding:0;flex-shrink:0}.member-remove:hover{color:var(--danger);background:#ef44441a}.member-remove svg{width:14px;height:14px}.member-you{background:var(--bg-secondary);border:1px solid var(--border-subtle)}.member-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-hover);padding:.125rem .375rem;border-radius:4px;margin-left:.5rem}.add-email-form{display:flex;gap:.5rem}.add-email-form .modal-input{flex:1}.add-email-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.add-email-btn:hover:not(:disabled){border-color:var(--border-default);color:var(--text-primary);background:var(--bg-hover)}.add-email-btn:disabled{opacity:.5;cursor:not-allowed}.add-email-btn svg{width:18px;height:18px}.add-member-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border:1px dashed var(--border-subtle);border-radius:8px;margin-bottom:1rem}.add-member-row{display:flex;gap:.5rem;align-items:center}.add-member-input{flex:1;padding:.5rem .75rem;font-size:.875rem}.add-member-btn-inline{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.add-member-btn-inline:hover:not(:disabled){border-color:var(--border-default);color:var(--text-primary);background:var(--bg-hover)}.add-member-btn-inline:disabled{opacity:.5;cursor:not-allowed}.add-member-btn-inline svg{width:14px;height:14px}.modal-user{margin:1rem 0 0;font-size:.75rem;color:var(--text-muted);text-align:center}@media(max-width:500px){.app{padding:1rem 1rem 5rem}.header h1{font-size:1.25rem}.delete-button{opacity:1}.user-buttons{grid-template-columns:repeat(2,1fr)}.fab{bottom:1.5rem;right:1.5rem;width:52px;height:52px;border-radius:14px}}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.task-item{animation:slideIn .2s ease-out}
