aizuchi 0.5.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +101 -0
- package/README.ja.md +213 -0
- package/README.md +232 -170
- package/dist/server/app.js +46 -10
- package/dist/server/lib/docs.js +45 -11
- package/dist/server/lib/files.js +18 -4
- package/dist/server/lib/fs-safe.js +81 -21
- package/dist/server/lib/proposal.js +35 -4
- package/dist/server/lib/task-ops.js +30 -7
- package/dist/server/lib/trash.js +21 -0
- package/dist/shared/activity-heatmap.js +39 -0
- package/dist/shared/related-docs.js +5 -59
- package/dist/shared/schema.js +16 -5
- package/dist/shared/stats.js +17 -8
- package/dist/shared/task-setters.js +46 -34
- package/dist/web/assets/index-CiZ-pdUZ.css +1 -0
- package/dist/web/assets/index-U2se0dzu.js +99 -0
- package/dist/web/index.html +2 -2
- package/package.json +6 -3
- package/templates/claude-rules.md +5 -0
- package/dist/web/assets/index-C3mZwbO4.js +0 -103
- package/dist/web/assets/index-QsPhBKSP.css +0 -1
package/dist/shared/schema.js
CHANGED
|
@@ -33,8 +33,9 @@ export const taskIdSchema = z
|
|
|
33
33
|
// 1 行テキスト (title 等。改行を含むと行ベースの frontmatter 処理が壊れる)
|
|
34
34
|
const singleLineString = z.string().min(1).regex(/^[^\r\n]+$/, '1 行で書く (改行不可)');
|
|
35
35
|
export const memberSchema = z.object({
|
|
36
|
-
// スラッグ (タスクファイルの created_by / assignee に書かれる安定 ID)
|
|
37
|
-
|
|
36
|
+
// スラッグ (タスクファイルの created_by / assignee に書かれる安定 ID)。
|
|
37
|
+
// M3: `]` と改行を禁止する (parseWorkLogLines の `\[([^\]]+)\]` が member/message を誤分割しないため)
|
|
38
|
+
id: z.string().min(1).regex(/^[^\]\r\n]+$/, 'member id に ] や改行は使えません'),
|
|
38
39
|
// 表示名 (任意)。未指定は id を表示 (columns label と同じパターン)。表示名の変更は id に影響しない
|
|
39
40
|
label: z.string().min(1).optional(),
|
|
40
41
|
type: z.enum(MEMBER_TYPES),
|
|
@@ -209,7 +210,7 @@ export const taskFrontmatterSchema = z
|
|
|
209
210
|
message: 'pending のタスクは blocked_type (decision / external / dependency) が必須',
|
|
210
211
|
});
|
|
211
212
|
}
|
|
212
|
-
if (task.blocked_reason === null) {
|
|
213
|
+
if (task.blocked_reason === null || task.blocked_reason.trim().length === 0) {
|
|
213
214
|
ctx.addIssue({
|
|
214
215
|
code: z.ZodIssueCode.custom,
|
|
215
216
|
path: ['blocked_reason'],
|
|
@@ -301,9 +302,19 @@ export const moveInputSchema = z
|
|
|
301
302
|
})
|
|
302
303
|
.strict()
|
|
303
304
|
.superRefine((input, ctx) => {
|
|
304
|
-
|
|
305
|
-
|
|
305
|
+
if (input.status === 'pending') {
|
|
306
|
+
// M1: 空白のみの blocked_reason は無効 (taskFrontmatterSchema の pending 必須チェックと同じ基準。
|
|
307
|
+
// ここで弾くのは入力検証段階のフェイルファストのためで、自動 trim 保存はしない)
|
|
308
|
+
if (input.blocked_reason != null && input.blocked_reason.trim().length === 0) {
|
|
309
|
+
ctx.addIssue({
|
|
310
|
+
code: z.ZodIssueCode.custom,
|
|
311
|
+
path: ['blocked_reason'],
|
|
312
|
+
message: 'blocked_reason は空白のみでは指定できません',
|
|
313
|
+
});
|
|
314
|
+
}
|
|
306
315
|
return;
|
|
316
|
+
}
|
|
317
|
+
// 非 pending 行きへの blocked_* 同梱はクライアントのバグの兆候なので黙殺せず 400 にする
|
|
307
318
|
if (input.blocked_type != null) {
|
|
308
319
|
ctx.addIssue({
|
|
309
320
|
code: z.ZodIssueCode.custom,
|
package/dist/shared/stats.js
CHANGED
|
@@ -154,7 +154,10 @@ function isCompletionRecord(message) {
|
|
|
154
154
|
}
|
|
155
155
|
/**
|
|
156
156
|
* done タスクの完了時刻を決める (epoch ms)。
|
|
157
|
-
* 優先順位: (1) 完了記録 (isCompletionRecord)
|
|
157
|
+
* 優先順位: (1) 完了記録 (isCompletionRecord) を満たす作業ログ行のうち「時刻が最大」のもの →
|
|
158
|
+
* 無ければ (2) updated。出現位置の末尾ではなく時刻最大で選ぶ (lastActivity と同方針、I5: 手編集で
|
|
159
|
+
* 過去日付の完了記録を後から追記するバックフィルがあると、末尾一致では新しい完了記録より古い
|
|
160
|
+
* バックフィル行を誤って採用しうるため)。
|
|
158
161
|
* 作業ログは `YYYY-MM-DD HH:mm` (タイムゾーン無し) なので、updated のタイムゾーンに合わせず
|
|
159
162
|
* ローカル解釈の差を避けるため UTC ではなく Date.parse に委ねる (日別ビンは日付文字列で行う)。
|
|
160
163
|
* R10-4 既知近似: 作業ログ時刻はローカル解釈・created/updated はオフセット付き絶対時刻のため、
|
|
@@ -163,13 +166,18 @@ function isCompletionRecord(message) {
|
|
|
163
166
|
function completionMs(task) {
|
|
164
167
|
// `## やりとり` のコメント行に完了キーワードがあっても拾わないよう、作業ログセクションに限定する (R-review #3)。
|
|
165
168
|
const logs = parseWorkLogLines(workLogBody(task.body));
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
let best = null;
|
|
170
|
+
for (const log of logs) {
|
|
171
|
+
if (!isCompletionRecord(log.message))
|
|
172
|
+
continue;
|
|
173
|
+
const ms = Date.parse(`${log.date}T${log.time}`);
|
|
174
|
+
if (Number.isNaN(ms))
|
|
175
|
+
continue;
|
|
176
|
+
if (best === null || ms > best)
|
|
177
|
+
best = ms;
|
|
172
178
|
}
|
|
179
|
+
if (best !== null)
|
|
180
|
+
return best;
|
|
173
181
|
return parseIsoMs(task.updated);
|
|
174
182
|
}
|
|
175
183
|
/** 完了時刻 ms から日別ビンのキー (`YYYY-MM-DD`) を作る (ローカル日付) */
|
|
@@ -249,7 +257,8 @@ export function deriveStats(tasks, now, options = {}) {
|
|
|
249
257
|
return { status, count: group.length, avgDays: null, maxDays: null };
|
|
250
258
|
}
|
|
251
259
|
const avgMs = dwells.reduce((s, v) => s + v, 0) / dwells.length;
|
|
252
|
-
|
|
260
|
+
const maxMs = dwells.reduce((m, v) => (v > m ? v : m), dwells[0]);
|
|
261
|
+
return { status, count: group.length, avgDays: toDays(avgMs), maxDays: toDays(maxMs) };
|
|
253
262
|
});
|
|
254
263
|
// 4. member 別完了数 (件数降順 → member 名昇順、未割当は最後)
|
|
255
264
|
const completionsByMember = [...byMember.entries()]
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* task frontmatter の 1 フィールドだけを byte 保全で書き換える純関数。
|
|
3
|
-
* setRelatedDocsInRaw
|
|
3
|
+
* setRelatedDocsInRaw / setDependsOnInRaw / setPriorityInRaw は
|
|
4
|
+
* setFrontmatterField を共通骨格として使う薄いラッパ (LEARN#8b N=3 共通化)。
|
|
4
5
|
*
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
6
|
+
* - setFrontmatterField: frontmatter の指定フィールドを置換/追加/除去する共通骨格 (公開)
|
|
7
|
+
* - setDependsOnInRaw: frontmatter の depends_on 配列だけを置換/追加する
|
|
8
|
+
* - setPriorityInRaw: frontmatter の priority スカラだけを置換/追加する
|
|
7
9
|
*
|
|
8
10
|
* 本文・他フィールド・改行コード・コメントは完全に保全する。
|
|
9
11
|
* frontmatter が見つからない raw はそのまま返す。
|
|
10
12
|
*/
|
|
11
|
-
// frontmatter 境界: 先頭の `---` 行 (行末空白を許容、parseTaskFile
|
|
13
|
+
// frontmatter 境界: 先頭の `---` 行 (行末空白を許容、parseTaskFile と同じ規約)
|
|
12
14
|
const FM_OPEN = /^---[ \t]*\r?\n/;
|
|
13
15
|
// 閉じ `---` 行 (行末空白許容)
|
|
14
16
|
const FM_CLOSE = /^---[ \t]*$/;
|
|
@@ -18,8 +20,7 @@ const BOM = '\uFEFF';
|
|
|
18
20
|
// 内部ユーティリティ
|
|
19
21
|
// ---------------------------------------------------------------------------
|
|
20
22
|
/**
|
|
21
|
-
* raw から BOM
|
|
22
|
-
* setRelatedDocsInRaw と同じ規約 (R13-1)。
|
|
23
|
+
* raw から BOM を剥がし、処理後に復元するラッパー (R13-1)。
|
|
23
24
|
*/
|
|
24
25
|
function withBomHandling(raw, fn) {
|
|
25
26
|
const hasBom = raw.startsWith(BOM);
|
|
@@ -28,9 +29,8 @@ function withBomHandling(raw, fn) {
|
|
|
28
29
|
return hasBom ? BOM + result : result;
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
31
|
-
* frontmatter
|
|
32
|
-
*
|
|
33
|
-
* また閉じ `---` のインデックスと全行配列も返す。
|
|
32
|
+
* frontmatter 境界を解析し、全行配列と閉じ `---` のインデックスを返す。
|
|
33
|
+
* frontmatter が見つからない場合は null を返す。
|
|
34
34
|
*/
|
|
35
35
|
function parseFrontmatterLines(raw) {
|
|
36
36
|
if (!FM_OPEN.test(raw))
|
|
@@ -59,7 +59,7 @@ function removeKeyLines(lines, closeIdx, key) {
|
|
|
59
59
|
const line = lines[i].replace(/\r$/, '');
|
|
60
60
|
if (keyPattern.test(line)) {
|
|
61
61
|
i++;
|
|
62
|
-
// block 形式: 続く `- ` 行も取り除く (
|
|
62
|
+
// block 形式: 続く `- ` 行も取り除く (ゼロインデントも対象、R13-4 と同方式)
|
|
63
63
|
while (i < closeIdx && /^\s*-\s/.test(lines[i].replace(/\r$/, '')))
|
|
64
64
|
i++;
|
|
65
65
|
continue;
|
|
@@ -71,7 +71,7 @@ function removeKeyLines(lines, closeIdx, key) {
|
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
73
|
* `kept` 行配列にフィールドを挿入し、raw 全体を再組み立てして返す。
|
|
74
|
-
* 挿入位置: created:
|
|
74
|
+
* 挿入位置: created: 行の直前、なければ末尾。
|
|
75
75
|
* newLine が null の場合は挿入しない (フィールド除去のみ)。
|
|
76
76
|
*/
|
|
77
77
|
function rebuildRaw(lines, closeIdx, kept, newLine) {
|
|
@@ -89,28 +89,49 @@ function rebuildRaw(lines, closeIdx, kept, newLine) {
|
|
|
89
89
|
return `${head}\n${tail}`;
|
|
90
90
|
}
|
|
91
91
|
// ---------------------------------------------------------------------------
|
|
92
|
-
// 公開
|
|
92
|
+
// 共通骨格 (公開)
|
|
93
|
+
// ---------------------------------------------------------------------------
|
|
94
|
+
/**
|
|
95
|
+
* raw (frontmatter + 本文) の指定フィールドを byte 保全で置換/追加/除去する共通骨格。
|
|
96
|
+
*
|
|
97
|
+
* - key: frontmatter のフィールド名 (例: `related_docs`, `depends_on`, `priority`)
|
|
98
|
+
* - serializedValueOrNull:
|
|
99
|
+
* - 非 null: `${key}: ${serializedValueOrNull}` 形式の 1 行として挿入/置換する
|
|
100
|
+
* (例: `'["a", "b"]'` → `related_docs: ["a", "b"]`、`'high'` → `priority: high`)
|
|
101
|
+
* - null: そのフィールドの行 (flow or block 形式) を除去するだけで挿入しない
|
|
102
|
+
*
|
|
103
|
+
* BOM・行末空白・block 形式配列はすべて保全/除去対象。
|
|
104
|
+
* frontmatter が見つからない raw はそのまま返す。
|
|
105
|
+
*
|
|
106
|
+
* LEARN#8b: setRelatedDocsInRaw / setDependsOnInRaw / setPriorityInRaw (N=3) の
|
|
107
|
+
* 共通骨格として抽出。security-relevant なフィールド書換であるため、
|
|
108
|
+
* 各 setter のテスト (related-docs.test.ts / task-setters.test.ts) で全ケースを検証する。
|
|
109
|
+
*/
|
|
110
|
+
export function setFrontmatterField(raw, key, serializedValueOrNull) {
|
|
111
|
+
return withBomHandling(raw, (body) => {
|
|
112
|
+
const parsed = parseFrontmatterLines(body);
|
|
113
|
+
if (!parsed)
|
|
114
|
+
return body;
|
|
115
|
+
const { lines, closeIdx } = parsed;
|
|
116
|
+
const kept = removeKeyLines(lines, closeIdx, key);
|
|
117
|
+
const newLine = serializedValueOrNull !== null ? `${key}: ${serializedValueOrNull}` : null;
|
|
118
|
+
return rebuildRaw(lines, closeIdx, kept, newLine);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
// ---------------------------------------------------------------------------
|
|
122
|
+
// 公開 API (setFrontmatterField の薄いラッパ)
|
|
93
123
|
// ---------------------------------------------------------------------------
|
|
94
124
|
/**
|
|
95
125
|
* raw (frontmatter + 本文) の depends_on 行を ids で差し替えた raw を返す。
|
|
96
126
|
* - ids が空: depends_on 行 (flow 1 行 or block 形式) を除去する
|
|
97
127
|
* - ids が非空: JSON.stringify 済み flow 形式 1 行
|
|
98
128
|
* (`depends_on: ["TASK-001", "TASK-002"]`) に置換/挿入する。
|
|
99
|
-
* setRelatedDocsInRaw と同じ表現スタイルに統一する (仕様「配列表現は existing に合わせる」)。
|
|
100
129
|
* - frontmatter が無い raw はそのまま返す
|
|
101
130
|
*/
|
|
102
131
|
export function setDependsOnInRaw(raw, ids) {
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const parsed = parseFrontmatterLines(raw);
|
|
107
|
-
if (!parsed)
|
|
108
|
-
return raw;
|
|
109
|
-
const { lines, closeIdx } = parsed;
|
|
110
|
-
const kept = removeKeyLines(lines, closeIdx, 'depends_on');
|
|
111
|
-
// setRelatedDocsInRaw と同じ JSON.stringify flow 形式 (YAML double-quoted として常に valid)
|
|
112
|
-
const newLine = ids.length > 0 ? `depends_on: [${ids.map((id) => JSON.stringify(id)).join(', ')}]` : null;
|
|
113
|
-
return rebuildRaw(lines, closeIdx, kept, newLine);
|
|
132
|
+
// JSON.stringify flow 形式: YAML double-quoted として常に valid
|
|
133
|
+
const serialized = ids.length > 0 ? `[${ids.map((id) => JSON.stringify(id)).join(', ')}]` : null;
|
|
134
|
+
return setFrontmatterField(raw, 'depends_on', serialized);
|
|
114
135
|
}
|
|
115
136
|
/**
|
|
116
137
|
* raw (frontmatter + 本文) の priority 行を priority で差し替えた raw を返す。
|
|
@@ -119,14 +140,5 @@ function setDependsOnInner(raw, ids) {
|
|
|
119
140
|
* - frontmatter が無い raw はそのまま返す
|
|
120
141
|
*/
|
|
121
142
|
export function setPriorityInRaw(raw, priority) {
|
|
122
|
-
return
|
|
123
|
-
}
|
|
124
|
-
function setPriorityInner(raw, priority) {
|
|
125
|
-
const parsed = parseFrontmatterLines(raw);
|
|
126
|
-
if (!parsed)
|
|
127
|
-
return raw;
|
|
128
|
-
const { lines, closeIdx } = parsed;
|
|
129
|
-
const kept = removeKeyLines(lines, closeIdx, 'priority');
|
|
130
|
-
const newLine = `priority: ${priority}`;
|
|
131
|
-
return rebuildRaw(lines, closeIdx, kept, newLine);
|
|
143
|
+
return setFrontmatterField(raw, 'priority', priority);
|
|
132
144
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--bg: #f7f7f8;--surface: #ffffff;--surface-alt: #f1f1f3;--border: #e6e6e9;--border-strong: #d8d8dd;--text: #1c1d22;--text-muted: #516079;--accent: #4f46e5;--accent-hover: #4338ca;--accent-active: #3730a3;--accent-soft: #eef2ff;--accent-subtle: #e0e7ff;--danger: #de350b;--danger-soft: #ffe9e3;--danger-strong: #ae2a00;--success: #00875a;--success-soft: #e3fcef;--warn-bg: #fffae6;--warn-border: #ffab00;--human: #00875a;--ai: #6554c0;--status-idle: #8e8e96;--priority-high: #de350b;--priority-medium: #ff991f;--priority-low: #6b778c;--blocked-decision: #6554c0;--blocked-external: #ff8b00;--blocked-dependency: #00a3bf;--priority-high-bg: #ffe9e3;--priority-high-fg: #ae2a00;--priority-medium-bg: #fff0d6;--priority-medium-fg: #974f00;--priority-low-bg: #ebecf0;--priority-low-fg: #42526e;--blocked-decision-bg: #e9e6f7;--blocked-decision-fg: #4a3aa3;--blocked-external-bg: #fff0d6;--blocked-external-fg: #974f00;--blocked-dependency-bg: #d6f4f9;--blocked-dependency-fg: #0b6b7d;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-pill: 9999px;--radius: var(--radius-md);--shadow-card: 0 1px 2px rgba(20, 20, 30, .06);--shadow-hover: 0 2px 8px rgba(20, 20, 30, .1), 0 0 0 1px var(--border);--shadow-lg: 0 12px 32px rgba(20, 20, 30, .2);--shadow-panel: -4px 0 16px rgba(20, 20, 30, .14);--overlay: rgba(20, 20, 30, .45);--fs-xs: 11px;--fs-sm: 12px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fw-semibold: 600;--fw-bold: 700;--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur: .16s;--focus-ring: 0 0 0 2px var(--surface), 0 0 0 4px var(--accent);--focus-ring-tight: 0 0 0 2px var(--accent);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Noto Sans JP,Segoe UI,Roboto,sans-serif;color:var(--text)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);font-size:var(--fs-base);line-height:1.5}button{font-family:inherit;font-size:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--accent)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}._overlay_9olz3_1{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}._dialog_9olz3_12{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:460px;max-height:90vh;overflow-y:auto;padding:20px 22px}._dialogWide_9olz3_23{max-width:720px}._title_9olz3_27{margin:0 0 14px;font-size:var(--fs-xl)}._field_9olz3_32{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}._label_9olz3_39{font-size:12px;font-weight:600;color:var(--text-muted)}._input_9olz3_45,._select_9olz3_46,._textarea_9olz3_47{border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;width:100%}._input_9olz3_45:focus-visible,._select_9olz3_46:focus-visible,._textarea_9olz3_47:focus-visible{outline:none;box-shadow:var(--focus-ring-tight);border-color:var(--accent)}._textarea_9olz3_47{resize:vertical;min-height:90px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}._actions_9olz3_69{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}._btn_9olz3_76{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:7px 14px;color:var(--text)}._btn_9olz3_76:hover{background:var(--surface-alt)}._btnPrimary_9olz3_88{background:var(--accent);border-color:var(--accent);color:#fff}._btnPrimary_9olz3_88:hover{background:var(--accent-hover)}._btnPrimary_9olz3_88:active{background:var(--accent-active);transform:translateY(1px)}._btnPrimary_9olz3_88:disabled{opacity:.5;cursor:not-allowed}._btnDanger_9olz3_108{background:var(--danger);border-color:var(--danger);color:#fff}._error_9olz3_114{color:var(--danger);font-size:12px;margin:0 0 12px}._view_m86i2_1{flex:1;display:flex;overflow:hidden}._list_m86i2_8{flex:0 0 clamp(180px,28vw,280px);display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border);background:var(--surface)}._search_m86i2_18{padding:12px 12px 8px;border-bottom:1px solid var(--border)}._searchInput_m86i2_23{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--text);font-size:13px;padding:6px 8px}._searchInput_m86i2_23:focus-visible{outline:none;box-shadow:var(--focus-ring)}._listScroll_m86i2_39{flex:1;overflow-y:auto;padding:8px 12px 12px}._monthGroup_m86i2_45{margin-bottom:10px}._monthName_m86i2_49{display:block;font-size:12px;font-weight:700;color:var(--text-muted);padding:4px 6px}._taskList_m86i2_57{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}._taskList_m86i2_57>li{content-visibility:auto;contain-intrinsic-size:auto 30px}._taskBtn_m86i2_73{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;padding:5px 6px;border-radius:var(--radius-sm);cursor:pointer;overflow:hidden;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}._taskBtn_m86i2_73:hover{background:var(--surface-alt)}._taskBtn_m86i2_73:focus-visible{box-shadow:var(--focus-ring)}._taskBtnActive_m86i2_96{background:var(--accent-soft);color:var(--accent);font-weight:600}._taskBtnActive_m86i2_96:hover{background:var(--accent-soft)}._taskId_m86i2_106{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted)}._taskTitle_m86i2_112{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._detail_m86i2_120{flex:1;overflow-y:auto;padding:14px 18px;max-width:880px}._detailHeader_m86i2_127{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}._detailHeadText_m86i2_134{flex:1;min-width:0}._detailTitle_m86i2_139{font-size:16px;font-weight:700;margin:0 0 4px;word-break:break-word}._meta_m86i2_146{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11px;color:var(--text-muted);margin:0}._metaId_m86i2_155{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}._labels_m86i2_159{display:inline-flex;flex-wrap:wrap;gap:4px}._label_m86i2_159{background:var(--surface-alt);border-radius:var(--radius-sm);padding:1px 6px}._restoreBtn_m86i2_171{flex:0 0 auto;border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease)}._restoreBtn_m86i2_171:hover:not(:disabled){background:var(--accent-hover)}._restoreBtn_m86i2_171:focus-visible{outline:none;box-shadow:var(--focus-ring)}._restoreBtn_m86i2_171:disabled{opacity:.5;cursor:default}._markdown_m86i2_198{font-size:14px;line-height:1.65;word-break:break-word}._markdown_m86i2_198 pre{background:var(--surface-alt);padding:10px 12px;border-radius:var(--radius);overflow-x:auto;font-size:12px}._markdown_m86i2_198 code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}._muted_m86i2_217{color:var(--text-muted);font-size:13px}._error_m86i2_222{color:var(--danger);font-size:12px;margin:0 0 10px}._wrap_12hxw_1{display:flex;align-items:center;gap:6px}._track_12hxw_7{flex:1;height:6px;background:var(--surface-alt);border-radius:var(--radius-pill);overflow:hidden}._fill_12hxw_15{height:100%;background:var(--accent);border-radius:var(--radius-pill);transition:width var(--dur) var(--ease)}._fillComplete_12hxw_22{background:var(--success)}._label_12hxw_26{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}._popover_1gg77_3{position:absolute;bottom:calc(100% + 4px);left:0;right:0;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px #00000029;padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-width:220px}._header_1gg77_21{display:flex;align-items:center;justify-content:space-between}._title_1gg77_27{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.04em}._closeBtn_1gg77_34{background:none;border:none;color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;padding:0 2px;border-radius:var(--radius-sm)}._closeBtn_1gg77_34:hover{color:var(--text)}._closeBtn_1gg77_34:focus-visible{box-shadow:var(--focus-ring)}._memberSelect_1gg77_53{font-size:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:3px 6px;width:100%}._memberSelect_1gg77_53:focus-visible{box-shadow:var(--focus-ring);outline:none}._textarea_1gg77_68{font-size:12px;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:5px 8px;resize:none;width:100%;box-sizing:border-box;line-height:1.4}._textarea_1gg77_68:focus-visible{box-shadow:var(--focus-ring);outline:none}._textarea_1gg77_68:disabled{opacity:.6}._error_1gg77_91{font-size:11px;color:var(--danger);margin:0}._footer_1gg77_97{display:flex;justify-content:flex-end}._sendBtn_1gg77_102{font-size:11px;font-weight:600;padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;min-height:28px;transition:opacity var(--dur-fast) var(--ease)}._sendBtn_1gg77_102:disabled{opacity:.45;cursor:not-allowed}._sendBtn_1gg77_102:not(:disabled):hover{opacity:.85}._sendBtn_1gg77_102:focus-visible{box-shadow:var(--focus-ring)}._card_1trqe_1{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:10px 12px;display:flex;flex-direction:column;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}._card_1trqe_1:hover{border-color:var(--accent-subtle);box-shadow:var(--shadow-hover);transform:translateY(-1px);cursor:grab}._card_1trqe_1:focus-visible{box-shadow:var(--focus-ring)}._card_1trqe_1._dragging_1trqe_30{opacity:.5;box-shadow:0 8px 20px #14141e3d;transform:rotate(1.5deg) scale(1.02)}._card_1trqe_1._inProgress_1trqe_36{border-left:3px solid var(--accent)}._card_1trqe_1._unread_1trqe_43{border-color:var(--accent-subtle);box-shadow:0 0 0 1px var(--accent-subtle),var(--shadow-card);animation:_unreadFade_1trqe_1 4s var(--ease) forwards}@keyframes _unreadFade_1trqe_1{0%{background:var(--accent-soft)}to{background:var(--surface)}}._card_1trqe_1._selected_1trqe_59{background:var(--accent-soft);border-color:var(--accent-subtle);box-shadow:0 0 0 2px var(--accent-subtle),var(--shadow-card)}._selectBox_1trqe_66{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;border:1.5px solid var(--text-muted);border-radius:var(--radius-sm);background:var(--surface);color:#fff;font-size:11px;line-height:1}._selectBox_1trqe_66._selectBoxOn_1trqe_81{border-color:var(--accent);background:var(--accent)}._unreadBadge_1trqe_87{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);padding:1px 6px}._unreadDot_1trqe_99{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}._topRow_1trqe_107{display:flex;justify-content:space-between;align-items:center;gap:6px}._id_1trqe_114{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.04em}._stalledBadge_1trqe_122{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:var(--blocked-external-fg);background:var(--blocked-external-bg);border-radius:var(--radius-pill);padding:1px 6px}._stalledDot_1trqe_135{width:6px;height:6px;border-radius:50%;background:var(--blocked-external-fg);flex-shrink:0}._priority_1trqe_143{font-size:10px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:var(--radius-pill)}._priorityhigh_1trqe_151{background:var(--priority-high-bg);color:var(--priority-high-fg)}._prioritymedium_1trqe_156{background:var(--priority-medium-bg);color:var(--priority-medium-fg)}._prioritylow_1trqe_161{background:var(--priority-low-bg);color:var(--priority-low-fg)}._title_1trqe_166{font-weight:var(--fw-bold);line-height:1.35;color:var(--text);word-break:break-word}._metaRow_1trqe_173{display:flex;flex-wrap:wrap;align-items:center;gap:6px}._assignee_1trqe_180{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}._memberDot_1trqe_188{width:8px;height:8px;border-radius:50%;flex-shrink:0}._memberhuman_1trqe_195{background:var(--human)}._memberai_1trqe_199{background:var(--ai)}._memberunknown_1trqe_203{background:var(--text-muted)}._labels_1trqe_207{display:flex;flex-wrap:wrap;gap:4px}._label_1trqe_207{font-size:var(--fs-xs);background:var(--surface-alt);color:var(--priority-low-fg);border-radius:var(--radius-sm);padding:0 5px}._elapsed_1trqe_221{font-size:11px;color:var(--text-muted);margin-left:auto}._elapsedStrong_1trqe_227{color:var(--accent);font-weight:600}._blocked_1trqe_232{display:flex;flex-direction:column;gap:3px;border-top:1px dashed var(--border);padding-top:5px}._blockedBadge_1trqe_240{align-self:flex-start;font-size:10px;font-weight:700;border-radius:var(--radius-sm);padding:1px 6px}._blockeddecision_1trqe_248{background:var(--blocked-decision-bg);color:var(--blocked-decision-fg)}._blockedexternal_1trqe_253{background:var(--blocked-external-bg);color:var(--blocked-external-fg)}._blockeddependency_1trqe_258{background:var(--blocked-dependency-bg);color:var(--blocked-dependency-fg)}._blockedReason_1trqe_263{font-size:11px;color:var(--text-muted);word-break:break-word}._proposalActions_1trqe_269{display:flex;gap:6px;justify-content:flex-end;border-top:1px dashed var(--border);padding-top:6px;cursor:default}._actionBtn_1trqe_278{font-size:11px;font-weight:600;border-radius:var(--radius-sm);padding:6px 12px;min-height:30px;border:1px solid var(--border);background:var(--surface);transition:transform var(--dur-fast) var(--ease)}._actionBtn_1trqe_278:active{transform:scale(.96)}._actionBtn_1trqe_278:focus-visible{box-shadow:var(--focus-ring)}._approveBtn_1trqe_297{background:var(--human);border-color:var(--human);color:#fff}._rejectBtn_1trqe_303{color:var(--danger);border-color:var(--danger);background:var(--surface)}._quickCommentArea_1trqe_310{display:flex;justify-content:flex-end;border-top:1px dashed var(--border);padding-top:5px;cursor:default}._quickCommentBtn_1trqe_318{font-size:11px;font-weight:600;border-radius:var(--radius-sm);padding:4px 10px;min-height:26px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}._quickCommentBtn_1trqe_318:hover{color:var(--accent);border-color:var(--accent-subtle)}._quickCommentBtn_1trqe_318:focus-visible{box-shadow:var(--focus-ring)}._column_d1l7j_1{display:flex;flex-direction:column;min-width:248px;max-width:288px;flex:1 0 248px;background:var(--surface-alt);border:1px solid var(--border-strong);border-radius:var(--radius-md);max-height:calc(100vh - 200px)}._header_d1l7j_13{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px;gap:var(--space-1)}._columnOver_d1l7j_22{outline:2px solid var(--danger);outline-offset:-2px}._headerOver_d1l7j_27 ._label_d1l7j_27{color:var(--danger)}._label_d1l7j_27{font-weight:var(--fw-semibold);font-size:var(--fs-sm);letter-spacing:.02em}._count_d1l7j_37{font-size:var(--fs-sm);color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:0 8px}._countOver_d1l7j_46{color:#fff;background:var(--danger)}._list_d1l7j_51{display:flex;flex-direction:column;gap:8px;padding:4px 8px 12px;overflow-y:auto;min-height:24px}._over_d1l7j_60{background:var(--accent-soft);outline:2px dashed var(--accent);outline-offset:-2px;border-radius:var(--radius)}._empty_d1l7j_67{color:var(--text-muted);font-size:var(--fs-sm);text-align:center;display:flex;align-items:center;justify-content:center;min-height:var(--space-6);padding:var(--space-5) var(--space-2)}._filterBar_bbl5d_1{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface)}._search_bbl5d_12{flex:0 1 280px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 9px}._filterBar_bbl5d_1 select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px var(--space-2);background:var(--surface)}._filterSpacer_bbl5d_26{flex:1}._assignedToMeBtn_bbl5d_31{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:6px var(--space-3)}._assignedToMeBtn_bbl5d_31:hover{background:var(--surface-alt)}._assignedToMeBtn_bbl5d_31._assignedToMeBtnOn_bbl5d_42{background:var(--accent-soft);border-color:var(--accent-subtle);color:var(--accent-active);font-weight:var(--fw-semibold)}._archiveAllBtn_bbl5d_49{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:6px var(--space-3)}._archiveAllBtn_bbl5d_49:hover{background:var(--surface-alt)}._selectModeBtn_bbl5d_61{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:6px var(--space-3)}._selectModeBtn_bbl5d_61:hover{background:var(--surface-alt)}._selectModeBtn_bbl5d_61._selectModeBtnOn_bbl5d_72{background:var(--accent-soft);border-color:var(--accent-subtle);color:var(--accent-active);font-weight:var(--fw-semibold)}._selectBar_bbl5d_80{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--accent-soft)}._selectCount_bbl5d_90{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-active)}._bulkCopyBtn_bbl5d_96{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--fs-sm)}._bulkCopyBtn_bbl5d_96:hover:not(:disabled){background:var(--accent-active)}._bulkCopyBtn_bbl5d_96:disabled{cursor:default;opacity:.5}._selectClearBtn_bbl5d_114{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--fs-sm)}._selectClearBtn_bbl5d_114:hover:not(:disabled){background:var(--surface-alt)}._selectClearBtn_bbl5d_114:disabled{cursor:default;opacity:.5}._selectHint_bbl5d_131{font-size:var(--fs-sm);color:var(--text-muted)}._viewsBar_bbl5d_137{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface)}._chip_bbl5d_147{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);overflow:hidden}._chipApply_bbl5d_156{border:none;background:transparent;padding:var(--space-1) var(--space-3);color:var(--text);font-size:var(--fs-sm)}._chipApply_bbl5d_156:hover{background:var(--surface-alt)}._chipActive_bbl5d_169{background:var(--accent-soft);color:var(--accent-active);font-weight:var(--fw-semibold)}._chipActive_bbl5d_169:hover{background:var(--accent-subtle)}._chipDelete_bbl5d_179{border:none;border-left:1px solid var(--border);background:transparent;padding:var(--space-1) var(--space-2);color:var(--text-muted);line-height:1}._chipDelete_bbl5d_179:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-strong)}._chipDelete_bbl5d_179:disabled{cursor:default;opacity:.5}._saveViewBtn_bbl5d_198{border:1px dashed var(--border-strong);background:var(--surface);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);color:var(--text-muted);font-size:var(--fs-sm)}._saveViewBtn_bbl5d_198:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}._saveViewBtn_bbl5d_198:disabled{cursor:default;opacity:.5}._saveViewForm_bbl5d_217{display:inline-flex;align-items:center;gap:var(--space-2)}._saveViewInput_bbl5d_223{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--fs-sm)}._saveViewConfirm_bbl5d_230,._saveViewCancel_bbl5d_231{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--fs-sm)}._saveViewConfirm_bbl5d_230:hover:not(:disabled),._saveViewCancel_bbl5d_231:hover{background:var(--surface-alt)}._saveViewConfirm_bbl5d_230:disabled{cursor:default;opacity:.5}._emptyBoard_bbl5d_250{display:flex;flex:1;align-items:flex-start;justify-content:center;padding:var(--space-6) var(--space-4);overflow-y:auto}._emptyCard_bbl5d_259{max-width:560px;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-5);box-shadow:var(--shadow-sm)}._emptyTitle_bbl5d_269{margin:0 0 var(--space-2);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}._emptyLead_bbl5d_275{margin:0 0 var(--space-4);color:var(--text-muted);line-height:1.6}._emptyAddBtn_bbl5d_281{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}._emptyAddBtn_bbl5d_281:hover{background:var(--accent-active)}._emptyAi_bbl5d_295{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}._emptyAiNote_bbl5d_301{margin:0 0 var(--space-3);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.6}._emptyCopyBtn_bbl5d_308{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm)}._emptyCopyBtn_bbl5d_308:hover{background:var(--surface-alt)}._board_bbl5d_320{display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-4);overflow-x:auto;flex:1;align-items:stretch;cursor:grab}._board_bbl5d_320:after{content:"";flex:0 0 var(--space-4)}._overlay_dbkt0_1{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:12vh 24px 24px;z-index:120}._palette_dbkt0_12{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}._input_dbkt0_24{border:none;border-bottom:1px solid var(--border);padding:14px 16px;font-size:15px;width:100%;background:transparent;color:var(--text)}._input_dbkt0_24:focus-visible{border-bottom-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}._list_dbkt0_39{list-style:none;margin:0;padding:6px;overflow-y:auto}._option_dbkt0_46{padding:9px 12px;border-radius:6px;font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._optionActive_dbkt0_56{background:var(--accent-soft);border-radius:var(--radius-sm)}._empty_dbkt0_61{color:var(--text-muted);padding:18px 16px;font-size:13px;margin:0}._view_ubr9h_2{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:12px 16px 0}._toolbar_ubr9h_12{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex:none}._cycleWarn_ubr9h_20{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);padding:8px 12px;margin-bottom:12px;font-size:13px;flex:none}._levels_ubr9h_2{display:flex;gap:var(--space-3);align-items:stretch;flex:1;overflow-x:auto;padding-bottom:var(--space-4);min-height:0}._level_ubr9h_2{display:flex;flex-direction:column;flex:0 0 248px;min-width:248px;max-width:288px;background:var(--surface-alt);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:0}._levelCycle_ubr9h_55{border-color:var(--warn-border)}._levelHeader_ubr9h_60{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);padding:12px 12px 8px;flex:none}._levelLabel_ubr9h_69{font-weight:var(--fw-semibold);font-size:var(--fs-sm);letter-spacing:.02em}._levelCount_ubr9h_75{font-size:var(--fs-sm);color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:0 8px}._levelList_ubr9h_85{display:flex;flex-direction:column;gap:8px;padding:4px 8px 12px;overflow-y:auto;flex:1;min-height:24px}._node_ubr9h_95{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}._node_ubr9h_95:hover{border-color:var(--accent-subtle);box-shadow:var(--shadow-hover)}._nodeCp_ubr9h_116{border-left-color:var(--accent);background:var(--accent-soft)}._nodeCycle_ubr9h_121{border-left-color:var(--danger);background:var(--warn-bg)}._statusproposed_ubr9h_127,._statusbacklog_ubr9h_130{border-left-color:var(--status-idle)}._statustodo_ubr9h_133{border-left-color:var(--text-muted)}._statusin_progress_ubr9h_136{border-left-color:var(--accent)}._statuspending_ubr9h_139{border-left-color:var(--priority-medium)}._nodeTop_ubr9h_143{display:flex;justify-content:space-between;gap:6px}._nodeId_ubr9h_149{font-size:11px;font-weight:700;color:var(--text-muted)}._cpTag_ubr9h_155{font-size:10px;font-weight:700;color:var(--accent)}._nodeTitle_ubr9h_161{font-weight:600;word-break:break-word}._deps_ubr9h_166{display:flex;flex-wrap:wrap;gap:4px;align-items:center}._depsLabel_ubr9h_173{font-size:10px;color:var(--text-muted)}._depChip_ubr9h_178{font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-alt);border-radius:var(--radius-sm);padding:0 5px}._pendingBadge_ubr9h_186{align-self:flex-start;font-size:10px;font-weight:700;color:var(--priority-medium-fg);background:var(--priority-medium-bg);border-radius:var(--radius-sm);padding:1px 6px}._empty_ubr9h_196{color:var(--text-muted);padding:var(--space-6) var(--space-5);text-align:center;flex:1;display:flex;align-items:center;justify-content:center;min-height:var(--space-6)}._copyBtn_ubr9h_208{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--accent)}._copyBtn_ubr9h_208:hover{background:var(--accent-soft)}._copyBtn_ubr9h_208:focus-visible{box-shadow:var(--focus-ring)}._root_y75j1_1{position:relative;display:inline-flex}._badge_y75j1_6{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:5px 12px;min-height:28px;box-sizing:border-box;font-size:12px;font-weight:var(--fw-semibold);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}._badgeActive_y75j1_28{background:var(--accent-soft);color:var(--accent-active);border-color:var(--accent-subtle)}._badgeActive_y75j1_28:hover{border-color:var(--accent)}._badgeMuted_y75j1_39{opacity:.7}._badgeMuted_y75j1_39:hover{opacity:1}._badge_y75j1_6:focus-visible{box-shadow:var(--focus-ring-tight)}._badgeDot_y75j1_51{width:7px;height:7px;border-radius:50%;background:currentColor}._badgeMuted_y75j1_39 ._badgeDot_y75j1_51{background:var(--text-muted)}._popover_y75j1_62{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:min(360px,90vw);max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3)}._popoverTitle_y75j1_77{margin:0 0 var(--space-2);font-size:13px;font-weight:var(--fw-bold);color:var(--text)}._empty_y75j1_84{margin:0;font-size:13px;color:var(--text-muted)}._list_y75j1_90{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}._item_y75j1_99{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;padding:8px 10px;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}._item_y75j1_99:hover{background:var(--surface-alt);border-color:var(--border)}._item_y75j1_99:focus-visible{box-shadow:var(--focus-ring-tight)}._itemHead_y75j1_124{display:flex;align-items:baseline;gap:6px}._itemId_y75j1_130{font-size:11px;font-weight:var(--fw-semibold);color:var(--accent-active);white-space:nowrap}._itemTitle_y75j1_137{font-size:13px;font-weight:var(--fw-semibold);color:var(--text)}._itemReason_y75j1_143{font-size:12px;color:var(--text)}._itemReasonMuted_y75j1_148{font-size:12px;color:var(--text-muted);font-style:italic}._itemAssignee_y75j1_154{font-size:11px;color:var(--text-muted)}._view_71x9d_1{flex:1;display:flex;overflow:hidden}._viewEmpty_71x9d_7{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;min-height:var(--space-6);padding:var(--space-5) var(--space-4) var(--space-6)}._sidebar_71x9d_19{flex:0 0 clamp(180px,28vw,280px);overflow-y:auto;border-right:1px solid var(--border);background:var(--surface);padding:12px}._sidebarTitle_71x9d_28{font-size:13px;font-weight:700;margin:0 0 8px}._navList_71x9d_34{list-style:none;margin:0;padding:0}._navList_71x9d_34>li{content-visibility:auto;contain-intrinsic-size:auto 28px}._navBtn_71x9d_47{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;padding:4px 6px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);font-variant-numeric:tabular-nums}._navBtn_71x9d_47:hover{background:var(--surface-alt)}._navBtn_71x9d_47:focus-visible{outline:none;box-shadow:var(--focus-ring)}._navBtnActive_71x9d_74{background:var(--accent-soft);color:var(--accent);font-weight:600}._navCount_71x9d_80{font-size:11px;color:var(--text-muted)}._navBtnActive_71x9d_74 ._navCount_71x9d_80{color:inherit}._detail_71x9d_90{flex:1;overflow-y:auto;padding:14px 18px}._day_71x9d_96{margin-bottom:20px}._dayHeader_71x9d_100{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--border);padding-bottom:4px;margin-bottom:8px}._date_71x9d_109{font-size:15px;font-weight:700}._count_71x9d_114{font-size:12px;color:var(--text-muted)}._entry_71x9d_119{display:flex;gap:10px;align-items:baseline;padding:3px 0;font-size:13px;content-visibility:auto;contain-intrinsic-size:auto 22px}._time_71x9d_131{flex:0 0 auto;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}._taskId_71x9d_138{flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted)}._member_71x9d_145{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-weight:600}._memberDot_71x9d_153{width:7px;height:7px;border-radius:50%}._memberhuman_71x9d_159{background:var(--human)}._memberai_71x9d_163{background:var(--ai)}._memberunknown_71x9d_167{background:var(--text-muted)}._message_71x9d_171{word-break:break-word}._empty_71x9d_175{color:var(--text-muted);padding:var(--space-5);font-size:var(--fs-sm);text-align:center}._diff_1xtfr_1{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:46vh;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;background:var(--surface)}._line_1xtfr_12{display:flex;white-space:pre-wrap;word-break:break-word;padding:0 8px}._sign_1xtfr_19{flex:0 0 16px;color:var(--text-muted);-webkit-user-select:none;user-select:none}._equal_1xtfr_25{color:var(--text)}._add_1xtfr_29{background:var(--success-soft);color:var(--success)}._remove_1xtfr_34{background:var(--danger-soft);color:var(--danger-strong)}._intro_u1sm3_1{color:var(--text-muted);margin:0 0 12px}._legend_u1sm3_8{display:flex;gap:14px;font-size:11px;color:var(--text-muted);margin:8px 0 0}._dirList_82mry_1{list-style:none;margin:0 0 4px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:200px;overflow-y:auto;background:var(--surface)}._dirBtn_82mry_12{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;padding:4px 6px;border-radius:var(--radius-sm);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}._dirBtn_82mry_12:hover{background:var(--surface-alt)}._dirBtnActive_82mry_30{background:var(--accent-soft);color:var(--accent);font-weight:600}._preview_82mry_36{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);word-break:break-all;margin:8px 0 0}._wrapper_e02fo_5{position:relative;display:block}._highlight_e02fo_6,._textarea_e02fo_7{font-family:ui-monospace,SFMono-Regular,Menlo,Courier New,monospace;font-size:13px;line-height:1.6;letter-spacing:normal;-moz-tab-size:4;tab-size:4;box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;overflow:auto;resize:vertical}._highlight_e02fo_6{position:absolute;top:0;left:0;pointer-events:none;background:var(--surface);color:var(--text);-webkit-user-select:none;user-select:none;min-height:0;scrollbar-width:none}._highlight_e02fo_6::-webkit-scrollbar{display:none}._textarea_e02fo_7{position:relative;z-index:1;color:transparent;caret-color:var(--text);background:transparent;outline:none;min-height:360px}._textarea_e02fo_7:focus{border-color:var(--accent)}._textarea_e02fo_7::placeholder{color:var(--text-muted)}._tokenText_e02fo_106{color:inherit}._tokenHeading_e02fo_111{color:var(--accent);font-weight:700}._tokenBold_e02fo_116{color:var(--text);font-weight:700}._tokenItalic_e02fo_121{color:var(--text);font-style:italic}._tokenCode_e02fo_126{color:var(--accent);background:var(--surface-alt);border-radius:2px}._tokenCodeblock_e02fo_133,._tokenFence_e02fo_138{color:var(--text-muted)}._tokenListMarker_e02fo_143{color:var(--accent);font-weight:600}._tokenLink_e02fo_149{color:var(--accent);text-decoration:underline}._tokenBlockquote_e02fo_155{color:var(--text-muted);font-style:italic}._tokenHr_e02fo_161{color:var(--text-muted)}._view_hliei_1{flex:1;display:flex;overflow:hidden}._tree_hliei_8{flex:0 0 clamp(180px,28vw,280px);overflow-y:auto;border-right:1px solid var(--border);background:var(--surface);padding:12px}._treeTitle_hliei_17{font-size:13px;font-weight:700;margin:0 0 8px}._treeRoot_hliei_23,._treeChildren_hliei_24{list-style:none;margin:0;padding:0}._treeChildren_hliei_24{padding-left:14px}._dirName_hliei_34{display:block;font-size:12px;font-weight:600;color:var(--text-muted);padding:4px 6px}._fileBtn_hliei_42{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;padding:4px 6px;border-radius:var(--radius-sm);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}._fileBtn_hliei_42:hover{background:var(--surface-alt)}._fileBtn_hliei_42:focus-visible{box-shadow:var(--focus-ring)}._fileBtnActive_hliei_67{background:var(--accent-soft);color:var(--accent);font-weight:600}._fileBtnActive_hliei_67:hover{background:var(--accent-soft)}._detail_hliei_78{flex:1;overflow-y:auto;padding:14px 18px;max-width:880px}._docPath_hliei_85{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);margin:0 0 10px}._refs_hliei_92{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:14px}._refsTitle_hliei_100{font-size:12px;font-weight:700;margin:0 0 6px}._refsList_hliei_106{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}._refBtn_hliei_115{width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;padding:4px 6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:baseline;gap:6px;transition:background var(--dur-fast) var(--ease)}._refBtn_hliei_115:hover{background:var(--accent-soft)}._refBtn_hliei_115:focus-visible{box-shadow:var(--focus-ring)}._refId_hliei_139{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);flex:0 0 auto}._refStatus_hliei_146{margin-left:auto;font-size:11px;color:var(--text-muted);flex:0 0 auto}._markdown_hliei_153{font-size:14px;line-height:1.65;word-break:break-word}._markdown_hliei_153 pre{background:var(--surface-alt);padding:10px 12px;border-radius:var(--radius);overflow-x:auto;font-size:12px}._markdown_hliei_153 code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}._muted_hliei_172{color:var(--text-muted);font-size:13px}._broken_hliei_177{color:var(--danger);font-size:13px}._error_hliei_182{color:var(--danger);font-size:12px;margin:0 0 10px}._newDocBtn_hliei_188{display:block;width:100%;margin-bottom:8px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:6px 8px;font-size:12px;cursor:pointer}._newDocBtn_hliei_188:hover{background:var(--surface-alt)}._toolbar_hliei_201{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}._toolBtn_hliei_209{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:5px 12px;font-size:13px;color:var(--text);cursor:pointer}._toolBtn_hliei_209:hover{background:var(--surface-alt)}._toolBtn_hliei_209:disabled{opacity:.5;cursor:not-allowed}._toolBtnPrimary_hliei_221{background:var(--accent);border-color:var(--accent);color:#fff}._toolBtnPrimary_hliei_221:hover{background:var(--accent-hover)}._toolBtnDanger_hliei_228{border-color:var(--danger);color:var(--danger);background:var(--surface)}._confirm_hliei_234{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--danger)}._tabs_hliei_242{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:10px}._tab_hliei_242{border:none;background:transparent;padding:6px 12px;font-size:13px;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent}._tab_hliei_242:hover{color:var(--text)}._tabActive_hliei_260{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}._editorWrapper_hliei_266{display:block;width:100%}._splitView_hliei_273{display:flex;gap:16px;align-items:flex-start}._splitPane_hliei_278{flex:1 1 0;min-width:0}._splitPreview_hliei_282{border-left:1px solid var(--border);padding-left:16px;align-self:stretch}@media(max-width:860px){._splitView_hliei_273{flex-direction:column}._splitPreview_hliei_282{border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:12px}}._editFooter_hliei_299{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}._dirty_hliei_307{margin-right:auto;font-size:12px;color:var(--text-muted)}._boundary_xnu0x_1{margin:16px;padding:16px 20px;background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius);color:var(--text)}._title_xnu0x_10{margin:0 0 6px;font-weight:600;color:var(--danger-strong)}._detail_xnu0x_16{margin:0 0 12px;font-size:13px;color:var(--text-muted)}._retry_xnu0x_22{border:1px solid var(--danger);background:var(--surface);color:var(--danger-strong);border-radius:var(--radius-sm);padding:4px 12px;font-size:13px;cursor:pointer}._retry_xnu0x_22:hover{background:var(--danger-soft)}._retry_xnu0x_22:focus-visible{box-shadow:var(--focus-ring)}._panel_bonm7_3{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:12px 14px;margin-bottom:14px}._title_bonm7_11{font-size:13px;font-weight:700;margin:0 0 10px;color:var(--text)}._notice_bonm7_19{font-size:13px;color:var(--text-muted)}._memberList_bonm7_25{display:flex;flex-direction:column;gap:8px}._memberCard_bonm7_31{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;background:var(--surface-alt)}._memberHeader_bonm7_38{display:flex;align-items:center;gap:8px;margin-bottom:6px}._memberId_bonm7_45{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700}._badgeOk_bonm7_52{font-size:11px;padding:1px 7px;border-radius:var(--radius-sm);background:var(--human-bg, #e6f4ea);color:var(--human, #1a7f37);font-weight:600}._badgeWarn_bonm7_62{font-size:11px;padding:1px 7px;border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn-fg, #7a5900);border:1px solid var(--warn-border);font-weight:600}._groupList_bonm7_73{display:flex;flex-direction:column;gap:6px}._group_bonm7_73{font-size:12px}._groupKind_bonm7_83{font-weight:700;margin-bottom:2px;color:var(--text)}._groupFix_bonm7_89{color:var(--text-muted);line-height:1.5;margin-bottom:4px}._warningPaths_bonm7_96{display:flex;flex-direction:column;gap:1px;margin-top:2px}._warningPath_bonm7_96{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);padding-left:10px}._view_7aej0_1{flex:1;display:flex;min-height:0}._sidebar_7aej0_7{flex:0 0 clamp(180px,28vw,280px);border-right:1px solid var(--border);overflow-y:auto;padding:12px}._sectionTitle_7aej0_15{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 4px}._fileItem_7aej0_24{display:block;width:100%;text-align:left;border:none;background:transparent;padding:4px 6px;border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}._fileItem_7aej0_24:hover{background:var(--accent-soft)}._fileItem_7aej0_24:focus-visible{box-shadow:var(--focus-ring)}._fileItemActive_7aej0_47,._fileItemActive_7aej0_47:hover{background:var(--accent-soft);color:var(--accent)}._tree_7aej0_53{font-size:12px}._treeDir_7aej0_57{font-weight:600;padding:3px 0;color:var(--text-muted)}._catalogItem_7aej0_63{padding:4px 0;font-size:12px}._catalogName_7aej0_68{font-weight:700}._catalogDesc_7aej0_72{color:var(--text-muted)}._catalogGroup_7aej0_77{font-size:12px}._catalogGroupSummary_7aej0_81{cursor:pointer;padding:4px 6px;font-weight:700;border-radius:var(--radius-sm);list-style-position:inside;-webkit-user-select:none;user-select:none}._catalogGroupSummary_7aej0_81:hover{background:var(--surface-alt)}._catalogGroupSummary_7aej0_81:focus-visible{box-shadow:var(--focus-ring)}._catalogCount_7aej0_98{color:var(--text-muted);font-weight:400;font-size:var(--fs-xs)}._catalogGroup_7aej0_77 ._fileItem_7aej0_24{padding-left:16px}._main_7aej0_109{flex:1;display:flex;flex-direction:column;min-width:0;padding:12px 16px}._mainHeader_7aej0_117{display:flex;align-items:center;gap:10px;margin-bottom:8px}._mainPath_7aej0_124{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;flex:1;word-break:break-all}._editor_7aej0_131{flex:1;min-height:320px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6;resize:none}._notice_7aej0_143{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;margin-top:8px}._confirmIntro_7aej0_153{color:var(--text-muted);font-size:13px;margin:0 0 12px}._globalBadge_7aej0_160{font-size:11px;font-weight:700;color:var(--blocked-external-fg);background:var(--blocked-external-bg);border-radius:var(--radius-sm);padding:1px 8px;margin-right:8px;white-space:nowrap}._globalWarn_7aej0_172{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-sm);padding:8px 12px;margin:0 0 12px;font-size:13px;font-weight:600}._footer_7aej0_182{display:flex;align-items:center;gap:10px;margin-top:8px}._error_7aej0_189{color:var(--danger);font-size:12px}._loadError_7aej0_195{color:var(--danger);font-size:12px;padding:4px 6px;margin-bottom:4px}._saved_7aej0_202{color:var(--human);font-size:12px}._btn_7aej0_207{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:7px 14px;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}._btn_7aej0_207:hover{background:var(--accent-soft)}._btn_7aej0_207:focus-visible{box-shadow:var(--focus-ring)}._btnPrimary_7aej0_224{background:var(--accent);border-color:var(--accent);color:#fff}._btnPrimary_7aej0_224:hover{background:var(--accent-hover);border-color:var(--accent-hover)}._btnPrimary_7aej0_224:active{background:var(--accent-active);border-color:var(--accent-active)}._btnPrimary_7aej0_224:disabled{opacity:.5;cursor:not-allowed}._empty_7aej0_245{color:var(--text-muted);margin:auto}._home_26qsz_1{display:flex;flex-direction:column;gap:16px;padding:16px}._intro_26qsz_8{display:flex;flex-direction:column;gap:2px}._title_26qsz_14{margin:0;font-size:18px}._lead_26qsz_19{margin:0;font-size:13px;color:var(--text-muted)}._allClear_26qsz_25{background:var(--surface-alt);border:1px solid var(--border-strong);border-radius:var(--radius);padding:12px 16px}._allClearTitle_26qsz_32{margin:0 0 2px;font-weight:600;color:var(--accent)}._allClearDetail_26qsz_38{margin:0;font-size:13px;color:var(--text-muted)}._hero_26qsz_44{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}._sectionTitle_26qsz_51{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:600}._count_26qsz_60{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700}._chain_26qsz_74{display:flex;flex-wrap:wrap;align-items:center;gap:6px}._arrow_26qsz_81{color:var(--text-muted);-webkit-user-select:none;user-select:none}._chip_26qsz_86{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);padding:5px 10px;cursor:pointer;font:inherit;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}._chip_26qsz_86:hover{background:var(--surface-alt)}._chip_26qsz_86:focus-visible{box-shadow:var(--focus-ring)}._chipNext_26qsz_109{border-color:var(--accent);background:var(--accent-soft)}._startBadge_26qsz_114{font-size:10px;font-weight:700;text-transform:uppercase;border-radius:var(--radius-sm);padding:0 5px;background:var(--accent);color:#fff}._chipId_26qsz_124{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted)}._chipTitle_26qsz_130{font-size:13px;color:var(--text)}._grid_26qsz_135{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}._card_26qsz_141{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}._list_26qsz_148{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}._item_26qsz_157{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;border:none;background:transparent;border-radius:var(--radius-sm);padding:6px 8px;cursor:pointer;font:inherit}._item_26qsz_157:hover{background:var(--surface-alt)}._item_26qsz_157:focus-visible{box-shadow:var(--focus-ring)}._itemId_26qsz_179{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted)}._itemTitle_26qsz_185{font-size:13px;color:var(--text)}._itemMeta_26qsz_190{font-size:11px;color:var(--text-muted)}._wipRow_26qsz_195{font-size:13px;color:var(--text);border-left:3px solid var(--warn-border);padding:4px 8px;background:var(--warn-bg);border-radius:var(--radius-sm)}._empty_26qsz_204{margin:0;font-size:13px;color:var(--text-muted)}._cycle_26qsz_210{margin:0;font-size:13px;color:var(--danger-strong)}._pinnedSection_26qsz_217{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}._pinnedRow_26qsz_224{display:flex;align-items:center;gap:4px}._pinnedRow_26qsz_224 ._item_26qsz_157{flex:1}._pinBtn_26qsz_234{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;opacity:.7;transition:opacity var(--dur) var(--ease)}._pinBtn_26qsz_234:hover{opacity:1;background:var(--surface-alt)}._pinBtn_26qsz_234:focus-visible{box-shadow:var(--focus-ring)}._pinnedDoneNote_26qsz_259{margin:6px 0 0;font-size:11px;color:var(--text-muted)}._view_z2hgn_1{flex:1;display:flex;overflow:hidden}._viewEmpty_z2hgn_7{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;min-height:var(--space-6);padding:var(--space-5) var(--space-4) var(--space-6)}._sidebar_z2hgn_19{flex:0 0 clamp(180px,28vw,280px);overflow-y:auto;border-right:1px solid var(--border);background:var(--surface);padding:12px}._sidebarTitle_z2hgn_28{font-size:13px;font-weight:700;margin:0 0 8px}._sidebarTitle_z2hgn_28+._sidebarTitle_z2hgn_28,._navList_z2hgn_35+._sidebarTitle_z2hgn_28,._sideEmpty_z2hgn_36+._sidebarTitle_z2hgn_28{margin-top:16px}._sideEmpty_z2hgn_36{font-size:12px;color:var(--text-muted);margin:0}._navList_z2hgn_35{list-style:none;margin:0;padding:0}._navBtn_z2hgn_52{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;padding:4px 6px;border-radius:var(--radius-sm);cursor:pointer}._navBtn_z2hgn_52:hover{background:var(--surface-alt)}._navBtn_z2hgn_52:focus-visible{box-shadow:var(--focus-ring)}._navBtnActive_z2hgn_76{background:var(--accent-soft);color:var(--accent);font-weight:600}._navLabel_z2hgn_82{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._navCount_z2hgn_88{flex:0 0 auto;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}._navBtnActive_z2hgn_76 ._navCount_z2hgn_88{color:inherit}._detail_z2hgn_100{flex:1;overflow-y:auto;padding:14px 18px}._sectionTitle_z2hgn_106{font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 8px}._histStatus_z2hgn_115{margin-left:auto;flex:0 0 auto;font-size:11px;color:var(--text-muted)}._milestone_z2hgn_122{display:flex;align-items:center;gap:12px;padding:10px 12px;border-left:3px solid var(--border);background:var(--surface)}._milestoneactive_z2hgn_131{border-left-color:var(--accent)}._milestonedone_z2hgn_135{border-left-color:var(--human)}._milestoneplanned_z2hgn_139{border-left-color:var(--text-muted)}._msInfo_z2hgn_143{flex:1;min-width:0}._msTitle_z2hgn_148{font-weight:700}._msStatus_z2hgn_152{font-size:11px;color:var(--text-muted)}._msProgress_z2hgn_157{flex:0 0 180px}._month_z2hgn_161{margin-bottom:16px}._monthHeader_z2hgn_165{font-size:var(--fs-xl);font-weight:700;border-bottom:1px solid var(--border);padding-bottom:4px;margin-bottom:6px}._histEntry_z2hgn_173{display:flex;gap:10px;padding:3px 0;font-size:13px;cursor:pointer}._histEntry_z2hgn_173:hover{color:var(--accent)}._histId_z2hgn_185{flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted)}._histTitle_z2hgn_192{font-weight:600;flex:0 0 auto}._histSummary_z2hgn_197{color:var(--text-muted);word-break:break-word}._month_z2hgn_161 ._histTitle_z2hgn_192{flex:0 0 16em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._month_z2hgn_161 ._histSummary_z2hgn_197{flex:1 1 0;min-width:0}._empty_z2hgn_218{color:var(--text-muted);padding:var(--space-5);text-align:center}._section_yrpf3_1{margin-bottom:18px}._sectionTitle_yrpf3_5{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}._modeBox_yrpf3_14{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);padding:12px;margin-bottom:18px}._memberRow_yrpf3_22{display:flex;gap:8px;align-items:center;margin-bottom:6px}._memberRow_yrpf3_22 input,._memberRow_yrpf3_22 select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px}._memberRow_yrpf3_22 input:focus-visible,._memberRow_yrpf3_22 select:focus-visible{box-shadow:var(--focus-ring)}._memberId_yrpf3_41{flex:1}._removeBtn_yrpf3_45{border:1px solid var(--border);background:var(--surface);color:var(--danger);border-radius:var(--radius-sm);padding:4px 10px}._removeBtn_yrpf3_45:focus-visible{box-shadow:var(--focus-ring)}._addBtn_yrpf3_57{border:1px dashed var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:5px 12px;color:var(--accent);margin-top:4px}._addBtn_yrpf3_57:focus-visible{box-shadow:var(--focus-ring)}._pathNote_yrpf3_71{font-size:12px;color:var(--text-muted);margin:6px 0 0;line-height:1.5}._colRow_yrpf3_79{display:flex;gap:8px;align-items:center;margin-bottom:6px}._colRow_yrpf3_79 input[type=text],._colRow_yrpf3_79 input[type=number]{border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px}._colRow_yrpf3_79 input:focus-visible{box-shadow:var(--focus-ring)}._colId_yrpf3_97{flex:1;min-width:0}._viewName_yrpf3_103{flex:1;min-width:0;font-size:var(--fs-sm)}._colWip_yrpf3_109{flex:0 0 64px}._colCheck_yrpf3_113{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);white-space:nowrap}._moveBtn_yrpf3_122{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);padding:4px 8px;line-height:1}._moveBtn_yrpf3_122:disabled{opacity:.4;cursor:default}._moveBtn_yrpf3_122:focus-visible{box-shadow:var(--focus-ring)}._advanced_yrpf3_140 summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px}._jsonEditor_yrpf3_148{width:100%;min-height:160px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;resize:vertical}._jsonEditor_yrpf3_148:focus-visible{box-shadow:var(--focus-ring)}._saved_yrpf3_163{color:var(--human);font-size:12px}._reloadBtn_yrpf3_169{margin-left:6px;padding:2px 8px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--text);cursor:pointer}._reloadBtn_yrpf3_169:focus-visible{box-shadow:var(--focus-ring)}._migrateBox_yrpf3_185{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-alt);padding:10px 12px;margin:12px 0}._migrateTitle_yrpf3_194{font-size:13px;font-weight:700;margin:0 0 6px}._migrateItem_yrpf3_200{font-size:13px;margin:4px 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}._migrateItem_yrpf3_200 select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 6px;background:var(--surface)}._migrateItem_yrpf3_200 select:focus-visible{box-shadow:var(--focus-ring)}._migrateActions_yrpf3_220{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}._list_uhebt_1{margin:0;display:flex;flex-direction:column;gap:4px}._row_uhebt_8{display:flex;align-items:baseline;gap:12px;padding:4px 0}._keys_uhebt_15{flex:0 0 130px;margin:0;text-align:right}._kbd_uhebt_21{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--surface-alt);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:1px 6px;color:var(--text)}._desc_uhebt_31{margin:0;font-size:13px;color:var(--text)}._aiSection_uhebt_38{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}._aiTitle_uhebt_44{margin:0 0 2px;font-size:13px;font-weight:600}._aiDesc_uhebt_50{margin:0 0 10px;font-size:12px;color:var(--text-muted)}._copyBtn_uhebt_56{border:1px solid var(--accent);background:var(--surface);color:var(--accent);border-radius:var(--radius-sm);padding:5px 12px;font-size:13px;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}._copyBtn_uhebt_56:hover{background:var(--accent-soft)}._copyBtn_uhebt_56:focus-visible{box-shadow:var(--focus-ring)}._view_akezq_1{flex:1;overflow:auto;padding:12px 16px 16px;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);align-content:start}@media(max-width:1200px){._view_akezq_1{grid-template-columns:1fr}}._card_akezq_18{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:12px 14px}._cardHead_akezq_26{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}._cardTitle_akezq_34{font-size:14px;font-weight:700;margin:0 0 10px}._cardHead_akezq_26 ._cardTitle_akezq_34{margin-bottom:0}._note_akezq_44{font-size:12px;color:var(--text-muted);margin:4px 0 10px;line-height:1.5}._metrics_akezq_52{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:flex-end}._metric_akezq_52{display:flex;flex-direction:column;gap:2px}._metricValue_akezq_65{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}._metricLabel_akezq_72,._metricSub_akezq_77{font-size:12px;color:var(--text-muted)}._toggle_akezq_83{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}._toggleBtn_akezq_90{border:none;background:var(--surface-alt);color:var(--text);font-size:12px;padding:4px 10px;cursor:pointer}._toggleBtn_akezq_90+._toggleBtn_akezq_90{border-left:1px solid var(--border)}._toggleActive_akezq_103{background:var(--accent);color:#fff}._chartWrap_akezq_109{margin-top:10px;overflow-x:auto}._chart_akezq_109{display:block;width:100%;max-height:160px;height:auto}._bar_akezq_121{fill:var(--accent)}._barCount_akezq_125{fill:var(--text-muted);font-size:10px;font-variant-numeric:tabular-nums}._barLabel_akezq_131{fill:var(--text-muted);font-size:9px;font-variant-numeric:tabular-nums}._table_akezq_138{width:100%;border-collapse:collapse;font-size:13px}._table_akezq_138 caption{text-align:left}._table_akezq_138 th,._table_akezq_138 td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}._table_akezq_138 th{font-size:11px;color:var(--text-muted);font-weight:600}._table_akezq_138 td{font-variant-numeric:tabular-nums}._bId_akezq_166{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted)}._empty_akezq_172{color:var(--text-muted);padding:var(--space-6) var(--space-5);text-align:center;grid-column:1 / -1;display:flex;align-items:center;justify-content:center;min-height:var(--space-6)}._heatmapWrap_akezq_186{margin-top:10px;overflow-x:auto}._heatmapGrid_akezq_191{display:grid;grid-template-columns:28px repeat(24,1fr);gap:2px;min-width:420px}._heatmapHourLabel_akezq_199{font-size:9px;color:var(--text-muted);text-align:center;padding-bottom:2px;font-variant-numeric:tabular-nums}._heatmapDowLabel_akezq_207{font-size:10px;color:var(--text-muted);display:flex;align-items:center;justify-content:flex-end;padding-right:4px}._heatmapCell_akezq_216{aspect-ratio:1;border-radius:2px;background:var(--accent);opacity:var(--cell-alpha, .06);min-height:10px}._srOnly_akezq_226{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}._overlay_1mlzx_1{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;justify-content:flex-end;z-index:90}._panel_1mlzx_10{background:var(--surface);width:100%;max-width:640px;height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-panel)}._header_1mlzx_20{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}._id_1mlzx_28{font-size:12px;font-weight:700;color:var(--text-muted)}._title_1mlzx_34{font-size:var(--fs-xl);font-weight:700;flex:1;word-break:break-word}._copyBtn_1mlzx_41{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:5px 10px;font-size:12px;color:var(--accent);white-space:nowrap}._copyBtn_1mlzx_41:hover{background:var(--accent-soft)}._copyBtn_1mlzx_41:focus-visible{box-shadow:var(--focus-ring)}._close_1mlzx_59{border:none;background:transparent;font-size:20px;color:var(--text-muted);line-height:1;padding:4px 8px}._close_1mlzx_59:hover{color:var(--text)}._tabs_1mlzx_72{display:flex;gap:2px;padding:8px 18px 0;border-bottom:1px solid var(--border)}._tab_1mlzx_72{border:none;background:transparent;padding:8px 14px;color:var(--text-muted);border-bottom:2px solid transparent;font-weight:600}._tab_1mlzx_72:hover{color:var(--text)}._tab_1mlzx_72:focus-visible{box-shadow:var(--focus-ring-tight)}._tabActive_1mlzx_96{color:var(--accent);border-bottom-color:var(--accent)}._body_1mlzx_101{flex:1;overflow-y:auto;padding:18px}._markdown_1mlzx_107{line-height:1.7;word-break:break-word}._markdown_1mlzx_107 h1,._markdown_1mlzx_107 h2,._markdown_1mlzx_107 h3{margin-top:1.2em}._markdown_1mlzx_107 code{background:var(--surface-alt);border-radius:3px;padding:1px 4px;font-size:.9em}._markdown_1mlzx_107 pre{background:var(--surface-alt);border-radius:var(--radius-sm);padding:10px;overflow-x:auto}._markdown_1mlzx_107 table{border-collapse:collapse}._markdown_1mlzx_107 th,._markdown_1mlzx_107 td{border:1px solid var(--border);padding:4px 8px}._editor_1mlzx_142{width:100%;min-height:360px;height:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6;resize:vertical}._timeline_1mlzx_155{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}._entry_1mlzx_164{display:flex;gap:10px;border-left:2px solid var(--border);padding-left:12px;position:relative}._entry_1mlzx_164:before{content:"";position:absolute;left:-5px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--accent)}._entryMeta_1mlzx_183{flex:0 0 auto;font-size:11px;color:var(--text-muted);min-width:120px}._entryMember_1mlzx_190{font-weight:700;color:var(--text)}._entryMessage_1mlzx_195{word-break:break-word}._mention_1mlzx_200{color:var(--accent);font-weight:600}._mentionSelf_1mlzx_205{background:var(--accent-soft);border-radius:var(--radius-sm);padding:0 3px}._emptyTimeline_1mlzx_211{color:var(--text-muted);font-size:13px}._timelineKind_1mlzx_217{display:inline-block;font-size:10px;font-weight:700;border-radius:var(--radius-sm);padding:0 5px;color:#fff;background:var(--text-muted);vertical-align:middle}._timelineKind_1mlzx_217[data-kind=log]{background:var(--accent)}._timelineKind_1mlzx_217[data-kind=comment]{background:var(--text-muted)}._timelineKind_1mlzx_217[data-kind=commit]{background:var(--border-strong);color:var(--text)}._footer_1mlzx_241{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--border)}._dirty_1mlzx_249{color:var(--priority-medium-fg);font-size:12px}._error_1mlzx_254{color:var(--danger);font-size:12px;flex:1}._spacer_1mlzx_260{flex:1}._btn_1mlzx_264{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:7px 14px}._btn_1mlzx_264:hover{background:var(--surface-alt)}._btn_1mlzx_264:focus-visible{box-shadow:var(--focus-ring)}._btnPrimary_1mlzx_279{background:var(--accent);border-color:var(--accent);color:#fff}._btnPrimary_1mlzx_279:disabled{opacity:.5;cursor:not-allowed}._commentInput_1mlzx_290{display:flex;gap:8px;align-items:center;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}._commentInput_1mlzx_290 select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px}._commentField_1mlzx_305{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 9px}._docsHint_1mlzx_313{font-size:12px;color:var(--text-muted);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-sm);padding:6px 10px;margin:0 0 10px}._docsList_1mlzx_323{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:2px}._docRow_1mlzx_332{display:flex;align-items:center;gap:8px}._docLink_1mlzx_338{flex:1;text-align:left;border:none;background:transparent;color:var(--accent);padding:5px 6px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._docLink_1mlzx_338:hover{background:var(--surface-alt)}._docLink_1mlzx_338:focus-visible{box-shadow:var(--focus-ring)}._docLinkActive_1mlzx_361{background:var(--accent-soft)}._docBroken_1mlzx_365{font-size:11px;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:1px 6px;flex:0 0 auto}._docRemove_1mlzx_374{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:2px 8px;color:var(--text-muted);cursor:pointer;flex:0 0 auto}._docRemove_1mlzx_374:focus-visible{box-shadow:var(--focus-ring)}._docRemove_1mlzx_374:disabled{opacity:.4;cursor:not-allowed}._docsActions_1mlzx_393{margin:4px 0 10px}._docsPicker_1mlzx_397{border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;margin-bottom:12px;max-height:200px;overflow-y:auto;background:var(--surface-alt)}._docsPreview_1mlzx_407{border-top:2px solid var(--border);padding-top:10px}._docsPreviewPath_1mlzx_412{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);margin:0 0 8px}._metaSection_1mlzx_420{margin-bottom:20px}._metaSection_1mlzx_420 select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;background:var(--surface);color:var(--text);font-size:13px}._metaSection_1mlzx_420 select:disabled{opacity:.5;cursor:not-allowed}._metaLabel_1mlzx_438{font-size:12px;font-weight:700;color:var(--text-muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.04em}._depId_1mlzx_447{flex:1;font-size:13px;color:var(--text);padding:5px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}._btnDanger_1mlzx_456{border-color:var(--danger);color:var(--danger);background:var(--surface)}._btnDanger_1mlzx_456:hover{background:var(--surface-alt)}._btnDanger_1mlzx_456:focus-visible{box-shadow:var(--focus-ring)}._btnDanger_1mlzx_456:disabled{opacity:.4;cursor:not-allowed}._deleteConfirm_1mlzx_476{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--danger)}._view_1hota_1{flex:1;display:flex;overflow:hidden}._list_1hota_8{flex:0 0 clamp(180px,28vw,280px);display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border);background:var(--surface)}._search_1hota_18{padding:12px 12px 8px;border-bottom:1px solid var(--border)}._searchInput_1hota_23{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--text);font-size:13px;padding:6px 8px}._searchInput_1hota_23:focus-visible{outline:none;box-shadow:var(--focus-ring)}._listScroll_1hota_39{flex:1;overflow-y:auto;padding:8px 12px 12px}._taskList_1hota_45{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}._taskList_1hota_45>li{content-visibility:auto;contain-intrinsic-size:auto 44px}._taskBtn_1hota_61{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;padding:5px 6px;border-radius:var(--radius-sm);cursor:pointer;overflow:hidden;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}._taskBtn_1hota_61:hover{background:var(--surface-alt)}._taskBtn_1hota_61:focus-visible{box-shadow:var(--focus-ring)}._taskBtnActive_1hota_84{background:var(--accent-soft);color:var(--accent);font-weight:600}._taskBtnActive_1hota_84:hover{background:var(--accent-soft)}._taskId_1hota_94{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted)}._taskTitle_1hota_100{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._taskTime_1hota_107{display:block;font-size:10px;color:var(--text-muted)}._detail_1hota_114{flex:1;overflow-y:auto;padding:14px 18px;max-width:880px}._detailHeader_1hota_121{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}._detailHeadText_1hota_128{flex:1;min-width:0}._detailTitle_1hota_133{font-size:16px;font-weight:700;margin:0 0 4px;word-break:break-word}._meta_1hota_140{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11px;color:var(--text-muted);margin:0}._metaId_1hota_149{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}._restoreBtn_1hota_153{flex:0 0 auto;border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease)}._restoreBtn_1hota_153:hover:not(:disabled){background:var(--accent-hover)}._restoreBtn_1hota_153:focus-visible{outline:none;box-shadow:var(--focus-ring)}._restoreBtn_1hota_153:disabled{opacity:.5;cursor:default}._diffWrap_1hota_181{margin-bottom:14px}._diffTitle_1hota_185,._previewTitle_1hota_186{font-size:12px;font-weight:700;margin:0 0 6px}._previewTitle_1hota_186{margin-top:14px}._diff_1hota_181{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:40vh;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;background:var(--surface)}._line_1hota_207{display:flex;white-space:pre-wrap;word-break:break-word;padding:0 8px}._sign_1hota_214{flex:0 0 16px;color:var(--text-muted);-webkit-user-select:none;user-select:none}._equal_1hota_220{color:var(--text)}._add_1hota_224{background:var(--success-soft);color:var(--success)}._remove_1hota_229{background:var(--danger-soft);color:var(--danger-strong)}._legend_1hota_234{display:flex;gap:14px;font-size:11px;color:var(--text-muted);margin:8px 0 0}._markdown_1hota_242{font-size:14px;line-height:1.65;word-break:break-word}._markdown_1hota_242 pre{background:var(--surface-alt);padding:10px 12px;border-radius:var(--radius);overflow-x:auto;font-size:12px}._markdown_1hota_242 code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}._muted_1hota_261{color:var(--text-muted);font-size:13px}._error_1hota_266{color:var(--danger);font-size:12px;margin:0 0 10px}._banner_1uu1k_1{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);margin:0 16px 12px;padding:8px 12px}._summary_1uu1k_9{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;list-style:none}._summary_1uu1k_9::-webkit-details-marker{display:none}._icon_1uu1k_22{font-size:15px}._list_1uu1k_26{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:13px}._item_1uu1k_35{color:var(--text)}._kind_1uu1k_39{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;border-radius:var(--radius-sm);padding:0 5px;margin-right:6px;background:var(--warn-border);color:#fff}._path_1uu1k_51{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}._renameBtn_1uu1k_57{margin-left:8px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);border-radius:var(--radius-sm);padding:1px 8px;font-size:11px;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}._renameBtn_1uu1k_57:hover{background:var(--accent-soft)}._renameBtn_1uu1k_57:active{background:var(--accent-subtle)}._renameBtn_1uu1k_57:focus-visible{box-shadow:var(--focus-ring)}._app_168tj_1{display:flex;flex-direction:column;height:100%}._main_168tj_8{flex:1;display:flex;flex-direction:column;min-height:0}._header_168tj_15{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--border)}._brand_168tj_26{font-size:18px;font-weight:var(--fw-bold);letter-spacing:.02em}._tabs_168tj_32{display:flex;gap:2px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}._tab_168tj_32{flex:0 0 auto;white-space:nowrap;border:none;background:transparent;padding:8px 14px;color:var(--text-muted);border-bottom:2px solid transparent;font-weight:600;transition:color var(--dur) var(--ease)}._tab_168tj_32:hover{color:var(--text)}._tab_168tj_32:focus-visible{box-shadow:var(--focus-ring-tight)}._tabActive_168tj_64{color:var(--accent);border-bottom-color:var(--accent)}._project_168tj_69{color:var(--text-muted);font-size:13px}._spacer_168tj_74{flex:1}._status_168tj_78{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}._dot_168tj_86{width:8px;height:8px;border-radius:50%}._dotOn_168tj_92{background:var(--human);animation:_dotPulse_168tj_1 1.8s var(--ease) infinite}._dotOff_168tj_97{background:transparent;border:1.5px solid var(--text-muted)}@keyframes _dotPulse_168tj_1{0%,to{opacity:1}50%{opacity:.45}}._markAllReadBtn_168tj_113{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-subtle);border-radius:var(--radius-pill);padding:3px 10px;min-height:28px}._markAllReadBtn_168tj_113:hover{background:var(--accent-subtle)}._viewerSelect_168tj_132{border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;min-height:32px;background:var(--surface);color:var(--text);max-width:200px}._langSelect_168tj_143{border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;min-height:32px;background:var(--surface);color:var(--text)}._settingsBtn_168tj_152{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:8px 14px}._settingsBtn_168tj_152:hover{background:var(--surface-alt)}._addBtn_168tj_167{display:inline-flex;align-items:center;min-height:32px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-weight:600}._addBtn_168tj_167:hover{background:var(--accent-hover)}._addBtn_168tj_167:active{transform:translateY(1px)}._banner_168tj_187{background:var(--danger);color:#fff;padding:8px 16px;font-size:13px;display:flex;align-items:center;gap:10px}._bannerClose_168tj_197{margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;border-radius:3px;padding:1px 8px}._center_168tj_206{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted)}._app_156sn_1{display:flex;flex-direction:column;height:100%}._header_156sn_7{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}._brand_156sn_16{font-size:18px;font-weight:800;letter-spacing:.02em}._mode_156sn_22{color:var(--text-muted);font-size:13px}._spacer_156sn_27{flex:1}._status_156sn_31{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}._dot_156sn_39{width:8px;height:8px;border-radius:50%}._dotOn_156sn_45{background:var(--human)}._dotOff_156sn_49{background:var(--priority-low)}._langSelect_156sn_53{border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 6px;font-size:12px;background:var(--surface);color:var(--text);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}._langSelect_156sn_53:focus-visible{box-shadow:var(--focus-ring)}._banner_156sn_69{background:var(--danger);color:#fff;padding:8px 16px;font-size:13px}._center_156sn_77{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}._main_156sn_85{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:24px;max-width:980px}._sectionTitle_156sn_95{font-size:15px;font-weight:700;margin:0 0 10px}._cards_156sn_102{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}._card_156sn_102{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:12px 14px;transition:box-shadow var(--dur) var(--ease)}._card_156sn_102:hover{box-shadow:var(--shadow-hover)}._cardName_156sn_121{font-size:14px;font-weight:700;margin:0}._cardDir_156sn_127{color:var(--text-muted);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin:2px 0 10px}._counts_156sn_134{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0}._count_156sn_134{display:flex;align-items:baseline;gap:4px}._count_156sn_134 dt{font-size:11px;color:var(--text-muted)}._count_156sn_134 dd{margin:0;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}._badges_156sn_159{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}._badgeWip_156sn_166{background:var(--danger);color:#fff;font-size:11px;border-radius:var(--radius-sm);padding:2px 8px}._badgeWarn_156sn_174{background:var(--warn-bg);border:1px solid var(--warn-border);font-size:11px;border-radius:var(--radius-sm);padding:2px 8px}._tableWrap_156sn_183{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}._table_156sn_183{width:100%;border-collapse:collapse;font-size:13px}._table_156sn_183 th,._table_156sn_183 td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}._table_156sn_183 th{font-size:11px;color:var(--text-muted);font-weight:600}._taskId_156sn_211{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted)}._empty_156sn_217{color:var(--text-muted);font-size:13px;padding:12px 0}
|