@litfamily/litopencode 1.0.30 → 1.0.32

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 (270) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README-Ko-KR.md +6 -6
  3. package/README.md +6 -6
  4. package/dist/activation-probe.js +1 -0
  5. package/dist/activation-prompt-utils.d.ts +1 -1
  6. package/dist/activation-reentry.d.ts +20 -0
  7. package/dist/activation-reentry.js +110 -1
  8. package/dist/activation-routing.d.ts +2 -1
  9. package/dist/activation-routing.js +100 -11
  10. package/dist/activation-workflow-prompts.d.ts +4 -0
  11. package/dist/activation-workflow-prompts.js +30 -0
  12. package/dist/activation.d.ts +1 -1
  13. package/dist/activation.js +44 -5
  14. package/dist/adhd-next.d.ts +51 -0
  15. package/dist/adhd-next.js +150 -0
  16. package/dist/cli/managed-skill-assets.d.ts +1 -1
  17. package/dist/cli/managed-skill-assets.js +7 -1
  18. package/dist/cli/native-skill-integrity.js +1 -1
  19. package/dist/cli.js +7 -1
  20. package/dist/commands.d.ts +28 -1
  21. package/dist/commands.js +48 -1
  22. package/dist/features.d.ts +80 -1
  23. package/dist/features.js +105 -1
  24. package/dist/ledger.js +12 -1
  25. package/dist/secret-shapes.js +5 -5
  26. package/dist/skills.d.ts +22 -1
  27. package/dist/skills.js +36 -0
  28. package/dist/start-work-typed.d.ts +34 -0
  29. package/dist/start-work-typed.js +156 -0
  30. package/dist/state.d.ts +2 -0
  31. package/dist/state.js +2 -0
  32. package/dist/tools.js +22 -2
  33. package/dist/tui/mission-band.d.ts +20 -1
  34. package/dist/tui/mission-band.js +73 -16
  35. package/dist/tui/mission-looks.d.ts +38 -0
  36. package/dist/tui/mission-looks.js +73 -0
  37. package/dist/tui/mission-model.d.ts +2 -0
  38. package/dist/tui/mission-model.js +3 -1
  39. package/dist/tui/mission-rainbow.d.ts +33 -0
  40. package/dist/tui/mission-rainbow.js +90 -0
  41. package/dist/tui/mission-source.d.ts +48 -0
  42. package/dist/tui/mission-source.js +184 -2
  43. package/dist/tui/mission-text.d.ts +2 -0
  44. package/dist/tui/mission-text.js +9 -1
  45. package/dist/tui/mission-threads.d.ts +50 -0
  46. package/dist/tui/mission-threads.js +119 -0
  47. package/dist/tui.js +84 -6
  48. package/dist/uiux-visual-catalog.js +8 -1
  49. package/dist/v2/session-hooks.js +38 -5
  50. package/dist/workflow-stack.d.ts +53 -0
  51. package/dist/workflow-stack.js +196 -0
  52. package/docs/assets/readme/badge-version.svg +1 -1
  53. package/docs/assets/skills/lit-schematic.webp +0 -0
  54. package/docs/reference-Ko-KR.md +30 -2
  55. package/docs/reference.md +34 -2
  56. package/package.json +1 -1
  57. package/skills/frontend-ui-ux/SKILL.md +3 -2
  58. package/skills/frontend-ui-ux/kit/components.css +414 -0
  59. package/skills/frontend-ui-ux/kit/fonts.json +22 -0
  60. package/skills/frontend-ui-ux/kit/layouts/landing.html +164 -0
  61. package/skills/frontend-ui-ux/kit/layouts/settings.html +114 -0
  62. package/skills/frontend-ui-ux/kit/layouts/workspace.html +115 -0
  63. package/skills/frontend-ui-ux/kit/styles/computational-brutalism.json +227 -0
  64. package/skills/frontend-ui-ux/kit/styles/field-notes.json +205 -0
  65. package/skills/frontend-ui-ux/kit/styles/graphite.json +200 -0
  66. package/skills/frontend-ui-ux/kit/styles/meadow.json +199 -0
  67. package/skills/frontend-ui-ux/kit/styles/neo-brutalism.json +222 -0
  68. package/skills/frontend-ui-ux/kit/ui.js +226 -0
  69. package/skills/frontend-ui-ux/references/brand-and-imagery.md +2 -2
  70. package/skills/frontend-ui-ux/references/complete-contract.md +2 -1
  71. package/skills/frontend-ui-ux/references/craft-floor.md +6 -2
  72. package/skills/frontend-ui-ux/references/default-editorial-pixel.json +3 -0
  73. package/skills/frontend-ui-ux/references/house-styles.md +236 -0
  74. package/skills/frontend-ui-ux/references/motion-guide.md +2 -2
  75. package/skills/frontend-ui-ux/references/production.md +3 -1
  76. package/skills/frontend-ui-ux/references/slop-register.md +4 -4
  77. package/skills/frontend-ui-ux/scripts/design-lock.mjs +400 -0
  78. package/skills/frontend-ui-ux/scripts/pixel-art.mjs +60 -0
  79. package/skills/frontend-ui-ux/scripts/probe-lock.mjs +235 -0
  80. package/skills/frontend-ui-ux/scripts/probe-page.mjs +34 -12
  81. package/skills/frontend-ui-ux/scripts/probe-static.mjs +16 -3
  82. package/skills/frontend-ui-ux/scripts/probe-thresholds.json +8 -2
  83. package/skills/frontend-ui-ux/scripts/probe.mjs +35 -7
  84. package/skills/lit-adhd/SKILL.md +208 -0
  85. package/skills/lit-adhd/references/brief-format.md +43 -0
  86. package/skills/lit-adhd/references/card-examples.md +82 -0
  87. package/skills/lit-adhd/references/status-taxonomy.md +29 -0
  88. package/skills/lit-adhd/scripts/rewind.mjs +835 -0
  89. package/skills/lit-diagram-drawer/SKILL.md +4 -3
  90. package/skills/lit-diagram-drawer/references/style-guide.md +20 -11
  91. package/skills/lit-diagram-drawer/references/type-architecture.md +3 -3
  92. package/skills/lit-diagram-drawer/references/type-dependency.md +1 -1
  93. package/skills/lit-diagram-drawer/references/type-tree.md +3 -3
  94. package/skills/lit-diagram-drawer/references/type-wardley.md +1 -1
  95. package/skills/lit-diagram-drawer/references/verifier-guide.md +1 -0
  96. package/skills/lit-diagram-drawer/scripts/craft-thresholds.json +1 -2
  97. package/skills/lit-diagram-drawer/scripts/visual-quality.mjs +1 -2
  98. package/skills/lit-docx/SKILL.md +2 -1
  99. package/skills/lit-handoff/SKILL.md +2 -0
  100. package/skills/lit-hijack/SKILL.md +422 -0
  101. package/skills/lit-hijack/references/capture-and-provenance.md +87 -0
  102. package/skills/lit-hijack/references/clean-room-build.md +111 -0
  103. package/skills/lit-hijack/references/distil-and-licence.md +100 -0
  104. package/skills/lit-hijack/references/gap-and-port-design.md +126 -0
  105. package/skills/lit-hijack/references/parity-and-report.md +110 -0
  106. package/skills/lit-hijack/scripts/hijack.mjs +993 -0
  107. package/skills/lit-plan/SKILL.md +2 -0
  108. package/skills/lit-pptx/SKILL.md +27 -11
  109. package/skills/lit-pptx/fonts/jetbrains-mono/JetBrainsMono-Bold.ttf +0 -0
  110. package/skills/lit-pptx/fonts/jetbrains-mono/JetBrainsMono-Regular.ttf +0 -0
  111. package/skills/lit-pptx/fonts/jetbrains-mono/OFL.txt +93 -0
  112. package/skills/lit-pptx/fonts/jetbrains-mono/SOURCE.md +17 -0
  113. package/skills/lit-pptx/references/density-and-fill.md +9 -3
  114. package/skills/lit-pptx/references/direction-step.md +21 -6
  115. package/skills/lit-pptx/references/examples/04-lecture-chalk-ko.md +3 -6
  116. package/skills/lit-pptx/references/examples/05-research-talk-paper-en.md +1 -5
  117. package/skills/lit-pptx/references/examples/08-reliability-keynote-night-en.md +0 -4
  118. package/skills/lit-pptx/references/examples/09-status-update-ledger-en.md +2 -2
  119. package/skills/lit-pptx/references/examples/11-forecast-review-night-ko.md +4 -7
  120. package/skills/lit-pptx/references/examples/13-engineering-review-computational-brutalism-ko.md +173 -0
  121. package/skills/lit-pptx/references/examples/14-launch-pitch-neo-brutalism-ko.md +154 -0
  122. package/skills/lit-pptx/references/examples/15-design-lecture-bauhaus-ko.md +139 -0
  123. package/skills/lit-pptx/references/examples/16-community-programme-riso-ko.md +158 -0
  124. package/skills/lit-pptx/references/examples/17-public-data-briefing-newsroom-ko.md +179 -0
  125. package/skills/lit-pptx/references/layout-families.md +65 -47
  126. package/skills/lit-pptx/references/title-treatments.md +83 -134
  127. package/skills/lit-pptx/references/tonalities/atlas.md +3 -3
  128. package/skills/lit-pptx/references/tonalities/bauhaus.md +140 -0
  129. package/skills/lit-pptx/references/tonalities/chalk.md +7 -6
  130. package/skills/lit-pptx/references/tonalities/computational-brutalism.md +150 -0
  131. package/skills/lit-pptx/references/tonalities/gazette.md +1 -1
  132. package/skills/lit-pptx/references/tonalities/ledger.md +1 -1
  133. package/skills/lit-pptx/references/tonalities/neo-brutalism.md +161 -0
  134. package/skills/lit-pptx/references/tonalities/newsroom.md +144 -0
  135. package/skills/lit-pptx/references/tonalities/night.md +1 -1
  136. package/skills/lit-pptx/references/tonalities/paper.md +2 -2
  137. package/skills/lit-pptx/references/tonalities/riso.md +137 -0
  138. package/skills/lit-pptx/references/tonalities/signal.md +3 -3
  139. package/skills/lit-pptx/references/tonalities/studio.md +7 -6
  140. package/skills/lit-pptx/run.mjs +2 -1
  141. package/skills/lit-pptx/scripts/compile-deck.js +1 -1
  142. package/skills/lit-pptx/scripts/craft-thresholds.json +4 -8
  143. package/skills/lit-pptx/scripts/craft_extras.py +56 -3
  144. package/skills/lit-pptx/scripts/deck_output.py +75 -90
  145. package/skills/lit-pptx/scripts/embed_fonts.py +13 -1
  146. package/skills/lit-pptx/scripts/layout_inventory.py +12 -5
  147. package/skills/lit-pptx/scripts/lib/grid-resolver.js +101 -110
  148. package/skills/lit-pptx/scripts/lib/layout-resolver.js +9 -15
  149. package/skills/lit-pptx/scripts/lib/render-pack.js +373 -566
  150. package/skills/lit-pptx/scripts/lib/slide-grid.js +104 -0
  151. package/skills/lit-pptx/scripts/lib/template-registry.js +57 -6
  152. package/skills/lit-pptx/scripts/qa_deck.py +10 -11
  153. package/skills/lit-pptx/scripts/render_pages.py +118 -0
  154. package/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +1 -1
  155. package/skills/lit-pptx/templates/tonalities/bauhaus/pack.yaml +98 -0
  156. package/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +1 -1
  157. package/skills/lit-pptx/templates/tonalities/computational-brutalism/pack.yaml +99 -0
  158. package/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +1 -1
  159. package/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +1 -1
  160. package/skills/lit-pptx/templates/tonalities/neo-brutalism/pack.yaml +107 -0
  161. package/skills/lit-pptx/templates/tonalities/newsroom/pack.yaml +99 -0
  162. package/skills/lit-pptx/templates/tonalities/night/pack.yaml +1 -1
  163. package/skills/lit-pptx/templates/tonalities/paper/pack.yaml +1 -1
  164. package/skills/lit-pptx/templates/tonalities/riso/pack.yaml +99 -0
  165. package/skills/lit-pptx/templates/tonalities/signal/pack.yaml +2 -2
  166. package/skills/lit-pptx/templates/tonalities/studio/pack.yaml +1 -1
  167. package/skills/lit-recap/SKILL.md +4 -0
  168. package/skills/lit-schematic/SKILL.md +118 -0
  169. package/skills/lit-schematic/examples/iso-heat-exchanger/build.mjs +38 -0
  170. package/skills/lit-schematic/examples/iso-heat-exchanger/scene.mjs +133 -0
  171. package/skills/lit-schematic/examples/journal-adsorption-rig/build.mjs +87 -0
  172. package/skills/lit-schematic/examples/pid-dosing-skid/build.mjs +85 -0
  173. package/skills/lit-schematic/references/cutaway-outputs.md +70 -0
  174. package/skills/lit-schematic/references/isometric-craft.md +101 -0
  175. package/skills/lit-schematic/references/journal-figures.md +72 -0
  176. package/skills/lit-schematic/references/kit-api.md +134 -0
  177. package/skills/lit-schematic/references/pfd-and-layout.md +53 -0
  178. package/skills/lit-schematic/references/pid-drafting.md +103 -0
  179. package/skills/lit-schematic/references/pid-symbols.md +163 -0
  180. package/skills/lit-schematic/references/verification.md +100 -0
  181. package/skills/lit-schematic/scripts/doctor.mjs +57 -0
  182. package/skills/lit-schematic/scripts/lib/figure.mjs +81 -0
  183. package/skills/lit-schematic/scripts/lib/fonts.mjs +25 -0
  184. package/skills/lit-schematic/scripts/lib/geom.mjs +113 -0
  185. package/skills/lit-schematic/scripts/lib/interactive.mjs +292 -0
  186. package/skills/lit-schematic/scripts/lib/isa.mjs +115 -0
  187. package/skills/lit-schematic/scripts/lib/iso.mjs +719 -0
  188. package/skills/lit-schematic/scripts/lib/legend-sheet.mjs +162 -0
  189. package/skills/lit-schematic/scripts/lib/pid.mjs +937 -0
  190. package/skills/lit-schematic/scripts/lib/png.mjs +132 -0
  191. package/skills/lit-schematic/scripts/lib/qa-core.mjs +658 -0
  192. package/skills/lit-schematic/scripts/lib/route.mjs +218 -0
  193. package/skills/lit-schematic/scripts/lib/sheet.mjs +890 -0
  194. package/skills/lit-schematic/scripts/lib/svg.mjs +82 -0
  195. package/skills/lit-schematic/scripts/lib/theme.mjs +115 -0
  196. package/skills/lit-schematic/scripts/motion.mjs +129 -0
  197. package/skills/lit-schematic/scripts/qa.mjs +92 -0
  198. package/skills/lit-schematic/scripts/render.mjs +233 -0
  199. package/skills/lit-schematic/scripts/scaffold.mjs +60 -0
  200. package/skills/lit-scientific-visualization/SKILL.md +27 -4
  201. package/skills/lit-typographic-motion/SKILL.md +19 -17
  202. package/skills/lit-typographic-motion/THIRD_PARTY_NOTICES +9 -0
  203. package/skills/lit-typographic-motion/engine/accents.mjs +6 -0
  204. package/skills/lit-typographic-motion/engine/assets.mjs +282 -0
  205. package/skills/lit-typographic-motion/engine/blender/runner.py +228 -0
  206. package/skills/lit-typographic-motion/engine/blender.mjs +126 -0
  207. package/skills/lit-typographic-motion/engine/board.mjs +138 -0
  208. package/skills/lit-typographic-motion/engine/cover/assets.mjs +11 -8
  209. package/skills/lit-typographic-motion/engine/cover/capture.mjs +6 -6
  210. package/skills/lit-typographic-motion/engine/cover/render.mjs +20 -7
  211. package/skills/lit-typographic-motion/engine/cover/treatment.mjs +30 -3
  212. package/skills/lit-typographic-motion/engine/fill.mjs +54 -0
  213. package/skills/lit-typographic-motion/engine/gallery.mjs +118 -0
  214. package/skills/lit-typographic-motion/engine/house.mjs +42 -0
  215. package/skills/lit-typographic-motion/engine/look.mjs +65 -8
  216. package/skills/lit-typographic-motion/engine/loudness.mjs +101 -0
  217. package/skills/lit-typographic-motion/engine/scaffold.mjs +219 -0
  218. package/skills/lit-typographic-motion/engine/score.mjs +594 -0
  219. package/skills/lit-typographic-motion/engine/sound.mjs +9 -57
  220. package/skills/lit-typographic-motion/engine/stage/capture.mjs +23 -9
  221. package/skills/lit-typographic-motion/engine/stage/clock.js +8 -2
  222. package/skills/lit-typographic-motion/engine/stage/cover-init.js +12 -1
  223. package/skills/lit-typographic-motion/engine/stage/frame-worker.mjs +15 -7
  224. package/skills/lit-typographic-motion/engine/stage/gate.mjs +48 -4
  225. package/skills/lit-typographic-motion/engine/stage/qa-page.js +16 -5
  226. package/skills/lit-typographic-motion/engine/stage/qa.mjs +148 -7
  227. package/skills/lit-typographic-motion/engine/stage/render.mjs +69 -7
  228. package/skills/lit-typographic-motion/engine/stage/scan.mjs +20 -1
  229. package/skills/lit-typographic-motion/engine/stage/stage-kit.js +85 -4
  230. package/skills/lit-typographic-motion/engine/stills.mjs +1 -1
  231. package/skills/lit-typographic-motion/engine/styles.mjs +221 -0
  232. package/skills/lit-typographic-motion/engine/text.mjs +1 -1
  233. package/skills/lit-typographic-motion/engine/treatment.mjs +190 -6
  234. package/skills/lit-typographic-motion/engine/vendor/three/LICENSE +21 -0
  235. package/skills/lit-typographic-motion/engine/vendor/three/addons/environments/RoomEnvironment.js +144 -0
  236. package/skills/lit-typographic-motion/engine/vendor/three/addons/geometries/RoundedBoxGeometry.js +155 -0
  237. package/skills/lit-typographic-motion/engine/vendor/three/three.module.js +54571 -0
  238. package/skills/lit-typographic-motion/gate.mjs +18 -2
  239. package/skills/lit-typographic-motion/probe.mjs +13 -1
  240. package/skills/lit-typographic-motion/recipes/hero-3d/expected.json +64 -0
  241. package/skills/lit-typographic-motion/recipes/hero-3d/index.html +132 -0
  242. package/skills/lit-typographic-motion/recipes/orbit-loop/expected.json +2 -0
  243. package/skills/lit-typographic-motion/recipes/painted-light/expected.json +2 -0
  244. package/skills/lit-typographic-motion/recipes/weight-tide/expected.json +2 -0
  245. package/skills/lit-typographic-motion/references/cover.md +56 -13
  246. package/skills/lit-typographic-motion/references/craft-loop.md +20 -7
  247. package/skills/lit-typographic-motion/references/depth.md +112 -0
  248. package/skills/lit-typographic-motion/references/runtime.md +21 -6
  249. package/skills/lit-typographic-motion/references/sound.md +76 -0
  250. package/skills/lit-typographic-motion/references/stage.md +50 -7
  251. package/skills/lit-typographic-motion/references/studio.md +162 -0
  252. package/skills/lit-typographic-motion/references/style-bibles.md +18 -0
  253. package/skills/lit-typographic-motion/references/treatment.md +108 -9
  254. package/skills/lit-typographic-motion/render.mjs +60 -3
  255. package/skills/lit-typographic-motion/requirements-audio.txt +3 -3
  256. package/skills/lit-typographic-motion/styles/paper.json +185 -0
  257. package/skills/lit-typographic-motion/styles/swiss-signal.json +188 -0
  258. package/skills/lit-typographic-motion/styles/terminalcore.json +182 -0
  259. package/skills/lit-typographic-motion/styles/tidal.json +187 -0
  260. package/skills/litresearch/SKILL.md +2 -0
  261. package/skills/managed-skill-manifest.json +520 -91
  262. package/skills/readme-studio/SKILL.md +1 -1
  263. package/skills/readme-studio/templates/hyperframes/package-lock.json +3 -3
  264. package/skills/readme-studio/templates/remotion/package-lock.json +3 -3
  265. package/skills/review-work/SKILL.md +2 -0
  266. package/skills/start-work/SKILL.md +8 -0
  267. package/skills/workflow-loop/SKILL.md +4 -0
  268. package/tools/check-pack-payload.mjs +4 -2
  269. package/tools/payload-substance-parity.json +4 -3
  270. package/tools/qa-cover-recipes.mjs +4 -3
@@ -0,0 +1,114 @@
1
+ <!doctype html>
2
+ <html lang="{{lang: en or ko}}">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>{{Settings}} · {{Product}}</title>
7
+ <link rel="stylesheet" href="ui/tokens.css">
8
+ <link rel="stylesheet" href="ui/components.css">
9
+ <script src="ui/ui.js" defer></script>
10
+ </head>
11
+ <body>
12
+ <!-- Settings starter (kit/layouts/settings.html): one column of sections capped near 720 px,
13
+ a section index beside it on wide screens, labels above fields, errors beside their field
14
+ on blur, one save bar that shows saving, saved and error in words. Destructive actions
15
+ sit last, behind a confirmation that names the thing being destroyed. Replace every
16
+ {{slot}} (DS-006 flags leftovers). -->
17
+ <a class="ui-skip" href="#main">{{Skip to content}}</a>
18
+ <header class="ui-sitebar">
19
+ <div class="ui-container ui-container--wide ui-sitebar__inner">
20
+ <a class="ui-brand" href="#main">{{Product}}</a>
21
+ <p class="ui-meta">{{Workspace or account name}}</p>
22
+ </div>
23
+ </header>
24
+
25
+ <div class="ui-container ui-container--wide">
26
+ <div class="ui-page">
27
+ <!-- The small signature moment, usually a header detail (the workspace's own mark, plan or
28
+ status set with care); mark the one element that carries it. -->
29
+ <div class="ui-page__head" data-ui-moment="{{small moment kind from design.lock.json, or move it}}">
30
+ <div class="ui-stack ui-stack--tight">
31
+ <h1 class="ui-page__title">{{Settings}}</h1>
32
+ <p class="ui-meta">{{What these settings affect}}</p>
33
+ </div>
34
+ </div>
35
+
36
+ <div class="ui-settings">
37
+ <nav class="ui-settings__nav" aria-label="{{Settings sections}}">
38
+ <ul class="ui-navlist">
39
+ <li><a href="#general" aria-current="true">{{General}}</a></li>
40
+ <li><a href="#{{id}}">{{Section}}</a></li>
41
+ <li><a href="#danger">{{Danger zone}}</a></li>
42
+ </ul>
43
+ </nav>
44
+
45
+ <main class="ui-settings__body" id="main">
46
+ <form id="settings-form" class="ui-settings__body" novalidate>
47
+ <section class="ui-panel ui-setting-section" id="general" aria-labelledby="general-title">
48
+ <div class="ui-setting-section__head">
49
+ <h2 class="ui-h3" id="general-title">{{General}}</h2>
50
+ <p class="ui-meta">{{What this section controls}}</p>
51
+ </div>
52
+ <div class="ui-field">
53
+ <label class="ui-field__label" for="name">{{Field label}}</label>
54
+ <input class="ui-input" id="name" name="name" required aria-describedby="name-hint name-error">
55
+ <p class="ui-field__hint" id="name-hint">{{Rule stated before the user types}}</p>
56
+ <p class="ui-field__error" id="name-error" hidden>{{What went wrong and how to fix it}}</p>
57
+ </div>
58
+ <div class="ui-field">
59
+ <label class="ui-field__label" for="slug">{{Address}}</label>
60
+ <div class="ui-input-group">
61
+ <span class="ui-input-group__addon">{{example.com/}}</span>
62
+ <input class="ui-input" id="slug" name="slug" required aria-describedby="slug-hint slug-error">
63
+ </div>
64
+ <p class="ui-field__hint" id="slug-hint">{{Allowed characters and length}}</p>
65
+ <p class="ui-field__error" id="slug-error" hidden>{{…}}</p>
66
+ </div>
67
+ </section>
68
+
69
+ <section class="ui-panel ui-setting-section" id="{{id}}" aria-labelledby="{{id}}-title">
70
+ <div class="ui-setting-section__head">
71
+ <h2 class="ui-h3" id="{{id}}-title">{{Section}}</h2>
72
+ </div>
73
+ <label class="ui-switch"><span class="ui-stack ui-stack--tight"><span>{{What turns on}}</span><span class="ui-meta">{{consequence}}</span></span><input type="checkbox" role="switch"></label>
74
+ </section>
75
+
76
+ <div class="ui-savebar" role="region" aria-label="{{Save changes}}">
77
+ <p class="ui-status" id="save-state" role="status" aria-live="polite">{{No unsaved changes}}</p>
78
+ <div class="ui-form-actions">
79
+ <button class="ui-btn ui-btn--quiet" type="reset">{{Discard}}</button>
80
+ <button class="ui-btn ui-btn--primary" type="submit">{{Save changes}}</button>
81
+ </div>
82
+ </div>
83
+ </form>
84
+
85
+ <section class="ui-panel ui-setting-section ui-setting-section--danger" id="danger" aria-labelledby="danger-title">
86
+ <div class="ui-setting-section__head">
87
+ <h2 class="ui-h3" id="danger-title">{{Danger zone}}</h2>
88
+ <p class="ui-meta">{{What is lost, and that it cannot be undone}}</p>
89
+ </div>
90
+ <div><button class="ui-btn ui-btn--danger" type="button" id="delete-open">{{Delete …}}</button></div>
91
+ </section>
92
+ </main>
93
+ </div>
94
+ </div>
95
+ </div>
96
+
97
+ <dialog class="ui-dialog" id="delete-dialog" aria-labelledby="delete-title">
98
+ <form method="dialog">
99
+ <div class="ui-dialog__body">
100
+ <h2 class="ui-h3" id="delete-title">{{Delete name?}}</h2>
101
+ <p class="ui-muted">{{Exactly what disappears}}</p>
102
+ <div class="ui-field">
103
+ <label class="ui-field__label" for="confirm">{{Type the name to confirm}}</label>
104
+ <input class="ui-input" id="confirm" autocomplete="off">
105
+ </div>
106
+ </div>
107
+ <div class="ui-dialog__actions">
108
+ <button class="ui-btn" type="submit" value="cancel">{{Cancel}}</button>
109
+ <button class="ui-btn ui-btn--danger" type="submit" value="confirm" id="delete-confirm" disabled>{{Delete permanently}}</button>
110
+ </div>
111
+ </form>
112
+ </dialog>
113
+ </body>
114
+ </html>
@@ -0,0 +1,115 @@
1
+ <!doctype html>
2
+ <html lang="{{lang: en or ko}}">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>{{Screen}} · {{Product}}</title>
7
+ <link rel="stylesheet" href="ui/tokens.css">
8
+ <link rel="stylesheet" href="ui/components.css">
9
+ <script src="ui/ui.js" defer></script>
10
+ </head>
11
+ <body>
12
+ <!-- Workspace starter (kit/layouts/workspace.html): an app shell for screens people work in.
13
+ The first viewport is the working content: headline figures, then the main view. No hero,
14
+ no tagline, no illustration block. Replace every {{slot}} (DS-006 flags leftovers). -->
15
+ <a class="ui-skip" href="#main">{{Skip to content}}</a>
16
+ <div class="ui-app">
17
+ <aside class="ui-app__nav" aria-label="{{Product}}">
18
+ <a class="ui-brand" href="#main">{{Product}}</a>
19
+ <nav class="ui-navgroup" aria-label="{{Sections}}">
20
+ <p class="ui-navgroup__label">{{Group}}</p>
21
+ <ul class="ui-navlist">
22
+ <li><a href="#main" aria-current="page">{{This screen}}</a></li>
23
+ <li><a href="#{{id}}">{{Other screen}}</a></li>
24
+ </ul>
25
+ </nav>
26
+ </aside>
27
+
28
+ <div class="ui-app__main">
29
+ <header class="ui-topbar">
30
+ <div class="ui-stack ui-stack--tight">
31
+ <h1 class="ui-page__title">{{Screen title}}</h1>
32
+ <p class="ui-meta">{{Scope and freshness, e.g. "Today · data as of 14:20"}}</p>
33
+ </div>
34
+ <div class="ui-cluster">
35
+ <!-- One primary action at most; the rest stay quiet. -->
36
+ <button class="ui-btn ui-btn--sm" type="button">{{Secondary}}</button>
37
+ </div>
38
+ </header>
39
+
40
+ <main class="ui-page" id="main">
41
+ <!-- Headline figures: each one is a number the user acts on, with its comparison. -->
42
+ <section class="ui-stat-row" aria-label="{{Headline figures}}">
43
+ <div class="ui-stat">
44
+ <p class="ui-stat__label">{{Figure}}</p>
45
+ <div class="ui-stat__value">{{value}} <small>{{unit or of total}}</small></div>
46
+ <p class="ui-stat__note">{{comparison: target, yesterday, or what it means}}</p>
47
+ </div>
48
+ <div class="ui-stat">…</div>
49
+ <div class="ui-stat">…</div>
50
+ <div class="ui-stat">…</div>
51
+ </section>
52
+
53
+ <div class="ui-workgrid">
54
+ <!-- The small signature moment (chart, empty-state or header-detail): mark the one element
55
+ that carries it; the rest of the screen stays calm. -->
56
+ <section class="ui-panel ui-span-8" aria-labelledby="chart-title" data-ui-moment="{{small moment kind from design.lock.json, or move it}}">
57
+ <div class="ui-panel__head">
58
+ <h2 class="ui-panel__title" id="chart-title">{{Chart title that states the question}}</h2>
59
+ <p class="ui-meta">{{what the marks mean}}</p>
60
+ </div>
61
+ <!-- UI.bars(document.getElementById('chart'), { labels, series: [{ name, values, role: 'chart-1' }], marker: { index, label }, caption }) -->
62
+ <div id="chart"></div>
63
+ </section>
64
+
65
+ <section class="ui-panel ui-panel--accent-2 ui-span-4" aria-labelledby="side-title">
66
+ <div class="ui-panel__head">
67
+ <h2 class="ui-panel__title" id="side-title">{{Exceptions or alerts}}</h2>
68
+ <p class="ui-meta">{{count and period}}</p>
69
+ </div>
70
+ <ul class="ui-list ui-scroll">
71
+ <li>
72
+ <div class="ui-stack ui-stack--tight"><strong>{{item}}</strong><span class="ui-meta">{{detail}}</span></div>
73
+ <span class="ui-status ui-status--negative">{{state in words}}</span>
74
+ </li>
75
+ </ul>
76
+ </section>
77
+
78
+ <section class="ui-panel ui-panel--flush ui-span-12" aria-labelledby="table-title">
79
+ <div class="ui-panel__head">
80
+ <h2 class="ui-panel__title" id="table-title">{{Records}}</h2>
81
+ <div class="ui-toolbar">
82
+ <div class="ui-segmented" role="group" aria-label="{{Filter by status}}">
83
+ <button type="button" aria-pressed="true">{{All}} <span class="ui-count">{{n}}</span></button>
84
+ <button type="button" aria-pressed="false">{{Status}} <span class="ui-count">{{n}}</span></button>
85
+ </div>
86
+ <label class="ui-search"><span class="ui-visually-hidden">{{Search}}</span><input class="ui-input" type="search" placeholder="{{Search by …}}"></label>
87
+ </div>
88
+ </div>
89
+ <div class="ui-table-wrap" style="border: 0; border-radius: 0">
90
+ <table class="ui-table ui-table--compact ui-table--stack" data-ui-sortable>
91
+ <thead>
92
+ <tr>
93
+ <th scope="col" aria-sort="ascending"><button class="ui-sort">{{Column}}</button></th>
94
+ <th scope="col"><button class="ui-sort">{{Column}}</button></th>
95
+ <th scope="col" class="is-num"><button class="ui-sort">{{Number}}</button></th>
96
+ <th scope="col"><button class="ui-sort">{{Status}}</button></th>
97
+ </tr>
98
+ </thead>
99
+ <tbody>
100
+ <tr>
101
+ <td data-label="{{Column}}">{{value}}</td>
102
+ <td data-label="{{Column}}">{{value}}</td>
103
+ <td data-label="{{Number}}" class="is-num" data-value="{{raw number}}">{{formatted}}</td>
104
+ <td data-label="{{Status}}"><span class="ui-status ui-status--positive">{{state}}</span></td>
105
+ </tr>
106
+ </tbody>
107
+ </table>
108
+ </div>
109
+ </section>
110
+ </div>
111
+ </main>
112
+ </div>
113
+ </div>
114
+ </body>
115
+ </html>
@@ -0,0 +1,227 @@
1
+ {
2
+ "schema_id": "litopencode.frontend-style/v1",
3
+ "id": "computational-brutalism",
4
+ "name": "Computational brutalism",
5
+ "summary": "A retro-futurist instrument register with its structure on show: drafting-film grey over a plotting grid with major lines every five cells, monospaced text and mono headings at real size, square corners, heavy 3 px section rules and 2 px compartments with inverse header bars, coordinate-marked sections, uppercase measurement labels and one hazard-orange signal; in dark mode the same build reads as a phosphor CRT with an amber signal. Flat: no blur, no soft elevation.",
6
+ "use_when": [
7
+ "opt-in only: the brief names brutalist, brutalism, computational, retro-futurist, CRT, terminal or telemetry, or the Korean 브루탈리즘, 레트로퓨처 or 터미널 감성",
8
+ "developer tools, consoles, data instruments, research or engineering products that want a raw, mechanical, high-density voice",
9
+ "a launch page for a technical product that should read as a spec sheet rather than a brochure"
10
+ ],
11
+ "avoid_when": [
12
+ "the brief asks for warmth, softness, play or a consumer-friendly tone",
13
+ "long-form reading for a general audience (monospaced body text slows it down)",
14
+ "the brief says neo-brutalism or neo-brutalist (that is the neo-brutalism style)"
15
+ ],
16
+ "keywords": [
17
+ "computational brutalism",
18
+ "computational-brutalism",
19
+ "brutalist",
20
+ "brutalism",
21
+ "retro-futurist",
22
+ "retro-futurism",
23
+ "retrofuturist",
24
+ "retrofuturism",
25
+ "retro futurist",
26
+ "crt",
27
+ "terminal aesthetic",
28
+ "telemetry",
29
+ "브루탈리즘",
30
+ "브루탈리스트",
31
+ "브루탈",
32
+ "레트로퓨처",
33
+ "레트로 퓨처",
34
+ "레트로퓨처리즘",
35
+ "터미널 감성"
36
+ ],
37
+ "signature": [
38
+ "an exposed plotting grid: a faint 32 px grid with a stronger line every 160 px, and blocks that sit on it",
39
+ "mono type at real scale: body, headings, figures and the signature moment in JetBrains Mono, the display title in heavy uppercase Pretendard",
40
+ "raw structure on purpose: 3 px section rules, 2 px compartments in line-strong, panel heads as inverse ink bars, square corners everywhere (status dots stay round)",
41
+ "measurement and index labels: every section carries a data-coord label on its rule (sheet, grid reference, revision), ui-coord and ui-ruler name real sizes and positions, ui-frame adds registration crosses",
42
+ "uppercase mono meta: labels, table heads, nav groups, tags and legends in capitals with 0.08 em tracking",
43
+ "a strong signal colour plus a plotter-blue second accent: hazard orange in light, amber phosphor in dark, on the primary action and the figure that matters; plotter blue on the second series and featured compartments; phosphor green as the support tint",
44
+ "terminal and CRT detail: a ui-prompt with a static block cursor, ui-scan scanlines on readouts (never over body text), stepped motion (steps(3, end))"
45
+ ],
46
+ "forbid": [
47
+ "rounded corners, pills and soft cards (DS-005 reports any radius off the lock)",
48
+ "blurred or soft drop shadows and offset shadows (DS-007: the lock declares flat elevation)",
49
+ "gradients other than the plotting grid, glassmorphism, glow and neon bloom (CF-404 and the slop register report them)",
50
+ "rainbow charts, more than four accent hue families in one view, or decorative emoji",
51
+ "scanlines or noise over body text; flicker, blinking cursors or animated scan effects",
52
+ "decorative fake data: every coordinate, revision, grid reference or unit id must label something on the page",
53
+ "hiding the structure: borderless floating cards, centred hero text over empty space"
54
+ ],
55
+ "fonts": {
56
+ "text": "JetBrains Mono",
57
+ "display": "Pretendard",
58
+ "mono": "JetBrains Mono"
59
+ },
60
+ "type": {
61
+ "scale_px": {
62
+ "xs": 12,
63
+ "sm": 13,
64
+ "md": 14,
65
+ "base": 16,
66
+ "lg": 18,
67
+ "xl": 20,
68
+ "2xl": 24,
69
+ "3xl": 30,
70
+ "4xl": 38,
71
+ "5xl": 48
72
+ },
73
+ "display_px": {
74
+ "min": 40,
75
+ "max": 88
76
+ },
77
+ "moment_px": {
78
+ "max": 168
79
+ },
80
+ "weights": {
81
+ "text": 400,
82
+ "medium": 500,
83
+ "strong": 700,
84
+ "display": 820
85
+ },
86
+ "tracking_em": {
87
+ "display": -0.035,
88
+ "label": 0.08
89
+ },
90
+ "leading": {
91
+ "body": 1.6,
92
+ "tight": 1.3,
93
+ "display_latin": 0.98,
94
+ "display_korean": 1.14
95
+ }
96
+ },
97
+ "space_px": [
98
+ 4,
99
+ 8,
100
+ 12,
101
+ 16,
102
+ 20,
103
+ 24,
104
+ 32,
105
+ 40,
106
+ 48,
107
+ 64,
108
+ 80,
109
+ 96,
110
+ 128
111
+ ],
112
+ "radius_px": {
113
+ "xs": 0,
114
+ "sm": 0,
115
+ "md": 0,
116
+ "lg": 0,
117
+ "pill": 0
118
+ },
119
+ "shadow": {
120
+ "raised": "none",
121
+ "overlay": "0 0 0 1px var(--c-ink)"
122
+ },
123
+ "motion": {
124
+ "fast_ms": 80,
125
+ "ui_ms": 120,
126
+ "enter_ms": 240,
127
+ "exit_ms": 100,
128
+ "ease": "steps(3, end)"
129
+ },
130
+ "shape": {
131
+ "border_px": {
132
+ "rule": 3,
133
+ "surface": 2,
134
+ "control": 2
135
+ },
136
+ "surface_line": "line-strong",
137
+ "control_edge": "control",
138
+ "elevation": "flat",
139
+ "offset_px": {
140
+ "surface": 0,
141
+ "control": 0
142
+ },
143
+ "press": "none",
144
+ "meta_font": "mono",
145
+ "meta_case": "uppercase",
146
+ "display_case": "uppercase",
147
+ "canvas_pattern": "plot",
148
+ "heading_font": "mono",
149
+ "panel_head": "inverse",
150
+ "section_marks": "coord"
151
+ },
152
+ "color": {
153
+ "light": {
154
+ "canvas": "#e6e7e3",
155
+ "surface": "#f4f4f1",
156
+ "sunken": "#dadbd6",
157
+ "ink": "#0d0e0d",
158
+ "ink-2": "#2f322f",
159
+ "ink-3": "#4d514d",
160
+ "line": "#c3c5bf",
161
+ "line-strong": "#3a3d3a",
162
+ "control": "#666a66",
163
+ "accent": "#c8370c",
164
+ "accent-hover": "#a92d09",
165
+ "on-accent": "#ffffff",
166
+ "accent-wash": "#f3dccf",
167
+ "accent-ink": "#a12b07",
168
+ "accent-2": "#1559b8",
169
+ "accent-2-ink": "#134e9e",
170
+ "accent-2-wash": "#dbe6f5",
171
+ "on-accent-2": "#ffffff",
172
+ "support": "#cfe6c7",
173
+ "support-ink": "#1d4a17",
174
+ "focus": "#c8370c",
175
+ "positive": "#1d6b2c",
176
+ "positive-wash": "#d4ead4",
177
+ "warning": "#734e00",
178
+ "warning-wash": "#f1e3c0",
179
+ "negative": "#b0131a",
180
+ "negative-wash": "#f4d6d4",
181
+ "info": "#1f4f8a",
182
+ "info-wash": "#d7e2ef",
183
+ "chart-1": "#0d0e0d",
184
+ "chart-2": "#c8370c",
185
+ "chart-3": "#666a66",
186
+ "chart-4": "#b4b7b0",
187
+ "chart-5": "#2f8a3a"
188
+ },
189
+ "dark": {
190
+ "canvas": "#0b0d0b",
191
+ "surface": "#111411",
192
+ "sunken": "#070807",
193
+ "ink": "#c8f5c0",
194
+ "ink-2": "#a2d39b",
195
+ "ink-3": "#7eab78",
196
+ "line": "#1f2a1f",
197
+ "line-strong": "#44633f",
198
+ "control": "#557a50",
199
+ "accent": "#ffb000",
200
+ "accent-hover": "#ffc233",
201
+ "on-accent": "#120c00",
202
+ "accent-wash": "#2a1f05",
203
+ "accent-ink": "#ffbf3d",
204
+ "accent-2": "#5aa8ff",
205
+ "accent-2-ink": "#7dbbff",
206
+ "accent-2-wash": "#10243a",
207
+ "on-accent-2": "#06121f",
208
+ "support": "#173016",
209
+ "support-ink": "#b6f0ab",
210
+ "focus": "#ffb000",
211
+ "positive": "#6fe07a",
212
+ "positive-wash": "#0f2a12",
213
+ "warning": "#ffcf5a",
214
+ "warning-wash": "#2c2307",
215
+ "negative": "#ff7b6b",
216
+ "negative-wash": "#331410",
217
+ "info": "#7cc4ff",
218
+ "info-wash": "#0e2233",
219
+ "chart-1": "#c8f5c0",
220
+ "chart-2": "#ffb000",
221
+ "chart-3": "#5f8f5a",
222
+ "chart-4": "#2f452d",
223
+ "chart-5": "#ff7b6b"
224
+ }
225
+ },
226
+ "accent_art": "instrument"
227
+ }
@@ -0,0 +1,205 @@
1
+ {
2
+ "schema_id": "litopencode.frontend-style/v1",
3
+ "id": "field-notes",
4
+ "name": "Field notes",
5
+ "summary": "The authored LitOpenCode house look: warm paper, deep ink, a terracotta accent with a deep-teal second accent, mist as the quiet tint, thin rules instead of shadows, notebook-dot paper, a large editorial title and small lowercase terminal labels. Read-once pages carry an original pixel-art motif; work surfaces keep the palette and type and drop the art to a small accent.",
6
+ "use_when": [
7
+ "default for read-once pages (landing family) when the brief gives no visual direction: landing, launch, portfolio, docs home, reports",
8
+ "the brief asks for an editorial, warm-paper or pixel-art voice on any surface"
9
+ ],
10
+ "avoid_when": [
11
+ "work surfaces with no direction (graphite is their default)",
12
+ "the brief or an existing brand names other colours or type"
13
+ ],
14
+ "keywords": [
15
+ "field-notes",
16
+ "field notes",
17
+ "pixel art",
18
+ "픽셀 아트",
19
+ "픽셀아트"
20
+ ],
21
+ "signature": [
22
+ "warm paper, deep ink, a terracotta accent with a deep-teal second accent, and mist as the quiet tint",
23
+ "thin 1 px rules instead of shadows on read-once pages",
24
+ "small lowercase mono labels",
25
+ "an original pixel motif on read-once pages (section 5 of house-styles.md)",
26
+ "notebook-dot paper and a warm accent glow on the one atmosphere surface (rich density; a calm lock drops both)"
27
+ ],
28
+ "forbid": [
29
+ "heavy or coloured shadows on controls, and glass",
30
+ "violet-to-blue gradients, or gradient text in colours the palette does not own",
31
+ "stock illustration or emoji in place of the pixel motif"
32
+ ],
33
+ "fonts": {
34
+ "text": "Pretendard",
35
+ "display": "Pretendard",
36
+ "mono": "JetBrains Mono"
37
+ },
38
+ "type": {
39
+ "scale_px": {
40
+ "xs": 12,
41
+ "sm": 13,
42
+ "md": 14,
43
+ "base": 16,
44
+ "lg": 18,
45
+ "xl": 20,
46
+ "2xl": 24,
47
+ "3xl": 30,
48
+ "4xl": 38,
49
+ "5xl": 48
50
+ },
51
+ "display_px": {
52
+ "min": 40,
53
+ "max": 96
54
+ },
55
+ "moment_px": {
56
+ "max": 144
57
+ },
58
+ "weights": {
59
+ "text": 400,
60
+ "medium": 500,
61
+ "strong": 620,
62
+ "display": 780
63
+ },
64
+ "tracking_em": {
65
+ "display": -0.035,
66
+ "label": 0
67
+ },
68
+ "leading": {
69
+ "body": 1.6,
70
+ "tight": 1.3,
71
+ "display_latin": 1.05,
72
+ "display_korean": 1.18
73
+ }
74
+ },
75
+ "space_px": [
76
+ 4,
77
+ 8,
78
+ 12,
79
+ 16,
80
+ 20,
81
+ 24,
82
+ 32,
83
+ 40,
84
+ 48,
85
+ 64,
86
+ 80,
87
+ 96,
88
+ 128
89
+ ],
90
+ "radius_px": {
91
+ "xs": 2,
92
+ "sm": 4,
93
+ "md": 6,
94
+ "lg": 10,
95
+ "pill": 999
96
+ },
97
+ "shadow": {
98
+ "raised": "none",
99
+ "overlay": "0 12px 32px -8px rgb(24 39 43 / 0.22), 0 2px 6px rgb(24 39 43 / 0.08)"
100
+ },
101
+ "motion": {
102
+ "fast_ms": 120,
103
+ "ui_ms": 180,
104
+ "enter_ms": 420,
105
+ "exit_ms": 160,
106
+ "ease": "cubic-bezier(0.22, 0.8, 0.24, 1)"
107
+ },
108
+ "shape": {
109
+ "border_px": {
110
+ "rule": 1,
111
+ "surface": 1,
112
+ "control": 1
113
+ },
114
+ "surface_line": "line",
115
+ "control_edge": "control",
116
+ "elevation": "soft",
117
+ "offset_px": {
118
+ "surface": 0,
119
+ "control": 0
120
+ },
121
+ "press": "scale",
122
+ "meta_font": "text",
123
+ "meta_case": "none",
124
+ "display_case": "none",
125
+ "canvas_pattern": "dots",
126
+ "heading_font": "display",
127
+ "panel_head": "plain",
128
+ "section_marks": "none"
129
+ },
130
+ "color": {
131
+ "light": {
132
+ "canvas": "#f5f3eb",
133
+ "surface": "#fbfaf6",
134
+ "sunken": "#ece9df",
135
+ "ink": "#18272b",
136
+ "ink-2": "#45545a",
137
+ "ink-3": "#5a686b",
138
+ "line": "#dcd8cb",
139
+ "line-strong": "#b5b0a1",
140
+ "control": "#8a8576",
141
+ "accent": "#c64d2e",
142
+ "accent-hover": "#ad3f23",
143
+ "on-accent": "#ffffff",
144
+ "accent-wash": "#f4e2d8",
145
+ "accent-ink": "#a8401f",
146
+ "accent-2": "#1d6b68",
147
+ "accent-2-ink": "#1a5f5c",
148
+ "accent-2-wash": "#dcece8",
149
+ "on-accent-2": "#ffffff",
150
+ "support": "#b7d8c7",
151
+ "support-ink": "#2e5e48",
152
+ "focus": "#18272b",
153
+ "positive": "#2f6b4f",
154
+ "positive-wash": "#dcebe1",
155
+ "warning": "#8a5a00",
156
+ "warning-wash": "#f3e6c4",
157
+ "negative": "#b3261e",
158
+ "negative-wash": "#f6dcd8",
159
+ "info": "#2b5f86",
160
+ "info-wash": "#dbe7f0",
161
+ "chart-1": "#18272b",
162
+ "chart-2": "#c64d2e",
163
+ "chart-3": "#5f9c80",
164
+ "chart-4": "#b5b0a1",
165
+ "chart-5": "#2b5f86"
166
+ },
167
+ "dark": {
168
+ "canvas": "#111a1c",
169
+ "surface": "#172225",
170
+ "sunken": "#0c1416",
171
+ "ink": "#ece8dc",
172
+ "ink-2": "#bcc3bd",
173
+ "ink-3": "#9aa49f",
174
+ "line": "#263437",
175
+ "line-strong": "#3a4a4e",
176
+ "control": "#6f7f82",
177
+ "accent": "#e2704f",
178
+ "accent-hover": "#ec8566",
179
+ "on-accent": "#1a0f0b",
180
+ "accent-wash": "#3a2219",
181
+ "accent-ink": "#ef8b6c",
182
+ "accent-2": "#5fb3ad",
183
+ "accent-2-ink": "#7cc7c1",
184
+ "accent-2-wash": "#16302e",
185
+ "on-accent-2": "#0b1a19",
186
+ "support": "#1d3329",
187
+ "support-ink": "#a9d3be",
188
+ "focus": "#ece8dc",
189
+ "positive": "#6cc196",
190
+ "positive-wash": "#173327",
191
+ "warning": "#e0b04f",
192
+ "warning-wash": "#352a10",
193
+ "negative": "#f08a80",
194
+ "negative-wash": "#3d1b18",
195
+ "info": "#84b6dc",
196
+ "info-wash": "#15283a",
197
+ "chart-1": "#ece8dc",
198
+ "chart-2": "#e2704f",
199
+ "chart-3": "#8fbfa7",
200
+ "chart-4": "#6b7a76",
201
+ "chart-5": "#84b6dc"
202
+ }
203
+ },
204
+ "accent_art": "pixel"
205
+ }