@mytechtoday/augment-extensions 0.7.0 → 1.2.1

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 (483) hide show
  1. package/AGENTS.md +265 -232
  2. package/README.md +956 -771
  3. package/augment-extensions/coding-standards/bash/README.md +196 -196
  4. package/augment-extensions/coding-standards/bash/module.json +163 -163
  5. package/augment-extensions/coding-standards/bash/rules/naming-conventions.md +336 -336
  6. package/augment-extensions/coding-standards/bash/rules/universal-standards.md +289 -289
  7. package/augment-extensions/coding-standards/css/README.md +40 -40
  8. package/augment-extensions/coding-standards/css/examples/css-examples.css +550 -550
  9. package/augment-extensions/coding-standards/css/module.json +44 -44
  10. package/augment-extensions/coding-standards/css/rules/css-modern-features.md +448 -448
  11. package/augment-extensions/coding-standards/css/rules/css-standards.md +492 -492
  12. package/augment-extensions/coding-standards/html/README.md +40 -40
  13. package/augment-extensions/coding-standards/html/examples/html-examples.html +267 -267
  14. package/augment-extensions/coding-standards/html/examples/responsive-layout.html +505 -505
  15. package/augment-extensions/coding-standards/html/module.json +44 -44
  16. package/augment-extensions/coding-standards/html/rules/html-standards.md +349 -349
  17. package/augment-extensions/coding-standards/html-css-js/README.md +194 -194
  18. package/augment-extensions/coding-standards/html-css-js/examples/async-examples.js +487 -487
  19. package/augment-extensions/coding-standards/html-css-js/examples/css-examples.css +550 -550
  20. package/augment-extensions/coding-standards/html-css-js/examples/dom-examples.js +667 -667
  21. package/augment-extensions/coding-standards/html-css-js/examples/html-examples.html +267 -267
  22. package/augment-extensions/coding-standards/html-css-js/examples/javascript-examples.js +612 -612
  23. package/augment-extensions/coding-standards/html-css-js/examples/responsive-layout.html +505 -505
  24. package/augment-extensions/coding-standards/html-css-js/module.json +48 -48
  25. package/augment-extensions/coding-standards/html-css-js/rules/async-patterns.md +515 -515
  26. package/augment-extensions/coding-standards/html-css-js/rules/css-modern-features.md +448 -448
  27. package/augment-extensions/coding-standards/html-css-js/rules/css-standards.md +492 -492
  28. package/augment-extensions/coding-standards/html-css-js/rules/dom-manipulation.md +439 -439
  29. package/augment-extensions/coding-standards/html-css-js/rules/html-standards.md +349 -349
  30. package/augment-extensions/coding-standards/html-css-js/rules/javascript-standards.md +486 -486
  31. package/augment-extensions/coding-standards/html-css-js/rules/performance.md +463 -463
  32. package/augment-extensions/coding-standards/html-css-js/rules/tooling.md +543 -543
  33. package/augment-extensions/coding-standards/js/README.md +46 -46
  34. package/augment-extensions/coding-standards/js/examples/async-examples.js +487 -487
  35. package/augment-extensions/coding-standards/js/examples/dom-examples.js +667 -667
  36. package/augment-extensions/coding-standards/js/examples/javascript-examples.js +612 -612
  37. package/augment-extensions/coding-standards/js/module.json +49 -49
  38. package/augment-extensions/coding-standards/js/rules/async-patterns.md +515 -515
  39. package/augment-extensions/coding-standards/js/rules/dom-manipulation.md +439 -439
  40. package/augment-extensions/coding-standards/js/rules/javascript-standards.md +486 -486
  41. package/augment-extensions/coding-standards/js/rules/performance.md +463 -463
  42. package/augment-extensions/coding-standards/js/rules/tooling.md +543 -543
  43. package/augment-extensions/coding-standards/php/README.md +248 -248
  44. package/augment-extensions/coding-standards/php/examples/api-endpoint-example.php +204 -204
  45. package/augment-extensions/coding-standards/php/examples/cli-command-example.php +206 -206
  46. package/augment-extensions/coding-standards/php/examples/legacy-refactoring-example.php +234 -234
  47. package/augment-extensions/coding-standards/php/examples/web-application-example.php +211 -211
  48. package/augment-extensions/coding-standards/php/examples/woocommerce-extension-example.php +215 -215
  49. package/augment-extensions/coding-standards/php/examples/wordpress-plugin-example.php +189 -189
  50. package/augment-extensions/coding-standards/php/module.json +166 -166
  51. package/augment-extensions/coding-standards/php/rules/api-development.md +480 -480
  52. package/augment-extensions/coding-standards/php/rules/category-configuration.md +332 -332
  53. package/augment-extensions/coding-standards/php/rules/cli-tools.md +472 -472
  54. package/augment-extensions/coding-standards/php/rules/cms-integration.md +561 -561
  55. package/augment-extensions/coding-standards/php/rules/code-quality.md +402 -402
  56. package/augment-extensions/coding-standards/php/rules/documentation.md +425 -425
  57. package/augment-extensions/coding-standards/php/rules/ecommerce.md +627 -627
  58. package/augment-extensions/coding-standards/php/rules/error-handling.md +336 -336
  59. package/augment-extensions/coding-standards/php/rules/legacy-migration.md +677 -677
  60. package/augment-extensions/coding-standards/php/rules/naming-conventions.md +279 -279
  61. package/augment-extensions/coding-standards/php/rules/performance.md +392 -392
  62. package/augment-extensions/coding-standards/php/rules/psr-standards.md +186 -186
  63. package/augment-extensions/coding-standards/php/rules/security.md +358 -358
  64. package/augment-extensions/coding-standards/php/rules/testing.md +403 -403
  65. package/augment-extensions/coding-standards/php/rules/type-declarations.md +331 -331
  66. package/augment-extensions/coding-standards/php/rules/web-applications.md +426 -426
  67. package/augment-extensions/coding-standards/powershell/README.md +154 -154
  68. package/augment-extensions/coding-standards/powershell/examples/admin-example.ps1 +272 -272
  69. package/augment-extensions/coding-standards/powershell/examples/automation-example.ps1 +173 -173
  70. package/augment-extensions/coding-standards/powershell/examples/cloud-example.ps1 +243 -243
  71. package/augment-extensions/coding-standards/powershell/examples/cross-platform-example.ps1 +297 -297
  72. package/augment-extensions/coding-standards/powershell/examples/dsc-example.ps1 +224 -224
  73. package/augment-extensions/coding-standards/powershell/examples/legacy-migration-example.ps1 +340 -340
  74. package/augment-extensions/coding-standards/powershell/examples/module-example.psm1 +255 -255
  75. package/augment-extensions/coding-standards/powershell/module.json +165 -165
  76. package/augment-extensions/coding-standards/powershell/rules/administrative-tools.md +439 -439
  77. package/augment-extensions/coding-standards/powershell/rules/automation-scripts.md +240 -240
  78. package/augment-extensions/coding-standards/powershell/rules/cloud-orchestration.md +384 -384
  79. package/augment-extensions/coding-standards/powershell/rules/configuration-schema.md +383 -383
  80. package/augment-extensions/coding-standards/powershell/rules/cross-platform-scripts.md +482 -482
  81. package/augment-extensions/coding-standards/powershell/rules/dsc-configurations.md +296 -296
  82. package/augment-extensions/coding-standards/powershell/rules/error-handling.md +314 -314
  83. package/augment-extensions/coding-standards/powershell/rules/legacy-migrations.md +466 -466
  84. package/augment-extensions/coding-standards/powershell/rules/modules-functions.md +244 -244
  85. package/augment-extensions/coding-standards/powershell/rules/naming-conventions.md +266 -266
  86. package/augment-extensions/coding-standards/powershell/rules/performance-optimization.md +209 -209
  87. package/augment-extensions/coding-standards/powershell/rules/security-practices.md +314 -314
  88. package/augment-extensions/coding-standards/powershell/rules/testing-guidelines.md +268 -268
  89. package/augment-extensions/coding-standards/powershell/rules/universal-standards.md +197 -197
  90. package/augment-extensions/coding-standards/python/README.md +48 -48
  91. package/augment-extensions/coding-standards/python/examples/best-practices.py +373 -373
  92. package/augment-extensions/coding-standards/python/module.json +30 -30
  93. package/augment-extensions/coding-standards/python/rules/async-patterns.md +884 -884
  94. package/augment-extensions/coding-standards/python/rules/best-practices.md +232 -232
  95. package/augment-extensions/coding-standards/python/rules/code-organization.md +220 -220
  96. package/augment-extensions/coding-standards/python/rules/documentation.md +831 -831
  97. package/augment-extensions/coding-standards/python/rules/error-handling.md +1008 -1008
  98. package/augment-extensions/coding-standards/python/rules/naming-conventions.md +172 -172
  99. package/augment-extensions/coding-standards/python/rules/testing.md +409 -409
  100. package/augment-extensions/coding-standards/python/rules/tooling.md +446 -446
  101. package/augment-extensions/coding-standards/python/rules/type-hints.md +253 -253
  102. package/augment-extensions/coding-standards/react/README.md +45 -45
  103. package/augment-extensions/coding-standards/react/module.json +27 -27
  104. package/augment-extensions/coding-standards/react/rules/component-patterns.md +214 -214
  105. package/augment-extensions/coding-standards/react/rules/hooks-best-practices.md +235 -235
  106. package/augment-extensions/coding-standards/react/rules/performance.md +300 -300
  107. package/augment-extensions/coding-standards/react/rules/state-management.md +265 -265
  108. package/augment-extensions/coding-standards/react/rules/typescript-react.md +271 -271
  109. package/augment-extensions/coding-standards/typescript/README.md +45 -45
  110. package/augment-extensions/coding-standards/typescript/module.json +27 -27
  111. package/augment-extensions/coding-standards/typescript/rules/naming-conventions.md +225 -225
  112. package/augment-extensions/collections/html-css-js/README.md +82 -82
  113. package/augment-extensions/collections/html-css-js/collection.json +41 -41
  114. package/augment-extensions/domain-rules/api-design/README.md +41 -41
  115. package/augment-extensions/domain-rules/api-design/module.json +27 -27
  116. package/augment-extensions/domain-rules/api-design/rules/authentication.md +263 -263
  117. package/augment-extensions/domain-rules/api-design/rules/documentation.md +395 -395
  118. package/augment-extensions/domain-rules/api-design/rules/error-handling.md +290 -290
  119. package/augment-extensions/domain-rules/api-design/rules/graphql-api.md +313 -313
  120. package/augment-extensions/domain-rules/api-design/rules/rest-api.md +214 -214
  121. package/augment-extensions/domain-rules/api-design/rules/versioning.md +268 -268
  122. package/augment-extensions/domain-rules/database/README.md +161 -161
  123. package/augment-extensions/domain-rules/database/examples/flat-database-example.md +793 -793
  124. package/augment-extensions/domain-rules/database/examples/hybrid-database-example.md +1132 -1132
  125. package/augment-extensions/domain-rules/database/examples/nosql-document-example.md +868 -868
  126. package/augment-extensions/domain-rules/database/examples/nosql-graph-example.md +805 -805
  127. package/augment-extensions/domain-rules/database/examples/relational-schema-example.md +621 -621
  128. package/augment-extensions/domain-rules/database/examples/vector-database-example.md +965 -965
  129. package/augment-extensions/domain-rules/database/module.json +28 -28
  130. package/augment-extensions/domain-rules/database/rules/flat-databases.md +624 -624
  131. package/augment-extensions/domain-rules/database/rules/nosql-databases.md +588 -588
  132. package/augment-extensions/domain-rules/database/rules/nosql-document-stores.md +856 -856
  133. package/augment-extensions/domain-rules/database/rules/nosql-graph-databases.md +778 -778
  134. package/augment-extensions/domain-rules/database/rules/nosql-key-value-stores.md +963 -963
  135. package/augment-extensions/domain-rules/database/rules/performance-optimization.md +1076 -1076
  136. package/augment-extensions/domain-rules/database/rules/relational-databases.md +697 -697
  137. package/augment-extensions/domain-rules/database/rules/relational-indexing.md +671 -671
  138. package/augment-extensions/domain-rules/database/rules/relational-query-optimization.md +607 -607
  139. package/augment-extensions/domain-rules/database/rules/relational-schema-design.md +907 -907
  140. package/augment-extensions/domain-rules/database/rules/relational-transactions.md +783 -783
  141. package/augment-extensions/domain-rules/database/rules/security-standards.md +980 -980
  142. package/augment-extensions/domain-rules/database/rules/universal-best-practices.md +485 -485
  143. package/augment-extensions/domain-rules/database/rules/vector-databases.md +521 -521
  144. package/augment-extensions/domain-rules/database/rules/vector-embeddings.md +858 -858
  145. package/augment-extensions/domain-rules/database/rules/vector-indexing.md +934 -934
  146. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/README.md +23 -23
  147. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/module.json +26 -26
  148. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/README.md +23 -23
  149. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/module.json +26 -26
  150. package/augment-extensions/domain-rules/design/color/themes/dracula/README.md +23 -23
  151. package/augment-extensions/domain-rules/design/color/themes/dracula/module.json +26 -26
  152. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/README.md +23 -23
  153. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/module.json +26 -26
  154. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/README.md +23 -23
  155. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/module.json +26 -26
  156. package/augment-extensions/domain-rules/design/color/themes/high-contrast/README.md +27 -27
  157. package/augment-extensions/domain-rules/design/color/themes/high-contrast/module.json +26 -26
  158. package/augment-extensions/domain-rules/design/color/themes/monokai/README.md +23 -23
  159. package/augment-extensions/domain-rules/design/color/themes/monokai/module.json +26 -26
  160. package/augment-extensions/domain-rules/design/color/themes/nord/README.md +23 -23
  161. package/augment-extensions/domain-rules/design/color/themes/nord/module.json +26 -26
  162. package/augment-extensions/domain-rules/design/color/themes/one-dark/README.md +23 -23
  163. package/augment-extensions/domain-rules/design/color/themes/one-dark/module.json +26 -26
  164. package/augment-extensions/domain-rules/design/color/themes/one-light/README.md +23 -23
  165. package/augment-extensions/domain-rules/design/color/themes/one-light/module.json +26 -26
  166. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/README.md +23 -23
  167. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/module.json +26 -26
  168. package/augment-extensions/domain-rules/design/color/themes/solarized-light/README.md +23 -23
  169. package/augment-extensions/domain-rules/design/color/themes/solarized-light/module.json +26 -26
  170. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/README.md +23 -23
  171. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/module.json +26 -26
  172. package/augment-extensions/domain-rules/mcp/README.md +150 -150
  173. package/augment-extensions/domain-rules/mcp/examples/compressed-example.md +522 -522
  174. package/augment-extensions/domain-rules/mcp/examples/graph-augmented-example.md +520 -520
  175. package/augment-extensions/domain-rules/mcp/examples/hybrid-example.md +570 -570
  176. package/augment-extensions/domain-rules/mcp/examples/state-based-example.md +427 -427
  177. package/augment-extensions/domain-rules/mcp/examples/token-based-example.md +435 -435
  178. package/augment-extensions/domain-rules/mcp/examples/vector-based-example.md +502 -502
  179. package/augment-extensions/domain-rules/mcp/module.json +49 -49
  180. package/augment-extensions/domain-rules/mcp/rules/compressed-mcp.md +595 -595
  181. package/augment-extensions/domain-rules/mcp/rules/configuration.md +345 -345
  182. package/augment-extensions/domain-rules/mcp/rules/graph-augmented-mcp.md +687 -687
  183. package/augment-extensions/domain-rules/mcp/rules/hybrid-mcp.md +636 -636
  184. package/augment-extensions/domain-rules/mcp/rules/state-based-mcp.md +484 -484
  185. package/augment-extensions/domain-rules/mcp/rules/testing-validation.md +360 -360
  186. package/augment-extensions/domain-rules/mcp/rules/token-based-mcp.md +393 -393
  187. package/augment-extensions/domain-rules/mcp/rules/universal-rules.md +194 -194
  188. package/augment-extensions/domain-rules/mcp/rules/vector-based-mcp.md +625 -625
  189. package/augment-extensions/domain-rules/security/README.md +41 -41
  190. package/augment-extensions/domain-rules/security/module.json +28 -28
  191. package/augment-extensions/domain-rules/security/rules/authentication-security.md +361 -361
  192. package/augment-extensions/domain-rules/security/rules/encryption.md +208 -208
  193. package/augment-extensions/domain-rules/security/rules/input-validation.md +294 -294
  194. package/augment-extensions/domain-rules/security/rules/owasp-top-10.md +339 -339
  195. package/augment-extensions/domain-rules/security/rules/secure-coding.md +293 -293
  196. package/augment-extensions/domain-rules/security/rules/web-security.md +268 -268
  197. package/augment-extensions/domain-rules/seo-sales-marketing/ANNOUNCEMENT.md +143 -0
  198. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/README.md +140 -136
  199. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/SCHEMA-VALIDATION-REPORT.md +216 -216
  200. package/augment-extensions/domain-rules/seo-sales-marketing/TEST-VALIDATION.md +129 -0
  201. package/augment-extensions/domain-rules/seo-sales-marketing/USAGE-GUIDES.md +254 -0
  202. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/brand-kit-example.yaml +292 -292
  203. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/campaign-brief-example.yaml +389 -389
  204. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/content-calendar-example.yaml +643 -643
  205. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/email-newsletter-example.md +376 -376
  206. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/landing-page-example.md +934 -934
  207. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/ppc-ad-copy-example.md +301 -301
  208. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/seo-blog-post-example.md +347 -347
  209. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/examples/social-media-campaign-example.md +606 -606
  210. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/module.json +50 -50
  211. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/affiliate-influencer-marketing.md +593 -593
  212. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/asset-management.md +418 -418
  213. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/brand-consistency.md +210 -210
  214. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/content-marketing.md +337 -337
  215. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/conversion-optimization.md +455 -455
  216. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/direct-sales.md +499 -499
  217. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/email-marketing.md +439 -439
  218. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/legal-compliance.md +227 -227
  219. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/ppc-advertising.md +569 -569
  220. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/seo-optimization.md +470 -470
  221. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/social-media-marketing.md +414 -414
  222. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/rules/universal-marketing.md +177 -177
  223. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/asset-inventory.schema.json +247 -247
  224. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/brand-kit.schema.json +326 -326
  225. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/campaign-brief.schema.json +342 -342
  226. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/color-palette.schema.json +223 -223
  227. package/augment-extensions/domain-rules/{marketing-standards/seo-sales-marketing → seo-sales-marketing}/schemas/content-template.schema.json +383 -383
  228. package/augment-extensions/domain-rules/wordpress/README.md +163 -163
  229. package/augment-extensions/domain-rules/wordpress/module.json +32 -32
  230. package/augment-extensions/domain-rules/wordpress/rules/coding-standards.md +617 -617
  231. package/augment-extensions/domain-rules/wordpress/rules/directory-structure.md +270 -270
  232. package/augment-extensions/domain-rules/wordpress/rules/file-patterns.md +423 -423
  233. package/augment-extensions/domain-rules/wordpress/rules/gutenberg-blocks.md +493 -493
  234. package/augment-extensions/domain-rules/wordpress/rules/performance.md +568 -568
  235. package/augment-extensions/domain-rules/wordpress/rules/plugin-development.md +510 -510
  236. package/augment-extensions/domain-rules/wordpress/rules/project-detection.md +251 -251
  237. package/augment-extensions/domain-rules/wordpress/rules/rest-api.md +501 -501
  238. package/augment-extensions/domain-rules/wordpress/rules/security.md +564 -564
  239. package/augment-extensions/domain-rules/wordpress/rules/theme-development.md +388 -388
  240. package/augment-extensions/domain-rules/wordpress/rules/woocommerce.md +441 -441
  241. package/augment-extensions/domain-rules/wordpress-plugin/README.md +139 -139
  242. package/augment-extensions/domain-rules/wordpress-plugin/examples/ajax-plugin.md +1599 -1599
  243. package/augment-extensions/domain-rules/wordpress-plugin/examples/custom-post-type-plugin.md +1727 -1727
  244. package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block-plugin.md +428 -428
  245. package/augment-extensions/domain-rules/wordpress-plugin/examples/gutenberg-block.md +422 -422
  246. package/augment-extensions/domain-rules/wordpress-plugin/examples/mvc-plugin.md +1623 -1623
  247. package/augment-extensions/domain-rules/wordpress-plugin/examples/object-oriented-plugin.md +1343 -1343
  248. package/augment-extensions/domain-rules/wordpress-plugin/examples/rest-endpoint.md +734 -734
  249. package/augment-extensions/domain-rules/wordpress-plugin/examples/settings-page-plugin.md +1350 -1350
  250. package/augment-extensions/domain-rules/wordpress-plugin/examples/simple-procedural-plugin.md +503 -503
  251. package/augment-extensions/domain-rules/wordpress-plugin/examples/singleton-plugin.md +971 -971
  252. package/augment-extensions/domain-rules/wordpress-plugin/module.json +53 -53
  253. package/augment-extensions/domain-rules/wordpress-plugin/rules/activation-hooks.md +770 -770
  254. package/augment-extensions/domain-rules/wordpress-plugin/rules/admin-interface.md +874 -874
  255. package/augment-extensions/domain-rules/wordpress-plugin/rules/ajax-handlers.md +629 -629
  256. package/augment-extensions/domain-rules/wordpress-plugin/rules/asset-management.md +559 -559
  257. package/augment-extensions/domain-rules/wordpress-plugin/rules/context-providers.md +709 -709
  258. package/augment-extensions/domain-rules/wordpress-plugin/rules/cron-jobs.md +736 -736
  259. package/augment-extensions/domain-rules/wordpress-plugin/rules/database-management.md +1057 -1057
  260. package/augment-extensions/domain-rules/wordpress-plugin/rules/documentation-standards.md +463 -463
  261. package/augment-extensions/domain-rules/wordpress-plugin/rules/frontend-functionality.md +478 -478
  262. package/augment-extensions/domain-rules/wordpress-plugin/rules/gutenberg-blocks.md +818 -818
  263. package/augment-extensions/domain-rules/wordpress-plugin/rules/internationalization.md +416 -416
  264. package/augment-extensions/domain-rules/wordpress-plugin/rules/migration.md +667 -667
  265. package/augment-extensions/domain-rules/wordpress-plugin/rules/performance-optimization.md +878 -878
  266. package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-architecture.md +693 -693
  267. package/augment-extensions/domain-rules/wordpress-plugin/rules/plugin-structure.md +352 -352
  268. package/augment-extensions/domain-rules/wordpress-plugin/rules/rest-api.md +818 -818
  269. package/augment-extensions/domain-rules/wordpress-plugin/rules/scaffolding-workflow.md +624 -624
  270. package/augment-extensions/domain-rules/wordpress-plugin/rules/security-best-practices.md +866 -866
  271. package/augment-extensions/domain-rules/wordpress-plugin/rules/testing-patterns.md +1165 -1165
  272. package/augment-extensions/domain-rules/wordpress-plugin/rules/testing.md +414 -414
  273. package/augment-extensions/domain-rules/wordpress-plugin/rules/vscode-integration.md +751 -751
  274. package/augment-extensions/domain-rules/wordpress-plugin/rules/woocommerce-integration.md +949 -949
  275. package/augment-extensions/domain-rules/wordpress-plugin/rules/wordpress-org-submission.md +458 -458
  276. package/augment-extensions/examples/design-patterns/README.md +37 -37
  277. package/augment-extensions/examples/design-patterns/examples/behavioral-patterns.md +370 -370
  278. package/augment-extensions/examples/design-patterns/examples/creational-patterns.md +250 -250
  279. package/augment-extensions/examples/design-patterns/examples/structural-patterns.md +264 -264
  280. package/augment-extensions/examples/design-patterns/module.json +27 -27
  281. package/augment-extensions/examples/gutenberg-block-plugin/README.md +101 -101
  282. package/augment-extensions/examples/gutenberg-block-plugin/examples/testimonial-block.md +428 -428
  283. package/augment-extensions/examples/gutenberg-block-plugin/module.json +40 -40
  284. package/augment-extensions/examples/rest-api-plugin/README.md +98 -98
  285. package/augment-extensions/examples/rest-api-plugin/examples/task-manager-api.md +1299 -1299
  286. package/augment-extensions/examples/rest-api-plugin/module.json +40 -40
  287. package/augment-extensions/examples/woocommerce-extension/README.md +98 -98
  288. package/augment-extensions/examples/woocommerce-extension/examples/product-customizer.md +763 -763
  289. package/augment-extensions/examples/woocommerce-extension/module.json +40 -40
  290. package/augment-extensions/workflows/beads/README.md +135 -135
  291. package/augment-extensions/workflows/beads/examples/complete-workflow-example.md +278 -278
  292. package/augment-extensions/workflows/beads/module.json +55 -55
  293. package/augment-extensions/workflows/beads/rules/best-practices.md +398 -398
  294. package/augment-extensions/workflows/beads/rules/file-format.md +327 -327
  295. package/augment-extensions/workflows/beads/rules/manual-setup.md +315 -315
  296. package/augment-extensions/workflows/beads/rules/workflow.md +326 -326
  297. package/augment-extensions/workflows/beads-integration/IMPLEMENTATION-STATUS.md +145 -145
  298. package/augment-extensions/workflows/beads-integration/README.md +143 -143
  299. package/augment-extensions/workflows/beads-integration/config/defaults.json +32 -32
  300. package/augment-extensions/workflows/beads-integration/config/schema.json +140 -140
  301. package/augment-extensions/workflows/beads-integration/examples/basic-task-generation.md +293 -293
  302. package/augment-extensions/workflows/beads-integration/module.json +75 -75
  303. package/augment-extensions/workflows/beads-integration/rules/core-rules.md +219 -219
  304. package/augment-extensions/workflows/beads-integration/rules/effectiveness-standards.md +256 -256
  305. package/augment-extensions/workflows/beads-integration/rules/task-generation.md +607 -607
  306. package/augment-extensions/workflows/database/README.md +195 -195
  307. package/augment-extensions/workflows/database/ai-prompt-testing.md +295 -295
  308. package/augment-extensions/workflows/database/examples/migration-example.md +498 -498
  309. package/augment-extensions/workflows/database/examples/optimization-example.md +496 -496
  310. package/augment-extensions/workflows/database/examples/schema-design-example.md +444 -444
  311. package/augment-extensions/workflows/database/module.json +42 -42
  312. package/augment-extensions/workflows/database/rules/data-migration.md +249 -249
  313. package/augment-extensions/workflows/database/rules/documentation-standards.md +339 -339
  314. package/augment-extensions/workflows/database/rules/migration-workflow.md +352 -352
  315. package/augment-extensions/workflows/database/rules/optimization-workflow.md +435 -435
  316. package/augment-extensions/workflows/database/rules/schema-design-workflow.md +535 -535
  317. package/augment-extensions/workflows/database/rules/testing-patterns.md +305 -305
  318. package/augment-extensions/workflows/database/rules/workflow.md +458 -458
  319. package/augment-extensions/workflows/wordpress-plugin/README.md +232 -232
  320. package/augment-extensions/workflows/wordpress-plugin/ai-prompts.md +839 -839
  321. package/augment-extensions/workflows/wordpress-plugin/bead-decomposition-patterns.md +854 -854
  322. package/augment-extensions/workflows/wordpress-plugin/examples/complete-plugin-example.md +540 -540
  323. package/augment-extensions/workflows/wordpress-plugin/examples/custom-post-type-example.md +1083 -1083
  324. package/augment-extensions/workflows/wordpress-plugin/examples/feature-addition-workflow.md +669 -669
  325. package/augment-extensions/workflows/wordpress-plugin/examples/plugin-creation-workflow.md +597 -597
  326. package/augment-extensions/workflows/wordpress-plugin/examples/secure-form-handler-example.md +925 -925
  327. package/augment-extensions/workflows/wordpress-plugin/examples/security-audit-workflow.md +752 -752
  328. package/augment-extensions/workflows/wordpress-plugin/examples/wordpress-org-submission-workflow.md +773 -773
  329. package/augment-extensions/workflows/wordpress-plugin/module.json +49 -49
  330. package/augment-extensions/workflows/wordpress-plugin/rules/best-practices.md +942 -942
  331. package/augment-extensions/workflows/wordpress-plugin/rules/development-workflow.md +702 -702
  332. package/augment-extensions/workflows/wordpress-plugin/rules/submission-workflow.md +728 -728
  333. package/augment-extensions/workflows/wordpress-plugin/rules/testing-workflow.md +775 -775
  334. package/augment-extensions/writing-standards/screenplay/README.md +339 -300
  335. package/augment-extensions/writing-standards/screenplay/_templates/README.md +121 -121
  336. package/augment-extensions/writing-standards/screenplay/_templates/genre-template.md +153 -153
  337. package/augment-extensions/writing-standards/screenplay/_templates/style-template.md +243 -243
  338. package/augment-extensions/writing-standards/screenplay/_templates/theme-template.md +213 -213
  339. package/augment-extensions/writing-standards/screenplay/examples/aaa-hollywood-scene.fountain +164 -164
  340. package/augment-extensions/writing-standards/screenplay/examples/beat-sheet-example.yaml +95 -95
  341. package/augment-extensions/writing-standards/screenplay/examples/character-profile-example.yaml +116 -116
  342. package/augment-extensions/writing-standards/screenplay/examples/commercial-30sec.fountain +151 -151
  343. package/augment-extensions/writing-standards/screenplay/examples/independent-monologue.fountain +67 -67
  344. package/augment-extensions/writing-standards/screenplay/examples/news-segment.fountain +142 -142
  345. package/augment-extensions/writing-standards/screenplay/examples/plot-outline-example.yaml +184 -184
  346. package/augment-extensions/writing-standards/screenplay/examples/tv-episode-teaser.fountain +204 -204
  347. package/augment-extensions/writing-standards/screenplay/genres/README.md +181 -181
  348. package/augment-extensions/writing-standards/screenplay/genres/examples/.gitkeep +2 -2
  349. package/augment-extensions/writing-standards/screenplay/genres/module.json +70 -70
  350. package/augment-extensions/writing-standards/screenplay/genres/rules/.gitkeep +2 -2
  351. package/augment-extensions/writing-standards/screenplay/genres/rules/action.md +399 -399
  352. package/augment-extensions/writing-standards/screenplay/genres/rules/adventure.md +407 -407
  353. package/augment-extensions/writing-standards/screenplay/genres/rules/animation.md +293 -293
  354. package/augment-extensions/writing-standards/screenplay/genres/rules/biographical.md +293 -293
  355. package/augment-extensions/writing-standards/screenplay/genres/rules/comedy.md +401 -401
  356. package/augment-extensions/writing-standards/screenplay/genres/rules/documentary.md +293 -293
  357. package/augment-extensions/writing-standards/screenplay/genres/rules/drama.md +409 -409
  358. package/augment-extensions/writing-standards/screenplay/genres/rules/fantasy.md +293 -293
  359. package/augment-extensions/writing-standards/screenplay/genres/rules/historical.md +293 -293
  360. package/augment-extensions/writing-standards/screenplay/genres/rules/horror.md +268 -268
  361. package/augment-extensions/writing-standards/screenplay/genres/rules/musical.md +294 -294
  362. package/augment-extensions/writing-standards/screenplay/genres/rules/mystery.md +293 -293
  363. package/augment-extensions/writing-standards/screenplay/genres/rules/noir.md +294 -294
  364. package/augment-extensions/writing-standards/screenplay/genres/rules/romance.md +293 -293
  365. package/augment-extensions/writing-standards/screenplay/genres/rules/sci-fi.md +289 -289
  366. package/augment-extensions/writing-standards/screenplay/genres/rules/superhero.md +293 -293
  367. package/augment-extensions/writing-standards/screenplay/genres/rules/thriller.md +294 -294
  368. package/augment-extensions/writing-standards/screenplay/genres/rules/western.md +293 -293
  369. package/augment-extensions/writing-standards/screenplay/module.json +124 -124
  370. package/augment-extensions/writing-standards/screenplay/rules/aaa-hollywood-films.md +339 -339
  371. package/augment-extensions/writing-standards/screenplay/rules/ai-integration-testing.md +329 -329
  372. package/augment-extensions/writing-standards/screenplay/rules/character-development.md +169 -169
  373. package/augment-extensions/writing-standards/screenplay/rules/commercials.md +437 -437
  374. package/augment-extensions/writing-standards/screenplay/rules/dialogue-writing.md +263 -263
  375. package/augment-extensions/writing-standards/screenplay/rules/diversity-inclusion.md +261 -261
  376. package/augment-extensions/writing-standards/screenplay/rules/examples-guide.md +315 -315
  377. package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -0
  378. package/augment-extensions/writing-standards/screenplay/rules/formatting-validation.md +413 -413
  379. package/augment-extensions/writing-standards/screenplay/rules/fountain-format.md +372 -372
  380. package/augment-extensions/writing-standards/screenplay/rules/independent-films.md +374 -374
  381. package/augment-extensions/writing-standards/screenplay/rules/live-tv-productions.md +443 -443
  382. package/augment-extensions/writing-standards/screenplay/rules/narrative-structures.md +207 -207
  383. package/augment-extensions/writing-standards/screenplay/rules/news-broadcasts.md +444 -444
  384. package/augment-extensions/writing-standards/screenplay/rules/pacing-timing.md +331 -331
  385. package/augment-extensions/writing-standards/screenplay/rules/quality-review-checklist.md +334 -334
  386. package/augment-extensions/writing-standards/screenplay/rules/quick-reference.md +299 -299
  387. package/augment-extensions/writing-standards/screenplay/rules/screen-continuity.md +263 -263
  388. package/augment-extensions/writing-standards/screenplay/rules/streaming-content.md +412 -412
  389. package/augment-extensions/writing-standards/screenplay/rules/trope-management.md +370 -370
  390. package/augment-extensions/writing-standards/screenplay/rules/tv-series.md +374 -374
  391. package/augment-extensions/writing-standards/screenplay/rules/universal-formatting.md +339 -339
  392. package/augment-extensions/writing-standards/screenplay/rules/vscode-integration.md +277 -277
  393. package/augment-extensions/writing-standards/screenplay/rules/web-content.md +393 -393
  394. package/augment-extensions/writing-standards/screenplay/schemas/beat-sheet.json +332 -332
  395. package/augment-extensions/writing-standards/screenplay/schemas/character-profile.json +247 -247
  396. package/augment-extensions/writing-standards/screenplay/schemas/feature-selection.json +200 -200
  397. package/augment-extensions/writing-standards/screenplay/schemas/plot-outline.json +233 -233
  398. package/augment-extensions/writing-standards/screenplay/schemas/screenplay-config.json +245 -245
  399. package/augment-extensions/writing-standards/screenplay/schemas/trope-inventory.json +221 -221
  400. package/augment-extensions/writing-standards/screenplay/styles/README.md +159 -159
  401. package/augment-extensions/writing-standards/screenplay/styles/examples/.gitkeep +2 -2
  402. package/augment-extensions/writing-standards/screenplay/styles/examples/style-applications.md +1449 -1449
  403. package/augment-extensions/writing-standards/screenplay/styles/module.json +64 -64
  404. package/augment-extensions/writing-standards/screenplay/styles/rules/.gitkeep +2 -2
  405. package/augment-extensions/writing-standards/screenplay/styles/rules/dialogue-centric.md +520 -520
  406. package/augment-extensions/writing-standards/screenplay/styles/rules/ensemble.md +499 -499
  407. package/augment-extensions/writing-standards/screenplay/styles/rules/epic.md +497 -497
  408. package/augment-extensions/writing-standards/screenplay/styles/rules/experimental.md +492 -492
  409. package/augment-extensions/writing-standards/screenplay/styles/rules/flashback.md +509 -509
  410. package/augment-extensions/writing-standards/screenplay/styles/rules/linear.md +490 -490
  411. package/augment-extensions/writing-standards/screenplay/styles/rules/minimalist.md +499 -499
  412. package/augment-extensions/writing-standards/screenplay/styles/rules/non-linear.md +501 -501
  413. package/augment-extensions/writing-standards/screenplay/styles/rules/poetic.md +499 -499
  414. package/augment-extensions/writing-standards/screenplay/styles/rules/realistic.md +498 -498
  415. package/augment-extensions/writing-standards/screenplay/styles/rules/satirical.md +499 -499
  416. package/augment-extensions/writing-standards/screenplay/styles/rules/surreal.md +508 -508
  417. package/augment-extensions/writing-standards/screenplay/styles/rules/voice-over.md +500 -500
  418. package/augment-extensions/writing-standards/screenplay/themes/README.md +158 -158
  419. package/augment-extensions/writing-standards/screenplay/themes/examples/.gitkeep +2 -2
  420. package/augment-extensions/writing-standards/screenplay/themes/examples/common-mistakes-and-fixes.md +643 -643
  421. package/augment-extensions/writing-standards/screenplay/themes/examples/complete-scene-example.md +311 -311
  422. package/augment-extensions/writing-standards/screenplay/themes/examples/individual-theme-examples.md +562 -562
  423. package/augment-extensions/writing-standards/screenplay/themes/examples/multi-theme-weaving.md +538 -538
  424. package/augment-extensions/writing-standards/screenplay/themes/examples/theme-application-guide.md +432 -432
  425. package/augment-extensions/writing-standards/screenplay/themes/examples/theme-integration-across-acts.md +637 -637
  426. package/augment-extensions/writing-standards/screenplay/themes/module.json +66 -66
  427. package/augment-extensions/writing-standards/screenplay/themes/rules/.gitkeep +2 -2
  428. package/augment-extensions/writing-standards/screenplay/themes/rules/ambition.md +458 -458
  429. package/augment-extensions/writing-standards/screenplay/themes/rules/betrayal.md +490 -490
  430. package/augment-extensions/writing-standards/screenplay/themes/rules/environment.md +458 -458
  431. package/augment-extensions/writing-standards/screenplay/themes/rules/fate.md +459 -459
  432. package/augment-extensions/writing-standards/screenplay/themes/rules/friendship.md +491 -491
  433. package/augment-extensions/writing-standards/screenplay/themes/rules/growth.md +491 -491
  434. package/augment-extensions/writing-standards/screenplay/themes/rules/identity.md +490 -490
  435. package/augment-extensions/writing-standards/screenplay/themes/rules/isolation.md +464 -464
  436. package/augment-extensions/writing-standards/screenplay/themes/rules/justice.md +461 -461
  437. package/augment-extensions/writing-standards/screenplay/themes/rules/love.md +489 -489
  438. package/augment-extensions/writing-standards/screenplay/themes/rules/power.md +494 -494
  439. package/augment-extensions/writing-standards/screenplay/themes/rules/redemption.md +483 -483
  440. package/augment-extensions/writing-standards/screenplay/themes/rules/revenge.md +489 -489
  441. package/augment-extensions/writing-standards/screenplay/themes/rules/survival.md +496 -496
  442. package/augment-extensions/writing-standards/screenplay/themes/rules/technology.md +463 -463
  443. package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -0
  444. package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -0
  445. package/cli/MODULES.md +302 -302
  446. package/cli/dist/cli.js +109 -22
  447. package/cli/dist/cli.js.map +1 -1
  448. package/cli/dist/commands/gui.d.ts.map +1 -1
  449. package/cli/dist/commands/gui.js +54 -6
  450. package/cli/dist/commands/gui.js.map +1 -1
  451. package/cli/dist/commands/init.d.ts.map +1 -1
  452. package/cli/dist/commands/init.js +76 -23
  453. package/cli/dist/commands/init.js.map +1 -1
  454. package/cli/dist/commands/self-remove.d.ts.map +1 -1
  455. package/cli/dist/commands/self-remove.js +48 -74
  456. package/cli/dist/commands/self-remove.js.map +1 -1
  457. package/cli/dist/commands/show.d.ts +11 -0
  458. package/cli/dist/commands/show.d.ts.map +1 -1
  459. package/cli/dist/commands/show.js +120 -0
  460. package/cli/dist/commands/show.js.map +1 -1
  461. package/cli/dist/commands/showCompleted.d.ts +21 -0
  462. package/cli/dist/commands/showCompleted.d.ts.map +1 -0
  463. package/cli/dist/commands/showCompleted.js +225 -0
  464. package/cli/dist/commands/showCompleted.js.map +1 -0
  465. package/cli/dist/commands/skill.js +88 -88
  466. package/cli/dist/commands/update.d.ts +2 -0
  467. package/cli/dist/commands/update.d.ts.map +1 -1
  468. package/cli/dist/commands/update.js +67 -1
  469. package/cli/dist/commands/update.js.map +1 -1
  470. package/cli/dist/utils/beadsCompletedChecker.d.ts +72 -0
  471. package/cli/dist/utils/beadsCompletedChecker.d.ts.map +1 -0
  472. package/cli/dist/utils/beadsCompletedChecker.js +198 -0
  473. package/cli/dist/utils/beadsCompletedChecker.js.map +1 -0
  474. package/cli/dist/utils/catalog-sync.js +13 -13
  475. package/cli/dist/utils/extractCommandHelp.d.ts +51 -0
  476. package/cli/dist/utils/extractCommandHelp.d.ts.map +1 -0
  477. package/cli/dist/utils/extractCommandHelp.js +250 -0
  478. package/cli/dist/utils/extractCommandHelp.js.map +1 -0
  479. package/cli/dist/utils/install-rules.js +55 -55
  480. package/cli/dist/utils/mcp-integration.js +44 -44
  481. package/cli/dist/utils/rule-install-hooks.js +8 -8
  482. package/modules.md +667 -630
  483. package/package.json +85 -85
@@ -1,550 +1,550 @@
1
- /* ========================================
2
- CSS CUSTOM PROPERTIES (VARIABLES)
3
- ======================================== */
4
-
5
- :root {
6
- /* Colors */
7
- --primary-color: #007bff;
8
- --secondary-color: #6c757d;
9
- --success-color: #28a745;
10
- --danger-color: #dc3545;
11
- --warning-color: #ffc107;
12
- --text-color: #212529;
13
- --bg-color: #ffffff;
14
-
15
- /* Spacing */
16
- --spacing-xs: 4px;
17
- --spacing-sm: 8px;
18
- --spacing-md: 16px;
19
- --spacing-lg: 24px;
20
- --spacing-xl: 32px;
21
-
22
- /* Typography */
23
- --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
24
- --font-family-mono: "Courier New", monospace;
25
- --font-size-base: 16px;
26
- --font-size-sm: 14px;
27
- --font-size-lg: 18px;
28
- --font-size-xl: 24px;
29
- --line-height-base: 1.5;
30
-
31
- /* Borders */
32
- --border-radius: 4px;
33
- --border-width: 1px;
34
- --border-color: #dee2e6;
35
-
36
- /* Shadows */
37
- --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
38
- --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
39
- --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.15);
40
-
41
- /* Transitions */
42
- --transition-fast: 150ms ease-in-out;
43
- --transition-base: 300ms ease-in-out;
44
- --transition-slow: 500ms ease-in-out;
45
- }
46
-
47
- /* ========================================
48
- BEM NAMING CONVENTION EXAMPLES
49
- ======================================== */
50
-
51
- /* Block: Card component */
52
- .card {
53
- --card-padding: var(--spacing-md);
54
- --card-bg: var(--bg-color);
55
-
56
- background-color: var(--card-bg);
57
- border: var(--border-width) solid var(--border-color);
58
- border-radius: var(--border-radius);
59
- padding: var(--card-padding);
60
- box-shadow: var(--shadow-sm);
61
- transition: box-shadow var(--transition-base);
62
- }
63
-
64
- /* Element: Card header */
65
- .card__header {
66
- border-bottom: var(--border-width) solid var(--border-color);
67
- padding-bottom: var(--spacing-sm);
68
- margin-bottom: var(--spacing-md);
69
- }
70
-
71
- /* Element: Card title */
72
- .card__title {
73
- margin: 0;
74
- font-size: var(--font-size-lg);
75
- color: var(--text-color);
76
- }
77
-
78
- /* Element: Card body */
79
- .card__body {
80
- color: var(--text-color);
81
- line-height: var(--line-height-base);
82
- }
83
-
84
- /* Element: Card footer */
85
- .card__footer {
86
- border-top: var(--border-width) solid var(--border-color);
87
- padding-top: var(--spacing-sm);
88
- margin-top: var(--spacing-md);
89
- }
90
-
91
- /* Modifier: Featured card */
92
- .card--featured {
93
- border-color: var(--primary-color);
94
- box-shadow: var(--shadow-md);
95
- }
96
-
97
- /* Modifier: Large card header */
98
- .card__header--large {
99
- padding-bottom: var(--spacing-md);
100
- }
101
-
102
- /* Modifier: Danger card */
103
- .card--danger {
104
- border-color: var(--danger-color);
105
- }
106
-
107
- /* ========================================
108
- BUTTON COMPONENT WITH VARIATIONS
109
- ======================================== */
110
-
111
- .btn {
112
- display: inline-block;
113
- padding: var(--spacing-sm) var(--spacing-md);
114
- font-family: var(--font-family-base);
115
- font-size: var(--font-size-base);
116
- line-height: var(--line-height-base);
117
- text-align: center;
118
- text-decoration: none;
119
- border: var(--border-width) solid transparent;
120
- border-radius: var(--border-radius);
121
- cursor: pointer;
122
- transition: all var(--transition-fast);
123
- }
124
-
125
- .btn--primary {
126
- background-color: var(--primary-color);
127
- color: white;
128
- border-color: var(--primary-color);
129
- }
130
-
131
- .btn--primary:hover {
132
- background-color: #0056b3;
133
- border-color: #0056b3;
134
- }
135
-
136
- .btn--secondary {
137
- background-color: var(--secondary-color);
138
- color: white;
139
- border-color: var(--secondary-color);
140
- }
141
-
142
- .btn--outline {
143
- background-color: transparent;
144
- color: var(--primary-color);
145
- border-color: var(--primary-color);
146
- }
147
-
148
- .btn--outline:hover {
149
- background-color: var(--primary-color);
150
- color: white;
151
- }
152
-
153
- .btn--large {
154
- padding: var(--spacing-md) var(--spacing-lg);
155
- font-size: var(--font-size-lg);
156
- }
157
-
158
- .btn--small {
159
- padding: var(--spacing-xs) var(--spacing-sm);
160
- font-size: var(--font-size-sm);
161
- }
162
-
163
- /* ========================================
164
- CSS GRID LAYOUT
165
- ======================================== */
166
-
167
- /* Grid container for page layout */
168
- .page-layout {
169
- display: grid;
170
- grid-template-columns: 250px 1fr;
171
- grid-template-rows: auto 1fr auto;
172
- grid-template-areas:
173
- "header header"
174
- "sidebar main"
175
- "footer footer";
176
- min-height: 100vh;
177
- gap: var(--spacing-md);
178
- }
179
-
180
- .page-layout__header {
181
- grid-area: header;
182
- background-color: var(--primary-color);
183
- color: white;
184
- padding: var(--spacing-md);
185
- }
186
-
187
- .page-layout__sidebar {
188
- grid-area: sidebar;
189
- background-color: #f8f9fa;
190
- padding: var(--spacing-md);
191
- }
192
-
193
- .page-layout__main {
194
- grid-area: main;
195
- padding: var(--spacing-md);
196
- }
197
-
198
- .page-layout__footer {
199
- grid-area: footer;
200
- background-color: var(--secondary-color);
201
- color: white;
202
- padding: var(--spacing-md);
203
- text-align: center;
204
- }
205
-
206
- /* Grid for card gallery */
207
- .card-grid {
208
- display: grid;
209
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
210
- gap: var(--spacing-lg);
211
- padding: var(--spacing-md);
212
- }
213
-
214
- /* ========================================
215
- FLEXBOX LAYOUTS
216
- ======================================== */
217
-
218
- /* Horizontal navigation with Flexbox */
219
- .nav {
220
- display: flex;
221
- align-items: center;
222
- gap: var(--spacing-md);
223
- padding: var(--spacing-sm) var(--spacing-md);
224
- background-color: var(--bg-color);
225
- border-bottom: var(--border-width) solid var(--border-color);
226
- }
227
-
228
- .nav__logo {
229
- margin-right: auto;
230
- font-size: var(--font-size-lg);
231
- font-weight: bold;
232
- }
233
-
234
- .nav__menu {
235
- display: flex;
236
- gap: var(--spacing-md);
237
- list-style: none;
238
- margin: 0;
239
- padding: 0;
240
- }
241
-
242
- .nav__item {
243
- /* Individual nav items */
244
- }
245
-
246
- .nav__link {
247
- color: var(--text-color);
248
- text-decoration: none;
249
- padding: var(--spacing-xs) var(--spacing-sm);
250
- transition: color var(--transition-fast);
251
- }
252
-
253
- .nav__link:hover {
254
- color: var(--primary-color);
255
- }
256
-
257
- /* Flexbox for centering content */
258
- .flex-center {
259
- display: flex;
260
- justify-content: center;
261
- align-items: center;
262
- min-height: 100vh;
263
- }
264
-
265
- /* Flexbox for space-between layout */
266
- .flex-between {
267
- display: flex;
268
- justify-content: space-between;
269
- align-items: center;
270
- }
271
-
272
- /* Flexbox column layout */
273
- .flex-column {
274
- display: flex;
275
- flex-direction: column;
276
- gap: var(--spacing-md);
277
- }
278
-
279
- /* ========================================
280
- RESPONSIVE DESIGN WITH MEDIA QUERIES
281
- ======================================== */
282
-
283
- /* Mobile-first approach: Base styles for mobile */
284
- .container {
285
- width: 100%;
286
- padding: var(--spacing-md);
287
- margin: 0 auto;
288
- }
289
-
290
- /* Tablet and up */
291
- @media (min-width: 768px) {
292
- .container {
293
- max-width: 720px;
294
- }
295
-
296
- .card-grid {
297
- grid-template-columns: repeat(2, 1fr);
298
- }
299
-
300
- .nav__menu {
301
- flex-direction: row;
302
- }
303
- }
304
-
305
- /* Desktop and up */
306
- @media (min-width: 1024px) {
307
- .container {
308
- max-width: 960px;
309
- }
310
-
311
- .card-grid {
312
- grid-template-columns: repeat(3, 1fr);
313
- }
314
- }
315
-
316
- /* Large desktop */
317
- @media (min-width: 1280px) {
318
- .container {
319
- max-width: 1200px;
320
- }
321
-
322
- .card-grid {
323
- grid-template-columns: repeat(4, 1fr);
324
- }
325
- }
326
-
327
- /* Mobile-specific: Stack navigation vertically */
328
- @media (max-width: 767px) {
329
- .page-layout {
330
- grid-template-columns: 1fr;
331
- grid-template-areas:
332
- "header"
333
- "main"
334
- "sidebar"
335
- "footer";
336
- }
337
-
338
- .nav {
339
- flex-direction: column;
340
- align-items: flex-start;
341
- }
342
-
343
- .nav__menu {
344
- flex-direction: column;
345
- width: 100%;
346
- }
347
- }
348
-
349
- /* ========================================
350
- SELECTOR SPECIFICITY EXAMPLES
351
- ======================================== */
352
-
353
- /* ✅ GOOD: Low specificity, easy to override */
354
- .alert {
355
- padding: var(--spacing-md);
356
- border-radius: var(--border-radius);
357
- }
358
-
359
- .alert--success {
360
- background-color: var(--success-color);
361
- color: white;
362
- }
363
-
364
- .alert--danger {
365
- background-color: var(--danger-color);
366
- color: white;
367
- }
368
-
369
- /* ❌ BAD: High specificity, hard to override */
370
- /* div.alert.alert--success { } */
371
-
372
- /* ✅ GOOD: Avoid deep nesting (max 3 levels) */
373
- .article__content p {
374
- margin-bottom: var(--spacing-md);
375
- }
376
-
377
- /* ❌ BAD: Too deeply nested */
378
- /* .article .article__content .text-wrapper p { } */
379
-
380
- /* ========================================
381
- UTILITY CLASSES
382
- ======================================== */
383
-
384
- /* Spacing utilities */
385
- .mt-sm { margin-top: var(--spacing-sm); }
386
- .mt-md { margin-top: var(--spacing-md); }
387
- .mt-lg { margin-top: var(--spacing-lg); }
388
-
389
- .mb-sm { margin-bottom: var(--spacing-sm); }
390
- .mb-md { margin-bottom: var(--spacing-md); }
391
- .mb-lg { margin-bottom: var(--spacing-lg); }
392
-
393
- .p-sm { padding: var(--spacing-sm); }
394
- .p-md { padding: var(--spacing-md); }
395
- .p-lg { padding: var(--spacing-lg); }
396
-
397
- /* Text utilities */
398
- .text-center { text-align: center; }
399
- .text-left { text-align: left; }
400
- .text-right { text-align: right; }
401
-
402
- .text-primary { color: var(--primary-color); }
403
- .text-secondary { color: var(--secondary-color); }
404
- .text-danger { color: var(--danger-color); }
405
-
406
- .text-sm { font-size: var(--font-size-sm); }
407
- .text-lg { font-size: var(--font-size-lg); }
408
- .text-xl { font-size: var(--font-size-xl); }
409
-
410
- /* Display utilities */
411
- .d-none { display: none; }
412
- .d-block { display: block; }
413
- .d-inline { display: inline; }
414
- .d-inline-block { display: inline-block; }
415
- .d-flex { display: flex; }
416
- .d-grid { display: grid; }
417
-
418
- /* ========================================
419
- FORM STYLING
420
- ======================================== */
421
-
422
- .form-group {
423
- display: flex;
424
- flex-direction: column;
425
- gap: var(--spacing-xs);
426
- margin-bottom: var(--spacing-md);
427
- }
428
-
429
- .form-label {
430
- font-weight: 600;
431
- color: var(--text-color);
432
- font-size: var(--font-size-sm);
433
- }
434
-
435
- .form-input,
436
- .form-textarea,
437
- .form-select {
438
- padding: var(--spacing-sm);
439
- border: var(--border-width) solid var(--border-color);
440
- border-radius: var(--border-radius);
441
- font-family: var(--font-family-base);
442
- font-size: var(--font-size-base);
443
- transition: border-color var(--transition-fast);
444
- }
445
-
446
- .form-input:focus,
447
- .form-textarea:focus,
448
- .form-select:focus {
449
- outline: none;
450
- border-color: var(--primary-color);
451
- box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
452
- }
453
-
454
- .form-input--error {
455
- border-color: var(--danger-color);
456
- }
457
-
458
- .form-help-text {
459
- font-size: var(--font-size-sm);
460
- color: var(--secondary-color);
461
- }
462
-
463
- .form-error-text {
464
- font-size: var(--font-size-sm);
465
- color: var(--danger-color);
466
- }
467
-
468
- /* ========================================
469
- ANIMATIONS AND TRANSITIONS
470
- ======================================== */
471
-
472
- /* Fade in animation */
473
- @keyframes fadeIn {
474
- from {
475
- opacity: 0;
476
- }
477
- to {
478
- opacity: 1;
479
- }
480
- }
481
-
482
- .fade-in {
483
- animation: fadeIn var(--transition-base);
484
- }
485
-
486
- /* Slide in from left */
487
- @keyframes slideInLeft {
488
- from {
489
- transform: translateX(-100%);
490
- opacity: 0;
491
- }
492
- to {
493
- transform: translateX(0);
494
- opacity: 1;
495
- }
496
- }
497
-
498
- .slide-in-left {
499
- animation: slideInLeft var(--transition-base);
500
- }
501
-
502
- /* Hover effects */
503
- .hover-lift {
504
- transition: transform var(--transition-fast);
505
- }
506
-
507
- .hover-lift:hover {
508
- transform: translateY(-4px);
509
- box-shadow: var(--shadow-lg);
510
- }
511
-
512
- /* ========================================
513
- ACCESSIBILITY HELPERS
514
- ======================================== */
515
-
516
- /* Screen reader only content */
517
- .sr-only {
518
- position: absolute;
519
- width: 1px;
520
- height: 1px;
521
- padding: 0;
522
- margin: -1px;
523
- overflow: hidden;
524
- clip: rect(0, 0, 0, 0);
525
- white-space: nowrap;
526
- border: 0;
527
- }
528
-
529
- /* Focus visible for keyboard navigation */
530
- .focus-visible:focus {
531
- outline: 2px solid var(--primary-color);
532
- outline-offset: 2px;
533
- }
534
-
535
- /* Skip to main content link */
536
- .skip-link {
537
- position: absolute;
538
- top: -40px;
539
- left: 0;
540
- background: var(--primary-color);
541
- color: white;
542
- padding: var(--spacing-sm);
543
- text-decoration: none;
544
- z-index: 100;
545
- }
546
-
547
- .skip-link:focus {
548
- top: 0;
549
- }
550
-
1
+ /* ========================================
2
+ CSS CUSTOM PROPERTIES (VARIABLES)
3
+ ======================================== */
4
+
5
+ :root {
6
+ /* Colors */
7
+ --primary-color: #007bff;
8
+ --secondary-color: #6c757d;
9
+ --success-color: #28a745;
10
+ --danger-color: #dc3545;
11
+ --warning-color: #ffc107;
12
+ --text-color: #212529;
13
+ --bg-color: #ffffff;
14
+
15
+ /* Spacing */
16
+ --spacing-xs: 4px;
17
+ --spacing-sm: 8px;
18
+ --spacing-md: 16px;
19
+ --spacing-lg: 24px;
20
+ --spacing-xl: 32px;
21
+
22
+ /* Typography */
23
+ --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
24
+ --font-family-mono: "Courier New", monospace;
25
+ --font-size-base: 16px;
26
+ --font-size-sm: 14px;
27
+ --font-size-lg: 18px;
28
+ --font-size-xl: 24px;
29
+ --line-height-base: 1.5;
30
+
31
+ /* Borders */
32
+ --border-radius: 4px;
33
+ --border-width: 1px;
34
+ --border-color: #dee2e6;
35
+
36
+ /* Shadows */
37
+ --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
38
+ --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
39
+ --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.15);
40
+
41
+ /* Transitions */
42
+ --transition-fast: 150ms ease-in-out;
43
+ --transition-base: 300ms ease-in-out;
44
+ --transition-slow: 500ms ease-in-out;
45
+ }
46
+
47
+ /* ========================================
48
+ BEM NAMING CONVENTION EXAMPLES
49
+ ======================================== */
50
+
51
+ /* Block: Card component */
52
+ .card {
53
+ --card-padding: var(--spacing-md);
54
+ --card-bg: var(--bg-color);
55
+
56
+ background-color: var(--card-bg);
57
+ border: var(--border-width) solid var(--border-color);
58
+ border-radius: var(--border-radius);
59
+ padding: var(--card-padding);
60
+ box-shadow: var(--shadow-sm);
61
+ transition: box-shadow var(--transition-base);
62
+ }
63
+
64
+ /* Element: Card header */
65
+ .card__header {
66
+ border-bottom: var(--border-width) solid var(--border-color);
67
+ padding-bottom: var(--spacing-sm);
68
+ margin-bottom: var(--spacing-md);
69
+ }
70
+
71
+ /* Element: Card title */
72
+ .card__title {
73
+ margin: 0;
74
+ font-size: var(--font-size-lg);
75
+ color: var(--text-color);
76
+ }
77
+
78
+ /* Element: Card body */
79
+ .card__body {
80
+ color: var(--text-color);
81
+ line-height: var(--line-height-base);
82
+ }
83
+
84
+ /* Element: Card footer */
85
+ .card__footer {
86
+ border-top: var(--border-width) solid var(--border-color);
87
+ padding-top: var(--spacing-sm);
88
+ margin-top: var(--spacing-md);
89
+ }
90
+
91
+ /* Modifier: Featured card */
92
+ .card--featured {
93
+ border-color: var(--primary-color);
94
+ box-shadow: var(--shadow-md);
95
+ }
96
+
97
+ /* Modifier: Large card header */
98
+ .card__header--large {
99
+ padding-bottom: var(--spacing-md);
100
+ }
101
+
102
+ /* Modifier: Danger card */
103
+ .card--danger {
104
+ border-color: var(--danger-color);
105
+ }
106
+
107
+ /* ========================================
108
+ BUTTON COMPONENT WITH VARIATIONS
109
+ ======================================== */
110
+
111
+ .btn {
112
+ display: inline-block;
113
+ padding: var(--spacing-sm) var(--spacing-md);
114
+ font-family: var(--font-family-base);
115
+ font-size: var(--font-size-base);
116
+ line-height: var(--line-height-base);
117
+ text-align: center;
118
+ text-decoration: none;
119
+ border: var(--border-width) solid transparent;
120
+ border-radius: var(--border-radius);
121
+ cursor: pointer;
122
+ transition: all var(--transition-fast);
123
+ }
124
+
125
+ .btn--primary {
126
+ background-color: var(--primary-color);
127
+ color: white;
128
+ border-color: var(--primary-color);
129
+ }
130
+
131
+ .btn--primary:hover {
132
+ background-color: #0056b3;
133
+ border-color: #0056b3;
134
+ }
135
+
136
+ .btn--secondary {
137
+ background-color: var(--secondary-color);
138
+ color: white;
139
+ border-color: var(--secondary-color);
140
+ }
141
+
142
+ .btn--outline {
143
+ background-color: transparent;
144
+ color: var(--primary-color);
145
+ border-color: var(--primary-color);
146
+ }
147
+
148
+ .btn--outline:hover {
149
+ background-color: var(--primary-color);
150
+ color: white;
151
+ }
152
+
153
+ .btn--large {
154
+ padding: var(--spacing-md) var(--spacing-lg);
155
+ font-size: var(--font-size-lg);
156
+ }
157
+
158
+ .btn--small {
159
+ padding: var(--spacing-xs) var(--spacing-sm);
160
+ font-size: var(--font-size-sm);
161
+ }
162
+
163
+ /* ========================================
164
+ CSS GRID LAYOUT
165
+ ======================================== */
166
+
167
+ /* Grid container for page layout */
168
+ .page-layout {
169
+ display: grid;
170
+ grid-template-columns: 250px 1fr;
171
+ grid-template-rows: auto 1fr auto;
172
+ grid-template-areas:
173
+ "header header"
174
+ "sidebar main"
175
+ "footer footer";
176
+ min-height: 100vh;
177
+ gap: var(--spacing-md);
178
+ }
179
+
180
+ .page-layout__header {
181
+ grid-area: header;
182
+ background-color: var(--primary-color);
183
+ color: white;
184
+ padding: var(--spacing-md);
185
+ }
186
+
187
+ .page-layout__sidebar {
188
+ grid-area: sidebar;
189
+ background-color: #f8f9fa;
190
+ padding: var(--spacing-md);
191
+ }
192
+
193
+ .page-layout__main {
194
+ grid-area: main;
195
+ padding: var(--spacing-md);
196
+ }
197
+
198
+ .page-layout__footer {
199
+ grid-area: footer;
200
+ background-color: var(--secondary-color);
201
+ color: white;
202
+ padding: var(--spacing-md);
203
+ text-align: center;
204
+ }
205
+
206
+ /* Grid for card gallery */
207
+ .card-grid {
208
+ display: grid;
209
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
210
+ gap: var(--spacing-lg);
211
+ padding: var(--spacing-md);
212
+ }
213
+
214
+ /* ========================================
215
+ FLEXBOX LAYOUTS
216
+ ======================================== */
217
+
218
+ /* Horizontal navigation with Flexbox */
219
+ .nav {
220
+ display: flex;
221
+ align-items: center;
222
+ gap: var(--spacing-md);
223
+ padding: var(--spacing-sm) var(--spacing-md);
224
+ background-color: var(--bg-color);
225
+ border-bottom: var(--border-width) solid var(--border-color);
226
+ }
227
+
228
+ .nav__logo {
229
+ margin-right: auto;
230
+ font-size: var(--font-size-lg);
231
+ font-weight: bold;
232
+ }
233
+
234
+ .nav__menu {
235
+ display: flex;
236
+ gap: var(--spacing-md);
237
+ list-style: none;
238
+ margin: 0;
239
+ padding: 0;
240
+ }
241
+
242
+ .nav__item {
243
+ /* Individual nav items */
244
+ }
245
+
246
+ .nav__link {
247
+ color: var(--text-color);
248
+ text-decoration: none;
249
+ padding: var(--spacing-xs) var(--spacing-sm);
250
+ transition: color var(--transition-fast);
251
+ }
252
+
253
+ .nav__link:hover {
254
+ color: var(--primary-color);
255
+ }
256
+
257
+ /* Flexbox for centering content */
258
+ .flex-center {
259
+ display: flex;
260
+ justify-content: center;
261
+ align-items: center;
262
+ min-height: 100vh;
263
+ }
264
+
265
+ /* Flexbox for space-between layout */
266
+ .flex-between {
267
+ display: flex;
268
+ justify-content: space-between;
269
+ align-items: center;
270
+ }
271
+
272
+ /* Flexbox column layout */
273
+ .flex-column {
274
+ display: flex;
275
+ flex-direction: column;
276
+ gap: var(--spacing-md);
277
+ }
278
+
279
+ /* ========================================
280
+ RESPONSIVE DESIGN WITH MEDIA QUERIES
281
+ ======================================== */
282
+
283
+ /* Mobile-first approach: Base styles for mobile */
284
+ .container {
285
+ width: 100%;
286
+ padding: var(--spacing-md);
287
+ margin: 0 auto;
288
+ }
289
+
290
+ /* Tablet and up */
291
+ @media (min-width: 768px) {
292
+ .container {
293
+ max-width: 720px;
294
+ }
295
+
296
+ .card-grid {
297
+ grid-template-columns: repeat(2, 1fr);
298
+ }
299
+
300
+ .nav__menu {
301
+ flex-direction: row;
302
+ }
303
+ }
304
+
305
+ /* Desktop and up */
306
+ @media (min-width: 1024px) {
307
+ .container {
308
+ max-width: 960px;
309
+ }
310
+
311
+ .card-grid {
312
+ grid-template-columns: repeat(3, 1fr);
313
+ }
314
+ }
315
+
316
+ /* Large desktop */
317
+ @media (min-width: 1280px) {
318
+ .container {
319
+ max-width: 1200px;
320
+ }
321
+
322
+ .card-grid {
323
+ grid-template-columns: repeat(4, 1fr);
324
+ }
325
+ }
326
+
327
+ /* Mobile-specific: Stack navigation vertically */
328
+ @media (max-width: 767px) {
329
+ .page-layout {
330
+ grid-template-columns: 1fr;
331
+ grid-template-areas:
332
+ "header"
333
+ "main"
334
+ "sidebar"
335
+ "footer";
336
+ }
337
+
338
+ .nav {
339
+ flex-direction: column;
340
+ align-items: flex-start;
341
+ }
342
+
343
+ .nav__menu {
344
+ flex-direction: column;
345
+ width: 100%;
346
+ }
347
+ }
348
+
349
+ /* ========================================
350
+ SELECTOR SPECIFICITY EXAMPLES
351
+ ======================================== */
352
+
353
+ /* ✅ GOOD: Low specificity, easy to override */
354
+ .alert {
355
+ padding: var(--spacing-md);
356
+ border-radius: var(--border-radius);
357
+ }
358
+
359
+ .alert--success {
360
+ background-color: var(--success-color);
361
+ color: white;
362
+ }
363
+
364
+ .alert--danger {
365
+ background-color: var(--danger-color);
366
+ color: white;
367
+ }
368
+
369
+ /* ❌ BAD: High specificity, hard to override */
370
+ /* div.alert.alert--success { } */
371
+
372
+ /* ✅ GOOD: Avoid deep nesting (max 3 levels) */
373
+ .article__content p {
374
+ margin-bottom: var(--spacing-md);
375
+ }
376
+
377
+ /* ❌ BAD: Too deeply nested */
378
+ /* .article .article__content .text-wrapper p { } */
379
+
380
+ /* ========================================
381
+ UTILITY CLASSES
382
+ ======================================== */
383
+
384
+ /* Spacing utilities */
385
+ .mt-sm { margin-top: var(--spacing-sm); }
386
+ .mt-md { margin-top: var(--spacing-md); }
387
+ .mt-lg { margin-top: var(--spacing-lg); }
388
+
389
+ .mb-sm { margin-bottom: var(--spacing-sm); }
390
+ .mb-md { margin-bottom: var(--spacing-md); }
391
+ .mb-lg { margin-bottom: var(--spacing-lg); }
392
+
393
+ .p-sm { padding: var(--spacing-sm); }
394
+ .p-md { padding: var(--spacing-md); }
395
+ .p-lg { padding: var(--spacing-lg); }
396
+
397
+ /* Text utilities */
398
+ .text-center { text-align: center; }
399
+ .text-left { text-align: left; }
400
+ .text-right { text-align: right; }
401
+
402
+ .text-primary { color: var(--primary-color); }
403
+ .text-secondary { color: var(--secondary-color); }
404
+ .text-danger { color: var(--danger-color); }
405
+
406
+ .text-sm { font-size: var(--font-size-sm); }
407
+ .text-lg { font-size: var(--font-size-lg); }
408
+ .text-xl { font-size: var(--font-size-xl); }
409
+
410
+ /* Display utilities */
411
+ .d-none { display: none; }
412
+ .d-block { display: block; }
413
+ .d-inline { display: inline; }
414
+ .d-inline-block { display: inline-block; }
415
+ .d-flex { display: flex; }
416
+ .d-grid { display: grid; }
417
+
418
+ /* ========================================
419
+ FORM STYLING
420
+ ======================================== */
421
+
422
+ .form-group {
423
+ display: flex;
424
+ flex-direction: column;
425
+ gap: var(--spacing-xs);
426
+ margin-bottom: var(--spacing-md);
427
+ }
428
+
429
+ .form-label {
430
+ font-weight: 600;
431
+ color: var(--text-color);
432
+ font-size: var(--font-size-sm);
433
+ }
434
+
435
+ .form-input,
436
+ .form-textarea,
437
+ .form-select {
438
+ padding: var(--spacing-sm);
439
+ border: var(--border-width) solid var(--border-color);
440
+ border-radius: var(--border-radius);
441
+ font-family: var(--font-family-base);
442
+ font-size: var(--font-size-base);
443
+ transition: border-color var(--transition-fast);
444
+ }
445
+
446
+ .form-input:focus,
447
+ .form-textarea:focus,
448
+ .form-select:focus {
449
+ outline: none;
450
+ border-color: var(--primary-color);
451
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
452
+ }
453
+
454
+ .form-input--error {
455
+ border-color: var(--danger-color);
456
+ }
457
+
458
+ .form-help-text {
459
+ font-size: var(--font-size-sm);
460
+ color: var(--secondary-color);
461
+ }
462
+
463
+ .form-error-text {
464
+ font-size: var(--font-size-sm);
465
+ color: var(--danger-color);
466
+ }
467
+
468
+ /* ========================================
469
+ ANIMATIONS AND TRANSITIONS
470
+ ======================================== */
471
+
472
+ /* Fade in animation */
473
+ @keyframes fadeIn {
474
+ from {
475
+ opacity: 0;
476
+ }
477
+ to {
478
+ opacity: 1;
479
+ }
480
+ }
481
+
482
+ .fade-in {
483
+ animation: fadeIn var(--transition-base);
484
+ }
485
+
486
+ /* Slide in from left */
487
+ @keyframes slideInLeft {
488
+ from {
489
+ transform: translateX(-100%);
490
+ opacity: 0;
491
+ }
492
+ to {
493
+ transform: translateX(0);
494
+ opacity: 1;
495
+ }
496
+ }
497
+
498
+ .slide-in-left {
499
+ animation: slideInLeft var(--transition-base);
500
+ }
501
+
502
+ /* Hover effects */
503
+ .hover-lift {
504
+ transition: transform var(--transition-fast);
505
+ }
506
+
507
+ .hover-lift:hover {
508
+ transform: translateY(-4px);
509
+ box-shadow: var(--shadow-lg);
510
+ }
511
+
512
+ /* ========================================
513
+ ACCESSIBILITY HELPERS
514
+ ======================================== */
515
+
516
+ /* Screen reader only content */
517
+ .sr-only {
518
+ position: absolute;
519
+ width: 1px;
520
+ height: 1px;
521
+ padding: 0;
522
+ margin: -1px;
523
+ overflow: hidden;
524
+ clip: rect(0, 0, 0, 0);
525
+ white-space: nowrap;
526
+ border: 0;
527
+ }
528
+
529
+ /* Focus visible for keyboard navigation */
530
+ .focus-visible:focus {
531
+ outline: 2px solid var(--primary-color);
532
+ outline-offset: 2px;
533
+ }
534
+
535
+ /* Skip to main content link */
536
+ .skip-link {
537
+ position: absolute;
538
+ top: -40px;
539
+ left: 0;
540
+ background: var(--primary-color);
541
+ color: white;
542
+ padding: var(--spacing-sm);
543
+ text-decoration: none;
544
+ z-index: 100;
545
+ }
546
+
547
+ .skip-link:focus {
548
+ top: 0;
549
+ }
550
+