*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0c0b10;--bg-dots: #16141d;--surface: #14121b;--surface-2: #1c1927;--surface-3: #242134;--border: #272335;--border-light: #3a3455;--border-focus: #564875;--accent: #564875;--accent-mid: #7c62aa;--accent-bright: #9b7dc8;--accent-soft: rgba(86, 72, 117, .12);--accent-glow: rgba(86, 72, 117, .35);--accent-glow-soft: rgba(86, 72, 117, .15);--text: #e2dff2;--text-muted: #857f9e;--text-dim: #514d65;--create: #5bbf8a;--create-soft: rgba(91, 191, 138, .1);--create-glow: rgba(91, 191, 138, .28);--edit: #e8b84b;--edit-soft: rgba(232, 184, 75, .1);--edit-glow: rgba(232, 184, 75, .28);--delete: #e05858;--delete-soft: rgba(224, 88, 88, .1);--delete-glow: rgba(224, 88, 88, .28);--ok: #5bbf8a;--warn: #e8b84b;--error: #e05858;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--t: .18s ease;--t-slow: .35s cubic-bezier(.4, 0, .2, 1)}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:14px;background-color:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;overflow-x:hidden;background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:28px 28px;background-attachment:fixed}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;align-items:center;gap:12px;padding:0 24px;height:52px;flex-shrink:0;background:#0c0b10d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:10}.header__logo{font-family:var(--font-mono);font-size:16px;font-weight:500;color:var(--accent-bright);text-shadow:0 0 20px var(--accent-glow),0 0 40px var(--accent-glow-soft);letter-spacing:-.3px}.header__version{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);align-self:flex-end;margin-bottom:2px}.header__sep{color:var(--text-dim);font-size:18px;font-weight:300}.header__project{font-size:13px;color:var(--text-muted);font-weight:400}.header__spacer{flex:1}.header__back{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:color var(--t),background var(--t)}.header__back:hover{color:var(--text-muted);background:var(--surface-2)}.header__actions{display:flex;align-items:center;gap:8px}.offline-badge{font-family:var(--font-mono);font-size:11px;color:var(--error);background:#e058581a;border:1px solid var(--error);padding:2px 8px;border-radius:var(--radius-sm);animation:blink 1.4s step-end infinite}@keyframes blink{50%{opacity:.35}}.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--accent-mid);background:var(--accent-soft);border:1px solid var(--border-focus);padding:7px 16px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t),border-color var(--t),box-shadow var(--t),color var(--t);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover{background:#56487538;border-color:var(--accent-mid);color:var(--accent-bright);box-shadow:0 0 12px var(--accent-glow-soft)}.btn:active{opacity:.75;transform:scale(.98)}.btn:focus-visible,.project-item:focus-visible,.tag-chip__remove:focus-visible,.undo-bar__btn:focus-visible,.task-card__delete-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--accent-mid)}.project-item:focus-visible{background:var(--surface-2)}.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.btn--ghost{background:none;border-color:transparent;color:var(--text-dim)}.btn--ghost:hover{background:var(--surface-2);border-color:var(--border);color:var(--text-muted);box-shadow:none}.btn--primary{background:var(--accent);color:#e8e0ff;border-color:var(--accent-mid)}.btn--primary:hover{background:var(--accent-mid);border-color:var(--accent-bright);box-shadow:0 0 20px var(--accent-glow),0 0 40px var(--accent-glow-soft)}.btn--danger{color:var(--error);border-color:transparent;background:none}.btn--danger:hover{background:var(--delete-soft);border-color:var(--delete);box-shadow:0 0 10px var(--delete-glow)}.btn--sm{font-size:11px;padding:4px 10px}.btn--icon{padding:6px;border-radius:var(--radius-sm)}.projects-view{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;overflow-y:auto}.projects-panel{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 40px #5648751f,0 8px 32px #0006}.projects-panel__header{padding:20px 20px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.projects-panel__title{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.projects-list{list-style:none;max-height:420px;overflow-y:auto}.projects-list__empty{padding:32px 20px;text-align:center;color:var(--text-dim);font-size:13px;font-family:var(--font-mono)}.project-item{display:flex;align-items:center;gap:12px;padding:13px 20px;cursor:pointer;border-bottom:1px solid var(--border);transition:background var(--t),box-shadow var(--t);position:relative}.project-item:last-child{border-bottom:none}.project-item:hover{background:var(--surface-2)}.project-item:hover .project-item__dot{box-shadow:0 0 8px var(--accent-glow);background:var(--accent-mid)}.project-item:hover:after{opacity:1}.project-item:after{content:"›";position:absolute;right:20px;color:var(--text-dim);font-size:18px;opacity:0;transition:opacity var(--t)}.project-item__dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;transition:background var(--t),box-shadow var(--t)}.project-item__name{font-size:14px;color:var(--text);flex:1;font-weight:400}.project-item__count{font-size:11px;font-family:var(--font-mono);color:var(--text-dim);background:var(--surface-3);padding:2px 7px;border-radius:10px}.projects-loading{padding:24px 20px;display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:13px;font-family:var(--font-mono)}.workspace{flex:1;display:grid;grid-template-columns:3fr 2fr;overflow:hidden;transition:grid-template-columns var(--t-slow)}.workspace--collapsed{grid-template-columns:52px 1fr}.input-panel{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);overflow:hidden;position:relative}.input-panel--collapsed{align-items:center}.input-panel__collapse-btn{position:absolute;top:16px;right:-1px;z-index:5;width:22px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);cursor:pointer;color:var(--text-dim);font-size:12px;transition:background var(--t),color var(--t)}.input-panel__collapse-btn:hover{background:var(--surface-3);color:var(--accent-mid)}.input-panel__sidebar{display:flex;flex-direction:column;align-items:center;padding:60px 0 20px;gap:16px;width:52px;flex:1}.input-panel__sidebar-expand{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:none;color:var(--accent-mid);font-size:16px;transition:background var(--t),box-shadow var(--t)}.input-panel__sidebar-expand:hover{background:var(--accent-soft);box-shadow:0 0 12px var(--accent-glow-soft);border-color:var(--border-focus)}.input-panel__sidebar-label{writing-mode:vertical-rl;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase;transform:rotate(180deg)}.input-panel__content{display:flex;flex-direction:column;height:100%;overflow:hidden}.input-panel__top{display:flex;align-items:center;gap:8px;padding:14px 20px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.input-panel__project-badge{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-muted)}.input-panel__project-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-mid);box-shadow:0 0 6px var(--accent-glow);flex-shrink:0}.input-panel__new-badge{font-family:var(--font-mono);font-size:11px;color:var(--create);background:var(--create-soft);border:1px solid rgba(91,191,138,.25);padding:2px 8px;border-radius:10px}.input-panel__body{flex:1;overflow-y:auto;overflow-anchor:none;padding:20px;display:flex;flex-direction:column;gap:16px}.input-panel__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}.input-panel__textarea{width:100%;min-height:120px;max-height:60vh;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.7;padding:14px 16px;resize:none;overflow-y:auto;outline:none;transition:border-color var(--t),box-shadow var(--t)}.input-panel__textarea::placeholder{color:var(--text-dim)}.input-panel__textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--accent-glow),0 0 20px var(--accent-glow-soft)}.input-panel__hint{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-top:-6px}.input-panel__complete{font-family:var(--font-mono);font-size:12px;color:var(--ok)}.input-panel__footer{flex-shrink:0;padding:12px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--surface)}.input-panel__select{display:inline-flex;align-items:center;gap:6px;padding:0 8px;height:32px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;transition:border-color .15s ease}.input-panel__select:hover{border-color:var(--border-light)}.input-panel__select:focus-within{border-color:var(--border-focus)}.input-panel__select-icon{font-size:12px;color:var(--text-dim);line-height:1}.input-panel__select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:12px;cursor:pointer;padding-right:4px}.input-panel__select select:disabled{cursor:not-allowed;opacity:.5}.input-panel__select select option{background:var(--surface-2);color:var(--text)}.input-panel__question-badge{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--accent-bright);background:#9b7dc81a;border:1px solid rgba(155,125,200,.3);padding:2px 8px;border-radius:10px;margin-left:auto;animation:pulse-badge 2s ease-in-out infinite}.input-panel__question-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 6px var(--accent-glow);animation:pulse-dot 1.4s ease-in-out infinite;flex-shrink:0}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}.input-panel__status{padding:14px 20px;background:var(--surface-2);border-top:1px solid var(--border);flex-shrink:0}.status-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.spinner{width:14px;height:14px;border:2px solid var(--border-light);border-top-color:var(--accent-mid);border-radius:50%;animation:spin .75s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.status-text{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);flex:1}.status-elapsed{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.progress-bar{height:2px;background:var(--border);border-radius:1px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-mid));transition:width .4s ease;animation:progress-shimmer 2s ease-in-out infinite;box-shadow:0 0 8px var(--accent-glow)}@keyframes progress-shimmer{0%,to{opacity:1}50%{opacity:.6}}.tasks-panel{display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.tasks-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.tasks-panel__title{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em}.tasks-panel__count{font-family:var(--font-mono);font-size:11px;background:var(--surface-2);color:var(--text-muted);padding:2px 8px;border-radius:10px}.tasks-panel__body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.tasks-panel__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;gap:12px}.tasks-panel__empty-icon{font-size:36px;opacity:.22;filter:grayscale(1)}.tasks-panel__empty-text{font-size:13px;color:var(--text-muted);text-align:center;font-family:var(--font-mono);line-height:1.8}.undo-bar{margin:0 16px 8px;padding:8px 14px;background:#e8b84b0f;border:1px solid rgba(232,184,75,.2);border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-mono);color:var(--text-muted);display:flex;align-items:center;gap:10px}.undo-bar__btn{background:none;border:none;color:var(--warn);cursor:pointer;font-family:var(--font-mono);font-size:12px;padding:0;text-decoration:underline;text-underline-offset:2px}.undo-bar__btn:hover{color:var(--edit)}.confirm-result{margin:8px 16px 0;padding:10px 14px;background:var(--create-soft);border:1px solid rgba(91,191,138,.25);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;color:var(--create)}.ai-dialog{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.ai-dialog__history{flex:1;overflow-y:auto;overflow-anchor:none;display:flex;flex-direction:column;gap:12px;padding-right:4px}.ai-dialog__bubble{display:flex;flex-direction:column;gap:4px;max-width:88%;animation:card-enter .2s ease both}.ai-dialog__bubble--ai{align-self:flex-start}.ai-dialog__bubble--user{align-self:flex-end}.ai-dialog__bubble-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:0 4px}.ai-dialog__bubble--ai .ai-dialog__bubble-label{color:var(--accent-mid)}.ai-dialog__bubble--user .ai-dialog__bubble-label{color:var(--text-dim);text-align:right}.ai-dialog__bubble-text{margin:0;padding:10px 14px;font-size:13px;line-height:1.65;border-radius:var(--radius)}.ai-dialog__bubble--ai .ai-dialog__bubble-text{background:#5648752e;border:1px solid var(--border-focus);color:var(--text);border-top-left-radius:var(--radius-sm);box-shadow:0 0 16px var(--accent-glow-soft)}.ai-dialog__bubble--user .ai-dialog__bubble-text{background:var(--surface-3);border:1px solid var(--border);color:var(--text);border-top-right-radius:var(--radius-sm)}.ai-dialog__bubble-text p{margin:0 0 8px}.ai-dialog__bubble-text p:last-child{margin-bottom:0}.ai-dialog__bubble-text h1,.ai-dialog__bubble-text h2,.ai-dialog__bubble-text h3{font-family:var(--font-mono);font-weight:600;color:var(--accent-bright);margin:10px 0 4px}.ai-dialog__bubble-text h1{font-size:14px}.ai-dialog__bubble-text h2{font-size:13px}.ai-dialog__bubble-text h3{font-size:12px}.ai-dialog__bubble-text ul,.ai-dialog__bubble-text ol{margin:4px 0 8px 16px;padding:0}.ai-dialog__bubble-text li{margin-bottom:2px}.ai-dialog__bubble-text code{font-family:var(--font-mono);font-size:11px;background:#56487540;border:1px solid var(--border-focus);border-radius:3px;padding:1px 5px;color:var(--accent-bright)}.ai-dialog__bubble-text pre{background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;overflow-x:auto;margin:8px 0}.ai-dialog__bubble-text pre code{background:none;border:none;padding:0;font-size:12px;color:var(--text-muted)}.ai-dialog__bubble-text blockquote{border-left:3px solid var(--accent);margin:6px 0;padding:4px 0 4px 12px;color:var(--text-muted);font-style:italic}.ai-dialog__bubble-text a{color:var(--accent-bright);text-decoration:underline;text-underline-offset:2px}.ai-dialog__bubble-text a:hover{color:var(--text)}.ai-dialog__bubble-text strong{color:var(--text);font-weight:600}.ai-dialog__bubble-text em{color:var(--text-muted)}.ai-dialog__bubble-text hr{border:none;border-top:1px solid var(--border);margin:8px 0}.ai-dialog__bubble-text table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.ai-dialog__bubble-text th,.ai-dialog__bubble-text td{border:1px solid var(--border);padding:5px 10px;text-align:left}.ai-dialog__bubble-text th{background:var(--surface-3);color:var(--accent-mid);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.ai-dialog__bubble-text--thinking{display:inline-flex;align-items:center;padding:12px 16px}.ai-dialog__typing{display:inline-flex;align-items:center;gap:5px}.ai-dialog__typing span{width:6px;height:6px;border-radius:50%;background:var(--accent-bright);opacity:.4;animation:typing-bounce 1.2s ease-in-out infinite}.ai-dialog__typing span:nth-child(2){animation-delay:.18s}.ai-dialog__typing span:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.ai-dialog__input-area{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.ai-dialog__textarea{width:100%;min-height:68px;max-height:160px;background:var(--surface-2);border:1px solid var(--border-focus);border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.7;padding:10px 14px;resize:none;outline:none;transition:border-color var(--t),box-shadow var(--t);box-shadow:0 0 0 1px var(--accent-glow-soft)}.ai-dialog__textarea:focus{border-color:var(--accent-mid);box-shadow:0 0 0 1px var(--accent-glow),0 0 20px var(--accent-glow-soft)}.ai-dialog__textarea::placeholder{color:var(--text-dim)}.ai-dialog__send-row{display:flex;align-items:center;justify-content:flex-end;gap:10px}.ai-dialog__hint{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);flex:1}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;transition:border-color var(--t),box-shadow var(--t),transform var(--t);animation:card-enter .25s ease both;position:relative}@keyframes card-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.task-card:hover{border-color:var(--border-light)}.task-card--create{border-left:2px solid var(--create)}.task-card--create:hover{box-shadow:-3px 0 12px var(--create-glow),0 0 20px #5bbf8a0f}.task-card--edit{border-left:2px solid var(--edit)}.task-card--edit:hover{box-shadow:-3px 0 12px var(--edit-glow),0 0 20px #e8b84b0f}.task-card--delete{border-left:2px solid var(--delete);opacity:.75}.task-card--delete:hover{box-shadow:-3px 0 12px var(--delete-glow),0 0 20px #e058580f}.task-card--readonly{border-left-width:1px;cursor:default}.task-card--readonly:hover{border-color:var(--border-light);box-shadow:none}.task-card__header{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.control-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.05em;padding:3px 7px;border-radius:10px;flex-shrink:0;margin-top:1px}.control-badge--create{color:var(--create);background:var(--create-soft);border:1px solid rgba(91,191,138,.25);box-shadow:0 0 8px var(--create-glow)}.control-badge--edit{color:var(--edit);background:var(--edit-soft);border:1px solid rgba(232,184,75,.25);box-shadow:0 0 8px var(--edit-glow)}.control-badge--delete{color:var(--delete);background:var(--delete-soft);border:1px solid rgba(224,88,88,.25);box-shadow:0 0 8px var(--delete-glow)}.task-card__name-input{flex:1;background:none;border:none;color:var(--text);font-family:var(--font-sans);font-size:14px;font-weight:500;outline:none;padding:0;width:100%;transition:color var(--t)}.task-card__name-input:focus{color:var(--text)}.task-card__name-input:disabled{color:var(--text-muted)}.task-card--delete .task-card__name-input{color:var(--text-dim);text-decoration:line-through}.task-card__delete-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px;line-height:1;padding:2px;border-radius:var(--radius-sm);transition:color var(--t),background var(--t);flex-shrink:0}.task-card__delete-btn:hover{color:var(--error);background:var(--delete-soft)}.task-card__field-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);margin-bottom:4px;margin-top:10px}.task-card__field-label:first-of-type{margin-top:0}.task-card__textarea{width:100%;background:var(--surface-2);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-sans);font-size:13px;line-height:1.6;padding:7px 10px;resize:none;outline:none;transition:border-color var(--t),color var(--t),background var(--t);overflow:hidden}.task-card__textarea:focus{border-color:var(--border-focus);color:var(--text);background:var(--surface-3)}.task-card__textarea:disabled{opacity:.5;cursor:not-allowed}.task-card__tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;min-height:24px}.tag-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:11px;color:var(--accent-mid);background:var(--accent-soft);border:1px solid var(--border-focus);padding:2px 8px;border-radius:10px;transition:border-color var(--t)}.tag-chip:hover{border-color:var(--accent-mid)}.tag-chip__remove{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;line-height:1;padding:0;font-family:var(--font-mono)}.tag-chip__remove:hover{color:var(--error)}.tag-input-row{display:flex;gap:6px;margin-top:6px}.tag-input-row input{flex:1;background:var(--surface-2);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:11px;padding:4px 8px;outline:none;transition:border-color var(--t)}.tag-input-row input:focus{border-color:var(--border-focus);color:var(--text)}.tag-input-row input::placeholder{color:var(--text-dim)}.tag-input-row input:disabled{opacity:.4;cursor:not-allowed}.project-task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:11px 14px;transition:border-color var(--t);animation:card-enter .2s ease both}.project-task-card:hover{border-color:var(--border-light)}.project-task-card__name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.project-task-card__desc{font-size:12px;color:var(--text-muted);line-height:1.5}.project-task-card__status{display:inline-block;font-family:var(--font-mono);font-size:10px;color:var(--text-dim);margin-top:6px}.hotkey-bar{flex-shrink:0;height:30px;display:flex;align-items:center;gap:18px;padding:0 20px;background:#0c0b10d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);overflow-x:auto;overflow-y:hidden;z-index:10}.hotkey-bar::-webkit-scrollbar{height:0}.hotkey{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap}.hotkey__key{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:17px;padding:0 5px;font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--accent-bright);background:var(--surface-2);border:1px solid var(--border-light);border-bottom-width:2px;border-radius:4px;line-height:1}.hotkey__label{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:.02em}.toast-container{position:fixed;bottom:42px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:1000;pointer-events:none}.toast{background:var(--surface-2);border:1px solid var(--border-light);color:var(--text-muted);font-family:var(--font-mono);font-size:12px;padding:9px 15px;border-radius:var(--radius);max-width:300px;opacity:0;transform:translateY(10px) scale(.97);transition:opacity .2s ease,transform .2s ease;pointer-events:none;box-shadow:0 4px 20px #0000004d}.toast.toast--visible{opacity:1;transform:translateY(0) scale(1)}.toast--ok{border-color:#5bbf8a66;color:var(--ok)}.toast--warn{border-color:#e8b84b66;color:var(--warn)}.toast--error{border-color:#e0585866;color:var(--error)}.hidden{display:none!important}.autosave-indicator{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);transition:opacity var(--t)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
