create-pmos 0.511.0 → 0.513.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/package.json +27 -31
- package/payload/KIT-VERSION +1 -1
- package/payload/planning/evals/eval-calibration.md +1 -1
- package/payload/planning/okrs/health-budgets.md +1 -1
- package/payload/state/discoveries.md +1 -1
- package/workspace/briefing-premium-adddoc-test.js +3 -3
- package/workspace/briefing-premium-board-test.js +2 -2
- package/workspace/briefing-premium-initiative-test.js +3 -3
- package/workspace/briefing-premium-insights-test.js +2 -2
- package/workspace/briefing-premium-sources-test.js +4 -5
- package/workspace/briefing-premium-test.js +2 -2
- package/workspace/changelog.json +26 -0
- package/workspace/fixtures/next-prompt-replay.json +40 -0
- package/workspace/guide/home.md +1 -1
- package/workspace/guide/index.md +1 -0
- package/workspace/guide/next-prompt.md +62 -0
- package/workspace/guide/settings.md +3 -1
- package/workspace/intel-report-ui-test.js +1 -1
- package/workspace/intelligence-gaps-ui-test.js +1 -1
- package/workspace/lib/next-prompt.js +199 -0
- package/workspace/lib/premium-console-type.js +15 -12
- package/workspace/lib/route-modules.js +1 -0
- package/workspace/lib/routes-next-prompt.js +248 -0
- package/workspace/metric-drafts-ui-test.js +2 -2
- package/workspace/package-lock.json +2 -2
- package/workspace/package.json +1 -1
- package/workspace/premium-menu-rows-test.js +1 -1
- package/workspace/premium-vw-doc-test.js +1 -1
- package/workspace/public/pm/bd-pin-card.css +4 -4
- package/workspace/public/pm/bd-publish.css +11 -11
- package/workspace/public/pm/bd-shared.css +17 -17
- package/workspace/public/pm/c3-capture.css +9 -9
- package/workspace/public/pm/c3-initiatives.css +23 -23
- package/workspace/public/pm/c3-listen.css +1 -1
- package/workspace/public/pm/components.css +572 -572
- package/workspace/public/pm/console3.css +374 -373
- package/workspace/public/pm/cozy-adler.css +4 -4
- package/workspace/public/pm/cozy-aud.css +1 -1
- package/workspace/public/pm/cozy-board.css +328 -328
- package/workspace/public/pm/cozy-ev.css +80 -78
- package/workspace/public/pm/cozy-home-rows.css +32 -32
- package/workspace/public/pm/cozy-home.css +285 -241
- package/workspace/public/pm/cozy-insights.css +200 -200
- package/workspace/public/pm/cozy-live-pill.css +5 -5
- package/workspace/public/pm/cozy-mtg-present.css +28 -28
- package/workspace/public/pm/cozy-onboard.css +15 -15
- package/workspace/public/pm/cozy-panel.css +39 -39
- package/workspace/public/pm/cozy-pick.css +5 -5
- package/workspace/public/pm/cozy-rec-now.css +23 -23
- package/workspace/public/pm/cozy-rec-present.css +11 -11
- package/workspace/public/pm/cozy-rec-tab.css +13 -13
- package/workspace/public/pm/cozy-settings.js +37 -2
- package/workspace/public/pm/cozy-steps.css +14 -14
- package/workspace/public/pm/cozy-today.css +95 -95
- package/workspace/public/pm/cozy-viewer.css +27 -27
- package/workspace/public/pm/cozy-vw-mtg.css +113 -113
- package/workspace/public/pm/cozy-vw-rp.css +79 -79
- package/workspace/public/pm/cozy-vw-shell.css +43 -43
- package/workspace/public/pm/cozy-vw.css +129 -129
- package/workspace/public/pm/cozy-xv.css +15 -15
- package/workspace/public/pm/cozy.css +53 -21
- package/workspace/public/pm/dash-view.css +27 -27
- package/workspace/public/pm/hi-pop.css +26 -26
- package/workspace/public/pm/home-chat.js +21 -4
- package/workspace/public/pm/home-impact.css +8 -8
- package/workspace/public/pm/home-ini.css +36 -36
- package/workspace/public/pm/home-line.css +7 -7
- package/workspace/public/pm/impact.css +9 -9
- package/workspace/public/pm/ini-view.css +243 -243
- package/workspace/public/pm/load-shapes.css +1 -1
- package/workspace/public/pm/loose-props.css +14 -14
- package/workspace/public/pm/metric-drafts.css +20 -20
- package/workspace/public/pm/ms-suggest.css +9 -9
- package/workspace/public/pm/next-prompt-ui.js +117 -0
- package/workspace/public/pm/ov-view.css +14 -14
- package/workspace/public/pm/premium-insights.js +3 -3
- package/workspace/public/pm/premium-report-frame.css +1 -1
- package/workspace/public/pm/premium-report-intel.css +17 -17
- package/workspace/public/pm/premium-report-print.css +1 -1
- package/workspace/public/pm/premium-vw-backlog.css +13 -13
- package/workspace/public/pm/premium-vw-cal.css +32 -32
- package/workspace/public/pm/premium-vw-copy.css +7 -7
- package/workspace/public/pm/premium-vw-doc.css +69 -69
- package/workspace/public/pm/premium-vw-item.css +12 -12
- package/workspace/public/pm/premium-vw-jira.css +39 -39
- package/workspace/public/pm/premium-vw-meet.css +28 -28
- package/workspace/public/pm/premium-vw-notepad.css +13 -13
- package/workspace/public/pm/premium-vw-notes.css +11 -11
- package/workspace/public/pm/premium-vw-rec.css +27 -27
- package/workspace/public/pm/premium-vw-report.css +21 -21
- package/workspace/public/pm/premium-vw-slides.css +28 -28
- package/workspace/public/pm/premium.css +618 -618
- package/workspace/public/pm/prog-order.css +6 -6
- package/workspace/public/pm/prog-page.css +17 -17
- package/workspace/public/pm/program-charter.css +33 -33
- package/workspace/public/pm/ready-lib.css +6 -6
- package/workspace/public/pm/sort-order.css +1 -1
- package/workspace/public/pm/split-merge.css +18 -18
- package/workspace/public/pm/task-card.css +24 -24
- package/workspace/public/pm/tk-tasks.css +42 -42
- package/workspace/public/pm/tk-view.css +6 -6
- package/workspace/public/pm/wf-page.css +31 -31
- package/workspace/public/premium-aud.html +1 -1
- package/workspace/public/premium-board.html +1 -1
- package/workspace/public/premium-intelligence.html +1 -1
- package/workspace/public/premium-rec.html +1 -1
- package/workspace/public/premium-viewer.html +1 -1
- package/workspace/public/premium-workflows.html +1 -1
- package/workspace/public/premium.html +1 -1
- package/workspace/public/vendor/plus-jakarta-sans-var.woff2 +0 -0
- package/workspace/server.js +1 -0
- package/workspace/test-lists/next-prompt.json +5 -0
- package/workspace/third-party/README.md +2 -1
- package/workspace/third-party/plus-jakarta-sans-OFL.LICENSE +93 -0
|
@@ -34,6 +34,7 @@ import * as VWC from './cozy-viewer.js';
|
|
|
34
34
|
import { canDictate, dictate } from './home-dictate.js';
|
|
35
35
|
import { adler } from './cozy-adler.js';
|
|
36
36
|
import { snapOf, turnEnded } from './chat-turn-end.js'; // a finished turn re-reads what the Viewer shows (batch 25 item 3)
|
|
37
|
+
import { nextPromptUi } from './next-prompt-ui.js'; // the suggested next prompt and the Sharper card above the box (batch 26 item 2)
|
|
37
38
|
/* The views a chat opens go in the Viewer: on a page with no dialog the old viewer's views draw in the cozy card (premium-viewer.js). */
|
|
38
39
|
const views = {
|
|
39
40
|
ctx: () => import('./premium-vw-ctx.js'), file: () => import('./premium-vw-file.js'), attach: () => import('./premium-attach.js'),
|
|
@@ -78,6 +79,18 @@ export function mountChat(el, host) {
|
|
|
78
79
|
const role = () => (C.t && C.t.role) || roleOf(C.sess || null, host.roles(), firstUser());
|
|
79
80
|
const firstUser = () => { const m = ((C.conv && C.conv.messages) || []).find((x) => x.role === 'user'); return m ? m.text : ''; };
|
|
80
81
|
const running = () => !!C.conv && (C.conv.turn === 'agent' || C.conv.turn === 'tool') && C.conv.state !== 'ended';
|
|
82
|
+
// the suggested next prompt (batch 26 item 2): cards above the box after a reply, a Sharper card while the PM types a rough prompt
|
|
83
|
+
const NPU = nextPromptUi({ el, host, box: () => foot.querySelector('textarea'), redrawFoot: () => { if (C.t) drawFoot({ role: role() }); } });
|
|
84
|
+
el.addEventListener('np-grow', (e) => grow(e.target), true);
|
|
85
|
+
const plain = (s) => String(s || '').replace(/```pmos-[\s\S]*?```/g, '').trim();
|
|
86
|
+
function npCtx() {
|
|
87
|
+
const t = C.t, ms = (C.conv && C.conv.messages) || [];
|
|
88
|
+
let ai = -1; for (let i = ms.length - 1; i >= 0; i--) if (ms[i] && ms[i].role !== 'user' && plain(ms[i].text)) { ai = i; break; }
|
|
89
|
+
let pi = -1; for (let i = ai - 1; i >= 0; i--) if (ms[i] && ms[i].role === 'user') { pi = i; break; }
|
|
90
|
+
const ini = /^init:/.test(String(t.key || ''));
|
|
91
|
+
return { key: t.key || t.sid || '', reply: ai >= 0 ? plain(ms[ai].text).slice(0, 6000) : '', asked: pi >= 0 ? shownUser(String(ms[pi].text || '')).slice(0, 2000) : '',
|
|
92
|
+
initiative: ini ? String(t.title || '') : '', stage: ini ? String(t.sub || '') : '', title: String(t.title || '') };
|
|
93
|
+
}
|
|
81
94
|
|
|
82
95
|
/* ── reading ── */
|
|
83
96
|
async function read() {
|
|
@@ -98,6 +111,8 @@ export function mountChat(el, host) {
|
|
|
98
111
|
const ended = turnEnded(C.turn, snap); C.turn = snap;
|
|
99
112
|
draw();
|
|
100
113
|
if (ended && host.turnEnded) host.turnEnded(t);
|
|
114
|
+
NPU.read(snap.busy);
|
|
115
|
+
if (ended && !(C.conv && C.conv.ask)) NPU.turnEnded(npCtx());
|
|
101
116
|
clearTimeout(C.timer);
|
|
102
117
|
const live = (C.th && (C.th.session || C.th.working)) || (t.sid && C.conv && C.conv.state !== 'ended');
|
|
103
118
|
C.timer = setTimeout(() => { if (!document.hidden) read(); else C.timer = setTimeout(read, IDLE_POLL); }, live ? POLL : IDLE_POLL);
|
|
@@ -429,7 +444,7 @@ export function mountChat(el, host) {
|
|
|
429
444
|
const html = `${also}<form class="hm-box${on ? ' ut-on' : ''}" id="hmForm">${dot}<textarea id="hmIn" rows="1" aria-label="A message for ${esc(R.role.name)}" placeholder="${esc(ph)}"></textarea>`
|
|
430
445
|
+ `<div class="hm-tb">${add}`
|
|
431
446
|
+ to + wait + scope + `<span class="sp"></span>${host.viewerClosed() ? '<span class="hm-key">Enter sends · Shift+Enter for a new line</span>' : ''}`
|
|
432
|
-
+ `${mic}<button type="submit" class="hm-send" aria-label="Send" title="Send">${SVG(UP, 18)}</button></div>`
|
|
447
|
+
+ `${NPU.undoHtml()}${mic}<button type="submit" class="hm-send" aria-label="Send" title="Send">${SVG(UP, 18)}</button></div>`
|
|
433
448
|
+ filesRow()
|
|
434
449
|
+ '</form>';
|
|
435
450
|
if (foot.__h !== html) {
|
|
@@ -511,6 +526,7 @@ export function mountChat(el, host) {
|
|
|
511
526
|
return;
|
|
512
527
|
}
|
|
513
528
|
const b = e.target.closest('button, [data-file], [data-att], [data-ctx]'); if (!b || !el.contains(b)) return;
|
|
529
|
+
if (NPU.click(b)) return;
|
|
514
530
|
// ✓ types /compact (and hides the ✦ until the pie moves); ✕ hides it until the session is 10 points fuller
|
|
515
531
|
if (b.dataset.hmCpt && C.cpt) { if (b.dataset.hmCpt === 'ok') host.compact(sid()); else host.dismissCompact(sid(), C.cpt.pct); C.cpt = null; sug.hidden = true; put(sug, ''); return; }
|
|
516
532
|
if (b.dataset.hmSug && C.sug) { const g = C.sug; if (b.dataset.hmSug === 'link') host.linkTo(C.t.sid, g.id); else { host.dismissLink(C.t.sid); drawSug(); } return; }
|
|
@@ -572,7 +588,7 @@ export function mountChat(el, host) {
|
|
|
572
588
|
el.addEventListener('submit', (e) => { e.preventDefault(); const ta = foot.querySelector('textarea'); const v = ta.value; if (GU.submit(v)) { ta.value = ''; grow(ta); return; }
|
|
573
589
|
// the box empties at once and the bubble shows (batch 24 item 2); a send that fails puts the words back, unless the PM typed again
|
|
574
590
|
if (!v.trim() && !C.files.length) return;
|
|
575
|
-
ta.value = ''; grow(ta);
|
|
591
|
+
ta.value = ''; grow(ta); NPU.sent();
|
|
576
592
|
send(v).then((ok) => { const box = foot.querySelector('textarea'); if (!ok && box && !box.value) { box.value = v; grow(box); } }); });
|
|
577
593
|
const shutAdd = (focus) => { if (!C.addOpen) return; C.addOpen = false; drawFoot({ role: role() }); if (focus) { const a = foot.querySelector('#hmAdd'); if (a) a.focus(); } };
|
|
578
594
|
document.addEventListener('click', (e) => { if (C.addOpen && e.target.isConnected && !e.target.closest('.hm-addw')) shutAdd(false); }, true);
|
|
@@ -580,6 +596,7 @@ export function mountChat(el, host) {
|
|
|
580
596
|
document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && !e.defaultPrevented && el.isConnected && !el.contains(e.target) && !document.querySelector('[data-esc-layer]') && GU.escape()) e.preventDefault(); });
|
|
581
597
|
el.addEventListener('keydown', (e) => {
|
|
582
598
|
if (e.key === 'Escape' && C.addOpen) { e.preventDefault(); e.stopPropagation(); shutAdd(true); return; }
|
|
599
|
+
if (e.key === 'Escape' && NPU.escape()) { e.preventDefault(); e.stopPropagation(); return; }
|
|
583
600
|
if (e.key === 'Escape' && GU.escape()) { e.preventDefault(); e.stopPropagation(); return; }
|
|
584
601
|
if (e.target.id !== 'hmIn') { if (e.key === 'Escape' && running() && !document.querySelector('[data-esc-layer]') && !(window.czViewer && window.czViewer.isOpen())) press('esc'); return; }
|
|
585
602
|
if (e.isComposing || e.keyCode === 229) return;
|
|
@@ -592,7 +609,7 @@ export function mountChat(el, host) {
|
|
|
592
609
|
el.addEventListener('input', (e) => {
|
|
593
610
|
const card = C.t && C.t.intro && C.t.intro.card;
|
|
594
611
|
if (card && card.input && e.target.closest('.hm-icard')) { card.input(e.target, e.target.closest('.hm-icard')); return; }
|
|
595
|
-
if (e.target.id === 'hmIn') { grow(e.target); C.slashAt = 0; drawSlash(); }
|
|
612
|
+
if (e.target.id === 'hmIn') { grow(e.target); C.slashAt = 0; drawSlash(); NPU.input(e.target.value); }
|
|
596
613
|
});
|
|
597
614
|
/* ── the mic ── dictation into the box only (HmMic). A desk shows the blue dot in the box; a phone shows the Speak to Claude sheet. */
|
|
598
615
|
const box = () => foot.querySelector('textarea');
|
|
@@ -671,7 +688,7 @@ export function mountChat(el, host) {
|
|
|
671
688
|
if (notesM) notesM.then((M) => setTimeout(() => M.syncNotes(), 0)); // the Notes open in the Viewer belonged to the conversation before
|
|
672
689
|
const same = C.t && t && C.t.key === t.key && C.t.sid === t.sid;
|
|
673
690
|
C.t = t;
|
|
674
|
-
if (!same) { C.addOpen = false; C.th = null; C.conv = null; C.show = 12; C.open = new Set(); C.files = []; C.marked = null; C.touched = null; C.picked = {}; C.pend = []; C.plOpen = false; C.plAll = false; C.seenAt = t.key ? host.seen(t.key) : null; put(log, introHtml(t.intro)); put(pl, ''); pl.hidden = true; C.jump = true; peek(null); }
|
|
691
|
+
if (!same) { NPU.open(); C.addOpen = false; C.th = null; C.conv = null; C.show = 12; C.open = new Set(); C.files = []; C.marked = null; C.touched = null; C.picked = {}; C.pend = []; C.plOpen = false; C.plAll = false; C.seenAt = t.key ? host.seen(t.key) : null; put(log, introHtml(t.intro)); put(pl, ''); pl.hidden = true; C.jump = true; peek(null); }
|
|
675
692
|
draw(); read();
|
|
676
693
|
},
|
|
677
694
|
refresh() { if (C.t) draw(); },
|
|
@@ -4,23 +4,23 @@
|
|
|
4
4
|
.im-q { position: relative; display: flex; align-items: flex-start; gap: 10px; padding: 12px 8px 12px 16px; border-radius: 18px; background: var(--cz-bluebg); }
|
|
5
5
|
.im-k { flex: none; display: inline-flex; margin-top: 2px; color: var(--cz-blueink); }
|
|
6
6
|
.im-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
|
|
7
|
-
.im-t { font-size: var(--fs-
|
|
8
|
-
.im-w { font-size: var(--fs-
|
|
9
|
-
.im-src { display: inline-flex; align-items: center; gap: 4px; margin-top: 2px; font-size: var(--fs-
|
|
7
|
+
.im-t { font-size: var(--fs-row); font-weight: var(--fw-strong); line-height: 1.35; color: var(--cz-ink); overflow-wrap: anywhere; }
|
|
8
|
+
.im-w { font-size: var(--fs-body); color: var(--cz-ink2); overflow-wrap: anywhere; line-height: var(--lh-body); }
|
|
9
|
+
.im-src { display: inline-flex; align-items: center; gap: 4px; margin-top: 2px; font-size: var(--fs-meta); color: var(--cz-ink3); text-decoration: none; line-height: var(--lh-meta); }
|
|
10
10
|
.im-src:hover { text-decoration: underline; }
|
|
11
11
|
.im-src svg, .im-lock svg { flex: none; }
|
|
12
12
|
.im-mw { position: relative; flex: none; }
|
|
13
13
|
.im-more { width: 28px; height: 28px; color: var(--cz-ink2); }
|
|
14
14
|
.ut-ib.im-more svg { stroke-width: 3.2; }
|
|
15
15
|
.im-pop { position: absolute; right: 0; top: 32px; z-index: 5; padding: 4px; border-radius: 14px; background: var(--cz-card); box-shadow: 0 14px 34px -14px rgba(42, 46, 53, .4), 0 0 0 1px var(--cz-hair); }
|
|
16
|
-
.im-pop button { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border: 0; border-radius: 10px; background: none; color: var(--cz-ink); font: inherit; font-size: var(--fs-
|
|
16
|
+
.im-pop button { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border: 0; border-radius: 10px; background: none; color: var(--cz-ink); font: inherit; font-size: var(--fs-row); font-weight: var(--fw-strong); white-space: nowrap; cursor: pointer; line-height: var(--lh-row); }
|
|
17
17
|
.im-pop button:hover, .im-pop button:focus-visible { background: var(--cz-well); }
|
|
18
18
|
.im-pop svg { width: 15px; height: 15px; }
|
|
19
|
-
.im-q.im-gone { align-items: center; padding: 8px 8px 8px 16px; background: var(--cz-well); color: var(--cz-ink3); font-size: var(--fs-
|
|
19
|
+
.im-q.im-gone { align-items: center; padding: 8px 8px 8px 16px; background: var(--cz-well); color: var(--cz-ink3); font-size: var(--fs-body); line-height: var(--lh-body); }
|
|
20
20
|
.im-gt { flex: 1; min-width: 0; overflow-wrap: anywhere; }
|
|
21
|
-
.im-undo { flex: none; height: 32px; padding: 0 12px; border: 0; border-radius: 999px; background: none; color: var(--cz-blueink); font: inherit; font-size: var(--fs-
|
|
21
|
+
.im-undo { flex: none; height: 32px; padding: 0 12px; border: 0; border-radius: 999px; background: none; color: var(--cz-blueink); font: inherit; font-size: var(--fs-row); font-weight: var(--fw-strong); cursor: pointer; line-height: var(--lh-row); }
|
|
22
22
|
.im-undo:hover { background: var(--cz-card); }
|
|
23
|
-
.im-lock { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; font-size: var(--fs-
|
|
24
|
-
.im-msg { margin: 4px 0 0; font-size: var(--fs-
|
|
23
|
+
.im-lock { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
24
|
+
.im-msg { margin: 4px 0 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
25
25
|
.im-msg:empty { display: none; }
|
|
26
26
|
@media (prefers-reduced-motion: no-preference) { .im-q { transition: background-color .2s ease; } }
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
/* ── the stage move in the card (InStage) ── */
|
|
5
5
|
.hi-slot { display: contents; }
|
|
6
6
|
.hi-mv { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }
|
|
7
|
-
.hi-why, .hi-note { margin: 0; font-size: var(--fs-
|
|
7
|
+
.hi-why, .hi-note { margin: 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
8
8
|
.hi-note b { color: var(--cz-ink2); }
|
|
9
|
-
.hi-swl { display: flex; align-items: center; gap: 8px; font-size: var(--fs-
|
|
9
|
+
.hi-swl { display: flex; align-items: center; gap: 8px; font-size: var(--fs-meta); color: var(--cz-ink2); line-height: var(--lh-meta); }
|
|
10
10
|
.hi-sw { position: relative; flex: none; width: 32px; height: 20px; border-radius: 999px; background: var(--cz-c-d9dce1); border: 0; padding: 0; cursor: pointer; }
|
|
11
11
|
.hi-sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--cz-card); transition: left .15s; }
|
|
12
12
|
.hi-sw[aria-checked="true"] { background: var(--cz-blue); }
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
.hi-self { align-self: flex-start; }
|
|
20
20
|
|
|
21
21
|
/* ── the list column groups (InTasks, InDocs) ── */
|
|
22
|
-
.hi-g .hm-gh .hi-n { margin-left: auto; font-weight:
|
|
22
|
+
.hi-g .hm-gh .hi-n { margin-left: auto; font-weight: var(--fw-strong); font-size: var(--fs-label); color: var(--cz-ink3); line-height: var(--lh-label); }
|
|
23
23
|
.hm-r.hi-r { min-height: 48px; margin-bottom: 2px; }
|
|
24
24
|
.hm-r.hi-r .hm-rm { min-height: 48px; padding: 7px 10px; }
|
|
25
|
-
.hm-r.hi-r .hm-rt b { font-weight:
|
|
25
|
+
.hm-r.hi-r .hm-rt b { font-weight: var(--fw-strong); }
|
|
26
26
|
.hm-r.hi-r > .hi-chk { margin-left: 12px; }
|
|
27
27
|
.hm-rt em.q { color: var(--cz-ink3); }
|
|
28
|
-
.hm-rt em.late { color: var(--cz-late); font-weight:
|
|
28
|
+
.hm-rt em.late { color: var(--cz-late); font-weight: var(--fw-strong); }
|
|
29
29
|
.hm-rt em.risk { color: var(--cz-risk); }
|
|
30
30
|
.hm-dot.hi-risk { background: var(--cz-dot-risk); }
|
|
31
31
|
.hm-tile.hi-sq { border-radius: 50%; background: var(--cz-well2); box-shadow: none; }
|
|
@@ -38,39 +38,39 @@
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
/* ── the Viewer: Tasks, Documents, Stage (InTasks, InDocs) ── */
|
|
41
|
-
.hi-v { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px 24px; font-size: var(--fs-
|
|
41
|
+
.hi-v { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px 24px; font-size: var(--fs-body); color: var(--cz-ink); line-height: var(--lh-body); }
|
|
42
42
|
.hi-seg { align-self: flex-start; }
|
|
43
43
|
.hi-vh2 { display: flex; align-items: center; gap: 8px; }
|
|
44
|
-
.hi-vh2 h2 { flex: 1; min-width: 0; margin: 0; font-size: var(--fs-
|
|
45
|
-
.cz-pick.hi-pick { height: 30px; font-size: var(--fs-
|
|
44
|
+
.hi-vh2 h2 { flex: 1; min-width: 0; margin: 0; font-size: var(--fs-panel); font-weight: var(--fw-strong); line-height: var(--lh-panel); }
|
|
45
|
+
.cz-pick.hi-pick { height: 30px; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink2); line-height: var(--lh-label); }
|
|
46
46
|
.cz-pick.hi-pick svg { fill: none; stroke: currentColor; }
|
|
47
|
-
.hi-empty { margin: 0; font-size: var(--fs-
|
|
47
|
+
.hi-empty { margin: 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
48
48
|
.hi-tg { display: flex; flex-direction: column; border-radius: 12px; }
|
|
49
49
|
.hi-tg.over { background: var(--cz-bluebg); }
|
|
50
50
|
.hi-gh { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
|
|
51
51
|
.hi-ghb { flex: 1; display: flex; align-items: center; gap: 6px; height: 32px; padding: 0; border: 0; background: none; color: var(--cz-ink); font: inherit; cursor: pointer; text-align: left; }
|
|
52
52
|
.hi-ghb svg { color: var(--cz-ink3); }
|
|
53
|
-
.hi-ghb b { font-size: var(--fs-
|
|
54
|
-
.hi-ghb span { font-size: var(--fs-
|
|
55
|
-
.hi-trow { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: 1px solid var(--cz-hair); font-size: var(--fs-
|
|
53
|
+
.hi-ghb b { font-size: var(--fs-body); line-height: var(--lh-body); }
|
|
54
|
+
.hi-ghb span { font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
55
|
+
.hi-trow { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: 1px solid var(--cz-hair); font-size: var(--fs-body); min-height: 26px; line-height: var(--lh-body); }
|
|
56
56
|
.hi-trow:last-child { border-bottom: 0; }
|
|
57
57
|
.hi-trow[draggable="true"] { cursor: grab; }
|
|
58
58
|
.hi-trow.drag { opacity: .5; }
|
|
59
59
|
.hi-tt { flex: 1; min-width: 0; border: 0; background: none; padding: 0; font: inherit; color: var(--cz-ink); text-align: left; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
60
|
-
.hi-tt em { font-style: normal; color: var(--cz-ink3); font-size: var(--fs-
|
|
60
|
+
.hi-tt em { font-style: normal; color: var(--cz-ink3); font-size: var(--fs-meta); line-height: var(--lh-meta); }
|
|
61
61
|
.hi-trow.done .hi-tt { text-decoration: line-through; color: var(--cz-ink3); }
|
|
62
|
-
.hi-pill { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; border-radius: 999px; font: inherit; font-size: var(--fs-
|
|
62
|
+
.hi-pill { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; border-radius: 999px; font: inherit; font-size: var(--fs-badge); font-weight: var(--fw-strong); background: var(--cz-well); color: var(--cz-ink2); white-space: nowrap; border: 0; flex: none; line-height: var(--lh-badge); }
|
|
63
63
|
button.hi-pill { cursor: pointer; }
|
|
64
64
|
.hi-pill.ok { background: var(--cz-okbg); color: var(--cz-ok); }
|
|
65
65
|
.hi-pill.w { background: var(--cz-riskbg); color: var(--cz-risk); }
|
|
66
66
|
.hi-pill.dash { background: transparent; box-shadow: inset 0 0 0 1px var(--cz-c-c5c9d0); color: var(--cz-ink3); }
|
|
67
|
-
.hi-av { width: 22px; height: 22px; border-radius: 50%; background: var(--cz-well2); color: var(--cz-ink2); font-size: var(--fs-
|
|
68
|
-
.hi-due { font-size: var(--fs-
|
|
69
|
-
.hi-due.late { color: var(--cz-late); font-weight:
|
|
67
|
+
.hi-av { width: 22px; height: 22px; border-radius: 50%; background: var(--cz-well2); color: var(--cz-ink2); font-size: var(--fs-badge); font-weight: var(--fw-strong); display: inline-grid; place-items: center; flex: none; line-height: var(--lh-badge); }
|
|
68
|
+
.hi-due { font-size: var(--fs-meta); color: var(--cz-ink3); min-width: 38px; text-align: right; flex: none; line-height: var(--lh-meta); }
|
|
69
|
+
.hi-due.late { color: var(--cz-late); font-weight: var(--fw-strong); }
|
|
70
70
|
.hi-trow .hi-ib { opacity: .35; }
|
|
71
71
|
.hi-trow:hover .hi-ib, .hi-trow .hi-ib:focus-visible, .hi-trow .hi-ib[aria-expanded="true"] { opacity: 1; }
|
|
72
72
|
.hi-add { display: flex; align-items: center; gap: 8px; height: 40px; border-radius: 14px; background: var(--cz-well); padding: 0 6px 0 12px; }
|
|
73
|
-
.hi-add input { flex: 1; min-width: 0; border: 0; background: none; outline: 0; font: inherit; font-size: var(--fs-
|
|
73
|
+
.hi-add input { flex: 1; min-width: 0; border: 0; background: none; outline: 0; font: inherit; font-size: var(--fs-body); color: var(--cz-ink); line-height: var(--lh-body); }
|
|
74
74
|
.hi-foot { display: flex; gap: 4px; flex-wrap: wrap; border-top: 1px solid var(--cz-hair); padding-top: 8px; }
|
|
75
75
|
.hi-drow { display: flex; align-items: flex-start; gap: 10px; padding: 8px; border-radius: 12px; }
|
|
76
76
|
.hi-drow.look { background: var(--cz-bluebg); }
|
|
@@ -79,12 +79,12 @@ button.hi-pill { cursor: pointer; }
|
|
|
79
79
|
.hi-dic { width: 30px; height: 30px; border-radius: 9px; background: var(--cz-well); display: inline-grid; place-items: center; flex: none; color: var(--cz-ink2); }
|
|
80
80
|
.hi-dic.dash { background: none; box-shadow: inset 0 0 0 1.5px var(--cz-c-d9dce1); color: var(--cz-ink3); }
|
|
81
81
|
.hi-dtx { min-width: 0; display: block; }
|
|
82
|
-
.hi-dtx b { font-weight:
|
|
83
|
-
.hi-dtx .hi-k { font-size: var(--fs-
|
|
84
|
-
.hi-dtx em { display: block; font-style: normal; font-size: var(--fs-
|
|
85
|
-
.hi-dtx small { display: block; font-size: var(--fs-
|
|
82
|
+
.hi-dtx b { font-weight: var(--fw-strong); }
|
|
83
|
+
.hi-dtx .hi-k { font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
84
|
+
.hi-dtx em { display: block; font-style: normal; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
85
|
+
.hi-dtx small { display: block; font-size: var(--fs-meta); color: var(--cz-ink3); overflow-wrap: anywhere; line-height: var(--lh-meta); }
|
|
86
86
|
.hi-drow.later { align-items: center; color: var(--cz-ink3); }
|
|
87
|
-
.hi-dt { flex: 1; font-size: var(--fs-
|
|
87
|
+
.hi-dt { flex: 1; font-size: var(--fs-body); line-height: var(--lh-body); }
|
|
88
88
|
.hi-drow > .hi-pill, .hi-drow > .hi-btn { margin-top: 4px; }
|
|
89
89
|
.hi-sec { display: flex; flex-direction: column; gap: 8px; }
|
|
90
90
|
.hi-stages { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
@@ -130,13 +130,13 @@ button.hi-pill { cursor: pointer; }
|
|
|
130
130
|
@media (max-width: 760px) { .hi-v.hi-page { padding-left: 0; padding-right: 0; } }
|
|
131
131
|
.hi-pg { display: flex; flex-direction: column; gap: 2px; }
|
|
132
132
|
.hi-pgh { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 4px; }
|
|
133
|
-
.hi-pgh b { font-size: var(--fs-
|
|
134
|
-
.hi-pgh .hi-n { font-size: var(--fs-
|
|
133
|
+
.hi-pgh b { font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); line-height: var(--lh-row); }
|
|
134
|
+
.hi-pgh .hi-n { font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); line-height: var(--lh-label); }
|
|
135
135
|
.hi-pgh .hm-gadd { margin-left: auto; }
|
|
136
|
-
.hi-pgm { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 8px; border: 0; border-radius: 10px; background: none; color: var(--cz-ink2); font: inherit; font-size: var(--fs-
|
|
136
|
+
.hi-pgm { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 8px; border: 0; border-radius: 10px; background: none; color: var(--cz-ink2); font: inherit; font-size: var(--fs-label); font-weight: var(--fw-strong); cursor: pointer; line-height: var(--lh-label); }
|
|
137
137
|
.hi-pge { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 6px; }
|
|
138
|
-
.hi-pge p { margin: 0; font-size: var(--fs-
|
|
139
|
-
.hi-talk { min-height: 44px; border: 0; border-radius: 22px; background: var(--cz-well); color: var(--cz-ink3); font: inherit; font-size: var(--fs-
|
|
138
|
+
.hi-pge p { margin: 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
139
|
+
.hi-talk { min-height: 44px; border: 0; border-radius: 22px; background: var(--cz-well); color: var(--cz-ink3); font: inherit; font-size: var(--fs-body); text-align: left; padding: 0 16px; cursor: pointer; line-height: var(--lh-body); }
|
|
140
140
|
@media (hover: hover) { .hi-pgm:hover { background: var(--cz-well2); } }
|
|
141
141
|
|
|
142
142
|
/* ── D99: the initiative's own workflow (WfTriage, WfAChange, WfAWontDo) ── */
|
|
@@ -150,22 +150,22 @@ button.hi-pill { cursor: pointer; }
|
|
|
150
150
|
.hm-card.hm-sc { padding: 0; background: transparent; box-shadow: none; }
|
|
151
151
|
.hm-box.hm-scb { background: var(--cz-card); border-radius: 18px; padding: 12px; gap: 0; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--cz-blue) 45%, transparent); }
|
|
152
152
|
.hm-sch { display: flex; align-items: center; gap: 8px; min-height: 28px; }
|
|
153
|
-
.hm-sch > b { font-size: var(--fs-
|
|
154
|
-
.hm-sch .of { font-size: var(--fs-
|
|
153
|
+
.hm-sch > b { font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); line-height: var(--lh-row); }
|
|
154
|
+
.hm-sch .of { font-size: var(--fs-label); color: var(--cz-ink3); font-weight: var(--fw-strong); line-height: var(--lh-label); }
|
|
155
155
|
.hm-sch .hm-wf { display: inline-flex; align-items: center; justify-content: center; padding: 3px; margin-left: 2px; border: 0; border-radius: 9px; background: none; cursor: pointer; color: inherit; }
|
|
156
156
|
.hm-sch .hm-wf:hover, .hm-sch .hm-wf[aria-expanded="true"] { background: var(--cz-well); }
|
|
157
|
-
.hm-sct { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-
|
|
157
|
+
.hm-sct { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-label); color: var(--cz-ink3); font-weight: var(--fw-strong); white-space: nowrap; line-height: var(--lh-label); }
|
|
158
158
|
.hm-sct.over { color: var(--cz-risk); }
|
|
159
159
|
.hm-bars.hm-scbars { margin: 10px 0 8px; }
|
|
160
160
|
.hm-bars.hm-scbars i { position: relative; } .hm-bars.hm-scbars i::after { content: ""; position: absolute; inset: -6px 0; } /* a taller hover target for the stage name */
|
|
161
161
|
.hm-bars.hm-scbars i.skip { background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--cz-ink3) 40%, transparent) 0 4px, transparent 4px 7px); }
|
|
162
162
|
.hm-scl { border-top: 1px solid var(--cz-hair); padding-top: 8px; margin-top: 2px; }
|
|
163
|
-
.hm-scwhy { margin: 0; padding: 4px 0 2px 34px; font-size: var(--fs-
|
|
164
|
-
.hm-scb > .hm-none { margin: 4px 0 0; font-size: var(--fs-
|
|
163
|
+
.hm-scwhy { margin: 0; padding: 4px 0 2px 34px; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
164
|
+
.hm-scb > .hm-none { margin: 4px 0 0; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: var(--lh-meta); }
|
|
165
165
|
/* the move sheet: Move now and Back as two quiet buttons, side by side on a desktop, stacked on the phone */
|
|
166
166
|
.hi-nxa { display: flex; gap: 8px; padding-top: 10px; border-top: 1px solid var(--cz-hair); }
|
|
167
167
|
.hi-nxa .hi-btn { flex: 1; justify-content: center; height: 40px; border-radius: 12px; }
|
|
168
|
-
.hi-pop .hi-swl { font-size: var(--fs-
|
|
168
|
+
.hi-pop .hi-swl { font-size: var(--fs-row); font-weight: var(--fw-strong); color: var(--cz-ink); min-height: 44px; line-height: var(--lh-row); }
|
|
169
169
|
.hi-pop .hi-swl > span { flex: 1; }
|
|
170
170
|
.hi-pop .hi-sw { width: 44px; height: 28px; }
|
|
171
171
|
.hi-pop .hi-sw::after { top: 4px; left: 4px; width: 20px; height: 20px; }
|
|
@@ -178,6 +178,6 @@ button.hi-pill { cursor: pointer; }
|
|
|
178
178
|
.hi-pop .hi-sw[aria-checked="true"]::before, .hi-v .hi-sw[aria-checked="true"]::before, :root[data-theme="dark"] .hi-pop .hi-sw[aria-checked="true"]::before, :root[data-theme="dark"] .hi-v .hi-sw[aria-checked="true"]::before { background: var(--cz-blue); }
|
|
179
179
|
.hi-pop .hi-sw::after, .hi-v .hi-sw::after { top: 12px; z-index: 1; background: var(--cz-onsolid); }
|
|
180
180
|
.hi-pop.sheet .hi-nxa { flex-direction: column; border-top: 0; padding-top: 0; }
|
|
181
|
-
.hi-pop.sheet .hi-nxa .hi-btn { height: 48px; border-radius: 14px; font-size: var(--fs-
|
|
182
|
-
.hi-pop.sheet .hi-h3 { font-size: var(--fs-
|
|
181
|
+
.hi-pop.sheet .hi-nxa .hi-btn { height: 48px; border-radius: 14px; font-size: var(--fs-row); font-weight: var(--fw-strong); line-height: var(--lh-row); }
|
|
182
|
+
.hi-pop.sheet .hi-h3 { font-size: var(--fs-body); line-height: var(--lh-body); }
|
|
183
183
|
}
|
|
@@ -7,19 +7,19 @@
|
|
|
7
7
|
.pl-row { display: flex; align-items: center; gap: 4px; min-height: 48px; padding: 2px 4px 2px 0; }
|
|
8
8
|
.pl-hit { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 6px 0 14px; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: 14px; }
|
|
9
9
|
.pl-hit:focus-visible, .pl-stop:focus-visible, .pl-ib:focus-visible, .pl-dvb:focus-visible { outline: 2px solid var(--cz-blue); outline-offset: 2px; }
|
|
10
|
-
.pl-t { flex: 1; min-width: 0; font-size: var(--fs-
|
|
10
|
+
.pl-t { flex: 1; min-width: 0; font-size: var(--fs-row); font-weight: var(--fw-strong); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: var(--lh-row); }
|
|
11
11
|
.hm-pl.open .pl-t { white-space: normal; }
|
|
12
12
|
.hm-pl.you .pl-t, .hm-goalq .pl-t { color: var(--cz-blueink); }
|
|
13
|
-
.pl-n { flex: none; font-size: var(--fs-
|
|
13
|
+
.pl-n { flex: none; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink3); line-height: var(--lh-label); }
|
|
14
14
|
.pl-cv { flex: none; display: inline-flex; color: var(--cz-ink3); }
|
|
15
15
|
.pl-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--cz-blue); }
|
|
16
16
|
.pl-clk { display: inline-flex; color: var(--cz-ink3); }
|
|
17
17
|
.pl-stop { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--cz-hair); background: var(--cz-card); color: var(--cz-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
|
|
18
18
|
.pl-body { padding: 0 14px 12px; }
|
|
19
|
-
.pl-head { margin: 0 0 10px; font-size: var(--fs-
|
|
19
|
+
.pl-head { margin: 0 0 10px; font-size: var(--fs-meta); color: var(--cz-ink3); line-height: 1.4; }
|
|
20
20
|
.pl-sl { margin-top: 2px; }
|
|
21
|
-
.pl-now { display: flex; align-items: center; gap: 8px; margin: 4px 0 0; padding-top: 10px; border-top: 1px solid var(--cz-hair); font-size: var(--fs-
|
|
22
|
-
.pl-now b { flex: none; font-weight:
|
|
21
|
+
.pl-now { display: flex; align-items: center; gap: 8px; margin: 4px 0 0; padding-top: 10px; border-top: 1px solid var(--cz-hair); font-size: var(--fs-meta); min-width: 0; line-height: var(--lh-meta); }
|
|
22
|
+
.pl-now b { flex: none; font-weight: var(--fw-strong); }
|
|
23
23
|
.pl-nt { min-width: 0; color: var(--cz-ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
24
24
|
.hm-pl.open .pl-nt { white-space: normal; }
|
|
25
25
|
.pl-acts { display: flex; gap: 8px; margin-top: 10px; }
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
/* the Viewer (a desktop) */
|
|
30
30
|
.pl-vw { padding: 16px 20px; }
|
|
31
31
|
.pl-vwh { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 6px; }
|
|
32
|
-
.pl-vwh b { flex: 1; min-width: 0; font-size: var(--fs-
|
|
32
|
+
.pl-vwh b { flex: 1; min-width: 0; font-size: var(--fs-row); font-weight: var(--fw-strong); line-height: 1.3; }
|
|
33
33
|
|
|
34
34
|
/* the divider where a run finished */
|
|
35
|
-
.pl-dv { display: flex; align-items: center; gap: 10px; margin: 4px 0; font-size: var(--fs-
|
|
35
|
+
.pl-dv { display: flex; align-items: center; gap: 10px; margin: 4px 0; font-size: var(--fs-label); font-weight: var(--fw-strong); color: var(--cz-ink2); line-height: var(--lh-label); }
|
|
36
36
|
.pl-dv .ln { flex: 1; height: 1px; background: var(--cz-hair); }
|
|
37
37
|
.pl-dv.stop { color: var(--cz-risk); }
|
|
38
38
|
.pl-dvb { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 8px; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; border-radius: 10px; }
|
|
@@ -2,24 +2,24 @@
|
|
|
2
2
|
* leaf outside Adler's sprout. Colours are the --cz-* tokens of cozy.css, type is the var(--fs-N) scale. */
|
|
3
3
|
.im { display: flex; flex-direction: column; gap: 14px; font-family: var(--cz-sans); color: var(--cz-ink); }
|
|
4
4
|
.im-hd { display: flex; flex-direction: column; gap: 4px; }
|
|
5
|
-
.im-hd b { font-size: var(--fs-
|
|
6
|
-
.im-hd span { font-size: var(--fs-
|
|
5
|
+
.im-hd b { font-size: var(--fs-display); font-weight: var(--fw-strong); letter-spacing: -.01em; line-height: var(--lh-display); }
|
|
6
|
+
.im-hd span { font-size: var(--fs-body); color: var(--cz-ink2); line-height: var(--lh-body); }
|
|
7
7
|
.im-card { background: var(--cz-card); border: 1px solid var(--cz-hair); border-radius: 18px; padding: 4px 16px; }
|
|
8
8
|
.im-row { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 0; border-top: 1px solid var(--cz-hair); }
|
|
9
9
|
.im-row:first-child { border-top: 0; }
|
|
10
10
|
.im-tile { width: 36px; height: 36px; border-radius: 10px; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--cz-well); color: var(--cz-ink2); }
|
|
11
11
|
.im-tile.b { background: var(--cz-bluebg); color: var(--cz-blue); }
|
|
12
12
|
.im-tile.g { background: var(--cz-okbg); color: var(--cz-ok); }
|
|
13
|
-
.im-av { width: 36px; height: 36px; border-radius: 18px; flex: none; display: inline-flex; align-items: center; justify-content: center; font-weight:
|
|
13
|
+
.im-av { width: 36px; height: 36px; border-radius: 18px; flex: none; display: inline-flex; align-items: center; justify-content: center; font-weight: var(--fw-strong); font-size: var(--fs-row); background: var(--cz-well); color: var(--cz-ink); line-height: var(--lh-row); }
|
|
14
14
|
.im-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
|
|
15
|
-
.im-t { font-size: var(--fs-
|
|
16
|
-
b.im-t { font-weight:
|
|
17
|
-
.im-s { font-size: var(--fs-
|
|
15
|
+
.im-t { font-size: var(--fs-body); font-weight: var(--fw-regular); line-height: var(--lh-body); }
|
|
16
|
+
b.im-t { font-weight: var(--fw-strong); }
|
|
17
|
+
.im-s { font-size: var(--fs-body); color: var(--cz-ink2); line-height: var(--lh-body); }
|
|
18
18
|
.im-ib { width: 44px; height: 44px; border-radius: 22px; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--cz-well); color: var(--cz-ink2); text-decoration: none; }
|
|
19
|
-
.im-lock { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--fs-
|
|
19
|
+
.im-lock { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--fs-body); color: var(--cz-ink2); line-height: var(--lh-body); }
|
|
20
20
|
.im-wk { display: flex; flex-direction: column; gap: 8px; }
|
|
21
21
|
.im-wk.quiet { flex-direction: row; align-items: baseline; gap: 10px; padding: 4px 0; }
|
|
22
|
-
.im-wl { font-size: var(--fs-
|
|
22
|
+
.im-wl { font-size: var(--fs-label); font-weight: var(--fw-strong); letter-spacing: .02em; color: var(--cz-ink2); flex: none; line-height: var(--lh-label); }
|
|
23
23
|
.im-row .im-wl { width: 64px; }
|
|
24
24
|
.im-wk summary { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; list-style: none; border-radius: 12px; }
|
|
25
25
|
.im-wk summary::-webkit-details-marker { display: none; }
|
|
@@ -31,7 +31,7 @@ b.im-t { font-weight: 700; }
|
|
|
31
31
|
.im-made { margin-top: 18px; }
|
|
32
32
|
.im-win { margin-bottom: 12px; border-radius: 18px; overflow: hidden; }
|
|
33
33
|
.im-ch { margin: 12px 0; }
|
|
34
|
-
.im-mt { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: var(--fs-
|
|
34
|
+
.im-mt { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: var(--fs-body); color: var(--cz-ink2); line-height: var(--lh-body); }
|
|
35
35
|
.im-face { width: 40px; height: 44px; border: 0; padding: 0; margin: 0 -4px 0 0; background: none; border-radius: 22px; flex: none; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
|
|
36
36
|
.im-face .ad-svg.hv-ad { width: 36px; height: 36px; }
|
|
37
37
|
@media (hover: hover) { .im-ib:hover, .im-face:hover, .im-wk summary:hover { background: var(--cz-well2); } }
|