eklavya 1.9.1 → 1.9.3

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.
@@ -4,95 +4,126 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>Eklavya — learning progress</title>
7
- <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='5' fill='%23049D66'/%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M7 5a11 11 0 0 1 0 14'/%3E%3Cpath d='M6 12h12'/%3E%3Cpath d='M14 9l3 3-3 3'/%3E%3C/g%3E%3C/svg%3E">
7
+ <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' fill='%230E6E66'/%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M7 5a11 11 0 0 1 0 14'/%3E%3Cpath d='M6 12h12'/%3E%3Cpath d='M14 9l3 3-3 3'/%3E%3C/g%3E%3C/svg%3E">
8
+ <script>
9
+ /* Ground selection, shared with the site: same localStorage key, same default.
10
+ Runs before the stylesheet so the page never paints one ground then swaps.
11
+ Ink is the default and an absent choice stays ink — deliberately not the
12
+ reader's OS setting, because this is a terminal tool. */
13
+ (function () {
14
+ window.eklavyaGround = {
15
+ read: function () {
16
+ try { return localStorage.getItem('eklavya-ground') === 'paper' ? 'paper' : 'ink'; }
17
+ catch (e) { return 'ink'; }
18
+ },
19
+ apply: function (mode) {
20
+ document.documentElement.setAttribute('data-mode', mode);
21
+ document.querySelectorAll('[data-ground]').forEach(function (b) {
22
+ b.setAttribute('aria-pressed', String(b.dataset.ground === mode));
23
+ });
24
+ return mode;
25
+ },
26
+ set: function (mode) {
27
+ try { localStorage.setItem('eklavya-ground', mode); } catch (e) {}
28
+ this.apply(mode);
29
+ }
30
+ };
31
+ window.eklavyaGround.apply(window.eklavyaGround.read());
32
+ })();
33
+ </script>
8
34
  <link rel="stylesheet" href="/tokens.css">
9
35
  <link rel="preconnect" href="https://fonts.googleapis.com">
10
36
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11
- <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
37
+ <link href="https://fonts.googleapis.com/css2?family=Archivo:wght@600;800;900&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
12
38
  <style>
13
39
  *, *::before, *::after { box-sizing: border-box; }
14
- body { margin:0; font-family:var(--font-sans); background:var(--bg-subtle); color:var(--fg);
15
- font-size:var(--text-base); line-height:var(--lh-base); }
40
+ body { margin:0; font-family:var(--font-body); background:var(--bg); color:var(--ink);
41
+ font-size:14.5px; line-height:1.65;
42
+ background-image:
43
+ linear-gradient(var(--grid) 1px, transparent 1px),
44
+ linear-gradient(90deg, var(--grid) 1px, transparent 1px);
45
+ background-size:72px 72px; }
46
+ ::selection { background:var(--spot); color:var(--spot-ink); }
16
47
  .wrap { max-width:1140px; margin:0 auto; padding:0 var(--space-8); }
17
48
  code, .mono { font-family:var(--font-mono); font-size:var(--text-sm); }
18
49
 
19
50
  /* ---------- header ---------- */
20
- header { background:var(--neutral-900); color:var(--on-dark); padding:var(--space-8) 0 var(--space-10); }
51
+ header { border-bottom:1px solid var(--line-2); padding:var(--space-8) 0 var(--space-10); }
21
52
  .bar { display:flex; align-items:center; gap:var(--space-4); flex-wrap:wrap; }
22
- .mark { width:36px; height:36px; border-radius:var(--radius-md); background:var(--brand);
53
+ .mark { width:34px; height:34px; background:var(--spot); color:var(--spot-ink);
23
54
  display:grid; place-items:center; flex:none; }
24
- h1 { font-size:var(--text-xl); font-weight:var(--weight-bold); letter-spacing:-.02em; margin:0; }
25
- .sub { color:var(--on-dark-muted); font-size:var(--text-sm); margin:2px 0 0; }
55
+ h1 { font-family:var(--font-disp); font-size:26px; font-weight:var(--weight-extra);
56
+ letter-spacing:var(--tracking-tight); margin:0; }
57
+ .sub { color:var(--dim); font-size:var(--text-sm); margin:2px 0 0; }
26
58
  .spacer { flex:1 1 auto; }
27
- select { font:inherit; font-size:var(--text-sm); background:var(--neutral-800); color:var(--on-dark);
28
- border:1px solid var(--neutral-700); border-radius:var(--radius-md);
59
+ select { font:inherit; font-size:var(--text-sm); background:var(--panel); color:var(--ink);
60
+ border:1px solid var(--line-2); border-radius:0;
29
61
  padding:var(--space-2) var(--space-3); }
30
62
  select:focus-visible { outline:none; box-shadow:var(--ring); }
31
63
 
32
64
  /* ---------- stat tiles ---------- */
33
65
  .tiles { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-4); margin-top:var(--space-6); }
34
- .tile { background:var(--neutral-800); border:1px solid var(--neutral-700); border-radius:var(--radius-lg);
66
+ .tile { background:var(--panel); border:1px solid var(--line-2); border-radius:0;
35
67
  padding:var(--space-5); }
36
68
  .tile .k { font-size:var(--text-xs); font-weight:var(--weight-bold); letter-spacing:.08em;
37
- text-transform:uppercase; color:var(--on-dark-muted); }
69
+ text-transform:uppercase; color:var(--dim); }
38
70
  .tile .v { font-size:var(--text-3xl); font-weight:var(--weight-extra,800); letter-spacing:-.025em;
39
71
  line-height:1.1; margin-top:var(--space-2); }
40
- .tile .n { font-size:var(--text-sm); color:var(--on-dark-muted); margin-top:var(--space-1); }
41
- .good { color:var(--green-300); }
72
+ .tile .n { font-size:var(--text-sm); color:var(--dim); margin-top:var(--space-1); }
73
+ .good { color:var(--spot); }
42
74
 
43
75
  /* ---------- cards ---------- */
44
76
  main { padding:var(--space-10) 0 var(--space-20); }
45
- section { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
77
+ section { background:var(--panel); border:1px solid var(--line); border-radius:0;
46
78
  padding:var(--space-6); margin-bottom:var(--space-6); }
47
79
  h2 { font-size:var(--text-md); font-weight:var(--weight-bold); letter-spacing:-.01em; margin:0; }
48
- .hint { color:var(--fg-subtle); font-size:var(--text-sm); margin:var(--space-1) 0 var(--space-5); }
80
+ .hint { color:var(--faint); font-size:var(--text-sm); margin:var(--space-1) 0 var(--space-5); }
49
81
  .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); }
50
82
  .grid2 > section { margin:0; }
51
83
 
52
84
  /* ---------- tables ---------- */
53
85
  table { width:100%; border-collapse:collapse; font-size:var(--text-sm); }
54
86
  th { text-align:left; font-size:var(--text-xs); font-weight:var(--weight-bold); letter-spacing:.08em;
55
- text-transform:uppercase; color:var(--fg-subtle); padding:0 var(--space-3) var(--space-2) 0;
56
- border-bottom:1px solid var(--border); white-space:nowrap; }
57
- td { padding:var(--space-3) var(--space-3) var(--space-3) 0; border-bottom:1px solid var(--border);
87
+ text-transform:uppercase; color:var(--faint); padding:0 var(--space-3) var(--space-2) 0;
88
+ border-bottom:1px solid var(--line); white-space:nowrap; }
89
+ td { padding:var(--space-3) var(--space-3) var(--space-3) 0; border-bottom:1px solid var(--line);
58
90
  vertical-align:top; }
59
91
  tr:last-child td { border-bottom:none; }
60
92
  .num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
61
93
  .scroll { overflow-x:auto; }
62
94
 
63
95
  /* ---------- meters (sequential, one hue) ---------- */
64
- .meter { height:8px; border-radius:var(--radius-pill); background:var(--bg-sunken); overflow:hidden;
96
+ .meter { height:8px; border-radius:var(--radius-pill); background:var(--mass); overflow:hidden;
65
97
  min-width:80px; }
66
- .meter > i { display:block; height:100%; background:var(--brand); border-radius:var(--radius-pill); }
98
+ .meter > i { display:block; height:100%; background:var(--spot); border-radius:var(--radius-pill); }
67
99
  .meter.warn > i { background:var(--warning); }
68
100
 
69
101
  /* ---------- chart ---------- */
70
- .legend { display:flex; gap:var(--space-5); font-size:var(--text-sm); color:var(--fg-muted);
102
+ .legend { display:flex; gap:var(--space-5); font-size:var(--text-sm); color:var(--dim);
71
103
  margin-bottom:var(--space-4); flex-wrap:wrap; }
72
104
  .legend b { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:var(--space-2); }
73
105
  .chart { position:relative; }
74
106
  .chart svg { display:block; width:100%; height:200px; overflow:visible; }
75
- .gridline { stroke:var(--border); stroke-width:1; }
76
- .axis { font-family:var(--font-mono); font-size:10px; fill:var(--fg-faint); }
107
+ .gridline { stroke:var(--line); stroke-width:1; }
108
+ .axis { font-family:var(--font-mono); font-size:10px; fill:var(--faint-2); }
77
109
  .hit { fill:transparent; cursor:pointer; }
78
110
  .hit:hover + .col, .hit:focus-visible + .col { opacity:.75; }
79
111
  .tip { position:absolute; pointer-events:none; opacity:0; transform:translate(-50%,-100%);
80
- background:var(--neutral-900); color:var(--on-dark); border-radius:var(--radius-md);
81
- padding:var(--space-3); font-size:var(--text-xs); line-height:1.6; white-space:nowrap;
82
- box-shadow:var(--shadow-md); transition:opacity var(--duration-fast) var(--ease); z-index:2; }
112
+ background:var(--panel); color:var(--ink); border-radius:0;
113
+ padding:var(--space-3); font-size:var(--text-xs); line-height:1.6; white-space:nowrap; transition:opacity var(--duration-fast) var(--ease); z-index:2; }
83
114
  .tip.on { opacity:1; }
84
115
  .tip .r { display:flex; justify-content:space-between; gap:var(--space-4); }
85
116
 
86
117
  /* ---------- pills & misc ---------- */
87
118
  .pill { display:inline-block; font-family:var(--font-mono); font-size:var(--text-xs);
88
- padding:2px 8px; border-radius:var(--radius-pill); background:var(--bg-sunken);
89
- color:var(--fg-muted); white-space:nowrap; }
90
- .pill.due { background:var(--warning-bg); color:#8a5600; }
91
- .pill.ok { background:var(--brand-subtle); color:var(--green-700); }
92
- .ctx { color:var(--fg); }
93
- .slug { font-family:var(--font-mono); font-size:var(--text-xs); color:var(--fg-subtle); }
94
- .empty { color:var(--fg-subtle); font-size:var(--text-sm); }
95
- footer { color:var(--fg-subtle); font-size:var(--text-sm); text-align:center; padding-bottom:var(--space-10); }
119
+ padding:2px 8px; border-radius:var(--radius-pill); background:var(--mass);
120
+ color:var(--dim); white-space:nowrap; }
121
+ .pill.due { background:var(--mass); color:var(--warning); }
122
+ .pill.ok { background:var(--spot-soft); color:var(--spot); }
123
+ .ctx { color:var(--ink); }
124
+ .slug { font-family:var(--font-mono); font-size:var(--text-xs); color:var(--faint); }
125
+ .empty { color:var(--faint); font-size:var(--text-sm); }
126
+ footer { color:var(--faint); font-size:var(--text-sm); text-align:center; padding-bottom:var(--space-10); }
96
127
 
97
128
  @media (max-width:900px) {
98
129
  .tiles { grid-template-columns:repeat(2,1fr); }
@@ -104,6 +135,17 @@
104
135
  .tile .v { font-size:var(--text-2xl); }
105
136
  }
106
137
  @media (prefers-reduced-motion:reduce) { * { transition:none !important; animation:none !important; } }
138
+
139
+ /* ---------- the ground toggle ---------- */
140
+ .ground { display:flex; border:1px solid var(--line-2); flex:none; }
141
+ .ground button {
142
+ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em;
143
+ text-transform:uppercase; background:none; border:0; color:var(--faint);
144
+ padding:6px 11px; cursor:pointer; line-height:1.4;
145
+ transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);
146
+ }
147
+ .ground button:hover { color:var(--ink); }
148
+ .ground button[aria-pressed="true"] { background:var(--ink); color:var(--bg); }
107
149
  </style>
108
150
  </head>
109
151
  <body>
@@ -111,7 +153,7 @@
111
153
  <div class="wrap">
112
154
  <div class="bar">
113
155
  <div class="mark" aria-hidden="true">
114
- <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.8"
156
+ <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"
115
157
  stroke-linecap="round" stroke-linejoin="round">
116
158
  <path d="M5 3a13 13 0 0 1 0 18"/><path d="M5 3l14 9L5 21"/><path d="M3 12h18"/><path d="M15 8l4 4-4 4"/>
117
159
  </svg>
@@ -121,6 +163,10 @@
121
163
  <p class="sub" id="sub">Loading…</p>
122
164
  </div>
123
165
  <div class="spacer"></div>
166
+ <div class="ground" role="group" aria-label="Colour ground">
167
+ <button type="button" data-ground="ink" aria-pressed="true">ink</button>
168
+ <button type="button" data-ground="paper" aria-pressed="false">paper</button>
169
+ </div>
124
170
  <label class="sub" for="proj">Project</label>
125
171
  <select id="proj"><option value="*">All projects</option></select>
126
172
  </div>
@@ -133,9 +179,9 @@
133
179
  <h2>Answers over the last 30 days</h2>
134
180
  <p class="hint" id="chart-hint">Right, missed and skipped, per day.</p>
135
181
  <div class="legend">
136
- <span><b style="background:var(--green-600)"></b>Right</span>
182
+ <span><b style="background:var(--spot)"></b>Right</span>
137
183
  <span><b style="background:var(--warning)"></b>Missed</span>
138
- <span><b style="background:var(--neutral-400)"></b>Skipped</span>
184
+ <span><b style="background:var(--faint)"></b>Skipped</span>
139
185
  </div>
140
186
  <div class="chart"><div class="tip" id="tip"></div><svg id="chart" role="img"
141
187
  aria-label="Daily answers, split into right, missed and skipped"></svg></div>
@@ -262,11 +308,11 @@ function renderChart() {
262
308
  }
263
309
  // Stack order is fixed: right at the base, then missed, then skipped on top.
264
310
  // Segment colour never depends on rank, only on which measure it is.
265
- const SEGMENTS = [['passed', 'var(--green-600)'], ['missed', 'var(--warning)'], ['skipped', 'var(--neutral-400)']];
311
+ const SEGMENTS = [['passed', 'var(--spot)'], ['missed', 'var(--warning)'], ['skipped', 'var(--faint)']];
266
312
  const labelEvery = Math.max(1, Math.ceil(46 / step));
267
313
  days.forEach((d, i) => {
268
314
  const x = PAD_L + i * step + (step - bw) / 2;
269
- let acc = 0, seg = '', topColor = 'var(--green-600)';
315
+ let acc = 0, seg = '', topColor = 'var(--spot)';
270
316
  for (const [key, color] of SEGMENTS) {
271
317
  if (!d[key]) continue;
272
318
  const h = (d[key] / max) * (H - PAD_B - 8);
@@ -403,5 +449,10 @@ fetch('/api/state').then((r) => r.json()).then((s) => {
403
449
  addEventListener('resize', renderChart);
404
450
  }).catch((e) => { $('sub').textContent = 'Could not read the database: ' + e.message; });
405
451
  </script>
452
+ <script>
453
+ document.querySelectorAll('[data-ground]').forEach(function (b) {
454
+ b.addEventListener('click', function () { window.eklavyaGround.set(b.dataset.ground); });
455
+ });
456
+ </script>
406
457
  </body>
407
458
  </html>
@@ -1,74 +1,58 @@
1
1
  /* ============================================================
2
- NonStop Design System — Colors & Type
3
- Brand: NonStop io · Primary: Emerald #049D66
4
- Fonts: Manrope (UI/display), JetBrains Mono (code)
5
- Loaded from Google Fonts CDN. See README "Visual Foundations".
2
+ Eklavya design tokens.
3
+
4
+ Two layers, and the order matters:
5
+
6
+ 1. A SCALE — accent ramp, type, spacing, radii, motion. Fixed
7
+ values that mean the same thing on every ground.
8
+ 2. GROUNDS — `ink` (default) and `paper`, each redefining the
9
+ same set of ROLE tokens. Components must only ever name a
10
+ role (--ink, --dim, --line, --spot). Naming a scale step or
11
+ a raw hex in a component is a bug: it pins that component to
12
+ one ground and the theme toggle stops working for it.
13
+
14
+ The ground is set as data-mode on <html> by a blocking inline
15
+ script in each page's <head>, before this file loads. Custom
16
+ properties inherit, so flipping that one attribute re-resolves
17
+ every role for the whole tree.
18
+
19
+ Ink is the default and `auto` resolves to ink. That is a
20
+ presentation decision, deliberately not the reader's OS setting:
21
+ Eklavya is a terminal plugin and the dark ground is the product.
6
22
  ============================================================ */
7
23
 
8
- @import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');
24
+ @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;800;900&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap');
9
25
 
10
26
  :root {
11
- /* ---------- BRAND GREEN SCALE ---------- */
12
- --green-50: #E6F6EF;
13
- --green-100: #C3EAD8;
14
- --green-200: #8FD8B6;
15
- --green-300: #57C492;
16
- --green-400: #1FAF74;
17
- --green-500: #049D66; /* PRIMARY */
18
- --green-600: #03875A;
19
- --green-700: #036D49;
20
- --green-800: #024E36;
21
- --green-900: #013827;
22
-
23
- /* ---------- NEUTRALS (cool slate) ---------- */
24
- --neutral-0: #FFFFFF;
25
- --neutral-50: #F7F9FA;
26
- --neutral-100: #EEF1F3;
27
- --neutral-200: #E0E5E9;
28
- --neutral-300: #CAD2D8;
29
- --neutral-400: #9AA6AF;
30
- --neutral-500: #6B7780;
31
- --neutral-600: #4D575F;
32
- --neutral-700: #363F45;
33
- --neutral-800: #21282D;
34
- --neutral-900: #121619; /* near-black */
35
-
36
- /* ---------- SEMANTIC / FUNCTIONAL (use sparingly) ---------- */
37
- --success: #049D66; --success-bg: #E6F6EF;
38
- --warning: #E8920C; --warning-bg: #FCF1DD;
39
- --error: #E5484D; --error-bg: #FCE9EA;
40
- --info: #2A7DE1; --info-bg: #E6F0FC;
41
-
42
- /* ---------- SEMANTIC ROLES ---------- */
43
- --brand: var(--green-500);
44
- --brand-hover: var(--green-600);
45
- --brand-active: var(--green-700);
46
- --brand-subtle: var(--green-50);
47
- --on-brand: var(--neutral-0);
48
-
49
- --bg: var(--neutral-0); /* page background */
50
- --bg-subtle: var(--neutral-50); /* app shell / sections */
51
- --bg-sunken: var(--neutral-100); /* wells, code blocks */
52
- --surface: var(--neutral-0); /* cards */
53
- --surface-hover: var(--neutral-50);
54
-
55
- --fg: var(--neutral-900); /* primary text */
56
- --fg-muted: var(--neutral-600); /* secondary text */
57
- --fg-subtle: var(--neutral-500); /* tertiary / captions */
58
- --fg-faint: var(--neutral-400); /* disabled / placeholder */
59
- --on-dark: var(--neutral-0);
60
- --on-dark-muted: rgba(255,255,255,.68);
61
-
62
- --border: var(--neutral-200); /* default hairline */
63
- --border-strong: var(--neutral-300);
64
- --border-focus: var(--green-500);
65
- --ring: 0 0 0 3px rgba(4,157,102,.28); /* focus ring */
66
-
67
- /* ---------- TYPE FAMILIES ---------- */
68
- --font-sans: 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
69
- --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
70
-
71
- /* ---------- TYPE SCALE (1.20 minor third) ---------- */
27
+ /* ---------- ACCENT: verdigris ----------
28
+ Aged bronze on a bow fitting. One hue, spent sparingly. The
29
+ ground blocks below pick which step is --spot; these steps are
30
+ for the rare tint or border that needs a specific value. */
31
+ --vd-50: #E6F7F3;
32
+ --vd-100: #C4EDE4;
33
+ --vd-200: #9BE0D2;
34
+ --vd-300: #79D5C4; /* accent on ink — 10.33:1 */
35
+ --vd-400: #3FB8A3;
36
+ --vd-500: #199688;
37
+ --vd-600: #0E6E66; /* accent on paper — 5.22:1 */
38
+ --vd-700: #0A5751;
39
+ --vd-800: #07403C;
40
+ --vd-900: #052E2B;
41
+
42
+ /* ---------- SEMANTIC (real errors and warnings only) ----------
43
+ Kept off the accent hue so state never reads as branding. */
44
+ --warning: #E8920C;
45
+ --error: #E5484D;
46
+ --info: #4A9EFF;
47
+
48
+ /* ---------- TYPE FAMILIES ----------
49
+ Two extremes, no middle: enormous tight display, tiny wide-
50
+ tracked uppercase mono. Body text stays small and quiet. */
51
+ --font-disp: 'Archivo', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
52
+ --font-body: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Helvetica, sans-serif;
53
+ --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
54
+
55
+ /* ---------- TYPE SCALE ---------- */
72
56
  --text-xs: 12px; --lh-xs: 16px;
73
57
  --text-sm: 14px; --lh-sm: 20px;
74
58
  --text-base: 16px; --lh-base: 24px;
@@ -80,39 +64,50 @@
80
64
  --text-4xl: 48px; --lh-4xl: 56px;
81
65
  --text-5xl: 60px; --lh-5xl: 66px;
82
66
 
67
+ /* Display sizes are fluid — they set the page's confidence, and a
68
+ fixed 40px hero reads timid on a wide screen. */
69
+ --display-hero: clamp(38px, 6.4vw, 120px);
70
+ --display-1: clamp(34px, 4.6vw, 68px);
71
+ --display-2: clamp(28px, 3.2vw, 44px);
72
+
83
73
  --weight-regular: 400;
84
74
  --weight-medium: 500;
85
75
  --weight-semibold:600;
86
- --weight-bold: 700;
87
- --weight-extra: 800;
76
+ --weight-bold: 800;
77
+ --weight-extra: 900;
78
+
79
+ /* Display tracking is aggressively negative — this, plus the
80
+ sub-1 leading, is most of what reads as "designed". */
81
+ --tracking-display: -0.055em;
82
+ --tracking-tight: -0.045em;
83
+ --tracking-snug: -0.02em;
84
+ --tracking-normal: 0;
85
+ --tracking-caps: 0.16em;
86
+ --tracking-caps-wide: 0.24em;
88
87
 
89
- --tracking-tight: -0.02em;
90
- --tracking-snug: -0.01em;
91
- --tracking-normal: 0;
92
- --tracking-wide: 0.02em;
93
- --tracking-caps: 0.08em;
88
+ --leading-display: 0.9;
94
89
 
95
90
  /* ---------- SPACING (4px base) ---------- */
96
91
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
97
92
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
98
93
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px;
99
94
 
100
- /* ---------- RADII ---------- */
101
- --radius-xs: 4px;
102
- --radius-sm: 6px;
103
- --radius-md: 8px; /* default control radius */
104
- --radius-lg: 12px; /* cards */
105
- --radius-xl: 16px; /* large surfaces */
106
- --radius-2xl: 24px;
107
- --radius-pill: 999px;
95
+ --gut: 34px; /* frame gutter */
96
+ --max: 1440px; /* frame width */
108
97
 
109
- /* ---------- SHADOWS (soft, cool-tinted) ---------- */
110
- --shadow-xs: 0 1px 2px rgba(18,22,25,.06);
111
- --shadow-sm: 0 1px 3px rgba(18,22,25,.08), 0 1px 2px rgba(18,22,25,.04);
112
- --shadow-md: 0 4px 12px rgba(18,22,25,.08), 0 2px 4px rgba(18,22,25,.04);
113
- --shadow-lg: 0 12px 28px rgba(18,22,25,.12), 0 4px 8px rgba(18,22,25,.05);
114
- --shadow-brand: 0 6px 18px rgba(4,157,102,.28);
98
+ /* ---------- RADII ----------
99
+ The chrome is square: hairline rules, not rounded cards. The
100
+ showpieces keep their own geometry see --radius-term. */
101
+ --radius-none: 0;
102
+ --radius-sm: 2px;
103
+ --radius-md: 4px;
104
+ --radius-lg: 6px;
105
+ --radius-pill: 999px;
106
+ --radius-term: 16px; /* the hero terminal and the arrow scene only */
115
107
 
108
+ /* ---------- MOTION ----------
109
+ Consumed by the arrow flight and the terminal loop. Do not
110
+ retime these without re-checking both. */
116
111
  --duration-fast: 120ms;
117
112
  --duration-base: 200ms;
118
113
  --duration-slow: 320ms;
@@ -120,16 +115,78 @@
120
115
  }
121
116
 
122
117
  /* ============================================================
123
- SEMANTIC ELEMENT STYLES — apply via classes or element tags
118
+ GROUNDS
119
+ Every role below exists in both blocks. A role defined in only
120
+ one of them renders one ground's text on the other's surface.
124
121
  ============================================================ */
125
- .ns-h1 { font-family:var(--font-sans); font-weight:var(--weight-extra); font-size:var(--text-4xl); line-height:var(--lh-4xl); letter-spacing:var(--tracking-tight); color:var(--fg); }
126
- .ns-h2 { font-family:var(--font-sans); font-weight:var(--weight-bold); font-size:var(--text-3xl); line-height:var(--lh-3xl); letter-spacing:var(--tracking-tight); color:var(--fg); }
127
- .ns-h3 { font-family:var(--font-sans); font-weight:var(--weight-bold); font-size:var(--text-2xl); line-height:var(--lh-2xl); letter-spacing:var(--tracking-snug); color:var(--fg); }
128
- .ns-h4 { font-family:var(--font-sans); font-weight:var(--weight-semibold); font-size:var(--text-xl); line-height:var(--lh-xl); letter-spacing:var(--tracking-snug); color:var(--fg); }
129
- .ns-h5 { font-family:var(--font-sans); font-weight:var(--weight-semibold); font-size:var(--text-md); line-height:var(--lh-md); color:var(--fg); }
130
- .ns-lead { font-family:var(--font-sans); font-weight:var(--weight-regular); font-size:var(--text-lg); line-height:var(--lh-lg); color:var(--fg-muted); }
131
- .ns-body { font-family:var(--font-sans); font-weight:var(--weight-regular); font-size:var(--text-base); line-height:var(--lh-base); color:var(--fg); }
132
- .ns-small { font-family:var(--font-sans); font-weight:var(--weight-regular); font-size:var(--text-sm); line-height:var(--lh-sm); color:var(--fg-muted); }
133
- .ns-caption { font-family:var(--font-sans); font-weight:var(--weight-medium); font-size:var(--text-xs); line-height:var(--lh-xs); color:var(--fg-subtle); }
134
- .ns-overline { font-family:var(--font-sans); font-weight:var(--weight-bold); font-size:var(--text-xs); line-height:var(--lh-xs); letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--fg-subtle); }
135
- .ns-code { font-family:var(--font-mono); font-weight:var(--weight-regular); font-size:var(--text-sm); color:var(--green-700); background:var(--bg-sunken); padding:2px 6px; border-radius:var(--radius-xs); }
122
+
123
+ :root,
124
+ :root[data-mode="ink"] {
125
+ --bg: #17171a; /* page */
126
+ --panel: #1e1e22; /* raised band, sidebar */
127
+ --mass: #26262a; /* wells, inline code */
128
+
129
+ --ink: #EAE7E1; /* primary text */
130
+ --dim: #A29C93; /* secondary */
131
+ --faint: #8B857B; /* captions, micro-labels 4.89:1 on ink */
132
+ --faint-2: #565249; /* disabled, placeholder */
133
+
134
+ --line: #26262a; /* hairline */
135
+ --line-2: #33333a; /* stronger hairline, frame edges */
136
+
137
+ --spot: var(--vd-300);
138
+ --spot-ink: #17171a; /* text ON a --spot fill */
139
+ --spot-soft: color-mix(in srgb, var(--spot) 14%, transparent);
140
+
141
+ --grid: #1f1f23; /* background rule grid */
142
+ --glow: rgba(25,150,136,.22); /* the terminal's halo */
143
+ --glow-low: rgba(25,150,136,.10);
144
+ --shot-op: .28; /* the arrow scene, as ambient art */
145
+ --shadow-lg: 0 12px 28px rgba(0,0,0,.45);
146
+ --ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--spot);
147
+ }
148
+
149
+ :root[data-mode="paper"] {
150
+ --bg: #f0ede6;
151
+ --panel: #e7e3da;
152
+ --mass: #ddd8cc;
153
+
154
+ --ink: #16150f;
155
+ --dim: #57534a;
156
+ --faint: #6E695E; /* 4.67:1 on paper */
157
+ --faint-2: #a09a8c;
158
+
159
+ --line: #e3dfd4;
160
+ --line-2: #cec8b9;
161
+
162
+ --spot: var(--vd-600);
163
+ --spot-ink: #ffffff;
164
+ --spot-soft: color-mix(in srgb, var(--spot) 10%, transparent);
165
+
166
+ --grid: #e5e1d7;
167
+ /* a light ground carries far less glow before it reads as a stain, and
168
+ line art needs more weight on it than it does on ink */
169
+ --glow: rgba(14,110,102,.10);
170
+ --glow-low: rgba(14,110,102,.05);
171
+ --shot-op: .5;
172
+ --shadow-lg: 0 12px 28px rgba(22,21,15,.10);
173
+ --ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--spot);
174
+ }
175
+
176
+ /* ============================================================
177
+ THE TERMINAL
178
+ The hero terminal is a picture of a terminal, and terminals are
179
+ dark — so it keeps one palette on both grounds rather than
180
+ flipping. These are the only colours on the site that do not
181
+ follow the ground, and that is deliberate.
182
+ ============================================================ */
183
+ :root {
184
+ --term-bg: #121215;
185
+ --term-chrome: #1c1c20;
186
+ --term-line: #2b2b31;
187
+ --term-text: #C8CDD4;
188
+ --term-dim: #6A7078;
189
+ --term-spot: var(--vd-300);
190
+ --term-cmd: #8ECF7A;
191
+ --term-str: #E6C060;
192
+ }
package/dist/install.js CHANGED
@@ -98,6 +98,32 @@ function checkGit() {
98
98
  const probe = spawnSync('git', ['--version'], { stdio: 'ignore', shell: process.platform === 'win32' });
99
99
  return probe.status === 0;
100
100
  }
101
+ /**
102
+ * Is `eklavya` on the caller's PATH?
103
+ *
104
+ * It usually is not. `npx eklavya install` runs the package out of npx's cache
105
+ * and leaves no global binary, so telling that caller to "run `eklavya doctor`"
106
+ * sends them straight into `command not found`. The runtime install does put a
107
+ * real binary at `~/.eklavya/runtime/node_modules/.bin/eklavya`, but nothing
108
+ * puts that directory on PATH, and writing into a global bin ourselves is not
109
+ * this installer's business.
110
+ *
111
+ * So: check, and say something true either way.
112
+ */
113
+ function cliOnPath() {
114
+ const dirs = (process.env.PATH ?? '').split(path.delimiter).filter(Boolean);
115
+ const names = process.platform === 'win32'
116
+ ? ['eklavya.cmd', 'eklavya.exe', 'eklavya.ps1', 'eklavya']
117
+ : ['eklavya'];
118
+ return dirs.some((d) => names.some((n) => {
119
+ try {
120
+ return fs.statSync(path.join(d, n)).isFile() || fs.lstatSync(path.join(d, n)).isSymbolicLink();
121
+ }
122
+ catch {
123
+ return false;
124
+ }
125
+ }));
126
+ }
101
127
  // --- 2. the runtime ---------------------------------------------------------
102
128
  function installRuntime(version) {
103
129
  const home = runtimeHome();
@@ -413,7 +439,19 @@ export function install(args) {
413
439
  say('');
414
440
  }
415
441
  say('Done. Restart Claude Code (or start a session) and Eklavya loads with it.');
416
- say('Next: run /eklavya:setup in Claude Code to choose a mode, or `eklavya doctor` here.');
442
+ if (cliOnPath()) {
443
+ say('Next: run /eklavya:setup in Claude Code to choose a mode, or `eklavya doctor` here.');
444
+ }
445
+ else {
446
+ // Ran through npx, most likely: the plugin is installed but no `eklavya`
447
+ // command exists. Say so rather than suggesting one that is not there.
448
+ say('Next: run /eklavya:setup in Claude Code to choose a mode.');
449
+ say('');
450
+ say('The `eklavya` command is not on your PATH. For the CLI — `doctor`,');
451
+ say('`dashboard`, `config` — install it once:');
452
+ say('');
453
+ say(' npm install -g eklavya');
454
+ }
417
455
  }
418
456
  export function uninstall(args) {
419
457
  const purge = args.includes('--purge');
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eklavya",
3
3
  "displayName": "Eklavya",
4
- "version": "1.9.1",
4
+ "version": "1.9.3",
5
5
  "description": "Learn while your agent works. Turns coding-agent generation time into adaptive, Socratic learning grounded in the code being written.",
6
6
  "author": {
7
7
  "name": "Ajay Kumar"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eklavya",
3
- "version": "1.9.1",
3
+ "version": "1.9.3",
4
4
  "description": "Learn while your agent works — local knowledge graph, spaced repetition, and quiz gating for agent-assisted development.",
5
5
  "license": "MIT",
6
6
  "repository": {