@telepath-computer/television 0.1.216 → 1.3.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.
Files changed (81) hide show
  1. package/dist/THIRD-PARTY-NOTICES.txt +336 -0
  2. package/dist/canonical/v1/frozen.json +6 -0
  3. package/dist/canonical/v1/styles.css +7 -2
  4. package/dist/canonical/v2/components.js +1 -0
  5. package/dist/canonical/v2/fonts/Hind-Variable.933e9900.woff2 +0 -0
  6. package/dist/canonical/v2/styles.css +1241 -0
  7. package/dist/cli.cjs +1763 -761
  8. package/dist/onboarding/README.md +16 -14
  9. package/dist/onboarding/business-ops/about.html +4 -3
  10. package/dist/onboarding/business-ops/retention-vs-releases.html +25 -32
  11. package/dist/onboarding/business-ops/revenue-vs-goals.html +26 -31
  12. package/dist/onboarding/productivity/about.html +4 -3
  13. package/dist/onboarding/productivity/company-todos/THIRD-PARTY-NOTICES.txt +29 -0
  14. package/dist/onboarding/productivity/company-todos/index.html +20 -20
  15. package/dist/onboarding/productivity/company-todos/task.css +4 -5
  16. package/dist/onboarding/productivity/company-todos/task.js +1 -1
  17. package/dist/onboarding/productivity/meeting-prep.html +12 -12
  18. package/dist/onboarding/productivity/priorities-today.html +10 -10
  19. package/dist/onboarding/productivity/todays-calendar/calendar.css +1 -1
  20. package/dist/onboarding/productivity/todays-calendar/index.html +12 -14
  21. package/dist/onboarding/research/about.html +4 -3
  22. package/dist/onboarding/research/open-model-research.html +35 -35
  23. package/dist/onboarding/research/todays-news.html +72 -72
  24. package/dist/onboarding/tv-guide/welcome.html +178 -0
  25. package/dist/skills/television/SKILL.md +124 -67
  26. package/dist/skills/television/theming.md +1086 -0
  27. package/dist/skills/tv-calendar/SKILL.md +3 -1
  28. package/dist/skills/tv-calendar/calendar.css +1 -1
  29. package/dist/skills/tv-table/SKILL.md +5 -2
  30. package/dist/skills/tv-tasks/SKILL.md +19 -15
  31. package/dist/skills/tv-tasks/task.css +4 -26
  32. package/dist/skills/tv-tasks/task.js +1 -1
  33. package/dist/themes/README.md +5 -0
  34. package/dist/themes/aquarium/README.md +48 -0
  35. package/dist/themes/aquarium/iframe-background.js +137 -0
  36. package/dist/themes/aquarium/manifest.json +7 -0
  37. package/dist/themes/aquarium/theme.css +46 -0
  38. package/dist/themes/blueprint/README.md +31 -0
  39. package/dist/themes/blueprint/manifest.json +6 -0
  40. package/dist/themes/blueprint/theme.css +115 -0
  41. package/dist/themes/clouds/README.md +15 -0
  42. package/dist/themes/clouds/THIRD-PARTY-NOTICES.txt +81 -0
  43. package/dist/themes/clouds/manifest.json +6 -0
  44. package/dist/themes/clouds/theme.css +62 -0
  45. package/dist/themes/clouds/wallpaper-dark.webp +0 -0
  46. package/dist/themes/clouds/wallpaper.webp +0 -0
  47. package/dist/themes/crt-phosphor/README.md +31 -0
  48. package/dist/themes/crt-phosphor/manifest.json +6 -0
  49. package/dist/themes/crt-phosphor/theme.css +105 -0
  50. package/dist/themes/nord/README.md +9 -0
  51. package/dist/themes/nord/THIRD-PARTY-NOTICES.txt +29 -0
  52. package/dist/themes/nord/manifest.json +5 -0
  53. package/dist/themes/nord/theme.css +28 -0
  54. package/dist/themes/swiss/README.md +5 -0
  55. package/dist/themes/swiss/manifest.json +5 -0
  56. package/dist/themes/swiss/theme.css +34 -0
  57. package/dist/themes/tokyo-night/README.md +17 -0
  58. package/dist/themes/tokyo-night/THIRD-PARTY-NOTICES.txt +235 -0
  59. package/dist/themes/tokyo-night/manifest.json +5 -0
  60. package/dist/themes/tokyo-night/theme.css +31 -0
  61. package/dist/themes/tokyo-night/wallpaper.webp +0 -0
  62. package/dist/views/artifact-missing/index.html +40 -68
  63. package/dist/views/markdown/THIRD-PARTY-NOTICES.txt +26 -0
  64. package/dist/views/markdown/index.html +49 -23
  65. package/dist/web/THIRD-PARTY-NOTICES.txt +26 -0
  66. package/dist/web/assets/artifact-bridge-BEUWXKq7.js +1 -0
  67. package/dist/web/assets/{artifactMissing-BiK_l3Ts.js → artifactMissing-CUs1ZwDx.js} +1 -1
  68. package/dist/web/assets/main-Bi6QZnn7.css +1 -0
  69. package/dist/web/assets/main-Dw6rK_zF.js +706 -0
  70. package/dist/web/assets/{urlUnsupported-RGIrhMDe.js → urlUnsupported-powR79PT.js} +1 -1
  71. package/dist/web/index.html +40 -5
  72. package/dist/web/views/artifact-missing/index.html +40 -68
  73. package/dist/web/views/url-unsupported/index.html +40 -68
  74. package/package.json +1 -1
  75. package/dist/onboarding/tv-guide/welcome/assets/television.svg +0 -71
  76. package/dist/onboarding/tv-guide/welcome/index.html +0 -203
  77. package/dist/skills/tv-theme/SKILL.md +0 -449
  78. package/dist/web/assets/artifact-bridge-3Trk-B2L.js +0 -1
  79. package/dist/web/assets/clouds-CAYIArXj.jpg +0 -0
  80. package/dist/web/assets/main-Blg8fuaV.css +0 -1
  81. package/dist/web/assets/main-V14r9Psb.js +0 -596
@@ -40,7 +40,7 @@ tv-task-body {
40
40
 
41
41
  tv-task-title {
42
42
  display: block;
43
- font-weight: var(--font-weight-body);
43
+ font-weight: var(--font-weight-normal);
44
44
  line-height: 1.35;
45
45
  }
46
46
  /* Completed — tracks the checkbox's reflected host attribute live, not a
@@ -100,7 +100,7 @@ tv-task-meta-tag {
100
100
  padding: 0 5px;
101
101
  padding-bottom: 1px;
102
102
  border-radius: 6px;
103
- background: var(--color-bg-muted);
103
+ background: var(--color-surface-muted);
104
104
  color: var(--task-meta-text);
105
105
  font-size: var(--text-sm);
106
106
  line-height: 1.5;
@@ -168,7 +168,7 @@ tv-task-section > header h2 {
168
168
  tv-task-count {
169
169
  color: var(--task-meta-text);
170
170
  font-size: var(--text-sm);
171
- font-weight: var(--font-weight-body);
171
+ font-weight: var(--font-weight-normal);
172
172
  }
173
173
 
174
174
  /* Empty state — shown when a section or list has no tasks. */
@@ -191,9 +191,8 @@ tv-task[highlighted] {
191
191
  The canonical theme is light-only, so the skill carries its own dark token
192
192
  set, applied when the document has data-theme="dark". */
193
193
  [data-theme="dark"] {
194
- --color-bg: var(--neutral-950);
195
- --color-bg-muted: var(--neutral-900);
196
194
  --color-surface: var(--neutral-800);
195
+ --color-surface-muted: var(--neutral-900);
197
196
  --color-text: var(--neutral-50);
198
197
  --color-text-muted: var(--neutral-400);
199
198
  /* Re-derive: custom properties resolve where declared, so without this the
@@ -178,7 +178,7 @@ const CHECKBOX_STYLES = `
178
178
  }
179
179
  input:active ~ .mark { transform: scale(0.9); }
180
180
  input:focus-visible ~ .mark {
181
- outline: 2px solid var(--color-focus-ring);
181
+ outline: 2px solid var(--color-primary);
182
182
  outline-offset: 2px;
183
183
  }
184
184
 
@@ -4,8 +4,8 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>Meeting prep</title>
7
- <link rel="stylesheet" href="/canonical/v1/styles.css">
8
- <script type="module" src="/canonical/v1/components.js"></script>
7
+ <link rel="stylesheet" href="/canonical/v2/styles.css">
8
+ <script type="module" src="/canonical/v2/components.js"></script>
9
9
  <style>
10
10
  /* Shared base for onboarding artifacts ([[../index.md]]): document padding
11
11
  and the centered content shell. Typography, text color, and background
@@ -96,7 +96,7 @@ header.hero h1 {
96
96
  .panel {
97
97
  padding: var(--space-20, 20px);
98
98
  border: 1px solid var(--color-border);
99
- border-radius: var(--radius-12, 12px);
99
+ border-radius: 12px;
100
100
  background: var(--color-surface);
101
101
  }
102
102
 
@@ -114,8 +114,8 @@ header.hero h1 {
114
114
 
115
115
  .summary-box {
116
116
  padding: var(--space-16, 16px) var(--space-20, 20px);
117
- border: 1px solid var(--color-border-muted);
118
- border-radius: var(--radius-12, 12px);
117
+ border: 1px solid var(--color-border);
118
+ border-radius: 12px;
119
119
  background: var(--color-surface-muted);
120
120
  }
121
121
 
@@ -161,7 +161,7 @@ header.hero h1 {
161
161
  gap: var(--space-4, 4px);
162
162
  padding: 2px var(--space-10, 10px);
163
163
  border: 1px solid var(--color-border);
164
- border-radius: var(--radius-full, 9999px);
164
+ border-radius: var(--radius-pill, 9999px);
165
165
  background: var(--color-surface);
166
166
  color: var(--color-text-muted);
167
167
  font-size: var(--text-sm, 12px);
@@ -176,11 +176,11 @@ header.hero h1 {
176
176
  .pill.dim { color: var(--neutral-500); border-color: var(--neutral-200); background: var(--neutral-100); }
177
177
 
178
178
 
179
- /* Meeting prep ([[index.md]]): artifact-specific styling. Kept low on
179
+ /* Meeting prep ([[../index.md]]): artifact-specific styling. Kept low on
180
180
  borders to match Priorities and Open model research — the panels are the
181
181
  shared borderless .section, references and the person block carry no box,
182
182
  and the option cards are held by an accent rule rather than a card. The
183
- section, section-title, and pill idioms come from shared/. */
183
+ section, section-title, and pill styles are defined above. */
184
184
 
185
185
  .shell {
186
186
  max-width: 880px;
@@ -207,7 +207,7 @@ header.hero h1 {
207
207
  gap: var(--space-16, 16px);
208
208
  padding: var(--space-16, 16px);
209
209
  border: 1px solid var(--color-border);
210
- border-radius: var(--radius-12, 12px);
210
+ border-radius: 12px;
211
211
  }
212
212
 
213
213
  .avatar {
@@ -216,8 +216,8 @@ header.hero h1 {
216
216
  flex-shrink: 0;
217
217
  display: grid;
218
218
  place-items: center;
219
- border-radius: var(--radius-12, 12px);
220
- color: var(--white);
219
+ border-radius: 12px;
220
+ color: white;
221
221
  background: var(--purple-500);
222
222
  font-size: var(--text-lg, 15px);
223
223
  font-weight: 700;
@@ -290,7 +290,7 @@ header.hero h1 {
290
290
  .ref-item {
291
291
  padding: var(--space-12, 12px) var(--space-16, 16px);
292
292
  border: 1px solid var(--color-border);
293
- border-radius: var(--radius-12, 12px);
293
+ border-radius: 12px;
294
294
  }
295
295
 
296
296
  .ref-head {
@@ -4,8 +4,8 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>Priorities for Today</title>
7
- <link rel="stylesheet" href="/canonical/v1/styles.css">
8
- <script type="module" src="/canonical/v1/components.js"></script>
7
+ <link rel="stylesheet" href="/canonical/v2/styles.css">
8
+ <script type="module" src="/canonical/v2/components.js"></script>
9
9
  <style>
10
10
  /* Shared base for onboarding artifacts ([[../index.md]]): document padding
11
11
  and the centered content shell. Typography, text color, and background
@@ -96,7 +96,7 @@ header.hero h1 {
96
96
  .panel {
97
97
  padding: var(--space-20, 20px);
98
98
  border: 1px solid var(--color-border);
99
- border-radius: var(--radius-12, 12px);
99
+ border-radius: 12px;
100
100
  background: var(--color-surface);
101
101
  }
102
102
 
@@ -114,8 +114,8 @@ header.hero h1 {
114
114
 
115
115
  .summary-box {
116
116
  padding: var(--space-16, 16px) var(--space-20, 20px);
117
- border: 1px solid var(--color-border-muted);
118
- border-radius: var(--radius-12, 12px);
117
+ border: 1px solid var(--color-border);
118
+ border-radius: 12px;
119
119
  background: var(--color-surface-muted);
120
120
  }
121
121
 
@@ -161,7 +161,7 @@ header.hero h1 {
161
161
  gap: var(--space-4, 4px);
162
162
  padding: 2px var(--space-10, 10px);
163
163
  border: 1px solid var(--color-border);
164
- border-radius: var(--radius-full, 9999px);
164
+ border-radius: var(--radius-pill, 9999px);
165
165
  background: var(--color-surface);
166
166
  color: var(--color-text-muted);
167
167
  font-size: var(--text-sm, 12px);
@@ -176,12 +176,12 @@ header.hero h1 {
176
176
  .pill.dim { color: var(--neutral-500); border-color: var(--neutral-200); background: var(--neutral-100); }
177
177
 
178
178
 
179
- /* Priorities for Today ([[index.md]]): artifact-specific styling only —
179
+ /* Priorities for Today ([[../index.md]]): artifact-specific styling only —
180
180
  the ranked-priority and deferred stacks. Kept low on borders: the summary
181
181
  is a shared .summary-deck lead, sections are the shared borderless
182
182
  .section, priorities are carried by their inline rank number, and deferred
183
183
  tasks are a hairline-separated list. The deck, section, section-title, and
184
- pill idioms come from shared/. */
184
+ pill styles are defined above. */
185
185
 
186
186
  .shell {
187
187
  max-width: 920px;
@@ -212,7 +212,7 @@ header.hero h1 {
212
212
  height: 18px;
213
213
  margin-top: 1px;
214
214
  border: 1.5px solid var(--color-border);
215
- border-radius: var(--radius-6, 6px);
215
+ border-radius: 6px;
216
216
  background: var(--color-surface);
217
217
  }
218
218
 
@@ -264,7 +264,7 @@ header.hero h1 {
264
264
  gap: var(--space-10, 10px);
265
265
  align-items: start;
266
266
  padding: var(--space-12, 12px) 0;
267
- border-top: 1px solid var(--color-border-muted);
267
+ border-top: 1px solid var(--color-border);
268
268
  }
269
269
 
270
270
  .deferred-item:first-child {
@@ -1 +1 @@
1
- calendar-event{display:contents}calendar-event .event-block{pointer-events:none;z-index:2}calendar-event .event-block-inner{background:var(--event-bg-timed, var(--neutral-100));border-left:3px solid var(--event-border-color, var(--neutral-300));border-radius:4px;box-shadow:inset 0 0 0 .5px var(--neutral-200)}calendar-grid calendar-event .event-block{grid-column:calc(var(--day-index) + 1);grid-row:1 / -1;position:relative;z-index:0}calendar-grid calendar-event .event-block-inner{position:absolute;top:calc(var(--y-start) * 100%);height:calc((var(--y-end) - var(--y-start)) * 100%);left:calc(2px + var(--cascade-depth, 0) * 6px);right:2px;padding:var(--space-4) var(--space-8);overflow:hidden;pointer-events:auto;z-index:calc(1 + var(--cascade-depth, 0))}calendar-allday calendar-event .event-block{grid-column:calc(var(--day-start) + 1) / span var(--day-span);grid-row:var(--lane-index);padding:2px}calendar-allday calendar-event .event-block-inner{background:var(--event-bg-all-day, var(--event-bg-timed, var(--neutral-100)));border-left:var( --event-all-day-border, 3px solid var(--event-border-color, var(--neutral-300)) );padding:1px var(--space-8);display:flex;align-items:center;pointer-events:auto}calendar-event[color=red]{--event-bg-timed: var(--red-100);--event-bg-all-day: var(--red-200);--event-border-color: var(--red-500);--event-all-day-border: none}calendar-event[color=orange]{--event-bg-timed: var(--orange-100);--event-bg-all-day: var(--orange-200);--event-border-color: var(--orange-500);--event-all-day-border: none}calendar-event[color=yellow]{--event-bg-timed: var(--yellow-100);--event-bg-all-day: var(--yellow-200);--event-border-color: var(--yellow-500);--event-all-day-border: none}calendar-event[color=green]{--event-bg-timed: var(--green-100);--event-bg-all-day: var(--green-200);--event-border-color: var(--green-500);--event-all-day-border: none}calendar-event[color=blue]{--event-bg-timed: var(--blue-100);--event-bg-all-day: var(--blue-200);--event-border-color: var(--blue-500);--event-all-day-border: none}calendar-event[color=purple]{--event-bg-timed: var(--purple-100);--event-bg-all-day: var(--purple-200);--event-border-color: var(--purple-500);--event-all-day-border: none}calendar-event h3{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}calendar-time-axis{display:contents}calendar-time-axis .hour-label{grid-column:time-left / days-start;grid-row-start:calc(var(--hour-index) + 1);align-self:start;padding:var(--space-2) var(--space-8);font-size:round(calc(var(--text-sm) / var(--text-scale)),1px);color:var(--color-text-muted);text-align:right;white-space:nowrap;transform:translateY(-50%)}calendar-time-axis .hour-label[data-hour="0"]{visibility:hidden;width:0;height:0;padding:0;overflow:hidden}calendar-week{display:grid;grid-template-columns:[time-left] auto [days-start] repeat(var(--day-count, 0),minmax(0,1fr)) [days-end];grid-template-rows:[headers] auto [allday] auto [hours-start] repeat(var(--hour-count, 0),minmax(var(--hour-min-height, 4rem),1fr)) [hours-end];width:100%;height:100%;overflow:auto;background:var(--color-surface);font-family:inherit;color:var(--color-text)}calendar-week>calendar-headers,calendar-week>calendar-allday,calendar-week>calendar-grid{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;min-width:0}calendar-week>calendar-headers{grid-row:headers / allday;position:sticky;top:0;z-index:3;background:var(--color-surface);border-top:.5px solid var(--color-border);border-bottom:1px solid var(--color-border)}calendar-headers>calendar-day{grid-column:calc(var(--day-index) + 1);display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-12);font-size:var(--text-sm);border-left:.5px solid var(--color-border-muted)}calendar-headers>calendar-day:last-of-type{border-right:.5px solid var(--color-border-muted)}calendar-headers>calendar-day .weekday{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}calendar-headers>calendar-day .date-num{color:var(--color-text)}calendar-week>calendar-allday{grid-row:allday / hours-start;grid-template-rows:repeat(var(--allday-lane-count, 1),auto);position:sticky;top:var(--headers-height, 0px);z-index:2;border-bottom:1px solid var(--color-border);background:var(--color-surface)}calendar-allday>calendar-cell{grid-column:calc(var(--day-index) + 1);grid-row:1;border-left:.5px solid var(--color-border-muted)}calendar-allday>calendar-cell:last-of-type{border-right:.5px solid var(--color-border-muted)}calendar-week>calendar-grid{grid-row:hours-start / hours-end;grid-template-rows:subgrid;position:relative}calendar-grid>calendar-column{grid-column:calc(var(--day-index) + 1);grid-row:1 / -1;border-left:.5px solid var(--color-border-muted);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(100% / var(--hour-count) - .5px),var(--color-border-muted) calc(100% / var(--hour-count) - .5px),var(--color-border-muted) calc(100% / var(--hour-count)))}calendar-grid>calendar-column:last-of-type{border-right:.5px solid var(--color-border-muted)}calendar-grid>.start-hour-marker{grid-column:2;grid-row-start:calc(var(--start-hour) + 1);width:0;height:0}calendar-grid>.now-line-faint,calendar-grid>.now-line{grid-row:1 / -1;position:relative;pointer-events:none;z-index:1}calendar-grid>.now-line-faint{grid-column:2 / -1}calendar-grid>.now-line{grid-column:calc(var(--day-index) + 1)}calendar-grid>.now-line-faint:before,calendar-grid>.now-line:before{content:"";position:absolute;left:0;right:0;top:calc(var(--y-fraction) * 100%);height:1px;transform:translateY(-.5px)}calendar-grid>.now-line-faint:before{background:#e7202240}calendar-grid>.now-line:before{background:#e72022}calendar-grid>.now-line:after{content:"";position:absolute;left:0;top:calc(var(--y-fraction) * 100%);width:.5rem;height:.5rem;border-radius:50%;background:#e72022;transform:translate(-50%,-50%)}
1
+ calendar-event{display:contents}calendar-event .event-block{pointer-events:none;z-index:2}calendar-event .event-block-inner{background:var(--event-bg-timed, var(--neutral-100));border-left:3px solid var(--event-border-color, var(--neutral-300));border-radius:4px;box-shadow:inset 0 0 0 .5px var(--neutral-200)}calendar-grid calendar-event .event-block{grid-column:calc(var(--day-index) + 1);grid-row:1 / -1;position:relative;z-index:0}calendar-grid calendar-event .event-block-inner{position:absolute;top:calc(var(--y-start) * 100%);height:calc((var(--y-end) - var(--y-start)) * 100%);left:calc(2px + var(--cascade-depth, 0) * 6px);right:2px;padding:var(--space-4) var(--space-8);overflow:hidden;pointer-events:auto;z-index:calc(1 + var(--cascade-depth, 0))}calendar-allday calendar-event .event-block{grid-column:calc(var(--day-start) + 1) / span var(--day-span);grid-row:var(--lane-index);padding:2px}calendar-allday calendar-event .event-block-inner{background:var(--event-bg-all-day, var(--event-bg-timed, var(--neutral-100)));border-left:var( --event-all-day-border, 3px solid var(--event-border-color, var(--neutral-300)) );padding:1px var(--space-8);display:flex;align-items:center;pointer-events:auto}calendar-event[color=red]{--event-bg-timed: var(--red-100);--event-bg-all-day: var(--red-200);--event-border-color: var(--red-500);--event-all-day-border: none}calendar-event[color=orange]{--event-bg-timed: var(--orange-100);--event-bg-all-day: var(--orange-200);--event-border-color: var(--orange-500);--event-all-day-border: none}calendar-event[color=yellow]{--event-bg-timed: var(--yellow-100);--event-bg-all-day: var(--yellow-200);--event-border-color: var(--yellow-500);--event-all-day-border: none}calendar-event[color=green]{--event-bg-timed: var(--green-100);--event-bg-all-day: var(--green-200);--event-border-color: var(--green-500);--event-all-day-border: none}calendar-event[color=blue]{--event-bg-timed: var(--blue-100);--event-bg-all-day: var(--blue-200);--event-border-color: var(--blue-500);--event-all-day-border: none}calendar-event[color=purple]{--event-bg-timed: var(--purple-100);--event-bg-all-day: var(--purple-200);--event-border-color: var(--purple-500);--event-all-day-border: none}calendar-event h3{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--neutral-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}calendar-time-axis{display:contents}calendar-time-axis .hour-label{grid-column:time-left / days-start;grid-row-start:calc(var(--hour-index) + 1);align-self:start;padding:var(--space-2) var(--space-8);font-size:round(calc(var(--text-base) * 10 / 14),1px);color:var(--color-text-muted);text-align:right;white-space:nowrap;transform:translateY(-50%)}calendar-time-axis .hour-label[data-hour="0"]{visibility:hidden;width:0;height:0;padding:0;overflow:hidden}calendar-week{display:grid;grid-template-columns:[time-left] auto [days-start] repeat(var(--day-count, 0),minmax(0,1fr)) [days-end];grid-template-rows:[headers] auto [allday] auto [hours-start] repeat(var(--hour-count, 0),minmax(var(--hour-min-height, 4rem),1fr)) [hours-end];width:100%;height:100%;overflow:auto;background:var(--color-surface);font-family:inherit;color:var(--color-text)}calendar-week>calendar-headers,calendar-week>calendar-allday,calendar-week>calendar-grid{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;min-width:0}calendar-week>calendar-headers{grid-row:headers / allday;position:sticky;top:0;z-index:3;background:var(--color-surface);border-top:.5px solid var(--color-border);border-bottom:1px solid var(--color-border)}calendar-headers>calendar-day{grid-column:calc(var(--day-index) + 1);display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-12);font-size:var(--text-sm);border-left:.5px solid var(--color-border)}calendar-headers>calendar-day:last-of-type{border-right:.5px solid var(--color-border)}calendar-headers>calendar-day .weekday{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}calendar-headers>calendar-day .date-num{color:var(--color-text)}calendar-week>calendar-allday{grid-row:allday / hours-start;grid-template-rows:repeat(var(--allday-lane-count, 1),auto);position:sticky;top:var(--headers-height, 0px);z-index:2;border-bottom:1px solid var(--color-border);background:var(--color-surface)}calendar-allday>calendar-cell{grid-column:calc(var(--day-index) + 1);grid-row:1;border-left:.5px solid var(--color-border)}calendar-allday>calendar-cell:last-of-type{border-right:.5px solid var(--color-border)}calendar-week>calendar-grid{grid-row:hours-start / hours-end;grid-template-rows:subgrid;position:relative}calendar-grid>calendar-column{grid-column:calc(var(--day-index) + 1);grid-row:1 / -1;border-left:.5px solid var(--color-border);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(100% / var(--hour-count) - .5px),var(--color-border) calc(100% / var(--hour-count) - .5px),var(--color-border) calc(100% / var(--hour-count)))}calendar-grid>calendar-column:last-of-type{border-right:.5px solid var(--color-border)}calendar-grid>.start-hour-marker{grid-column:2;grid-row-start:calc(var(--start-hour) + 1);width:0;height:0}calendar-grid>.now-line-faint,calendar-grid>.now-line{grid-row:1 / -1;position:relative;pointer-events:none;z-index:1}calendar-grid>.now-line-faint{grid-column:2 / -1}calendar-grid>.now-line{grid-column:calc(var(--day-index) + 1)}calendar-grid>.now-line-faint:before,calendar-grid>.now-line:before{content:"";position:absolute;left:0;right:0;top:calc(var(--y-fraction) * 100%);height:1px;transform:translateY(-.5px)}calendar-grid>.now-line-faint:before{background:#e7202240}calendar-grid>.now-line:before{background:#e72022}calendar-grid>.now-line:after{content:"";position:absolute;left:0;top:calc(var(--y-fraction) * 100%);width:.5rem;height:.5rem;border-radius:50%;background:#e72022;transform:translate(-50%,-50%)}
@@ -4,15 +4,13 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>Today&#39;s Calendar</title>
7
- <link rel="stylesheet" href="/canonical/v1/styles.css">
7
+ <link rel="stylesheet" href="/canonical/v2/styles.css">
8
8
  <link rel="stylesheet" href="./calendar.css">
9
9
  <script type="module" src="./calendar.js"></script>
10
10
  <style>
11
- /* Today's Calendar ([[index.md]]): deliberate full-bleed rules only. This
12
- artifact does not import shared/base — the calendar fills the card edge
13
- to edge instead of sitting in the padded content shell. The calendar's
14
- appearance comes from calendar.css in the bundled tv-calendar skill; the
15
- design story loads that stylesheet beside the artifact document. */
11
+ /* Today's Calendar ([[../index.md]]) fills the card edge to edge.
12
+ The tv-calendar skill supplies its appearance: the workshop loads source
13
+ components, and the bake links built assets. */
16
14
 
17
15
  html,
18
16
  body {
@@ -28,21 +26,21 @@ calendar-week {
28
26
  </head>
29
27
  <body>
30
28
  <calendar-week start-date="2026-07-08" days="1" start-hour="8">
31
-
29
+
32
30
  <calendar-event title="Daily Standup" start="2026-07-08T09:00" end="2026-07-08T09:15" color="blue"></calendar-event>
33
-
31
+
34
32
  <calendar-event title="Product Reliability Sync" start="2026-07-08T09:30" end="2026-07-08T10:00" color="green"></calendar-event>
35
-
33
+
36
34
  <calendar-event title="NeonBank Champion Follow-up" start="2026-07-08T11:00" end="2026-07-08T11:30" color="blue"></calendar-event>
37
-
35
+
38
36
  <calendar-event title="1:1 with Priya" start="2026-07-08T12:00" end="2026-07-08T12:30" color="purple"></calendar-event>
39
-
37
+
40
38
  <calendar-event title="Issue Bash" start="2026-07-08T13:00" end="2026-07-08T14:00" color="orange"></calendar-event>
41
-
39
+
42
40
  <calendar-event title="Acme AI CTO Call" start="2026-07-08T14:30" end="2026-07-08T15:00" color="orange"></calendar-event>
43
-
41
+
44
42
  <calendar-event title="Seed Update Draft Review" start="2026-07-08T16:00" end="2026-07-08T16:30" color="yellow"></calendar-event>
45
-
43
+
46
44
  </calendar-week>
47
45
  </body>
48
46
  </html>
@@ -4,8 +4,8 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>About this channel</title>
7
- <link rel="stylesheet" href="/canonical/v1/styles.css">
8
- <script type="module" src="/canonical/v1/components.js"></script>
7
+ <link rel="stylesheet" href="/canonical/v2/styles.css">
8
+ <script type="module" src="/canonical/v2/components.js"></script>
9
9
  <style>
10
10
  /* Shared base for onboarding artifacts ([[../index.md]]): document padding
11
11
  and the centered content shell. Typography, text color, and background
@@ -64,6 +64,7 @@ header > .summary-deck {
64
64
  light and vanish on the yellow in a dark theme ([[../index.md#^about-cards]]). */
65
65
  body {
66
66
  background: var(--yellow-100);
67
+ color: var(--neutral-900);
67
68
  }
68
69
 
69
70
  .lede {
@@ -94,7 +95,7 @@ body {
94
95
  position: absolute;
95
96
  inset: 0 auto 0 0;
96
97
  width: 3px;
97
- border-radius: var(--radius-full, 9999px);
98
+ border-radius: var(--radius-pill, 9999px);
98
99
  background: var(--yellow-700);
99
100
  }
100
101
 
@@ -4,8 +4,8 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>Open model research</title>
7
- <link rel="stylesheet" href="/canonical/v1/styles.css">
8
- <script type="module" src="/canonical/v1/components.js"></script>
7
+ <link rel="stylesheet" href="/canonical/v2/styles.css">
8
+ <script type="module" src="/canonical/v2/components.js"></script>
9
9
  <style>
10
10
  /* Shared base for onboarding artifacts ([[../index.md]]): document padding
11
11
  and the centered content shell. Typography, text color, and background
@@ -96,7 +96,7 @@ header.hero h1 {
96
96
  .panel {
97
97
  padding: var(--space-20, 20px);
98
98
  border: 1px solid var(--color-border);
99
- border-radius: var(--radius-12, 12px);
99
+ border-radius: 12px;
100
100
  background: var(--color-surface);
101
101
  }
102
102
 
@@ -114,8 +114,8 @@ header.hero h1 {
114
114
 
115
115
  .summary-box {
116
116
  padding: var(--space-16, 16px) var(--space-20, 20px);
117
- border: 1px solid var(--color-border-muted);
118
- border-radius: var(--radius-12, 12px);
117
+ border: 1px solid var(--color-border);
118
+ border-radius: 12px;
119
119
  background: var(--color-surface-muted);
120
120
  }
121
121
 
@@ -161,7 +161,7 @@ header.hero h1 {
161
161
  gap: var(--space-4, 4px);
162
162
  padding: 2px var(--space-10, 10px);
163
163
  border: 1px solid var(--color-border);
164
- border-radius: var(--radius-full, 9999px);
164
+ border-radius: var(--radius-pill, 9999px);
165
165
  background: var(--color-surface);
166
166
  color: var(--color-text-muted);
167
167
  font-size: var(--text-sm, 12px);
@@ -218,7 +218,7 @@ header.hero h1 {
218
218
 
219
219
  .table-wrap tbody td {
220
220
  padding: var(--space-10, 10px) var(--space-12, 12px);
221
- border-bottom: 1px solid var(--color-border-muted);
221
+ border-bottom: 1px solid var(--color-border);
222
222
  white-space: nowrap;
223
223
  }
224
224
 
@@ -236,12 +236,12 @@ header.hero h1 {
236
236
  }
237
237
 
238
238
 
239
- /* Artifact-specific styling for Open model research ([[index.md]]): the
239
+ /* Artifact-specific styling for Open model research ([[../index.md]]): the
240
240
  wider shell, the horizontal bar chart, and a couple of table-cell
241
241
  tweaks. The hero, summary box, panel, pills, and comparison table come
242
242
  from the shared idioms; bar and legend colors are canonical ramp tokens
243
243
  applied through tier classes, so the artifact never redefines the theme
244
- chrome tokens ([[../../index.md#^respect-theme]]). */
244
+ chrome tokens ([[../index.md#^respect-theme]]). */
245
245
 
246
246
  .shell {
247
247
  max-width: 860px;
@@ -285,12 +285,12 @@ header.hero {
285
285
  position: relative;
286
286
  height: 24px;
287
287
  overflow: hidden;
288
- border-radius: var(--radius-4, 4px);
288
+ border-radius: 4px;
289
289
  background: var(--color-surface-muted);
290
290
  }
291
291
  .bar-fill {
292
292
  height: 100%;
293
- border-radius: var(--radius-4, 4px);
293
+ border-radius: 4px;
294
294
  transition: width 0.4s ease;
295
295
  }
296
296
  .bar-value {
@@ -325,7 +325,7 @@ header.hero {
325
325
  .legend-dot {
326
326
  width: 10px;
327
327
  height: 10px;
328
- border-radius: var(--radius-4, 4px);
328
+ border-radius: 4px;
329
329
  }
330
330
 
331
331
  /* Comparison table: the model column reads as a label, not data. */
@@ -363,66 +363,66 @@ header.hero {
363
363
  <h2>AgentBench-2.0 scores</h2>
364
364
  <p class="note">Composite score across tool-use, reasoning, code execution, and RAG planning tasks · 0–100 scale</p>
365
365
  <div class="chart">
366
-
366
+
367
367
  <div class="bar-row">
368
368
  <div class="bar-label">GLM-4.6-405B</div>
369
369
  <div class="bar-track"><div class="bar-fill excellent" style="width: 89%"></div></div>
370
370
  <div class="bar-value">89</div>
371
371
  </div>
372
-
372
+
373
373
  <div class="bar-row">
374
374
  <div class="bar-label">Llama-4-70B</div>
375
375
  <div class="bar-track"><div class="bar-fill good" style="width: 84%"></div></div>
376
376
  <div class="bar-value">84</div>
377
377
  </div>
378
-
378
+
379
379
  <div class="bar-row">
380
380
  <div class="bar-label">Mistral-Large-2</div>
381
381
  <div class="bar-track"><div class="bar-fill good" style="width: 79%"></div></div>
382
382
  <div class="bar-value">79</div>
383
383
  </div>
384
-
384
+
385
385
  <div class="bar-row">
386
386
  <div class="bar-label">DeepSeek-V3</div>
387
387
  <div class="bar-track"><div class="bar-fill good" style="width: 74%"></div></div>
388
388
  <div class="bar-value">74</div>
389
389
  </div>
390
-
390
+
391
391
  <div class="bar-row">
392
392
  <div class="bar-label">Qwen-3-72B</div>
393
393
  <div class="bar-track"><div class="bar-fill moderate" style="width: 68%"></div></div>
394
394
  <div class="bar-value">68</div>
395
395
  </div>
396
-
396
+
397
397
  <div class="bar-row">
398
398
  <div class="bar-label">Gemma-3-27B</div>
399
399
  <div class="bar-track"><div class="bar-fill moderate" style="width: 54%"></div></div>
400
400
  <div class="bar-value">54</div>
401
401
  </div>
402
-
402
+
403
403
  <div class="bar-row">
404
404
  <div class="bar-label">Phi-4-14B</div>
405
405
  <div class="bar-track"><div class="bar-fill limited" style="width: 41%"></div></div>
406
406
  <div class="bar-value">41</div>
407
407
  </div>
408
-
408
+
409
409
  <div class="bar-row">
410
410
  <div class="bar-label">Llama-4-8B</div>
411
411
  <div class="bar-track"><div class="bar-fill limited" style="width: 33%"></div></div>
412
412
  <div class="bar-value">33</div>
413
413
  </div>
414
-
414
+
415
415
  </div>
416
416
  <div class="chart-legend">
417
-
417
+
418
418
  <span><div class="legend-dot excellent"></div>Excellent</span>
419
-
419
+
420
420
  <span><div class="legend-dot good"></div>Good</span>
421
-
421
+
422
422
  <span><div class="legend-dot moderate"></div>Moderate</span>
423
-
423
+
424
424
  <span><div class="legend-dot limited"></div>Limited</span>
425
-
425
+
426
426
  </div>
427
427
  </section>
428
428
 
@@ -443,7 +443,7 @@ header.hero {
443
443
  </tr>
444
444
  </thead>
445
445
  <tbody>
446
-
446
+
447
447
  <tr>
448
448
  <td class="model-name">GLM-4.6-405B</td>
449
449
  <td>405B</td>
@@ -453,7 +453,7 @@ header.hero {
453
453
  <td><span class="pill dim">Apache 2.0</span></td>
454
454
  <td>Multi-tool orchestration</td>
455
455
  </tr>
456
-
456
+
457
457
  <tr>
458
458
  <td class="model-name">Llama-4-70B</td>
459
459
  <td>70B</td>
@@ -463,7 +463,7 @@ header.hero {
463
463
  <td><span class="pill dim">Llama license</span></td>
464
464
  <td>Multi-step reasoning</td>
465
465
  </tr>
466
-
466
+
467
467
  <tr>
468
468
  <td class="model-name">Mistral-Large-2</td>
469
469
  <td>123B</td>
@@ -473,7 +473,7 @@ header.hero {
473
473
  <td><span class="pill dim">MPL 2.0</span></td>
474
474
  <td>Best perf/param ratio</td>
475
475
  </tr>
476
-
476
+
477
477
  <tr>
478
478
  <td class="model-name">DeepSeek-V3</td>
479
479
  <td>671B MoE</td>
@@ -483,7 +483,7 @@ header.hero {
483
483
  <td><span class="pill dim">MIT</span></td>
484
484
  <td>Cost-efficient inference</td>
485
485
  </tr>
486
-
486
+
487
487
  <tr>
488
488
  <td class="model-name">Qwen-3-72B</td>
489
489
  <td>72B</td>
@@ -493,7 +493,7 @@ header.hero {
493
493
  <td><span class="pill dim">Qwen license</span></td>
494
494
  <td>Code + retrieval tasks</td>
495
495
  </tr>
496
-
496
+
497
497
  <tr>
498
498
  <td class="model-name">Gemma-3-27B</td>
499
499
  <td>27B</td>
@@ -503,7 +503,7 @@ header.hero {
503
503
  <td><span class="pill dim">Gemma terms</span></td>
504
504
  <td>Single-step tasks</td>
505
505
  </tr>
506
-
506
+
507
507
  <tr>
508
508
  <td class="model-name">Phi-4-14B</td>
509
509
  <td>14B</td>
@@ -513,7 +513,7 @@ header.hero {
513
513
  <td><span class="pill dim">MIT</span></td>
514
514
  <td>Edge / lightweight</td>
515
515
  </tr>
516
-
516
+
517
517
  <tr>
518
518
  <td class="model-name">Llama-4-8B</td>
519
519
  <td>8B</td>
@@ -523,7 +523,7 @@ header.hero {
523
523
  <td><span class="pill dim">Llama license</span></td>
524
524
  <td>Prototyping</td>
525
525
  </tr>
526
-
526
+
527
527
  </tbody>
528
528
  </table>
529
529
  </div>