:root,:root[data-theme=light]{--bg: #f4f5f7;--panel: #ffffff;--border: #e2e4e9;--text: #1f2430;--muted: #7a8194;--primary: #4f6ef7;--primary-dark: #3d5ae0;--danger: #ef4444;--radius: 8px;--shadow: 0 1px 3px rgba(20, 24, 40, .08), 0 4px 16px rgba(20, 24, 40, .06);--hover: #f0f1f5;--subtle: #f7f8fb;--col-bg: #ebedf2;--code-bg: #eff1f5;--warn-bg: #fff7e0;--warn-border: #f2d574;--backdrop: rgba(15, 18, 30, .45);color-scheme:light}:root[data-theme=dark]{--bg: #14161d;--panel: #1d2029;--border: #2d3140;--text: #e5e8ef;--muted: #8b93a8;--primary: #7189ff;--primary-dark: #5c76f5;--danger: #f87171;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .3);--hover: #262a36;--subtle: #22252f;--col-bg: #191c24;--code-bg: #262a36;--warn-bg: #33290f;--warn-border: #6e5c1e;--backdrop: rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;background:var(--bg);color:var(--text);font-size:14px}#root,.app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{margin:0 0 12px}p{margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:12px}input,select,textarea{font:inherit;color:inherit;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary)}textarea{width:100%;resize:vertical}label{display:flex;flex-direction:column;gap:4px;font-weight:500}label.checkbox{flex-direction:row;align-items:center;gap:6px;font-weight:400}input[type=color]{padding:2px;width:36px;height:34px;cursor:pointer}.btn{font:inherit;padding:7px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);cursor:pointer;color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--hover)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--hover)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.btn-small{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.topbar{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border-bottom:1px solid var(--border);padding:0 20px;height:52px;position:sticky;top:0;z-index:10}.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}.logo{font-weight:800;font-size:18px;color:var(--primary);letter-spacing:-.5px}.logo-big{font-size:32px;text-align:center;margin-bottom:0}.nav{display:flex;gap:4px}.nav a{padding:6px 12px;border-radius:var(--radius);color:var(--muted);text-decoration:none;font-weight:500}.nav a:hover{color:var(--text);background:var(--hover)}.nav a.active{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.user-chip{font-weight:600}.org-chip{color:var(--muted);font-weight:500}.org-select{max-width:220px}.content{flex:1;display:flex;flex-direction:column;min-height:0}.page{padding:24px;max-width:1100px;width:100%;margin:0 auto}.page-wide{max-width:none}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.page-header h2{margin:0}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.inline-form{display:flex;gap:8px;align-items:center;margin:12px 0;flex-wrap:wrap}.filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.error-box{background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);padding:8px 12px;border-radius:var(--radius);margin:8px 0}.warn-box{background:var(--warn-bg);border:1px solid var(--warn-border);padding:8px 12px;border-radius:var(--radius);margin:8px 0}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:32px;width:380px;display:flex;flex-direction:column;gap:14px}.auth-card p{text-align:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:8px 0}.tab{font:inherit;background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;cursor:pointer;color:var(--muted);font-weight:500}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card.archived{opacity:.6}.card-head{display:flex;justify-content:space-between;margin-bottom:6px}.project-key{font-weight:700;color:var(--primary);font-size:12px;letter-spacing:.5px}.badge{font-size:11px;background:var(--border);border-radius:4px;padding:2px 6px}.card-actions{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.board{display:flex;gap:14px;overflow-x:auto;padding-bottom:16px;align-items:flex-start}.board-col{background:var(--col-bg);border-radius:10px;min-width:280px;width:280px;display:flex;flex-direction:column;max-height:calc(100vh - 180px)}.board-col-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:3px solid transparent;border-radius:10px 10px 0 0}.status-dot{width:10px;height:10px;border-radius:50%}.board-col-body{flex:1;overflow-y:auto;padding:4px 8px;min-height:30px}.board-col-body.drag-over{background:color-mix(in srgb,var(--primary) 7%,transparent)}.task-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px;cursor:pointer;box-shadow:0 1px 2px #1418280f}.task-card:hover{border-color:var(--primary)}.task-card.dragging{box-shadow:var(--shadow);transform:rotate(1deg)}.task-card-title{font-weight:500;margin-bottom:6px}.task-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mini-label{width:24px;height:6px;border-radius:3px;display:inline-block}.assignee{margin-left:auto;font-size:11px;background:var(--border);padding:2px 8px;border-radius:10px}.add-task-btn{margin:4px 8px 8px;justify-content:flex-start;color:var(--muted)}.add-task-form{padding:4px 8px 10px}.add-task-form input{width:100%}.task-table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.task-table th,.task-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}.task-table th{background:var(--subtle);font-weight:600;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.task-table tbody tr{cursor:pointer}.task-table tbody tr:hover{background:var(--subtle)}.status-badge{color:#fff;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.mini-labels{display:flex;gap:4px;margin-top:4px}.label-chip.tiny{font-size:10px;padding:1px 6px;color:#fff;border-radius:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50}.modal{background:var(--panel);border-radius:12px;width:860px;max-width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0a0e1e4d}.modal-head{display:flex;gap:10px;padding:16px 20px 0;align-items:center}.title-input{font-size:18px;font-weight:600;flex:1;border-color:transparent}.title-input:hover,.title-input:focus{border-color:var(--border)}.modal-body{display:flex;gap:20px;padding:16px 20px 20px;overflow-y:auto}.modal-main{flex:1;min-width:0}.modal-side{width:240px;display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:10px}.side-meta,.modal-side .btn-danger{margin-top:14px}.comments{display:flex;flex-direction:column;gap:10px}.comment{background:var(--subtle);border-radius:var(--radius);padding:8px 12px}.comment-head{display:flex;justify-content:space-between;margin-bottom:4px}.comment-form{display:flex;gap:8px}.comment-form input{flex:1}.activity-row{padding:6px 0;border-bottom:1px solid var(--border)}.label-list{display:flex;flex-wrap:wrap;gap:6px}.label-chip{font:inherit;font-size:12px;border:1.5px solid;border-radius:12px;background:transparent;padding:2px 10px;cursor:pointer}.label-chip.on{color:#fff}.settings-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.status-rows{display:flex;flex-direction:column;gap:8px;margin:12px 0}.status-row{display:flex;gap:8px;align-items:center}.status-row input:not([type]){flex:1;max-width:260px}.kb{display:flex;flex:1;min-height:0;height:calc(100vh - 52px)}.kb-sidebar{width:290px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.kb-search{padding:12px;border-bottom:1px solid var(--border)}.kb-search input{width:100%}.kb-tree{flex:1;overflow-y:auto;padding:8px 6px;display:flex;flex-direction:column}.kb-search-results{flex:1;overflow-y:auto;padding:8px 6px;display:flex;flex-direction:column;gap:2px}.tree-item{font:inherit;text-align:left;background:none;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;color:inherit;display:flex;flex-direction:column;gap:2px}.tree-item:hover{background:var(--hover)}.tree-item.active{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-weight:500}.tree-item .snippet b{color:var(--primary)}.kb-sidebar-actions{padding:10px;border-top:1px solid var(--border);display:flex;gap:8px}.kb-content{flex:1;overflow-y:auto;padding:28px 40px}.kb-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.kb-page-head h1{margin:0}.kb-actions{display:flex;gap:8px;flex-shrink:0}.kb-editor{display:flex;flex-direction:column;gap:12px;height:100%}.kb-editor .title-input{border-color:var(--border)}.kb-editor textarea{flex:1;min-height:50vh;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.6}.kb-history{margin:12px 0;border:1px solid var(--border);border-radius:var(--radius);padding:6px;display:flex;flex-direction:column}.markdown{line-height:1.65;max-width:760px}.markdown h1,.markdown h2{border-bottom:1px solid var(--border);padding-bottom:6px}.markdown code{background:var(--code-bg);border-radius:4px;padding:1px 5px;font-size:.9em}.markdown pre{background:#14161d;color:#e5e8ef;padding:14px;border-radius:var(--radius);overflow-x:auto}.markdown pre code{background:none;color:inherit}.markdown blockquote{border-left:3px solid var(--primary);margin-left:0;padding-left:14px;color:var(--muted)}.markdown table{border-collapse:collapse}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 12px}.task-key{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.3px;white-space:nowrap}.task-card .task-key{margin-bottom:2px}.task-key-big{font-size:13px;padding-top:8px}.modal-narrow{width:520px}.modal-form{display:flex;flex-direction:column;gap:6px;padding:12px 20px 20px}.form-row{display:flex;gap:14px}.form-col{flex:1;display:flex;flex-direction:column;gap:6px}.form-col select,.form-col input{width:100%}.modal-actions{display:flex;gap:8px;margin-top:14px}.card-clickable{cursor:pointer;transition:border-color .12s,box-shadow .12s}.card-clickable:hover{border-color:var(--primary);box-shadow:0 4px 18px #1418281a}.card-head-right{display:flex;align-items:center;gap:6px}.menu-wrap{position:relative}.menu-btn{font-size:16px;line-height:1;padding:2px 8px}.dropdown{position:absolute;right:0;top:28px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:180px;z-index:20;display:flex;flex-direction:column;padding:4px}.dropdown button{font:inherit;text-align:left;background:none;border:none;border-radius:6px;padding:8px 10px;cursor:pointer;color:inherit}.dropdown button:hover{background:var(--hover)}.dropdown button.danger{color:var(--danger)}.breadcrumbs{margin-bottom:12px}.breadcrumbs a{color:var(--primary);text-decoration:none;font-weight:600}.breadcrumbs a:hover{text-decoration:underline}.task-page-body{display:flex;gap:28px;align-items:flex-start}.task-page-main{flex:1;min-width:0}.task-page .modal-side{width:260px;flex-shrink:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.title-page{font-size:24px;width:100%;margin-bottom:12px;padding-left:0}.type-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.type-story{color:#16a34a;background:color-mix(in srgb,#16a34a 12%,transparent)}.type-feature{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.type-bug{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.task-card .type-badge{padding:0 4px 0 0;background:none}.breadcrumbs .type-badge{margin-left:8px}.theme-toggle{font-size:16px;padding:4px 8px}.invite-link-row{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.invite-link-row code{background:var(--code-bg);padding:4px 8px;border-radius:6px;font-size:12px;word-break:break-all}
