kaizen-agent 1.34.12 → 1.36.0
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/agents/kaizen-builder.md +5 -1
- package/cli/browser.ts +3 -1
- package/cli/install.ts +14 -0
- package/cli/logo.test.ts +18 -0
- package/cli/logo.ts +20 -0
- package/cli/state.test.ts +29 -1
- package/cli/state.ts +35 -2
- package/cli/web.ts +43 -4
- package/package.json +1 -1
- package/skills/kaizen/spec-build.md +15 -4
- package/skills/kaizen/spec-main.md +13 -0
- package/skills/kaizen/spec-review.md +3 -3
- package/web/board/cards.ts +51 -4
- package/web/board/fixes.ts +1 -1
- package/web/board/icebox.ts +119 -29
- package/web/board/main.ts +27 -0
- package/web/board/panel.ts +22 -4
- package/web/board/projects.ts +23 -9
- package/web/board/update.ts +8 -1
- package/web/board.html +65 -29
- package/web/board.js +24 -24
- package/web/notebook.js +1 -1
- package/web/term.js +1 -1
package/web/board.html
CHANGED
|
@@ -87,7 +87,18 @@ select.sel,button.sel{cursor:pointer;appearance:none;padding-right:30px;max-widt
|
|
|
87
87
|
#projs,#nds{display:flex;flex-direction:column;max-height:300px;overflow-y:auto}
|
|
88
88
|
#projs button,#nds button{display:block;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
89
89
|
#projs button.on,#nds button.on{background:var(--hover)}
|
|
90
|
-
#shows{display:flex;flex-direction:column;max-height:
|
|
90
|
+
#shows{display:flex;flex-direction:column;max-height:320px;overflow-y:auto;gap:1px}
|
|
91
|
+
#shows button,#projs button,#nds button,.pick-list button{display:flex;align-items:center;gap:9px;flex:none;min-width:0;white-space:nowrap}
|
|
92
|
+
#shows button>span:not([class]),#projs button>span:not([class]),#nds button>span:not([class]),.pick-list button>span:not([class]){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
|
|
93
|
+
#shows .ck{width:14px;height:14px;color:var(--accent);visibility:hidden}#shows button[aria-checked=true] .ck{visibility:visible}#shows button[aria-checked=true]{color:var(--ink);font-weight:500}
|
|
94
|
+
#shows .grp{padding:8px 10px 4px;font-size:11px;color:var(--dim)}
|
|
95
|
+
#showpop{padding:6px}#showpop .pop-ft{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:4px;padding:6px 4px 0;font-size:12px;color:var(--dim)}#showpop .pop-ft button{padding:4px 8px;font-size:12px;color:var(--accent)}
|
|
96
|
+
.plogo{width:18px;height:18px;border-radius:5px;flex:none;object-fit:contain;display:inline-grid;place-items:center;font-size:10px;font-weight:600;color:var(--dim);background:var(--hover);overflow:hidden}
|
|
97
|
+
img.plogo{background:none}.ice-meta .plogo{width:14px;height:14px;font-size:9px;border-radius:4px}
|
|
98
|
+
#proj,#show,#ndc>.sel{display:inline-flex;align-items:center;gap:8px}#proj>span:last-child,#ndc>.sel>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
|
|
99
|
+
.pick-list{display:flex;flex-direction:column;max-height:300px;overflow-y:auto}.pick-list .grp{padding:8px 10px 4px;font-size:11px;color:var(--dim);display:flex;align-items:center;gap:6px}.pick-list .grp svg{width:12px;height:12px}.pick-list button.on{background:var(--hover);color:var(--ink);font-weight:500}.pick-list button.sub{padding-left:28px}
|
|
100
|
+
.ice-combo>.sel{display:inline-flex;align-items:center;gap:7px;max-width:220px;height:30px;font-size:12px}.ice-combo>.sel>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ice-combo>.sel>svg{width:14px;height:14px;flex:none}.ice-combo>.sel>svg:last-child{color:var(--dim)}.ice-combo .menu-pop{width:280px}
|
|
101
|
+
.ice-combo .fav,.pick-list .fav{width:15px;height:15px;justify-content:center}.ice-combo .fav svg,.pick-list .fav svg,.ice-combo .fav img,.pick-list .fav img{width:14px;height:14px}.pick-list button>span:not([class]),.ice-combo>.sel>span:not([class]){text-align:left}
|
|
91
102
|
#projs .grp,#nds .grp{padding:8px 10px 4px;font-size:11px;color:var(--dim)}
|
|
92
103
|
.sp{flex:1}
|
|
93
104
|
.ib{width:34px;height:34px;display:grid;place-items:center;color:var(--dim);border-radius:var(--r-s);transition:background .12s,color .12s}
|
|
@@ -168,6 +179,8 @@ section h2 .clear{margin-left:auto;min-height:22px;padding:0 8px}
|
|
|
168
179
|
.chip.accent i{background:var(--accent)}.chip.accent svg{color:var(--accent)}
|
|
169
180
|
.chip.ok svg{color:var(--ok)}
|
|
170
181
|
.chip.run{color:var(--ink)}.chip.run i{background:var(--run)}
|
|
182
|
+
.chip.link,.pst.link{color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.pst.link{padding-left:9px;background:color-mix(in srgb,var(--accent) 10%,transparent)}
|
|
183
|
+
.kids{margin-top:6px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.kids-t{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;width:100%;font-size:12px;color:var(--dim)}.kids-t:focus-visible,.kids li:focus-visible{outline:2px solid var(--accent);border-radius:4px}.kids-w{width:7px;height:7px;border-radius:50%;background:var(--warn);margin-left:auto}.kids ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.kids li{display:grid;grid-template-columns:16px auto 1fr;gap:8px;align-items:center;font-size:12px;padding:3px 4px;border-radius:6px;cursor:pointer;min-width:0}.kids li:hover{background:var(--hover)}.kids-s{font-family:var(--mono);font-size:11px;color:var(--dim);white-space:nowrap}.kids-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.kids .st{width:14px;height:14px}
|
|
171
184
|
.st.d-idea{color:var(--dim)}.st.d-start{color:var(--run)}.st.d-run{color:var(--run)}.st.d-stall{color:var(--dim)}.st.d-wait{color:var(--warn)}.st.d-done{color:var(--ok)}.st.d-aband{color:var(--dim)}
|
|
172
185
|
.d-run{color:var(--run)}.d-wait{color:var(--warn)}.d-done{color:var(--ok)}
|
|
173
186
|
.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;vertical-align:middle}
|
|
@@ -201,7 +214,7 @@ aside.wide{width:100%;border-left:0}#pbody:has(.term){display:flex;flex-directio
|
|
|
201
214
|
.chat{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}.msg{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;background:var(--bg)}.msg time{display:block;font-size:11px;color:var(--dim);margin-bottom:4px}.msg p:last-child{margin-bottom:0}.msg img{max-width:100%;max-height:260px;border-radius:var(--r-s);display:block;margin:4px 0}
|
|
202
215
|
.notes .tools{display:flex;gap:6px;align-items:center}.notes .tools span{flex:1;font-size:11px;color:var(--dim)}.notes .att{font-size:11px;color:var(--dim)}
|
|
203
216
|
.inl pre.files{margin:0;max-height:140px;overflow:auto;font:12px/1.5 var(--mono);color:var(--dim)}
|
|
204
|
-
.inl.fix{margin-top:16px}.inl.fix label{display:flex;gap:8px;align-items:baseline;font-size:13px;cursor:pointer}.inl.fix label.off{color:var(--dim);cursor:default}.inl.fix input{flex:none;width:auto;margin:0;accent-color:var(--accent);position:relative;top:2px}
|
|
217
|
+
.inl.fix{margin-top:16px}.inl.fix label{display:flex;gap:8px;align-items:baseline;font-size:13px;cursor:pointer}.inl.fix label.off{color:var(--dim);cursor:default}.inl.fix label.done span{text-decoration:line-through}.inl.fix input{flex:none;width:auto;margin:0;accent-color:var(--accent);position:relative;top:2px}
|
|
205
218
|
.inl.qa{max-height:60vh;overflow:auto}.inl.qa fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.inl.qa legend{font-size:13px;font-weight:500;padding:0;margin-bottom:4px}.inl.qa label{display:flex;gap:8px;align-items:baseline;font-size:13px;cursor:pointer}.inl.qa label input{flex:none;width:auto;margin:0;accent-color:var(--accent);position:relative;top:2px}
|
|
206
219
|
.inl .q{font-size:14px;font-weight:500}.inl .q.dim{color:var(--dim);font-size:13px;font-weight:400}
|
|
207
220
|
.empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:12px;padding-block:60px;color:var(--dim);text-align:center}
|
|
@@ -214,7 +227,7 @@ aside.wide{width:100%;border-left:0}#pbody:has(.term){display:flex;flex-directio
|
|
|
214
227
|
.ftr span+span,.ftr a+a{margin-left:14px}.ftr .strip{font-size:12px}.ftr .strip .st{display:inline-grid}
|
|
215
228
|
/* The footer is out of the eye's path, so the waiting alert is filled, not just outlined. */
|
|
216
229
|
.ftr .strip .attn{color:var(--ink);background:color-mix(in srgb,var(--warn) 18%,transparent);box-shadow:inset 0 0 0 1px var(--warn)}.ftr .strip .attn:hover,.ftr .strip .attn.on{background:color-mix(in srgb,var(--warn) 30%,transparent)}.ftr .strip .attn svg{color:var(--warn)}.ftr .st svg{width:12px;height:12px}
|
|
217
|
-
.ftr a{color:var(--dim);cursor:pointer;white-space:nowrap;text-decoration:none}.ftr a:hover{color:var(--ink)}
|
|
230
|
+
.ftr a{color:var(--dim);cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.ftr a>svg{width:13px;height:13px}.ftr a:hover{color:var(--ink)}
|
|
218
231
|
|
|
219
232
|
/* side panel */
|
|
220
233
|
.scrim{position:fixed;inset:0;z-index:10;background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(3px);display:none}
|
|
@@ -233,7 +246,7 @@ aside.docked #pclose{display:none}
|
|
|
233
246
|
aside header{display:flex;align-items:flex-start;gap:12px;padding:20px 24px 16px;border-bottom:1px solid var(--line)}
|
|
234
247
|
aside header .t{flex:1;min-width:0}
|
|
235
248
|
aside header b{display:block;font-size:17px;font-weight:600;line-height:1.35}
|
|
236
|
-
aside header .sub{color:var(--dim);font-size:12px;margin-top:
|
|
249
|
+
aside header .sub{color:var(--dim);font-size:12px;margin-top:6px}#psub{display:flex;flex-wrap:wrap;gap:6px}.pst{display:inline-flex;align-items:center;gap:6px;padding:2px 9px 2px 6px;border-radius:var(--r-pill);background:var(--hover);color:var(--ink);font-size:12px;font-weight:500}.pst.dim{color:var(--dim);font-weight:400;padding-left:9px}.pst .st{display:inline-grid;width:14px;height:14px}.pst .st svg{width:14px;height:14px}
|
|
237
250
|
aside nav{display:flex;border-bottom:1px solid var(--line);padding-inline:12px;overflow:auto hidden;scrollbar-width:none}
|
|
238
251
|
aside nav:empty{display:none}
|
|
239
252
|
aside nav button{padding:12px;font-size:13px;font-weight:500;color:var(--dim);white-space:nowrap}
|
|
@@ -301,6 +314,11 @@ aside .foot .more .menu-pop{left:0;right:auto;top:auto;bottom:calc(100% + 4px)}.
|
|
|
301
314
|
.toast.on{opacity:1}
|
|
302
315
|
.rail a.upd svg{overflow:visible}.rail a.upd{position:relative}.rail a.upd::after{content:"";position:absolute;left:28px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}
|
|
303
316
|
.updbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:0 0 36px;padding:10px 14px;border:1px solid var(--accent);border-radius:var(--r);background:color-mix(in srgb,var(--accent) 10%,var(--bg-2));font-size:13px}
|
|
317
|
+
.updact{display:flex;gap:8px;align-items:center}
|
|
318
|
+
.updnew{position:relative}
|
|
319
|
+
.updpop{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(360px,80vw);padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);box-shadow:var(--shadow-1);font-size:13px;line-height:1.5}
|
|
320
|
+
.updnew:hover .updpop,.updnew:focus-within .updpop{display:block}
|
|
321
|
+
.updpop ul{margin:0 0 8px;padding-left:18px}.updpop li{margin:2px 0}.updpop a{color:var(--accent)}
|
|
304
322
|
.updbar.quiet{border-color:var(--line);background:var(--bg-2);color:var(--dim)}
|
|
305
323
|
.toast.on.rep{pointer-events:auto}.toast a{color:inherit;margin-left:8px;text-decoration:underline;text-underline-offset:2px}
|
|
306
324
|
.help{position:fixed;inset:0;z-index:12;display:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(3px)}
|
|
@@ -317,9 +335,10 @@ aside .foot .more .menu-pop{left:0;right:auto;top:auto;bottom:calc(100% + 4px)}.
|
|
|
317
335
|
.ice-bar .end{flex:1}
|
|
318
336
|
.ice-bar .btn,.ice-bulk .btn,.ice-ra .btn{display:inline-flex;align-items:center;gap:6px}
|
|
319
337
|
.ice-bar .btn svg,.ice-bulk .btn svg,.ice-ra .btn svg{width:14px;height:14px}
|
|
320
|
-
.ice-bar
|
|
338
|
+
.ice-bar>input,.ice-row input,.ice-bulk input{accent-color:var(--accent);width:15px;height:15px;margin:0;flex-shrink:0}
|
|
321
339
|
.ice-bar .ice-sel{width:auto;max-width:170px;height:28px;font-size:12px;padding:2px 26px 2px 8px}
|
|
322
|
-
@media(max-width:640px){.ice-bar{flex-wrap:wrap}.ice-bar .ice-
|
|
340
|
+
@media(max-width:640px){.ice-bar{flex-wrap:wrap}.ice-bar .ice-combo{min-width:0;flex:1 1 40%}.ice-bar .ice-combo>.sel{max-width:none;width:100%}}
|
|
341
|
+
.pick-list i{font-style:normal;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}.pick-list [hidden]{display:none}
|
|
323
342
|
.ice-bulk{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;margin:0 0 8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--dim) 12%,var(--bg-2));font-size:13px;color:var(--ink)}
|
|
324
343
|
.ice-bulk .end{flex:1}
|
|
325
344
|
.ice-list{display:flex;flex-direction:column;gap:1px}
|
|
@@ -332,7 +351,7 @@ aside .foot .more .menu-pop{left:0;right:auto;top:auto;bottom:calc(100% + 4px)}.
|
|
|
332
351
|
.ice-t{font:inherit;font-size:13px;color:var(--ink);background:none;border:0;padding:6px 0;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
333
352
|
.ice-t[aria-expanded=true]{font-weight:500}
|
|
334
353
|
.ice-src{display:inline-flex;align-items:center}
|
|
335
|
-
.ice-meta{display:inline-flex;align-items:center;gap:10px;min-width:0;font-size:11px;color:var(--dim)}.ice-meta .nm{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
354
|
+
.ice-meta{display:inline-flex;align-items:center;gap:10px;min-width:0;font-size:11px;color:var(--dim)}.ice-meta .nm{display:inline-flex;align-items:center;gap:5px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
336
355
|
.ice-age{font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:64px;text-align:right}
|
|
337
356
|
.ice-ra{display:none;gap:2px;min-width:64px;justify-content:flex-end}
|
|
338
357
|
.ice-ra .btn{padding:0 6px}
|
|
@@ -347,39 +366,49 @@ aside .foot .more .menu-pop{left:0;right:auto;top:auto;bottom:calc(100% + 4px)}.
|
|
|
347
366
|
body:not(.paged) .src-sec,body:not(.paged) .src-scrim{display:none}
|
|
348
367
|
.src-scrim{position:fixed;inset:0;z-index:10;background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s}
|
|
349
368
|
.src-scrim.on{opacity:1;visibility:visible}
|
|
350
|
-
.src-sec .sub a{color:var(--accent);text-decoration:none;cursor:pointer}
|
|
351
|
-
.src-sec .sub a:hover{text-decoration:underline}
|
|
352
369
|
@media(hover:none){.ice-ra{display:flex}.ice-age{display:none}}
|
|
353
370
|
@media(max-width:640px){.ice-meta .nm{display:none}.ice-open{padding-left:12px}}
|
|
354
371
|
.src-list{display:flex;flex-direction:column;gap:10px}
|
|
355
|
-
.src-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:
|
|
372
|
+
.src-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 10px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s}
|
|
356
373
|
.src-card:hover{border-color:color-mix(in srgb,var(--line) 70%,var(--ink))}
|
|
357
|
-
.src-hd{display:flex;
|
|
358
|
-
.src-info{display:flex;
|
|
359
|
-
.src-ico{width:
|
|
360
|
-
.src-ico svg{width:
|
|
374
|
+
.src-hd{display:flex;align-items:center;gap:10px}
|
|
375
|
+
.src-info{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}
|
|
376
|
+
.src-ico{width:28px;height:28px;flex-shrink:0;color:var(--ink);display:inline-grid;place-items:center;border-radius:8px;background:var(--hover)}
|
|
377
|
+
.src-ico svg{width:16px;height:16px}
|
|
361
378
|
/* a site's own favicon; the generic icon after it shows only once the image fails and removes itself */
|
|
362
379
|
.fav{display:inline-flex;align-items:center;flex-shrink:0}.fav img{width:16px;height:16px;border-radius:4px;padding:1px;background:#fff;box-sizing:border-box}.fav img+svg{display:none}
|
|
363
380
|
.ice-src .fav svg{width:14px;height:14px}
|
|
364
|
-
.src-title{font-size:
|
|
365
|
-
.src-
|
|
366
|
-
.src-
|
|
367
|
-
.src-
|
|
368
|
-
.src-url{
|
|
369
|
-
.src-
|
|
370
|
-
.src-
|
|
371
|
-
.src-
|
|
372
|
-
.src-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}
|
|
381
|
+
.src-title{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
382
|
+
.src-url{font-size:11px;color:var(--dim);text-decoration:none;display:inline-flex;align-items:center;gap:4px;min-width:0}
|
|
383
|
+
.src-url span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
384
|
+
.src-url:hover{color:var(--ink)}
|
|
385
|
+
.src-url svg{width:11px;height:11px;flex-shrink:0;opacity:0;transition:opacity .15s}.src-url:hover svg{opacity:1}
|
|
386
|
+
.src-acts{display:flex;align-items:center;gap:2px;flex-shrink:0}
|
|
387
|
+
.src-acts .ib{color:var(--dim)}.src-acts .ib:hover{color:var(--ink)}.src-acts .ib.danger:hover{color:var(--danger)}
|
|
388
|
+
.src-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:var(--dim)}
|
|
373
389
|
.src-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:500}
|
|
374
390
|
.src-badge.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
|
|
375
391
|
.src-badge.warn{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--ink);font-weight:500}
|
|
376
392
|
.src-badge.warn svg{color:var(--warn)}
|
|
377
393
|
.src-badge.dim{background:color-mix(in srgb,var(--dim) 14%,transparent);color:var(--dim)}
|
|
378
394
|
.src-badge svg{width:12px;height:12px;stroke-width:2;flex-shrink:0}
|
|
379
|
-
.src-
|
|
380
|
-
.src-
|
|
381
|
-
.src-
|
|
382
|
-
.src-
|
|
395
|
+
.src-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:8px;border-top:1px solid var(--line)}
|
|
396
|
+
.src-f{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;color:var(--dim)}
|
|
397
|
+
.src-f>span:first-child{flex:none}
|
|
398
|
+
.src-f .sel{flex:1;min-width:0;height:28px;font-size:12px;padding:2px 8px;background-color:transparent;border-color:transparent}
|
|
399
|
+
.src-f select.sel{padding-right:26px}
|
|
400
|
+
.src-f .sel:hover,.src-f .sel:focus{border-color:var(--line);background-color:var(--bg)}
|
|
401
|
+
.src-f .btn{height:26px;padding:0 9px;font-size:12px}.src-f .btn:disabled{display:none}
|
|
402
|
+
.src-f .plogo{width:16px;height:16px}
|
|
403
|
+
.src-wb{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--dim);cursor:pointer}.src-wb input{accent-color:var(--accent);margin:0}
|
|
404
|
+
@media(max-width:640px){.src-fields{grid-template-columns:1fr}}
|
|
405
|
+
.src-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
|
|
406
|
+
.schip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--r-pill);border:1px solid var(--line);font-size:12px;color:var(--dim);text-decoration:none;cursor:pointer;white-space:nowrap}
|
|
407
|
+
.schip svg{width:13px;height:13px}
|
|
408
|
+
a.schip:hover{color:var(--ink);border-color:color-mix(in srgb,var(--line) 60%,var(--ink))}
|
|
409
|
+
.schip.on{color:var(--ink);background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}
|
|
410
|
+
.schip.on>svg:first-child{color:var(--ok)}
|
|
411
|
+
.schip a{display:inline-grid;place-items:center;margin-right:-4px;width:16px;height:16px;border-radius:50%;color:var(--dim);cursor:pointer}.schip a:hover{background:var(--hover);color:var(--danger)}.schip a svg{width:11px;height:11px}
|
|
383
412
|
.ice-hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:22px 0 4px}
|
|
384
413
|
.ice-hd h3{margin:0;font-size:14px;font-weight:600;color:var(--ink)}
|
|
385
414
|
.ice-cat{font-size:12px;font-weight:600;color:var(--dim);margin:14px 0 6px}
|
|
@@ -428,6 +457,13 @@ body:not(.paged) .src-sec,body:not(.paged) .src-scrim{display:none}
|
|
|
428
457
|
|
|
429
458
|
<svg style="display:none"><defs>
|
|
430
459
|
<symbol id="i-clip" viewBox="0 0 24 24"><path d="M21.4 11.1l-9.2 9.2a6 6 0 0 1-8.5-8.5l9.2-9.2a4 4 0 0 1 5.7 5.7l-9.2 9.2a2 2 0 0 1-2.8-2.8l8.5-8.5"/></symbol>
|
|
460
|
+
<symbol id="i-bug" viewBox="0 0 24 24"><rect x="8" y="6" width="8" height="14" rx="4"/><path d="M12 20v-9M8 12H4M20 12h-4M9 7 7 4M15 7l2-3M8 17l-3 2M16 17l3 2M8.5 8.5 5 7M15.5 8.5 19 7"/></symbol>
|
|
461
|
+
<symbol id="i-kbd" viewBox="0 0 24 24"><rect x="2" y="6" width="20" height="12" rx="2"/><path d="M6 10h.01M10 10h.01M14 10h.01M18 10h.01M7 14h10"/></symbol>
|
|
462
|
+
<symbol id="i-check" viewBox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></symbol>
|
|
463
|
+
<symbol id="i-clock" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></symbol>
|
|
464
|
+
<symbol id="i-chev" viewBox="0 0 24 24"><path d="m6 9 6 6 6-6"/></symbol>
|
|
465
|
+
<symbol id="i-ai" viewBox="0 0 24 24"><path d="M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z"/><path d="M19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8z"/></symbol>
|
|
466
|
+
<symbol id="i-google" viewBox="0 0 24 24"><path fill="currentColor" stroke="none" d="M12.48 10.92v3.28h7.84c-.24 1.84-.85 3.18-1.73 4.1-1.08 1.08-2.76 2.26-5.7 2.26-4.82 0-8.6-3.89-8.6-8.72s3.78-8.72 8.6-8.72c2.6 0 4.5 1.02 5.9 2.34l2.31-2.31C19.13 1.19 16.56 0 12.48 0 5.87 0 .31 5.39.31 12s5.56 12 12.17 12c3.57 0 6.26-1.17 8.37-3.36 2.16-2.16 2.84-5.21 2.84-7.66 0-.76-.05-1.47-.17-2.06z"/></symbol>
|
|
431
467
|
<symbol id="i-plus" viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></symbol>
|
|
432
468
|
<symbol id="i-gear" viewBox="0 0 24 24"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z"/></symbol>
|
|
433
469
|
<symbol id="i-inbox" viewBox="0 0 24 24"><path d="M22 12h-6l-2 3h-4l-2-3H2"/><path d="M5.5 5.1L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.5-6.9A2 2 0 0 0 16.8 4H7.2a2 2 0 0 0-1.7 1.1z"/></symbol>
|
|
@@ -505,13 +541,13 @@ body:not(.paged) .src-sec,body:not(.paged) .src-scrim{display:none}
|
|
|
505
541
|
<div class="hdr">
|
|
506
542
|
<h1>Board</h1>
|
|
507
543
|
<div class="combo" id="combo"><button class="sel" id="proj" aria-label="project" aria-haspopup="listbox" aria-expanded="false"></button><div class="menu-pop" id="projpop" hidden><input class="sel" id="projq" aria-label="Search projects" placeholder="Search projects…" spellcheck="false" autocomplete="off"><div id="projs" role="listbox"></div></div></div>
|
|
508
|
-
<div class="combo" id="showc" hidden><button class="sel" id="show" aria-label="Projects shown" aria-haspopup="true" aria-expanded="false"></button><div class="menu-pop" id="showpop" hidden><input class="sel" id="showq" aria-label="Search projects" placeholder="Search projects…" spellcheck="false" autocomplete="off"><div id="shows"></div><button id="showall">Show all</button></div></div>
|
|
544
|
+
<div class="combo" id="showc" hidden><button class="sel" id="show" aria-label="Projects shown" aria-haspopup="true" aria-expanded="false"></button><div class="menu-pop" id="showpop" hidden><input class="sel" id="showq" aria-label="Search projects" placeholder="Search projects…" spellcheck="false" autocomplete="off"><div id="shows"></div><div class="pop-ft"><span id="showcount"></span><button id="showall">Show all</button></div></div></div>
|
|
509
545
|
<span class="sp"></span>
|
|
510
546
|
<button class="btn pri" id="newtop">New idea</button>
|
|
511
547
|
</div>
|
|
512
548
|
<main id="board" aria-live="polite"></main>
|
|
513
549
|
|
|
514
|
-
<div class="ftr"><span class="strip" id="strip"></span><span><a href="/issue" target="_blank" rel="noopener">Report an issue</a><a id="kbd">Keyboard shortcuts</a></span></div>
|
|
550
|
+
<div class="ftr"><span class="strip" id="strip"></span><span><a href="/issue" target="_blank" rel="noopener"><svg><use href="#i-bug"/></svg>Report an issue</a><a id="kbd"><svg><use href="#i-kbd"/></svg>Keyboard shortcuts</a></span></div>
|
|
515
551
|
|
|
516
552
|
<div class="scrim" id="scrim"></div>
|
|
517
553
|
<aside id="panel" aria-label="detail">
|