@issuegraph/editor 0.10.0 → 0.22.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 (106) hide show
  1. package/README.md +38 -7
  2. package/dist/a11y/baseline.d.ts.map +1 -1
  3. package/dist/a11y/baseline.js +4 -0
  4. package/dist/a11y/baseline.js.map +1 -1
  5. package/dist/audit/findings.d.ts +107 -1
  6. package/dist/audit/findings.d.ts.map +1 -1
  7. package/dist/audit/findings.js +113 -6
  8. package/dist/audit/findings.js.map +1 -1
  9. package/dist/audit/panel.d.ts +277 -0
  10. package/dist/audit/panel.d.ts.map +1 -0
  11. package/dist/audit/panel.js +462 -0
  12. package/dist/audit/panel.js.map +1 -0
  13. package/dist/audit/refused.d.ts +99 -0
  14. package/dist/audit/refused.d.ts.map +1 -0
  15. package/dist/audit/refused.js +276 -0
  16. package/dist/audit/refused.js.map +1 -0
  17. package/dist/audit/styles.d.ts +1 -1
  18. package/dist/audit/styles.d.ts.map +1 -1
  19. package/dist/audit/styles.js +428 -0
  20. package/dist/audit/styles.js.map +1 -1
  21. package/dist/audit/surface.d.ts +54 -12
  22. package/dist/audit/surface.d.ts.map +1 -1
  23. package/dist/audit/surface.js +53 -13
  24. package/dist/audit/surface.js.map +1 -1
  25. package/dist/create/draft.d.ts +19 -0
  26. package/dist/create/draft.d.ts.map +1 -1
  27. package/dist/create/draft.js +21 -0
  28. package/dist/create/draft.js.map +1 -1
  29. package/dist/create/keys.d.ts +68 -8
  30. package/dist/create/keys.d.ts.map +1 -1
  31. package/dist/create/keys.js +43 -5
  32. package/dist/create/keys.js.map +1 -1
  33. package/dist/index.d.ts +38 -15
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +34 -13
  36. package/dist/index.js.map +1 -1
  37. package/dist/overlay/render.d.ts +11 -3
  38. package/dist/overlay/render.d.ts.map +1 -1
  39. package/dist/overlay/render.js +22 -6
  40. package/dist/overlay/render.js.map +1 -1
  41. package/dist/overlay/request.d.ts +71 -0
  42. package/dist/overlay/request.d.ts.map +1 -0
  43. package/dist/overlay/request.js +129 -0
  44. package/dist/overlay/request.js.map +1 -0
  45. package/dist/overlay/styles.d.ts +1 -1
  46. package/dist/overlay/styles.d.ts.map +1 -1
  47. package/dist/overlay/styles.js +38 -7
  48. package/dist/overlay/styles.js.map +1 -1
  49. package/dist/reevaluate/parts.d.ts +130 -0
  50. package/dist/reevaluate/parts.d.ts.map +1 -0
  51. package/dist/reevaluate/parts.js +260 -0
  52. package/dist/reevaluate/parts.js.map +1 -0
  53. package/dist/reevaluate/render.d.ts +18 -11
  54. package/dist/reevaluate/render.d.ts.map +1 -1
  55. package/dist/reevaluate/render.js +21 -135
  56. package/dist/reevaluate/render.js.map +1 -1
  57. package/dist/reevaluate/styles.d.ts +1 -1
  58. package/dist/reevaluate/styles.d.ts.map +1 -1
  59. package/dist/reevaluate/styles.js +26 -0
  60. package/dist/reevaluate/styles.js.map +1 -1
  61. package/dist/reevaluate/view.d.ts +16 -1
  62. package/dist/reevaluate/view.d.ts.map +1 -1
  63. package/dist/reevaluate/view.js +21 -1
  64. package/dist/reevaluate/view.js.map +1 -1
  65. package/dist/reevaluate/words.d.ts +7 -0
  66. package/dist/reevaluate/words.d.ts.map +1 -1
  67. package/dist/scale/ladder.d.ts +62 -6
  68. package/dist/scale/ladder.d.ts.map +1 -1
  69. package/dist/scale/ladder.js +119 -8
  70. package/dist/scale/ladder.js.map +1 -1
  71. package/dist/scale/render.d.ts +44 -0
  72. package/dist/scale/render.d.ts.map +1 -1
  73. package/dist/scale/render.js +197 -27
  74. package/dist/scale/render.js.map +1 -1
  75. package/dist/scale/styles.d.ts +11 -5
  76. package/dist/scale/styles.d.ts.map +1 -1
  77. package/dist/scale/styles.js +133 -4
  78. package/dist/scale/styles.js.map +1 -1
  79. package/dist/workspace/host.d.ts +83 -1
  80. package/dist/workspace/host.d.ts.map +1 -1
  81. package/dist/workspace/host.js +197 -4
  82. package/dist/workspace/host.js.map +1 -1
  83. package/dist/workspace/inspector.d.ts +33 -7
  84. package/dist/workspace/inspector.d.ts.map +1 -1
  85. package/dist/workspace/inspector.js +15 -0
  86. package/dist/workspace/inspector.js.map +1 -1
  87. package/dist/workspace/mount.d.ts +23 -1
  88. package/dist/workspace/mount.d.ts.map +1 -1
  89. package/dist/workspace/mount.js +500 -17
  90. package/dist/workspace/mount.js.map +1 -1
  91. package/dist/workspace/rail.d.ts +5 -2
  92. package/dist/workspace/rail.d.ts.map +1 -1
  93. package/dist/workspace/rail.js.map +1 -1
  94. package/dist/workspace/render.d.ts +379 -3
  95. package/dist/workspace/render.d.ts.map +1 -1
  96. package/dist/workspace/render.js +893 -133
  97. package/dist/workspace/render.js.map +1 -1
  98. package/dist/workspace/selection.d.ts +11 -0
  99. package/dist/workspace/selection.d.ts.map +1 -1
  100. package/dist/workspace/selection.js +10 -0
  101. package/dist/workspace/selection.js.map +1 -1
  102. package/dist/workspace/styles.d.ts +1 -1
  103. package/dist/workspace/styles.d.ts.map +1 -1
  104. package/dist/workspace/styles.js +868 -18
  105. package/dist/workspace/styles.js.map +1 -1
  106. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/workspace/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/workspace/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,EAaL,aAAa,EACb,OAAO,EACP,aAAa,EACb,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAoC,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAA0B,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAmB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EAExB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAmB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAIL,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA2C,UAAU,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAqB,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAEL,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,iFAAiF;AACjF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC,CAAC;AAq2BvF;;;;;;GAMG;AACH,SAAS,IAAI,CAAC,IAAU,EAAE,KAAa;IACrC,OAAO,uCAAuC,IAAI,KAAK,KAAK,YAAY,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,SAAS,aAAa,CACpB,MAAmB,EACnB,QAAwB,EACxB,KAA8B;IAE9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7B,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE;YAC3C,uEAAuE;YACvE,gEAAgE;YAChE,2DAA2D;YAC3D,OAAO,KAAK,IAAI;gBACd,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;oBAC5C,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAClC,8DAA8D;oBAC9D,4DAA4D;oBAC5D,+DAA+D;oBAC/D,2DAA2D;oBAC3D,6DAA6D;oBAC7D,kDAAkD;oBAClD,IAAI;oBACJ,+DAA+D;oBAC/D,+DAA+D;oBAC/D,gEAAgE;oBAChE,gEAAgE;oBAChE,gEAAgE;oBAChE,8DAA8D;oBAC9D,gEAAgE;oBAChE,gEAAgE;oBAChE,iEAAiE;oBACjE,4DAA4D;oBAC5D,qCAAqC;oBACrC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;oBAC9C,KAAK;iBACN,CAAC;YACN,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC5C,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzE,GAAG;gBACH,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/B,GAAG;gBACH,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/E,GAAG;gBACH,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACnC,CAAC;SACH,CAAC,CAAC;IACT,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,qDAAqD;IACrD,MAAM,IAAI,GACR,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,4EAA4E;IAC5E,8EAA8E;IAC9E,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,UAAU,CACjB,QAAsB,EACtB,KAA4B,EAC5B,MAA0B;IAE1B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;QACjD,6EAA6E;QAC7E,4EAA4E;QAC5E,yEAAyE;QACzE,WAAW;QACX,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE;YAClB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,GAAG;YACH,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACtC,CAAC;QACF,6EAA6E;QAC7E,2EAA2E;QAC3E,2DAA2D;QAC3D,OAAO,CACL,QAAQ,EACR;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,yBAAyB;YAChC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACjD,oEAAoE;YACpE,mEAAmE;YACnE,mEAAmE;YACnE,wEAAwE;YACxE,sEAAsE;YACtE,qEAAqE;YACrE,eAAe;YACf,EAAE;YACF,kEAAkE;YAClE,gEAAgE;YAChE,sEAAsE;YACtE,uEAAuE;YACvE,mEAAmE;YACnE,UAAU;YACV,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe;SACtE,EACD,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1C;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,IAAwB;IACxD,OAAO,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CACV,OAAO,CAAC,KAAK,EAAE;YACb,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,MAAM;YACrB,qEAAqE;YACrE,0DAA0D;YAC1D,KAAK,EAAE,kBAAkB,MAAM,CAAC,IAAI,CAAC,EAAE;SACxC,CAAC,CACH,CAAC;AACR,CAAC;AAED,+EAA+E;AAC/E,SAAS,cAAc,CACrB,OAA4B,EAC5B,OAA0B;IAE1B,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,kDAAkD;IAClD,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;AAChF,CAAC;AA0BD,SAAS,QAAQ,CACf,IAAiB,EACjB,UAAsD,EACtD,OAA8C;IAE9C,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,8BAA8B;IAC9B,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAa,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,SAAS,QAAQ,CAAC,IAAiB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC;QACxC,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,sCAAsC;QACtC,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,yEAAyE;QACzE,0EAA0E;QAC1E,gEAAgE;QAChE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,gCAAgC;QAChC,EAAE;QACF,qEAAqE;QACrE,4EAA4E;QAC5E,uEAAuE;QACvE,mCAAmC;QACnC,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,MAAM,GAA8B,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5D,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,wBAAwB,CAAC,GAAG,QAAQ,CAAC;QACxE,kDAAkD;QAClD,EAAE;QACF,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,oEAAoE;QACpE,EAAE;QACF,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,uCAAuC;QACvC,EAAE;QACF,yEAAyE;QACzE,wEAAwE;QACxE,gCAAgC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,CAAC;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,8DAA8D;QAC9D,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACpE,MAAM,KAAK,GACT,QAAQ,KAAK,SAAS,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,OAAO;YACL,GAAG,IAAI;YACP,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,OAAO,CACd,YAAmC,EACnC,QAAuB,EACvB,KAAqB;IAErB,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,OAAO,CACZ,MAAM,EACN,EAAE,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,UAAU,EAAE,EAC/D,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CACtC,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,6EAA6E;IAC7E,oEAAoE;IACpE,OAAO,OAAO,CACZ,QAAQ,EACR;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,wBAAwB;QAC/B,iBAAiB,EAAE,QAAQ;QAC3B,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,iCAAiC;QACjC,gBAAgB,EAAE,YAAY,CAAC,MAAM;QACrC,YAAY,EAAE,KAAK,CAAC,MAAM;KAC3B,EACD,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,SAAS,WAAW,CAClB,YAAmC,EACnC,QAAuB,EACvB,KAAqB;IAErB,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO,OAAO,CACZ,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAC5E,CAAC,KAAK,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,IAAiB,EAAE,KAAqB;IAC7D,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,uBAAuB,CAC9B,YAAmC,EACnC,OAAsB;IAEtB,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,CAAC;IACnE,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,kDAAkD;IAClD,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,+BAA+B;IAC/B,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,IAAoB,EAAe,EAAE,CACnE,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,OAAO;QACL,OAAO,CACL,MAAM,EACN,EAAE,KAAK,EAAE,sBAAsB,EAAE;QACjC,oEAAoE;QACpE,yDAAyD;QACzD,iEAAiE;QACjE,kEAAkE;QAClE,+CAA+C;QAC/C,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC/D;QACD,GAAG,CAAC,OAAO,KAAK,IAAI;YAClB,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CACvB,YAAmC,EACnC,OAAsB;IAEtB,OAAO,OAAO,CACZ,QAAQ,EACR;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,wBAAwB;QAC/B,iBAAiB,EAAE,aAAa;QAChC,gBAAgB,EAAE,YAAY,CAAC,MAAM;KACtC,EACD,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAS,gBAAgB,CACvB,YAAmC,EACnC,OAAsB,EACtB,QAAuB,EACvB,KAAqB,EACrB,OAAgC;IAEhC,OAAO,OAAO,CACZ,IAAI,EACJ;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,YAAY,CAAC,KAAK;QAC/B,0EAA0E;QAC1E,sEAAsE;QACtE,gBAAgB,EAAE,YAAY,CAAC,SAAS,IAAI,SAAS;QACrD,cAAc,EAAE,OAAO;KACxB,EACD;QACE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC;QACvC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;QAC5D,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC;QACtC,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,WAAW;QACX,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC;KAC3C,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,SAAS,cAAc,CACrB,YAA+C,EAC/C,IAAiB,EACjB,OAAsB,EACtB,KAAqB;IAErB,OAAO,OAAO,CACZ,IAAI,EACJ;QACE,KAAK,EAAE,yBAAyB;QAChC,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,YAAY,EAAE,KAAK;KACjC,EACD;QACE,wEAAwE;QACxE,mEAAmE;QACnE,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,mDAAmD;QACnD,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CACL,MAAM,EACN,EAAE,KAAK,EAAE,sBAAsB,EAAE,EACjC,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAC/C;QACL,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;KAC3B,CACF,CAAC;AACJ,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAS,YAAY,CAAC,KAAqB,EAAE,MAAqB;IAChE,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;QACnD,qEAAqE;QACrE,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,sBAAsB;QACtB,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAChF,MAAM,KAAK,IAAI;YACb,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;gBAC7C,GAAG,KAAK,CAAC,YAAY,GAAG;gBACxB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;aAC9C,CAAC;QACN,OAAO,CACL,IAAI,EACJ,EAAE,KAAK,EAAE,cAAc,EAAE,EACzB,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE;gBACvB,OAAO,CACL,QAAQ,EACR;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,gBAAgB;oBACvB,iBAAiB,EAAE,MAAM;oBACzB,eAAe,EAAE,KAAK,CAAC,QAAQ;oBAC/B,WAAW,EAAE,KAAK,CAAC,QAAQ;iBAC5B,EACD;oBACE,mEAAmE;oBACnE,kEAAkE;oBAClE,uDAAuD;oBACvD,4DAA4D;oBAC5D,8DAA8D;oBAC9D,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;oBAClD,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACzD,CACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CACH;QACD,OAAO,CACL,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAC7E,CAAC,KAAK,CAAC,MAAM,CAAC,CACf;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,SAAS,WAAW,CAClB,GAAqB,EACrB,KAAqB,EACrB,KAA6B;IAE7B,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;QACpF,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;YAC9C,GAAG,CAAC,IAAI,KAAK,IAAI;gBACf,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxC,CAAC,CAAC,IAAI;oBACJ,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI;SAC3B,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE;YAC9C,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;YAChC,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBAC3B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;oBAC7C,GAAG,KAAK,CAAC,eAAe,GAAG;oBAC3B,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnE,CAAC;SACP,CAAC;QACF,sEAAsE;QACtE,2EAA2E;QAC3E,2EAA2E;QAC3E,yCAAyC;QACzC,EAAE;QACF,qEAAqE;QACrE,0EAA0E;QAC1E,yEAAyE;QACzE,0DAA0D;QAC1D,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,KAAK,CAAC;KAClF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,IAAwB;IAC1C,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,kBAAkB,CAAC,QAA8B,EAAE,KAAqB;IAC/E,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;QACvD,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK;QACnB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,EAAE;KACpB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,aAAa,CAAC,SAAgC,EAAE,KAAqB;IAC5E,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,OAAO,CACZ,MAAM,EACN;QACE,KAAK,EAAE,wBAAwB;QAC/B,YAAY,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;KAC1D,EACD;QACE,GAAG,KAAK,CAAC,IAAI,GAAG;QAChB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE;QAClF,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,EAAE;YACzD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CACL,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAC/E,CAAC,SAAS,CAAC,OAAO,CAAC,CACpB;KACN,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,aAAa,CAAC,IAAyB;IAC9C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC9C,OAAO,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,SAAS,YAAY,CACnB,IAA2B,EAC3B,WAAmB,EACnB,KAAqB;IAGrB,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,KAAK,GAAa;QACtB,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;YAClD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtF,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,WAAW;QACX,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE;YACpD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,YAAY,CACV,OAAO,CACL,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,YAAY,EAAE,EACpF,CAAC,IAAI,CAAC,SAAS,CAAC,CACjB,CACF;KACN,CAAC;IAEF,OAAO,oCAAoC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;AACpE,CAAC;AAmED,SAAS,UAAU,CAAC,IAAmB;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;aAC7E,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;AACH,CAAC;AAoBD,6DAA6D;AAC7D,SAAS,UAAU,CAAC,KAAiB,EAAE,MAAiB;IACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,WAAW;IACxB,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,SAAS;CAC2B,CAAC,CAAC;AAExD;;;;;GAKG;AACH,SAAS,YAAY,CAAC,UAAsB;IAC1C,OAAO,oBAAoB,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,IAAgB;IACpC,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9F,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,SAAS,YAAY,CACnB,OAAe,EACf,KAA4B;IAE5B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;YAC5C,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SACvE,CAAC,CAAC;AACT,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,IAAkB,EAAE,KAAoB,EAAE,EAAU;IACpE,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE;QACvD,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;QACnD,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;QAC3C,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YAC/B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;gBAC5C,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC1E,OAAO,CACL,IAAI,EACJ,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBAC9B,gEAAgE;gBAChE,6DAA6D;gBAC7D,yDAAyD;gBACzD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBACvC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;oBACzB,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;iBAC9B,CAAC,CACH;aACF,CAAC;QACN,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YAC7B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;gBAC5C,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACxE,OAAO,CACL,IAAI,EACJ,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE;oBAC5C,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjD,4DAA4D;oBAC5D,8DAA8D;oBAC9D,wBAAwB;oBACxB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACzE,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;iBAC9E,CAAC,CACH,CACF;aACF,CAAC;KACP,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CACrB,UAA6B,EAC7B,IAA+B,EAC/B,KAAoB;IAEpB,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,KAAK,OAAO;YACV,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QACjE,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC,WAAW,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,YAAY,CACnB,QAA2B,EAC3B,KAAoB,EACpB,QAA2B,EAC3B,IAAgC;IAEhC,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,KAAK,QAAQ,CAAC,UAAU,CAAC;IAC9E,OAAO,OAAO,CACZ,IAAI,EACJ;QACE,KAAK,EAAE,aAAa;QACpB,uEAAuE;QACvE,oEAAoE;QACpE,eAAe,EAAE,QAAQ,CAAC,IAAI;KAC/B,EACD;QACE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;YAC3C,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;SAC7D,CAAC;QACF,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACxB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAClE,CAAC,CAAC,IAAI;QACR,0EAA0E;QAC1E,+CAA+C;QAC/C,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI;YAC5D,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE;gBACnD,GAAG,KAAK,CAAC,WAAW,GAAG;gBACvB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;aAClF,CAAC;YACJ,CAAC,CAAC,IAAI;QACR,OAAO,CACL,KAAK,EACL,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAChC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACvC,OAAO,CACL,QAAQ,EACR;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,oBAAoB;YAC3B,iBAAiB,EAAE,mBAAmB,CAAC,UAAU,CAAC;YAClD,gBAAgB,EAAE,QAAQ,CAAC,UAAU;YACrC,iEAAiE;YACjE,gEAAgE;YAChE,kEAAkE;YAClE,2DAA2D;YAC3D,sDAAsD;YACtD,eAAe,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACnF,gEAAgE;YAChE,gEAAgE;YAChE,8DAA8D;YAC9D,+DAA+D;YAC/D,yDAAyD;YACzD,0DAA0D;YAC1D,wDAAwD;YACxD,mDAAmD;YACnD,mCAAmC;YACnC,eAAe,EACb,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;SACrF,EACD,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CACnD,CACF,CACF;QACD,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,yEAAyE;QACzE,uBAAuB;QACvB,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;YAClC,CAAC,CAAC,QAAQ,CACN,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAC/D,KAAK,EACL,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAClC;YACH,CAAC,CAAC,IAAI;KACT,CACF,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,SAAS,gBAAgB,CACvB,UAAwC,EACxC,KAAoB,EACpB,QAA2B,EAC3B,IAAgC,EAChC,OAAsB;IAEtB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE;QACrD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACrF,OAAO,CACL,IAAI,EACJ,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAC7B,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAC5E;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,SAAS,mBAAmB,CAC1B,IAAmB,EACnB,OAAsB,EACtB,QAAuB,EACvB,OAAyB;IAEzB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC,OAAO;YACpB,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;YACpE,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,aAAa,CAAC,IAAmB,EAAE,OAAyB;IACnE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,0EAA0E;IAC1E,iEAAiE;IACjE,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,QAAQ;IACR,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,yEAAyE;IACzE,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,gEAAgE;IAChE,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE;QAC7E,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE;YAC7C,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,KAAK,MAAM;gBACrB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,CACL,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAC3E,CAAC,KAAK,CAAC,cAAc,CAAC,CACvB;SACN,CAAC;QACF,OAAO,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACxE,CAAC,CAAC,IAAI;QACR,OAAO,CAAC,IAAI,KAAK,OAAO;YACtB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE;gBAC9C,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrE,oEAAoE;gBACpE,mEAAmE;gBACnE,qEAAqE;gBACrE,2CAA2C;gBAC3C,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;gBACvB,kEAAkE;gBAClE,qEAAqE;gBACrE,+DAA+D;gBAC/D,sDAAsD;gBACtD,OAAO,CAAC,OAAO,KAAK,IAAI;oBACtB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,WAAW,CACT,OAAO,CAAC,OAAO,EACf,KAAK,EACL,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE,CAC1C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CACzE,CACF,CACF;aACN,CAAC;YACJ,CAAC,CAAC,IAAI;QACR,mEAAmE;QACnE,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,kEAAkE;QAClE,wEAAwE;QACxE,yEAAyE;QACzE,yDAAyD;QACzD,OAAO,CACL,KAAK,EACL,EAAE,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAC1F;YACI,oEAAoE;YACpE,mEAAmE;YACnE,mEAAmE;YACnE,qEAAqE;YACrE,mDAAmD;YACnD,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE;gBAC3D,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACvE,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;aACjE,CAAC;YACF,uEAAuE;YACvE,2DAA2D;YAC3D,qEAAqE;YACrE,qEAAqE;YACrE,oCAAoC;YACpC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAC7C,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACvE,CAAC,CAAC,IAAI;YACR,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,OAAO,CAAC;YACvF,qEAAqE;YACrE,sEAAsE;YACtE,mEAAmE;YACnE,iEAAiE;YACjE,gEAAgE;YAChE,gBAAgB;YAClB,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;SAChE,CACF;QACD,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,gBAAgB,CACd,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EACpE,KAAK,CAAC,QAAQ,EACd,OAAO,CAAC,QAAQ,EAChB,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC1C,IAAI,CACL;QACD,2EAA2E;QAC3E,uEAAuE;QACvE,wEAAwE;QACxE,4EAA4E;QAC5E,mEAAmE;QACnE,mEAAmE;QACnE,0EAA0E;QAC1E,sEAAsE;QACtE,mEAAmE;QACnE,mEAAmE;QACnE,4EAA4E;QAC5E,iEAAiE;QACjE,gBAAgB,CACd,OAAO,CAAC,UAAU,CAAC,MAAM,CACvB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CACxE,EACD,KAAK,CAAC,QAAQ,EACd,OAAO,CAAC,QAAQ,EAChB,IAAI,EACJ,KAAK,CAAC,QAAQ,CAAC,QAAQ,CACxB;KACF,CAAC,CAAC;AACL,CAAC;AA2ED,SAAS,UAAU,CAAC,OAAyB,EAAE,OAAsB;IACnE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACnF,CAAC;IACD,8EAA8E;IAC9E,wEAAwE;IACxE,uCAAuC;IACvC,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAClF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,SAAS,cAAc,CAAC,KAAqB,EAAE,OAAe;IAC5D,OAAO,OAAO,CACZ,QAAQ,EACR;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,wBAAwB;QAC/B,iBAAiB,EAAE,KAAK;QACxB,oEAAoE;QACpE,gEAAgE;QAChE,qEAAqE;QACrE,kEAAkE;QAClE,sEAAsE;QACtE,+DAA+D;QAC/D,wEAAwE;QACxE,gBAAgB,EAAE,OAAO;KAC1B,EACD;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,sEAAsE;QACtE,gBAAgB;QAChB,KAAK,CAAC,eAAe;QACrB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;KACvF,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,SAAS,OAAO,CACd,IAAgB,EAChB,KAA0B,EAC1B,eAAyC;IAEzC,OAAO,OAAO,CACZ,IAAI,EACJ;QACE,KAAK,EAAE,mBAAmB;QAC1B,aAAa,EAAE,IAAI,CAAC,MAAM;QAC1B,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,cAAc,EAAE,IAAI,CAAC,OAAO;KAC7B,EACD;QACE,uEAAuE;QACvE,iDAAiD;QACjD,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YACxE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/E,CAAC,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;QAC5G,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YACrF,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CACL,QAAQ,EACR;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,2BAA2B;gBAClC,iBAAiB,EAAE,cAAc;gBACjC,gBAAgB,EAAE,IAAI,CAAC,OAAO;aAC/B,EACD,CAAC,IAAI,CAAC,OAAO,CAAC,CACf;KACN,CACF,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,eAAe,CAC7B,KAAqB,EACrB,OAAyB;IAEzB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC;IACzD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjF,8EAA8E;IAC9E,6EAA6E;IAC7E,kEAAkE;IAClE,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,oEAAoE;IACpE,2EAA2E;IAC3E,8EAA8E;IAC9E,wEAAwE;IACxE,8EAA8E;IAC9E,sDAAsD;IACtD,EAAE;IACF,mEAAmE;IACnE,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,8DAA8D;IAC9D,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,4EAA4E;IAC5E,EAAE;IACF,yEAAyE;IACzE,4EAA4E;IAC5E,6EAA6E;IAC7E,qCAAqC;IACrC,EAAE;IACF,0EAA0E;IAC1E,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,UAAU,GAAwB,IAAI,GAAG,CAC7C,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAC3E,CAAC;IACF,+EAA+E;IAC/E,4EAA4E;IAC5E,+CAA+C;IAC/C,MAAM,MAAM,GAAgC,IAAI,GAAG,CACjD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAU,CAAC,CAAC,CACnG,CAAC;IAEF,yEAAyE;IACzE,sEAAsE;IACtE,8DAA8D;IAC9D,EAAE;IACF,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,wCAAwC;IACxC,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC;IACpE,8EAA8E;IAC9E,6EAA6E;IAC7E,0EAA0E;IAC1E,SAAS;IACT,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC;IACjE,8EAA8E;IAC9E,wEAAwE;IACxE,yBAAyB;IACzB,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,QAAQ;QAC5B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CACjE;QACH,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IACzB,MAAM,gBAAgB,GAAG,QAAQ;QAC/B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACzF,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5B,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,oDAAoD;IACpD,EAAE;IACF,0EAA0E;IAC1E,+EAA+E;IAC/E,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,eAAe,GAAG,QAAQ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;IAChG,4EAA4E;IAC5E,uEAAuE;IACvE,EAAE;IACF,yEAAyE;IACzE,8EAA8E;IAC9E,2EAA2E;IAC3E,0EAA0E;IAC1E,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,0DAA0D;IAC1D,MAAM,aAAa,GAAgC,QAAQ;QACzD,CAAC,CAAC;YACE,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc;YACtF,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,oEAAoE;YACpE,wEAAwE;YACxE,sBAAsB;YACtB,EAAE;YACF,qEAAqE;YACrE,sEAAsE;YACtE,oEAAoE;YACpE,oEAAoE;YACpE,sEAAsE;YACtE,EAAE;YACF,sEAAsE;YACtE,uEAAuE;YACvE,iEAAiE;YACjE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAC5D;YACD,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;SAC/C;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,iBAAiB,GACrB,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IACrF,MAAM,SAAS,GAAmB,QAAQ;QACxC,CAAC,CAAC;YACE,GAAG,QAAQ;YACX,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE;SAC5D;QACH,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAE7C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC7C,UAAU,EAAE,QAAQ;QACpB,KAAK;QACL,yEAAyE;QACzE,0DAA0D;QAC1D,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC;QAChC,0EAA0E;QAC1E,wEAAwE;QACxE,6EAA6E;QAC7E,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,yEAAyE;QACzE,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;KAC/E,CAAC,CAAC;IACH,6EAA6E;IAC7E,iDAAiD;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS;YAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IACD,2EAA2E;IAC3E,+DAA+D;IAC/D,4EAA4E;IAC5E,6EAA6E;IAC7E,uCAAuC;IACvC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,QAAQ,KAAK,SAAS;YAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,6EAA6E;IAC7E,sEAAsE;IACtE,2EAA2E;IAC3E,4EAA4E;IAC5E,qCAAqC;IACrC,MAAM,cAAc,GAClB,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,SAAS,EAAE,CAAC;IAExF,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE;QACzC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,mBAAmB;QAC3C,KAAK;QACL,cAAc;QACd,0EAA0E;QAC1E,qEAAqE;QACrE,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,2EAA2E;QAC3E,EAAE;QACF,4EAA4E;QAC5E,6EAA6E;QAC7E,wEAAwE;QACxE,4EAA4E;QAC5E,6EAA6E;QAC7E,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,gCAAgC;QAChC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;QAC9C,qEAAqE;QACrE,sEAAsE;QACtE,yEAAyE;QACzE,6BAA6B;QAC7B,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC;QAChC,uEAAuE;QACvE,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,iCAAiC;QACjC,YAAY,EAAE,cAAc,CAAC,SAAS,CAAC;QACvC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7E,2EAA2E;IAC3E,EAAE;IACF,yEAAyE;IACzE,yEAAyE;IACzE,8EAA8E;IAC9E,sEAAsE;IACtE,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,EAAE;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,mEAAmE;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CACnB,QAAQ,EACR;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,iBAAiB;QACxB,iBAAiB,EAAE,cAAc;QACjC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;KAC/C,EACD,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CACnE,CAAC;IAEF,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAChF,MAAM,WAAW,GACf,iBAAiB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG;QACjD,oBAAoB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC;IAEzD,6EAA6E;IAC7E,yEAAyE;IACzE,4EAA4E;IAC5E,yCAAyC;IACzC,EAAE;IACF,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAE9F,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAErD,gEAAgE;IAChE,wEAAwE;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,EAAE;IACF,6EAA6E;IAC7E,+DAA+D;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;IACzC,MAAM,WAAW,GAAgB,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IAClE,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,2BAA2B;IAC3B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ;QAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAG,cAAc,CAC3B,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EACjD,UAAU,CAAC,KAAK,EAChB,WAAW,EACX,UAAU,CACX,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG;YACR,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE;SACpD,CAAC,CACP,CAAC;IAEF,iEAAiE;IACjE,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,kBAAkB;IAClB,EAAE;IACF,6EAA6E;IAC7E,0EAA0E;IAC1E,qEAAqE;IACrE,wEAAwE;IACxE,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,UAAU,GAAG,CAAC,SAAS;QAC3B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,GAAG,EAAE;YAEJ,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,EAAE;gBAC/E,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;gBAC1B,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;YACH,6EAA6E;YAC7E,yEAAyE;YACzE,yEAAyE;YACzE,sBAAsB;YACtB,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE;gBACtC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;gBAC1B,KAAK;gBACL,KAAK,EAAE,UAAU;gBACjB,QAAQ;aACT,CAAC,CAAC;YACH,wEAAwE;YACxE,sEAAsE;YACtE,mEAAmE;YACnE,kCAAkC;YAClC,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACtF,wEAAwE;YACxE,iEAAiE;YACjE,qEAAqE;YACrE,yBAAyB;YACzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACpC,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,MAAM,GAAG;QACb,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,EAAE;QACF,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,2BAA2B;QAC3B,EAAE;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,qEAAqE;QACrE,0EAA0E;QAC1E,EAAE;QACF,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,qEAAqE;QACrE,kEAAkE;QAClE,WAAW,KAAK,SAAS;YACvB,CAAC,CAAC,4BAA4B,WAAW,GAAG;YAC5C,CAAC,CAAC,yCAAyC,WAAW,IAAI,WAAW,GAAG;QAC1E,IAAI,CACF,QAAQ,EACR;YACE,YAAY,CACV,QAAQ,CAAC,IAAI,EACb,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACvE,OAAO,CAAC,KAAK,CACd;YACD,sEAAsE;YACtE,sEAAsE;YACtE,iEAAiE;YACjE,mEAAmE;YACnE,sEAAsE;YACtE,mEAAmE;YACnE,sEAAsE;YACtE,EAAE;YACF,iEAAiE;YACjE,oEAAoE;YACpE,6DAA6D;YAC7D,yEAAyE;YACzE,sEAAsE;YACtE,uDAAuD;YACvD,EAAE;YACF,qEAAqE;YACrE,iEAAiE;YACjE,sEAAsE;YACtE,oEAAoE;YACpE,uEAAuE;YACvE,2DAA2D;YAC3D,WAAW,KAAK,SAAS;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SAClF,CAAC,IAAI,CAAC,EAAE,CAAC,CACX;QACD,IAAI,CACF,MAAM,EACN;YACE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YACjC,YAAY,CACV,QAAQ,CACN,UAAU,CAAC,KAAK,CAAC,IAAI,EACrB,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAC/B,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAC7B,CACF;YACD,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;YAC/B,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC;SAC5D,CAAC,IAAI,CAAC,EAAE,CAAC,CACX;QACD,IAAI,CACF,QAAQ;QACR,oEAAoE;QACpE,qEAAqE;QACrE,wEAAwE;QACxE,8DAA8D;QAC9D,qEAAqE;QACrE,yEAAyE;QACzE,qCAAqC;QACrC,EAAE;QACF,qEAAqE;QACrE,oEAAoE;QACpE,yEAAyE;QACzE,qEAAqE;QACrE,oEAAoE;QACpE,sDAAsD;QACtD,EAAE;QACF,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,4DAA4D;QAC5D,CAAC,KAAK,EAAE,OAAO,CAAC;aACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;aACxD,IAAI,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,MAAM;YACb,UAAU,CACX;QACD,IAAI,CACF,WAAW;QACX,qEAAqE;QACrE,yEAAyE;QACzE,sEAAsE;QACtE,iEAAiE;QACjE,EAAE;QACF,sEAAsE;QACtE,kEAAkE;QAClE,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QACpE,mCAAmC;QACnC,EAAE;QACF,0EAA0E;QAC1E,uEAAuE;QACvE,8DAA8D;QAC9D,yEAAyE;QACzE,gBAAgB;QAChB,EAAE;QACF,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,qCAAqC;QACrC,EAAE;QACF,oEAAoE;QACpE,uEAAuE;QACvE,6CAA6C;QAC7C,EAAE;QACF,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,kBAAkB;QAClB,EAAE;QACF,yEAAyE;QACzE,qEAAqE;QACrE,0EAA0E;QAC1E,8DAA8D;QAC9D,oEAAoE;QACpE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,6CAA6C;QAC7C,EAAE;QACF,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,yEAAyE;QACzE,YAAY,CACV,aAAa,CAAC,SAAS,EAAE;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO;YACd,KAAK;YACL,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,iBAAiB;YACzC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,mEAAmE;YACnE,kEAAkE;YAClE,kEAAkE;YAClE,gEAAgE;YAChE,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,kEAAkE;YAClE,eAAe;YACf,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,iEAAiE;YACjE,oEAAoE;YACpE,8DAA8D;YAC9D,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;SACnC,CAAC,CACH,CACF;QACD,QAAQ;KACT,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,OAAO;QACL,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;QAC7E,MAAM;QACN,0EAA0E;QAC1E,oEAAoE;QACpE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,EAAE;YACN,gBAAgB;YAChB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC;YACjD,qBAAqB;YACrB,yEAAyE;YACzE,oEAAoE;YACpE,wEAAwE;YACxE,8CAA8C;YAC9C,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,yEAAyE;YACzE,MAAM;YACN,qBAAqB;YACrB,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAC9C,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,8CAA8C;YAC9C,oBAAoB;YACpB,mBAAmB;SACpB,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,4EAA4E;QAC5E,yEAAyE;QACzE,sEAAsE;QACtE,EAAE;QACF,yEAAyE;QACzE,4EAA4E;QAC5E,mEAAmE;QACnE,4EAA4E;QAC5E,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,EAAE;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,sEAAsE;QACtE,4EAA4E;QAC5E,oEAAoE;QACpE,wEAAwE;QACxE,qBAAqB;QACrB,WAAW,EAAE;YACX,GAAG,KAAK,CAAC,WAAW;YACpB,GAAG,UAAU,CAAC,WAAW;YACzB,GAAG,MAAM,CAAC,WAAW;YACrB,GAAG,MAAM,CAAC,WAAW;SACtB;KACF,CAAC;AACJ,CAAC"}
@@ -49,6 +49,9 @@ export declare const INITIAL_SELECTION: WorkspaceSelection;
49
49
  export type SelectionCommand = {
50
50
  readonly kind: 'select-issue';
51
51
  readonly key: string;
52
+ } | {
53
+ readonly kind: 'reveal-issue';
54
+ readonly key: string;
52
55
  } | {
53
56
  readonly kind: 'select-edge';
54
57
  readonly edgeId: string;
@@ -63,6 +66,14 @@ export type SelectionCommand = {
63
66
  * what is already selected CLEARS it — a second click on the same row is how a
64
67
  * reader gets back to the whole document without hunting for a control, and it
65
68
  * is the behaviour the canvas and the rail both need.
69
+ *
70
+ * `reveal-issue` IS THAT SAME MOVE WITHOUT THE TOGGLE, and the pair is why it
71
+ * is a command rather than a flag. A row click is ambivalent — the reader is
72
+ * pointing at something and may be pointing away from it — but a control that
73
+ * says "go and look at this finding" is DIRECTED: it names where to arrive, so
74
+ * landing on the issue already selected must leave the reader there. Under the
75
+ * toggle it emptied the panel instead, which is the one outcome that control
76
+ * cannot mean.
66
77
  */
67
78
  export declare function selectionReducer(selection: WorkspaceSelection, command: SelectionCommand): WorkspaceSelection;
68
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/workspace/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,mEAAmE;AACnE,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,EAAE,kBAAqC,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/B;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,gBAAgB,GACxB,kBAAkB,CAapB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAExE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAE3E"}
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/workspace/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,mEAAmE;AACnE,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,EAAE,kBAAqC,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,gBAAgB,GACxB,kBAAkB,CAepB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAExE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAE3E"}
@@ -37,6 +37,14 @@ export const INITIAL_SELECTION = { kind: 'none' };
37
37
  * what is already selected CLEARS it — a second click on the same row is how a
38
38
  * reader gets back to the whole document without hunting for a control, and it
39
39
  * is the behaviour the canvas and the rail both need.
40
+ *
41
+ * `reveal-issue` IS THAT SAME MOVE WITHOUT THE TOGGLE, and the pair is why it
42
+ * is a command rather than a flag. A row click is ambivalent — the reader is
43
+ * pointing at something and may be pointing away from it — but a control that
44
+ * says "go and look at this finding" is DIRECTED: it names where to arrive, so
45
+ * landing on the issue already selected must leave the reader there. Under the
46
+ * toggle it emptied the panel instead, which is the one outcome that control
47
+ * cannot mean.
40
48
  */
41
49
  export function selectionReducer(selection, command) {
42
50
  switch (command.kind) {
@@ -44,6 +52,8 @@ export function selectionReducer(selection, command) {
44
52
  return selection.kind === 'issue' && selection.key === command.key
45
53
  ? INITIAL_SELECTION
46
54
  : { kind: 'issue', key: command.key };
55
+ case 'reveal-issue':
56
+ return { kind: 'issue', key: command.key };
47
57
  case 'select-edge':
48
58
  return selection.kind === 'edge' && selection.edgeId === command.edgeId
49
59
  ? INITIAL_SELECTION
@@ -1 +1 @@
1
- {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/workspace/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAQH,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AActE;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA6B,EAC7B,OAAyB;IAEzB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,cAAc;YACjB,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;gBAChE,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1C,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBACrE,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/C,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,SAA6B;IACvD,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,SAA6B;IAC1D,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/workspace/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAQH,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAetE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA6B,EAC7B,OAAyB;IAEzB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,cAAc;YACjB,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;gBAChE,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1C,KAAK,cAAc;YACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBACrE,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/C,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,SAA6B;IACvD,OAAO,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,SAA6B;IAC1D,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC"}
@@ -35,5 +35,5 @@
35
35
  * the next edit targets the wrong thing — and this is the file where both
36
36
  * could creep back in without touching a line of TypeScript.
37
37
  */
38
- export declare const workspaceStylesheet = "\n.ig-workspace {\n display: grid;\n /* HEADER SPANS, THE THREE ZONES SIT UNDER IT. The audit count is ambient: it\n belongs to the whole workspace rather than to one zone, and putting it in a\n zone's own track would make it move when that zone resized. */\n grid-template-areas:\n 'header header header'\n 'rail canvas inspector';\n /* The rail and the inspector are sized in TYPE, not in pixels: a host that\n scales the type scales the zones with it, which a fixed track would not.\n\n A LENGTH TIMES A UNITLESS COUNT, which is the viewer's own idiom\n (styles.ts writes min-width: calc(var(--ig-char-width) * 4)). An earlier\n version multiplied --ig-char-width by --ig-label-char-width, having read\n the second as \"how many characters wide a label is\". It is not: it is the\n average width OF one character, and themeCss renders every metric with px\n \u2014 so the expression was calc(7.8px * 6px), which is not a length. CSS\n discards a declaration it cannot parse, so the whole template went with it\n and all three zones fell back to auto columns: long content could then\n squeeze the canvas, which is the one thing fixed positions exist to stop.\n Nothing failed loudly, because an invalid declaration is simply absent.\n\n 40 is a reading measure for a title plus its id, in characters. */\n grid-template-columns:\n calc(var(--ig-char-width) * 40)\n 1fr\n calc(var(--ig-char-width) * 40);\n grid-template-rows: auto 1fr;\n gap: var(--ig-space);\n background: var(--ig-bg);\n color: var(--ig-text-body);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size);\n line-height: var(--ig-line-height);\n}\n\n.ig-zone {\n min-width: 0;\n /* Without this a long title in any zone sets that track's minimum width and\n the grid stops honouring its own template. */\n min-height: 0;\n}\n\n.ig-zone[data-zone='header'] {\n grid-area: header;\n}\n\n/* SECTION 17a's HEADER: what backlog this is, how much of it is encoded, what\n is wrong with it, how fresh the read is, and the way into a first pass. One\n row, baseline-aligned, with the first-pass entry pushed to the far end --\n the frame's only primary action on this surface.\n\n NOTHING HERE MOVES, for the reason the whole sheet holds: the audit count\n lives in this row, and section 17d asks for a count that never does. The\n guard on that is a literal scan over these bytes, comments included, so the\n words it looks for must not appear even in prose explaining their absence. */\n.ig-workspace-header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--ig-space);\n padding: var(--ig-space-tight) var(--ig-space);\n border-bottom: var(--ig-stroke) solid var(--ig-line);\n}\n\n.ig-workspace-identity {\n color: var(--ig-text);\n font-family: var(--ig-font-mono);\n}\n\n/* The one place the accent is spent on this surface, on the only action that\n starts something. The frame draws it as the header's primary control. */\n.ig-workspace-firstpass {\n margin-left: auto;\n background: var(--ig-accent);\n color: var(--ig-bg);\n border: none;\n border-radius: var(--ig-radius);\n padding: var(--ig-space-tight) var(--ig-space);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n.ig-zone[data-zone='rail'] {\n grid-area: rail;\n /* The rail scrolls; the window slides underneath. */\n overflow-y: auto;\n border-right: var(--ig-stroke) solid var(--ig-line);\n}\n\n.ig-zone[data-zone='canvas'] {\n grid-area: canvas;\n overflow: auto;\n}\n\n.ig-zone[data-zone='inspector'] {\n grid-area: inspector;\n overflow-y: auto;\n border-left: var(--ig-stroke) solid var(--ig-line);\n}\n\n/* THE AMBIENT LEFT-BAR. A 2px gold rule on the affected row and nothing else \u2014\n no fill, no icon, no badge. \u00A717a's whole ask is that encoding errors stay\n visible while you work rather than pulling you out of it.\n\n An inset box-shadow rather than a border: a border changes the row's box and\n would shift every marked row against its neighbours, which is a layout jump\n the eye reads as movement.\n\n IT DREW A 330px CYAN BLOCK UNTIL #122, and the comment above it \u2014 unchanged\n here because it was right \u2014 is how the defect survived. --ig-spine-width is\n \u00A716b's SPINE CARD WIDTH (330), not a stroke; the sentence \"the width is the\n theme's spine, so the bar scales with the rest of the rail\" reads as a\n scaling argument and is a token mix-up. --ig-accent is the cyan the panel\n spends once on the number an operator acts on, and it is not the attention\n colour. This rule is more specific than audit/styles.ts's correct one, so\n it silently won.\n\n AND ITS TEST PASSED THROUGHOUT. styles.test.ts matched the rule and\n asserted it EXISTED; it never asserted what the declaration resolves to, so\n it was green about a string rather than about a property. The test below it\n now reads the values.\n\n ONE TREATMENT FOR ALL FOUR SEVERITIES, which is also a correction. \u00A717d\n names exactly one ambient mark \u2014 \"a 2px gold left-bar on the affected rail\n row\" \u2014 and puts the severity distinction in the findings list, which is\n host-side. The misleading variant this replaces gave the LEAST urgent\n severity (\"clearing is bookkeeping, not urgency\") the alarm colour while\n every other finding got cyan, inverting the design it came from. */\n.ig-zone[data-zone='rail'] [data-ig-audit] {\n box-shadow: inset var(--ig-stroke-audit) 0 0 0 var(--ig-edge-serialize-with);\n}\n\n/* THE ROWS OUTSIDE THE WINDOW, AS HEIGHT. The rail scrolls, so without a spacer\n at each end the container is exactly as tall as the drawn rows and native\n scrolling stops at the end of the first window \u2014 leaving a host no offset to\n turn into the next start, and a reader no way to reach rank 287 of 312.\n\n NO BACKTICKS ANYWHERE IN THIS FILE'S COMMENTS. The stylesheet is a template\n literal, so a backtick closes it \u2014 and the failure is a parse error pages\n away from the character that caused it.\n\n THE PITCH IS THE OUTER BOX, NOT THE ROW HEIGHT. A .ig-slot is\n min-height: --ig-row-height PLUS margin-bottom: --ig-space-tight, so\n row-to-row is the sum of the two. Sized on --ig-row-height alone, this\n undercounted EVERY omitted row by the gap \u2014 44 of a 50px pitch on the default\n theme, so 300 omitted rows left the scroll extent 1,800px short and a host\n dividing its scroll position by the measured pitch could reach about offset\n 264 of 300. The tail of the order became unreachable by the very mechanism\n added to make it reachable.\n\n That is a SYSTEMATIC undercount, not the approximation below, which is why it\n is corrected exactly rather than tolerated: the gap is constant per row and\n both terms are theme metrics.\n\n --ig-rail-rows is the count, set inline by the renderer. What remains\n approximate is only VARIABLE row height \u2014 a row carrying holds is taller than\n a bare one \u2014 so the scrollbar stays proportional rather than exact. Measuring\n that needs a mount, which this package does not have.\n\n THE PITCH IS THE FLOOR ALONE NOW. Layer 1's section 16 pass separates its rows\n with the panel's own hairlines instead of a margin \u2014 a row is\n --ig-row-min-height of content and a hairline, with no gap to add \u2014 so the sum\n this used to take double-counted a gap that is no longer there. The row is\n content-sized above that floor, which is the same approximation the note above\n already describes, at a slightly larger typical size. */\n.ig-rail-spacer {\n height: calc(var(--ig-row-min-height) * var(--ig-rail-rows, 0));\n}\n\n.ig-inspector {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space);\n padding: var(--ig-space);\n}\n\n/* TWO EMPTIES, ONE TREATMENT. \"Nothing is selected\" and \"this issue is related\n to nothing\" are different facts and the panel states each in its own place \u2014\n but they are the same KIND of statement, a quiet line where content would be,\n and giving them separate looks would suggest a distinction that is not\n there. */\n.ig-inspector-empty,\n.ig-inspector-none {\n margin: 0;\n color: var(--ig-text-muted);\n font-size: var(--ig-font-size-small);\n}\n\n/* The panel's heading row: the name at one end, the way out at the other.\n Baseline-aligned rather than centred, so a heading in caps and a button in\n sentence case sit on one line rather than on two optical ones. */\n.ig-inspector-head {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--ig-space-tight);\n}\n\n.ig-inspector-issue {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-inspector-title {\n margin: 0;\n font-size: var(--ig-font-size);\n color: var(--ig-text);\n}\n\n.ig-inspector-holds {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n/* The two hold families never share a treatment \u2014 layer 1's rule, carried\n across so the inspector cannot contradict the rail it sits beside. */\n.ig-inspector-hold[data-family='graph'] {\n color: var(--ig-station-held);\n}\n\n.ig-inspector-hold[data-family='tracker'] {\n color: var(--ig-text-muted);\n}\n\n/* The holder, as a control: inline with the sentence that names it, drawn as\n the same kind of button the relationship rows use so a reader learns one\n affordance for \"take me to that issue\". */\n.ig-inspector-hold-subject {\n margin-left: var(--ig-space-tight);\n background: var(--ig-surface-2);\n color: inherit;\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: 0 var(--ig-space-tight);\n font-family: var(--ig-font-mono);\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n.ig-inspector-hold-subject:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n.ig-inspector-relationships {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n/* SECTION 17a DRAWS EVERY INSPECTOR HEADING IN CAPS -- WHY RANK 2,\n RELATIONSHIPS, ADD RELATIONSHIP -- so the treatment is shared rather than\n spelled per heading. Tracking widens with the caps because letterforms at a\n small size need it; that is what --ig-tracking-label is for. */\n.ig-inspector-heading,\n.ig-inspector-name,\n.ig-why-rank-heading {\n margin: 0;\n font-size: var(--ig-font-size-small);\n color: var(--ig-text-muted);\n text-transform: uppercase;\n letter-spacing: var(--ig-tracking-label);\n}\n\n/* THE EXPLANATION, SECTION 17a's WHOLE POINT FOR THIS ZONE. The clauses are\n inline spans so the block reads as one sentence rather than a list of\n findings: the reader asked one question. */\n.ig-why-rank {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-why-rank-sentence {\n margin: 0;\n color: var(--ig-text-body);\n}\n\n/* Each clause keeps a space after it so the sentence does not run together.\n A margin rather than a literal space in the markup: the text is host-authored\n and the package does not add characters to it. */\n.ig-why-rank-sentence > * + * {\n margin-left: var(--ig-space-micro);\n}\n\n\n/* THE PANEL'S THREE QUIET BUTTONS SHARE ONE TREATMENT \u2014 clear, '+ add' and\n cancel. They are the same affordance at three moments (leave this selection,\n begin a relationship, abandon the draft) and drawing them three ways would\n invent a hierarchy the design does not state. The destructive controls are\n deliberately NOT in this set: a row's '\u2715' is a glyph in the row's own slot,\n and the mount's delete button carries its own danger treatment.\n\n ALIGNMENT IS NOT PART OF THE TREATMENT, and putting it here was a silent\n contradiction. 'align-self: flex-start' belongs to the two buttons in\n '.ig-inspector-add', a COLUMN, where without it they stretch to the panel's\n full width. The clear button sits in '.ig-inspector-head', a baseline row \u2014\n and 'align-self' beats the container's 'align-items', so it overrode the\n baseline that rule's own comment says it is there to get. Declared where each\n is true instead. */\n.ig-inspector-clear,\n.ig-inspector-addbutton,\n.ig-inspector-cancel {\n background: var(--ig-surface-2);\n color: var(--ig-text-body);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: var(--ig-space-tight) var(--ig-space);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n.ig-inspector-clear:focus-visible,\n.ig-inspector-addbutton:focus-visible,\n.ig-inspector-cancel:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n.ig-relationship-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n/* IT WRAPS RATHER THAN TRUNCATES, which is '.ig-picker-direction''s rule\n inherited along with \u00A717b's statement. A qualified reference is long \u2014\n 'owner/repo#602' \u2014 the inspector is a fixed 40-character track with no\n horizontal scroll, and a row that cannot wrap pushes its trailing controls\n out of the zone entirely. A statement whose object is cut off says something\n other than what the format holds, and a flip a reader cannot reach is the\n affordance this row exists to offer.\n\n ON THE ROW AND ON THE STATEMENT BOTH. The row wraps so the slot and the flip\n drop to a second line rather than overflow; '.ig-relationship-select' below\n wraps so the reference pair does the same inside it. Wrapping one without the\n other leaves the other overflowing. */\n.ig-relationship {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n align-items: baseline;\n padding: var(--ig-space-tight);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n background: var(--ig-surface);\n}\n\n/* HUE BY FIELD, ONCE, FOR EVERY ELEMENT THAT CARRIES 'data-edge'. From the\n theme's own edge tokens \u2014 the same channel layer 1 uses \u2014 so a relationship\n reads the same colour in the row and in the kind-list entry it was chosen\n from as it does on the canvas. The refusal capsule is deliberately NOT in\n this set: its whole border is the invalid state's dotted stroke, and a hue on\n its left edge would overwrite the half of that a reader looks for first.\n\n WRITTEN PER FIELD RATHER THAN FROM A 'data-edge'-KEYED TOKEN, because CSS has\n no way to build 'var(--ig-edge-' + attr() + ')': 'attr()' is usable in\n 'content' and nowhere a custom property name is read. Five rules is the cost\n of that, and the alternative the package rejected is a token per hue set\n inline by the renderer, which moves a theme value into markup.\n\n ONE SELECTOR LIST PER FIELD, AND THAT IS THE POINT OF THIS BLOCK. The kind\n list arrived with a verbatim second copy of these five rules under\n '.ig-kind-option' \u2014 same five fields, same five tokens \u2014 under a comment\n claiming the file should not hold two ways of reading the theme while it\n held the same way twice. A sixth field is now one line here, not two. */\n.ig-relationship[data-edge='blocked-by'],\n.ig-kind-option[data-edge='blocked-by'] {\n border-left-color: var(--ig-edge-blocked-by);\n}\n\n.ig-relationship[data-edge='duplicate-of'],\n.ig-kind-option[data-edge='duplicate-of'] {\n border-left-color: var(--ig-edge-duplicate-of);\n}\n\n.ig-relationship[data-edge='serialize-with'],\n.ig-kind-option[data-edge='serialize-with'] {\n border-left-color: var(--ig-edge-serialize-with);\n}\n\n.ig-relationship[data-edge='together-with'],\n.ig-kind-option[data-edge='together-with'] {\n border-left-color: var(--ig-edge-together-with);\n}\n\n.ig-relationship[data-edge='decomposed-from'],\n.ig-kind-option[data-edge='decomposed-from'] {\n border-left-color: var(--ig-edge-decomposed-from);\n}\n\n/* THE DESCRIPTION'S BOX, WHETHER OR NOT A CONTROL IS WRAPPING IT. A row's head\n is a button and a phantom capsule's is a plain span -- 'render.ts' withholds\n the selector for an edge the landed document does not carry -- and the two\n occupy the row identically: they fill it, so the reason wraps under them\n rather than squeezing the reference out, and their parts sit on one baseline.\n Declared once, so the capsule cannot come to sit differently from the row it\n stands in for. */\n.ig-relationship-select,\n.ig-relationship-name {\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n align-items: baseline;\n}\n\n/* The button fills its row, so the whole relationship is the hit target rather\n than the words inside it. Transparent and borderless: the li already carries\n the border and the hue, and a second box around it would read as two\n controls. */\n.ig-relationship-select {\n background: none;\n border: none;\n padding: 0;\n font-family: inherit;\n font-size: inherit;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n.ig-relationship-select:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* The glyph and its word are one phrase, so they get their own gap rather than\n inheriting the row's \u2014 which spaces the phrase from the reference beside it,\n a wider relationship. NOT a literal space character in the markup: the word\n is the vocabulary's and this package does not add characters to it, which is\n the same rule the why-rank sentence's clauses are spaced by. */\n.ig-relationship-kind {\n display: inline-flex;\n gap: var(--ig-space-micro);\n align-items: baseline;\n color: var(--ig-text-body);\n}\n\n.ig-relationship-ref {\n font-family: var(--ig-font-mono);\n color: var(--ig-text-muted);\n}\n\n/* THE RIGHT-HAND SLOT, WHOSE THREE OCCUPANTS ARE EXCLUSIVE. Two of them are\n statements and one is a control, and they are drawn as such: the state and\n the inbound marker are quiet label text, the remove is a button.\n '.ig-relationship-flip' below is NOT one of the three: it sits beside the\n slot on the selected row, because it is neither a statement about the row nor\n a destructive act on it. */\n.ig-relationship-state,\n.ig-relationship-inbound {\n align-self: center;\n color: var(--ig-text-muted);\n font-size: var(--ig-font-size-small);\n text-transform: uppercase;\n letter-spacing: var(--ig-tracking-label);\n}\n\n/* The selected row names the state the canvas is drawing a halo for, so it\n takes the focus hue rather than the muted one \u2014 one selection, one colour,\n across the zones. */\n.ig-relationship-state[data-ig-state='selected'] {\n color: var(--ig-focus);\n}\n\n/* A GLYPH BUTTON, SIZED BY ITS GLYPH. No border and no fill: the row already\n carries a border, and a second box inside it would read as two controls \u2014\n the same reasoning '.ig-relationship-select' records. */\n.ig-relationship-remove {\n align-self: center;\n background: none;\n border: none;\n padding: 0 var(--ig-space-tight);\n color: var(--ig-text-muted);\n font-family: inherit;\n font-size: inherit;\n line-height: 1;\n cursor: pointer;\n}\n\n.ig-relationship-remove:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* \u00A717b's FLIP, AT THE ROW'S END. It is drawn last and needs no margin of its\n own to get there: '.ig-relationship-select' above carries 'flex: 1', so the\n statement takes the free space and everything after it is already pushed to\n the end \u2014 which is where frame 17b draws this control. A 'margin-left: auto'\n here would be inert, and a comment crediting it would be an explanation that\n outlived the thing it explained.\n\n A BORDERED CONTROL RATHER THAN THE REMOVE'S BARE GLYPH, which is the frame's\n own distinction and not decoration: '\u2715' is a mark a reader recognises without\n a box, and 'flip' is a word that would otherwise read as part of the sentence\n it sits beside. The border is what says it is pressable.\n\n ITS FOCUS RING IS NOT OPTIONAL, and it takes the offset the row's OTHER two\n controls already use rather than the one it was born with. This rule came\n from the picker's sheet, where the ring sat a hairline out;\n '.ig-relationship-select' and '.ig-relationship-remove' share this row and\n both ring at '--ig-space-tight', and one control ringing tighter than its\n neighbours reads as a rendering fault rather than as a distinction. This is\n the control \u00A717b calls the guard against the most common encoding mistake; a\n keyboard reader who cannot see where they are has it and not its affordance. */\n.ig-relationship-flip {\n align-self: center;\n background: var(--ig-surface);\n color: var(--ig-text-body);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: 0 var(--ig-space-tight);\n font-family: inherit;\n font-size: var(--ig-font-size-small);\n line-height: inherit;\n cursor: pointer;\n}\n\n.ig-relationship-flip:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* A REFUSED EDIT, IN THE ROW IT WOULD HAVE BEEN. It borrows the ghost the\n canvas draws for the same state \u2014 a dotted edge in the invalid hue \u2014 so the\n line and the row a reader looks between are recognisably one fact.\n NO OPACITY HERE. 'overlay/grammar.ts' holds the opacity every write state is\n drawn at, on the record that a second copy would drift; what this sheet\n contributes is the structure. */\n.ig-relationship-refused {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n align-items: baseline;\n padding: var(--ig-space-tight);\n border: var(--ig-stroke) dotted var(--ig-state-invalid);\n border-radius: var(--ig-radius);\n background: var(--ig-surface);\n}\n\n.ig-relationship-reason {\n color: var(--ig-state-invalid);\n font-size: var(--ig-font-size-small);\n}\n\n/* A REFUSAL ON A RELATIONSHIP THAT IS STILL THERE. The row stays \u2014 it names a\n real edge and its remove control still works \u2014 so this marks it rather than\n replacing it: the capsule's dotted stroke, and room for the reason to wrap\n under the row rather than squeezing the reference out of it.\n BORDER-STYLE ONLY, NOT BORDER-COLOR: the field's hue is on the left edge from\n the block above, and a shorthand here would overwrite it and take the row's\n one colour channel away on exactly the rows carrying the most information. */\n.ig-relationship[data-ig-code] {\n flex-wrap: wrap;\n border-style: dotted;\n}\n\n/* THE CREATE STEP, WHICHEVER STEP IT IS. One box holds '+ add' on its own and\n the numbered list with its cancel, because they are one place in the panel\n the reader returns to rather than two that happen to alternate. */\n.ig-inspector-add {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n/* Sized by their own words rather than stretched across the column \u2014 see the\n quiet-button rule above, which deliberately does not carry this. */\n.ig-inspector-addbutton,\n.ig-inspector-cancel {\n align-self: flex-start;\n}\n\n/* WHOSE DRAFT THIS IS, drawn only when it is not the panel's subject. Quiet and\n small, like every other line that states a fact rather than offering an act:\n it is a caption on the step below it, not a heading over it. The reference\n inside keeps layer 1's '.ig-id' treatment, so the issue reads the same here\n as it does in the why-rank sentence. */\n.ig-inspector-source {\n margin: 0;\n color: var(--ig-text-muted);\n font-size: var(--ig-font-size-small);\n}\n\n.ig-kind-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-micro);\n}\n\n/* Full width, so the whole entry is the hit target and the digits form a\n readable column down the left \u2014 which is what makes the list legible as a\n set of KEYS rather than as five buttons that happen to start with a number. */\n.ig-kind-option {\n width: 100%;\n display: flex;\n gap: var(--ig-space-tight);\n align-items: baseline;\n background: var(--ig-surface);\n color: var(--ig-text-body);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: var(--ig-space-tight);\n font-family: inherit;\n font-size: var(--ig-font-size-small);\n text-align: left;\n cursor: pointer;\n}\n\n.ig-kind-option:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n.ig-kind-digit {\n font-family: var(--ig-font-mono);\n color: var(--ig-text-muted);\n}\n\n/* \u00A717b's RECOVERY CARDS. An unsettled write the reader can still act on, drawn\n where they made it.\n THE HUE COMES FROM THE STATE, through the same custom properties the canvas\n draws the line with \u2014 so a card and the edge it is about are recognisably one\n fact, and a host retheming the palette moves both at once. The tokens are\n named per state below rather than set once, because '--ig-state-failed' and\n '--ig-state-conflict' are different channels and a shared variable here would\n be a third place the pairing could drift.\n NO OPACITY, for the reason the refusal capsule states: 'overlay/grammar.ts'\n holds what each write state is drawn at, and this sheet contributes structure. */\n.ig-recovery-region {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n margin-top: var(--ig-space);\n}\n\n.ig-recovery-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-recovery {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n padding: var(--ig-space-tight);\n border-radius: var(--ig-radius);\n background: var(--ig-surface);\n border: var(--ig-stroke) solid var(--ig-line);\n}\n\n/* GHOST + THE \u2715 THE CANVAS DRAWS. \u00A717b gives a failed write a ghosted line with\n a cross terminal; the card carries the same hue so the two read together. */\n.ig-recovery[data-ig-state='failed'] {\n border-color: var(--ig-state-failed);\n border-style: dashed;\n}\n\n/* THE GOLD DOUBLE RULE. \u00A717b draws a conflict as a doubled line holding two\n versions. 'border-style: double' is the card's half of that grammar \u2014 the\n LINE's half is the 'second-version' mark, which needs a position this layer\n does not have and is issue #102's. */\n.ig-recovery[data-ig-state='conflict'] {\n border-color: var(--ig-state-conflict);\n border-style: double;\n border-width: calc(var(--ig-stroke) * 3);\n}\n\n.ig-recovery-name {\n margin: 0;\n font-size: var(--ig-font-size-small);\n font-weight: 600;\n}\n\n.ig-recovery[data-ig-state='failed'] .ig-recovery-name {\n color: var(--ig-state-failed);\n}\n\n.ig-recovery[data-ig-state='conflict'] .ig-recovery-name {\n color: var(--ig-state-conflict);\n}\n\n.ig-recovery-reason,\n.ig-recovery-refresh-error {\n margin: 0;\n font-size: var(--ig-font-size-small);\n color: var(--ig-text-muted);\n}\n\n.ig-recovery-refresh-detail {\n font-family: var(--ig-font-mono);\n}\n\n/* THE THREE RESOLUTIONS, IN A ROW AND NEVER IN A MENU. \u00A717b lists them as\n peers; nesting one behind a disclosure would rank them, and the one that\n would end up hidden is 'view diff' \u2014 the one that lets a reader decide\n between the other two. */\n.ig-recovery-actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n}\n\n.ig-recovery-action {\n background: var(--ig-surface);\n color: var(--ig-text-body);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: var(--ig-space-tight);\n font-family: inherit;\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n.ig-recovery-action:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n.ig-recovery-action[aria-pressed='true'] {\n border-color: var(--ig-focus);\n}\n\n/* TWO SIDES, SIDE BY SIDE, AND NOTHING BETWEEN THEM THAT COMBINES THEM. The\n layout is the design constraint: there is no column for a merged result,\n because there is no merged result to put in one. */\n.ig-recovery-diff {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n padding-top: var(--ig-space-tight);\n border-top: var(--ig-stroke) solid var(--ig-line);\n}\n\n/* ONE SIDE OF THE DIFFERENCE. Stacked rather than columned: at a panel's width\n two columns give each side about half of an already narrow zone, and a\n relationship row is a sentence rather than a cell. */\n.ig-recovery-side {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-recovery-side-name {\n margin: 0;\n font-size: var(--ig-font-size-small);\n color: var(--ig-text-muted);\n font-weight: 400;\n}\n\n.ig-recovery-edges,\n.ig-recovery-issues {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-recovery-edge,\n.ig-recovery-issue {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n align-items: baseline;\n font-size: var(--ig-font-size-small);\n}\n\n/* BOTH TITLES, NEITHER STRUCK THROUGH. A strike-out would say the old one is\n gone, which is exactly the judgement this card must not make for the reader. */\n.ig-recovery-was,\n.ig-recovery-now {\n color: var(--ig-text-muted);\n}\n\n.ig-recovery-now {\n color: var(--ig-state-conflict);\n}\n\n.ig-recovery-diff-empty {\n margin: 0;\n padding-top: var(--ig-space-tight);\n border-top: var(--ig-stroke) solid var(--ig-line);\n font-size: var(--ig-font-size-small);\n color: var(--ig-text-muted);\n}\n";
38
+ export declare const workspaceStylesheet = "\n.ig-workspace {\n display: grid;\n /* HEADER SPANS, THE THREE ZONES SIT UNDER IT. The audit count is ambient: it\n belongs to the whole workspace rather than to one zone, and putting it in a\n zone's own track would make it move when that zone resized. */\n grid-template-areas:\n 'header header header'\n 'rail canvas inspector';\n /* The rail and the inspector are sized in TYPE, not in pixels: a host that\n scales the type scales the zones with it, which a fixed track would not.\n\n A LENGTH TIMES A UNITLESS COUNT, which is the viewer's own idiom\n (styles.ts writes min-width: calc(var(--ig-char-width) * 4)). An earlier\n version multiplied --ig-char-width by --ig-label-char-width, having read\n the second as \"how many characters wide a label is\". It is not: it is the\n average width OF one character, and themeCss renders every metric with px\n \u2014 so the expression was calc(7.8px * 6px), which is not a length. CSS\n discards a declaration it cannot parse, so the whole template went with it\n and all three zones fell back to auto columns: long content could then\n squeeze the canvas, which is the one thing fixed positions exist to stop.\n Nothing failed loudly, because an invalid declaration is simply absent.\n\n 40 is a reading measure for a title plus its id, in characters.\n\n THIS IS THE PRE-17k FALLBACK, and it is deliberately the OLD equal measure. 17k\n gives 390 / 1fr / 330 for widths at or above 1360 and something else\n entirely below it: the inspector lifts to an overlay from 1120, and under\n that the canvas collapses to a strip. Neither of those exists yet, so\n applying the wide proportions at every width squeezes the canvas instead\n of collapsing it \u2014 measured at 990px, where the canvas fell to 248px. That\n is the one rule 17k states outright inverted: \"the rail never yields, the\n canvas yields first.\" Below the breakpoint the old equal tracks are the\n honest placeholder. */\n grid-template-columns:\n calc(var(--ig-char-width) * 40)\n 1fr\n calc(var(--ig-char-width) * 40);\n grid-template-rows: auto 1fr;\n gap: var(--ig-space);\n background: var(--ig-bg);\n color: var(--ig-text-body);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size);\n line-height: var(--ig-line-height);\n}\n\n/* THE CONTAINER IS THE MOUNT, NOT THE WORKSPACE, AND THAT IS NOT A DETAIL.\n A container query CANNOT style the element that establishes the container:\n put container-type on .ig-workspace and a rule inside @container matching\n .ig-workspace never fires. It looked right, built clean, and did nothing \u2014\n measured at 1500px, where the rail and inspector sat at 312/312 while only\n the canvas 1fr grew. A rule that can never fire is the same class as a guard\n that can never fail, and the only reason this was caught is that the check\n compared the TRACKS either side of the breakpoint rather than asking whether\n the layout \"changed\".\n\n .ig-mount is this package's own wrapper around the workspace, so the query\n has a box to measure that is not the box it restyles. */\n.ig-mount {\n container-name: ig-workspace;\n container-type: inline-size;\n}\n\n/* 17k's WIDE LAYOUT, AT THE WIDTH 17k GIVES IT FOR. A container query, not a\n viewport one, for the reason layer 1's row already answers to: the workspace\n is a box a host places, and a package that reads the window cannot be\n dropped into someone else's page.\n\n 1360 IS 17k's OWN NUMBER, not a chosen one \u2014 the table's first row reads\n \"at or above 1360: 390 / 1fr / 330, three zones, as 17a\".\n\n THE TWO ZONES ARE NOT THE SAME WIDTH, AND THAT IS THE POINT OF THIS RULE.\n Both tracks were 40 characters, which is one reading measure applied twice;\n 17a draws 1292 = 390 + 572 + 330, a rail WIDER than the inspector. The rail\n carries a rank, a title, a meta line and a delta chip on one row while the\n inspector carries a column of stacked blocks \u2014 not the same problem, and\n sizing them alike shortchanged the surface 17k says must never yield.\n\n 50 AND 42 CHARACTERS, NOT 390px AND 330px, because this file sizes zones in\n TYPE on purpose: a host that scales its type scales the zones with it, and a\n fixed track would not. At the shipped --ig-char-width of 7.8 that is 390 and\n 327.6 \u2014 the rail exact, the inspector 2.4px under 17k's figure. Stated\n rather than rounded away; the type-relative property is worth more than the\n 2.4px, and it is the same BYO argument layer 1's row query rests on. */\n@container ig-workspace (width >= 1360px) {\n .ig-workspace {\n grid-template-columns:\n calc(var(--ig-char-width) * 50)\n 1fr\n calc(var(--ig-char-width) * 42);\n }\n}\n\n.ig-zone {\n min-width: 0;\n /* Without this a long title in any zone sets that track's minimum width and\n the grid stops honouring its own template. */\n min-height: 0;\n}\n\n.ig-zone[data-zone='header'] {\n grid-area: header;\n}\n\n/* SECTION 17a's HEADER: what backlog this is, how much of it is encoded, what\n is wrong with it, how fresh the read is, and the way into a first pass. One\n row, baseline-aligned, with the first-pass entry pushed to the far end --\n the frame's only primary action on this surface.\n\n NOTHING HERE MOVES, for the reason the whole sheet holds: the audit count\n lives in this row, and section 17d asks for a count that never does. The\n guard on that is a literal scan over these bytes, comments included, so the\n words it looks for must not appear even in prose explaining their absence. */\n.ig-workspace-header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--ig-space);\n padding: var(--ig-space-tight) var(--ig-space);\n border-bottom: var(--ig-stroke) solid var(--ig-line);\n}\n\n.ig-workspace-identity {\n color: var(--ig-text);\n font-family: var(--ig-font-mono);\n}\n\n/* The adoption pair and the freshness stamp, hoisted out of layer 1's panel\n header by #135. Quiet, because the row's only loud element is the entry at\n its far end -- these are orientation, read once and then ignored. */\n.ig-workspace-counts,\n.ig-workspace-freshness {\n color: var(--ig-text-muted);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size-small);\n}\n\n/* THE ONLY TREATMENT STALENESS GETS, and it is why the stamp carries no word\n for it: the state is on the element, so the sheet says what a stale read\n looks like and no host has to translate an adjective. */\n.ig-workspace-freshness[data-stale='true'] {\n color: var(--ig-state-invalid);\n}\n\n/* A CONTROL, NOT A CHIP. It sits inside the stamp because that is what it\n refreshes, and it takes the button reset the sheet gives every other quiet\n control on this surface rather than the accent the first-pass entry spends. */\n.ig-workspace-refresh {\n margin-left: var(--ig-space-tight);\n font: inherit;\n color: var(--ig-text);\n background: var(--ig-surface-2);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: 0 var(--ig-space-tight);\n cursor: pointer;\n}\n\n.ig-workspace-refresh:hover {\n border-color: var(--ig-accent);\n}\n\n.ig-workspace-refresh:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* The one place the accent is spent on this surface, on the only action that\n starts something. The frame draws it as the header's primary control. */\n.ig-workspace-firstpass {\n margin-left: auto;\n background: var(--ig-accent);\n color: var(--ig-bg);\n border: none;\n border-radius: var(--ig-radius);\n padding: var(--ig-space-tight) var(--ig-space);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n.ig-zone[data-zone='rail'] {\n grid-area: rail;\n /* The rail scrolls; the window slides underneath. */\n overflow-y: auto;\n border-right: var(--ig-stroke) solid var(--ig-line);\n}\n\n/* \u00A717a'S RAIL FOOTER, AND IT IS THE ZONE'S LAST ROW. The frame ends the rail\n with it; that it is PINNED is this sheet's decision, on the reasoning \u00A717c\n already settled one zone over \u2014 the rail is the scroller, mount.ts restores\n its scrollTop on every redraw, and a fact placed in the scrolled content is a\n fact you have to go back for. .ig-canvas-toolbar below pins itself against\n the other edge for exactly this reason and is the shape copied here.\n\n IT ANCHORS ON A SHORT RAIL TOO, WITH NO FLEX LAYOUT, and this is recorded\n because it looks as though it should not. A sticky box is offset within its\n CONTAINING BLOCK to stay in the scrollport, and this zone's containing block\n is the grid area \u2014 the full track height \u2014 not the height of the rows inside\n it. So content shorter than the track still leaves the footer against the\n bottom edge. Measured: rows 416px in a 445px track, footer flush, no flex\n rule present. A review round proposed a column wrapper with an expanding row\n to \"push the footer down\"; it was built, measured against this, changed\n nothing, and was removed.\n\n OPAQUE, BECAUSE IT OCCLUDES. Rows slide under it, so a transparent ground\n would show the order through the count. That is also why the OPEN LIST IS NOT\n IN HERE: an element taller than its scrollport cannot stick \u2014 the browser\n clamps it and it scrolls like any other block \u2014 so a footer holding 248\n entries loses the pin exactly when it grows, and covers the whole rail on the\n way. The deeper reason is the rail's VIRTUALIZATION: railRowAt maps a scroll\n offset to a row by floor((scrollTop - chrome) / pitch), so content of\n arbitrary height anywhere in this track makes every offset below it name the\n wrong row. The list is drawn in the canvas zone, which has no such\n arithmetic. */\n.ig-rail-footer {\n position: sticky;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ig-space-tight);\n padding: var(--ig-space-tight) var(--ig-space);\n border-top: var(--ig-stroke) solid var(--ig-line);\n background: var(--ig-bg);\n font-family: var(--ig-font-mono);\n font-size: var(--ig-font-size-small);\n line-height: var(--ig-line-height);\n color: var(--ig-text-body);\n}\n\n.ig-rail-count {\n color: var(--ig-text);\n}\n\n.ig-rail-isolated-toggle {\n font: inherit;\n color: var(--ig-accent);\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n}\n\n.ig-rail-isolated-toggle:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n.ig-zone[data-zone='canvas'] {\n grid-area: canvas;\n overflow: auto;\n /* THE OVERLAY'S CONTAINING BLOCK. \u00A717d's panel is positioned against THIS\n zone rather than the workspace, and that is what keeps it off the rail\n without a magic offset: the rail is a different grid area, so an absolutely\n positioned child of the canvas cannot reach it however wide it gets.\n RULINGS.md \u00A73 states the constraint and gives the reason \u2014 \"judging a\n finding is largely a question of what it would do to the order, so the\n order has to stay readable while you judge.\" */\n position: relative;\n}\n\n/* \u00A717f'S CAPTION, AND IT IS THE ZONE'S FIRST ROW. Frame 17a puts it above the\n graph with a rule under it, which is the same shape the header row beside it\n already has \u2014 so it takes that row's padding tokens rather than a bespoke\n pair, and the two read as one band across the surface.\n\n THE GROUND, NOT THE CARD COLOUR. --ig-surface is what a RAISED element takes\n here: a bordered card, a button. This row is a full-bleed structural band, and\n painting it the panel colour made it read as a card floating on the canvas \u2014\n which is also what the frame does not draw, and what the comment above it\n claimed it was not. --ig-bg is the ground .ig-workspace itself paints and the\n header row inherits, so the two really do match. It has to be OPAQUE either\n way: the row is sticky over a scrolling graph and must occlude it.\n\n IT DOES NOT SCROLL WITH THE CANVAS, deliberately. The zone scrolls (above),\n and a caption saying \"6 of 312 shown\" that scrolls away is a caption you have\n to go back for. A sticky position keeps it against the zone's top edge\n without taking the graph out of the zone's own scroll. */\n.ig-canvas-toolbar {\n display: flex;\n align-items: center;\n gap: var(--ig-space-tight);\n padding: var(--ig-space-tight) var(--ig-space);\n border-bottom: var(--ig-stroke) solid var(--ig-line);\n position: sticky;\n top: 0;\n background: var(--ig-bg);\n z-index: 1;\n}\n\n/* MONO AND MUTED, because it is a read-out rather than a heading: the frame\n sets it in the same mono face at the same muted hue as the rail's own footer\n count, and the two are the same kind of fact. */\n.ig-canvas-caption {\n margin: 0;\n font-family: var(--ig-font-mono);\n font-size: var(--ig-font-size-micro);\n color: var(--ig-text-muted);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* ITS OWN CLASS, NOT LAYER 1'S .ig-count. They look like the same thing and are\n not: layer 1's is the isolated-issue tally that \"sits directly on the panel,\n outside the padded groups, so it carries the panel's own inset\" \u2014 12px 20px of\n it. Borrowing the name put that inset around two numbers in the middle of a\n sentence, which is what the frame comparison caught. */\n.ig-canvas-count {\n color: var(--ig-text-body);\n font-variant-numeric: tabular-nums;\n}\n\n/* THE CLAUSES DO NOT BREAK INTERNALLY. The caption is one line that ellipsizes\n as a whole; what must not happen is a label parting from the key it names, or\n a count parting from the word that says what it counts. */\n.ig-canvas-focus,\n.ig-canvas-shown {\n white-space: nowrap;\n}\n\n/* PUSHED RIGHT BY ITS OWN MARGIN, NOT BY THE ROW'S JUSTIFICATION. The row's\n arity changes: off the direct tier the caption is gone and the pill is the\n only child, and justify-content: space-between puts a lone item at main\n START \u2014 so the pill jumped to the left edge on exactly the tiers a large\n backlog is always in, which is the state this surface exists to handle well.\n margin-left: auto is one declaration that is correct at either arity, and it\n is also what leaves #181's projection toggle a real slot: a control added\n ahead of the caption lands in the left group without touching this rule.\n\n THE TINT PAIR, NOT A BARE OUTLINE. The tint fill and tint border tokens\n exist for exactly this \u2014 \"a fill of its own hue inside a heavier border of\n the same hue\" \u2014 and the frame draws the pill that way. Reaching for the\n accent directly would give a solid chip that reads as loud as the selection.\n\n IT NEVER SHRINKS. The caption beside it is the part that may ellipsize; the\n pill is three or four characters and losing them would leave a coloured stub\n saying nothing. */\n.ig-edit-mode {\n flex: 0 0 auto;\n margin-left: auto;\n font-family: var(--ig-font-mono);\n font-size: var(--ig-font-size-pill);\n letter-spacing: var(--ig-tracking-pill);\n color: var(--ig-accent);\n /* THE TINT TOKENS ARE PERCENTAGES, NOT COLOURS \u2014 8% and 30% \u2014 so they are only\n meaningful inside color-mix, which is how every other tinted badge in the\n package consumes them. Handed straight to background and border-color they\n are invalid, and an invalid declaration is DROPPED SILENTLY: the pill\n rendered as bare cyan text with no fill and no border, and no test noticed\n because nothing here was a hex literal. */\n background: color-mix(in srgb, var(--ig-accent) var(--ig-tint-fill), transparent);\n border: var(--ig-stroke) solid\n color-mix(in srgb, var(--ig-accent) var(--ig-tint-border), transparent);\n border-radius: var(--ig-radius-small);\n padding: var(--ig-space-micro) var(--ig-space-snug);\n}\n\n/* ONE SCROLL TRACK, AND EXACTLY ONE SIBLING IS BOUNDED INSIDE IT. This zone\n holds three: \u00A717d's AUDIT REGION, this column's selection detail, and the\n .ig-chrome the mount appends. #177 settled how they share it, and the whole\n of the answer is that the zone stays ONE track while the region alone takes a\n declared share of it (max-height: 50%, scrolling itself past that).\n .ig-inspector and .ig-chrome keep this track's own scrolling and declare no\n share, so neither can be clipped by any height.\n\n THE BOUNDED SIBLING IS A REGION NOW, AND THAT IS #177'S RULE KEPT RATHER THAN\n RESTATED. \u00A717d has two surfaces \u2014 the findings panel and, since the fourth\n class moved out of it, the refused block (audit/refused.ts) \u2014 and bounding\n each at half the column lets the two of them take ALL of it, which is worse\n than the state #177 fixed rather than a smaller version of it. So\n workspace/render.ts wraps both in .ig-audit-overlay and the share is declared\n once, here, on the thing the zone actually holds. Neither leaf declares a\n size of its own; audit/styles.ts says so at both.\n\n AN EARLIER REVISION OF THIS COMMENT CREDITED audit/styles.ts WITH THE SHARE.\n It never carried it \u2014 that file states in as many words that the panel\n \"DECLARES NO SIZE OF ITS OWN\" \u2014 and the misattribution is why the fourth\n sibling nearly arrived unbounded.\n\n THAT IS A PROPERTY NOW, NOT A LUCKY DEFAULT, and it is what makes the chrome\n safe. A TWO-PANE VERSION WAS TRIED AND REVERTED: making the zone a flex\n column with overflow: hidden did give the audit and the selection independent\n scroll \u2014 and it CLIPPED the mount's chrome, a third sibling holding the\n target search's lower matches, the cancel button and the key legend, all of\n which lost the scrolling the zone used to give them. The lesson was read as\n \"treat the chrome as a third pane\"; it is better read as \"do not make the\n zone a multi-pane layout at all\". Bounding one sibling needs no panes.\n\n WHY THE PANEL IS THE ONE THAT IS BOUNDED. It is the only GLOBAL member of a\n selection-scoped zone, and renderWorkspace draws it FIRST \u2014 so unbounded, it\n is the one sibling whose length pushes a detail the reader just asked for\n below the fold. The selection detail and the chrome are both about what the\n reader is doing; the audit is about the document. \u00A717a fixes the workspace at\n three zones plus a header, so there is nowhere else ambient for it to be, and\n a share is what makes it affordable where it has to live. */\n.ig-zone[data-zone='inspector'] {\n grid-area: inspector;\n overflow-y: auto;\n border-left: var(--ig-stroke) solid var(--ig-line);\n}\n\n\n\n/* THE REGION SCROLLS; ITS MEMBERS DO NOT SHRINK. Both leaves declare\n min-height: 0 \u2014 correct for each of them, because each was once the scroll\n container itself \u2014 and in a bounded flex column that is exactly the licence\n to squeeze them below their content. Measured in a browser rather than\n reasoned about: with a refusal and five findings the block was laid out 54px\n tall around 131px of content, and since a leaf's own overflow is visible it\n PAINTED OVER the panel underneath it. Nothing threw, no test failed, and the\n markup was correct \u2014 the two surfaces were simply drawn on top of each other.\n\n flex-shrink RATHER THAN A HEIGHT ON EITHER LEAF, which is the same layering\n the share above follows: how the region's members divide it is a fact about\n the region, and a leaf that sized itself here would be wrong in every other\n composition. The region's own max-height is what bounds the pair; this is\n what makes the overflow it declares actually reachable. */\n.ig-zone[data-zone='canvas'] .ig-audit-overlay > * {\n flex-shrink: 0;\n}\n\n\n/* \u00A717d'S PANEL, AS AN OVERLAY OVER THE CANVAS.\n\n RULINGS.md \u00A73: \"a transient overlay anchored to the header count, floating\n over the canvas, 520px wide, dismissed on Escape.\" It was a child of the\n INSPECTOR zone until now, sharing that column's height with the selection \u2014\n \u00A717a fixes three zones and none of them is the audit's, so it had nowhere to\n go and took a share of the one next to it. At six findings the inspector was\n pushed below the fold.\n\n 520px IS DESIGN'S NUMBER, not this package's, which is why it is written as\n one rather than derived from a token. It is expressed in ch units against the\n type scale so it survives a theme that changes the font size, and clamped to\n the zone so a narrow canvas cannot push it over the rail \u2014 the constraint \u00A73\n states outright.\n\n ANCHORED TOP-RIGHT, under the header count it belongs to. The count sits at\n the right end of the header band, so the panel hangs from that corner and the\n eye travels the shortest distance from the control to what it opened.\n\n IT PAINTS OVER THE GRAPH, which is what an overlay is: z-index above the\n canvas content, and its own raised surface and shadow so the graph beneath\n reads as behind rather than as a background it is part of.\n\n --ig-elevation-overlay IS THE TOKEN FOR EXACTLY THIS, and the first draft\n wrote a literal rgb() instead. The package's own guard caught it, correctly:\n the theme's two shadows are deliberately the only values carrying a colour,\n so a host retheming owns them and a literal here would be invisible to that.\n\n SCOPED TO THE ZONE, and every declaration is in this one rule. Two reasons,\n and the second is the sheet's own standing rule: an absolutely positioned\n .ig-audit-overlay outside this zone has no containing block to hang from and\n would anchor to the page, and the panel is a public export a consumer can\n render standalone. The same argument the inspector's old share rule made. */\n/* BORDER-BOX, AND IT IS LOAD-BEARING. There IS a universal reset in this\n codebase and it does not reach here: viewer/src/styles.ts scopes it to\n .ig-viewer descendants, and this panel is a sibling of the rail's viewer\n rather than inside it. Without it the cap is measured on the CONTENT box and\n the panel's own padding and border push the drawn box past it. Nothing looks\n broken.\n\n THE PANEL SCROLLS, NOT THE LIST INSIDE IT. Scrolling the list would pin the\n panel's head, which is the wrong trade twice over. The ambient count 17d\n fixes is the WORKSPACE HEADER's, drawn in the header grid area and outside\n this zone entirely - it already never moves, so a second pinned count buys\n nothing. And the list has zero horizontal padding, so making it the scroll\n container computes its overflow-x to auto and CLIPS the focus ring on every\n card's control: an outline is ink overflow, so it is cut rather than\n scrolled to. Each leaf's own padding gives those rings room. */\n.ig-zone[data-zone='canvas'] .ig-audit-overlay {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow-y: auto;\n position: absolute;\n z-index: 3;\n top: var(--ig-space-tight);\n right: var(--ig-space-tight);\n width: min(calc(var(--ig-char-width) * 66.67), calc(100% - var(--ig-space-tight) * 2));\n max-height: calc(100% - var(--ig-space-tight) * 2);\n /* --ig-surface IS THE RAISED ONE. The first draft wrote --ig-raised, which\n does not exist; the sheet's own guard listed it as a property nothing\n resolves, and an unresolved custom property is not an error in CSS \u2014 it\n computes to nothing and the panel would have been transparent over the\n graph. */\n background: var(--ig-surface);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n box-shadow: var(--ig-elevation-overlay);\n}\n\n/* THE AMBIENT LEFT-BAR. A 2px gold rule on the affected row and nothing else \u2014\n no fill, no icon, no badge. \u00A717a's whole ask is that encoding errors stay\n visible while you work rather than pulling you out of it.\n\n An inset box-shadow rather than a border: a border changes the row's box and\n would shift every marked row against its neighbours, which is a layout jump\n the eye reads as movement.\n\n IT DREW A 330px CYAN BLOCK UNTIL #122, and the comment above it \u2014 unchanged\n here because it was right \u2014 is how the defect survived. --ig-spine-width is\n \u00A716b's SPINE CARD WIDTH (330), not a stroke; the sentence \"the width is the\n theme's spine, so the bar scales with the rest of the rail\" reads as a\n scaling argument and is a token mix-up. --ig-accent is the cyan the panel\n spends once on the number an operator acts on, and it is not the attention\n colour. This rule is more specific than audit/styles.ts's correct one, so\n it silently won.\n\n AND ITS TEST PASSED THROUGHOUT. styles.test.ts matched the rule and\n asserted it EXISTED; it never asserted what the declaration resolves to, so\n it was green about a string rather than about a property. The test below it\n now reads the values.\n\n ONE TREATMENT FOR ALL FOUR SEVERITIES, which is also a correction. \u00A717d\n names exactly one ambient mark \u2014 \"a 2px gold left-bar on the affected rail\n row\" \u2014 and puts the severity distinction in the findings list, which\n audit/panel.ts now draws. (It read \"which is host-side\" until that panel\n existed; the reasoning is unaffected \u2014 the distinction still belongs to the\n list rather than to this bar \u2014 but the list is the package's now.)\n\n The misleading variant this replaces gave the LEAST urgent\n severity (\"clearing is bookkeeping, not urgency\") the alarm colour while\n every other finding got cyan, inverting the design it came from. */\n.ig-zone[data-zone='rail'] [data-ig-audit] {\n box-shadow: inset var(--ig-stroke-audit) 0 0 0 var(--ig-edge-serialize-with);\n}\n\n/* THE ROWS OUTSIDE THE WINDOW, AS HEIGHT. The rail scrolls, so without a spacer\n at each end the container is exactly as tall as the drawn rows and native\n scrolling stops at the end of the first window \u2014 leaving a host no offset to\n turn into the next start, and a reader no way to reach rank 287 of 312.\n\n NO BACKTICKS ANYWHERE IN THIS FILE'S COMMENTS. The stylesheet is a template\n literal, so a backtick closes it \u2014 and the failure is a parse error pages\n away from the character that caused it.\n\n THE PITCH IS THE OUTER BOX, NOT THE ROW HEIGHT. A .ig-slot is\n min-height: --ig-row-height PLUS margin-bottom: --ig-space-tight, so\n row-to-row is the sum of the two. Sized on --ig-row-height alone, this\n undercounted EVERY omitted row by the gap \u2014 44 of a 50px pitch on the default\n theme, so 300 omitted rows left the scroll extent 1,800px short and a host\n dividing its scroll position by the measured pitch could reach about offset\n 264 of 300. The tail of the order became unreachable by the very mechanism\n added to make it reachable.\n\n That is a SYSTEMATIC undercount, not the approximation below, which is why it\n is corrected exactly rather than tolerated: the gap is constant per row and\n both terms are theme metrics.\n\n --ig-rail-rows is the count, set inline by the renderer. What remains\n approximate is only VARIABLE row height \u2014 a row carrying holds is taller than\n a bare one \u2014 so the scrollbar stays proportional rather than exact. Measuring\n that needs a mount, which this package does not have.\n\n THE PITCH IS THE FLOOR ALONE NOW. Layer 1's section 16 pass separates its rows\n with the panel's own hairlines instead of a margin \u2014 a row is\n --ig-row-min-height of content and a hairline, with no gap to add \u2014 so the sum\n this used to take double-counted a gap that is no longer there. The row is\n content-sized above that floor, which is the same approximation the note above\n already describes, at a slightly larger typical size. */\n.ig-rail-spacer {\n height: calc(var(--ig-row-min-height) * var(--ig-rail-rows, 0));\n}\n\n.ig-inspector {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space);\n padding: var(--ig-space);\n}\n\n/* TWO EMPTIES, ONE TREATMENT. \"Nothing is selected\" and \"this issue is related\n to nothing\" are different facts and the panel states each in its own place \u2014\n but they are the same KIND of statement, a quiet line where content would be,\n and giving them separate looks would suggest a distinction that is not\n there. */\n.ig-inspector-empty,\n.ig-inspector-none {\n margin: 0;\n color: var(--ig-text-muted);\n font-size: var(--ig-font-size-small);\n}\n\n/* The panel's heading row: the name at one end, the way out at the other.\n Baseline-aligned rather than centred, so a heading in caps and a button in\n sentence case sit on one line rather than on two optical ones. */\n.ig-inspector-head {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--ig-space-tight);\n}\n\n.ig-inspector-issue {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-inspector-title {\n margin: 0;\n font-size: var(--ig-font-size);\n color: var(--ig-text);\n}\n\n.ig-inspector-holds {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n/* The two hold families never share a treatment \u2014 layer 1's rule, carried\n across so the inspector cannot contradict the rail it sits beside. */\n.ig-inspector-hold[data-family='graph'] {\n color: var(--ig-station-held);\n}\n\n.ig-inspector-hold[data-family='tracker'] {\n color: var(--ig-text-muted);\n}\n\n/* The holder, as a control: inline with the sentence that names it, drawn as\n the same kind of button the relationship rows use so a reader learns one\n affordance for \"take me to that issue\". */\n.ig-inspector-hold-subject {\n margin-left: var(--ig-space-tight);\n background: var(--ig-surface-2);\n color: inherit;\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: 0 var(--ig-space-tight);\n font-family: var(--ig-font-mono);\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n.ig-inspector-hold-subject:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n.ig-inspector-relationships {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n/* \u00A717a PUTS '+ add' ON THE HEADING'S ROW, opposite the heading. The list\n between them is unbounded, so a control after it drifts down the panel as a\n subject gains relationships; here its position does not depend on content. */\n.ig-inspector-relationships-head {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--ig-space-tight);\n}\n\n/* SECTION 17a DRAWS EVERY INSPECTOR HEADING IN CAPS -- WHY RANK 2,\n RELATIONSHIPS, ADD RELATIONSHIP -- so the treatment is shared rather than\n spelled per heading. Tracking widens with the caps because letterforms at a\n small size need it; that is what --ig-tracking-label is for. */\n.ig-inspector-heading,\n.ig-inspector-name,\n.ig-why-rank-heading {\n margin: 0;\n font-size: var(--ig-font-size-small);\n color: var(--ig-text-muted);\n text-transform: uppercase;\n letter-spacing: var(--ig-tracking-label);\n}\n\n/* THE EXPLANATION, SECTION 17a's WHOLE POINT FOR THIS ZONE. The clauses are\n inline spans so the block reads as one sentence rather than a list of\n findings: the reader asked one question. */\n.ig-why-rank {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-why-rank-sentence {\n margin: 0;\n color: var(--ig-text-body);\n}\n\n/* Each clause keeps a space after it so the sentence does not run together.\n A margin rather than a literal space in the markup: the text is host-authored\n and the package does not add characters to it. */\n.ig-why-rank-sentence > * + * {\n margin-left: var(--ig-space-micro);\n}\n\n\n/* THE PANEL'S TWO QUIET BUTTONS SHARE ONE TREATMENT \u2014 clear and cancel. They\n are the same affordance at two moments (leave this selection, abandon the\n draft) and drawing them two ways would invent a hierarchy the design does\n not state.\n\n '+ add' WAS THE THIRD AND HAS LEFT THE SET, because frame 17a moved it and\n redrew it: on the relationships header row it is unbordered accent text with\n the key beside it, not a filled box. That is a hierarchy the design DOES\n state \u2014 a header affordance reads differently from a control in the panel\n body \u2014 so matching it here is following the frame rather than inventing a\n difference. Its focus ring is still shared, below. The destructive controls are\n deliberately NOT in this set: a row's '\u2715' is a glyph in the row's own slot,\n and the mount's delete button carries its own danger treatment.\n\n ALIGNMENT IS NOT PART OF THE TREATMENT, and putting it here was a silent\n contradiction. 'align-self: flex-start' belongs to the two buttons in\n '.ig-inspector-add', a COLUMN, where without it they stretch to the panel's\n full width. The clear button sits in '.ig-inspector-head', a baseline row \u2014\n and 'align-self' beats the container's 'align-items', so it overrode the\n baseline that rule's own comment says it is there to get. Declared where each\n is true instead. */\n.ig-inspector-clear,\n.ig-inspector-cancel {\n background: var(--ig-surface-2);\n color: var(--ig-text-body);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: var(--ig-space-tight) var(--ig-space);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n.ig-inspector-clear:focus-visible,\n.ig-inspector-addbutton:focus-visible,\n.ig-inspector-cancel:focus-visible {\n /* '+ add' keeps the shared focus ring though it left the shared fill: a\n focus indicator is an accessibility guarantee, not a visual register. */\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* \u00A717a's '+ add', AS THE FRAME DRAWS IT: accent text on the header row, no box.\n It is a header affordance rather than a control in the panel body, and the\n frame states that difference by removing the border and the fill rather than\n by moving it alone. */\n.ig-inspector-addbutton {\n display: inline-flex;\n align-items: baseline;\n gap: var(--ig-space-micro);\n background: none;\n border: none;\n border-radius: var(--ig-radius);\n padding: 0;\n color: var(--ig-accent);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n/* THE KEY, QUIETER THAN THE ACT IT NAMES. It is a hint about how to reach the\n control, not part of the control's label, so it takes the muted tone the\n panel gives every line that states a fact rather than offering an act.\n UPPERCASED HERE, NEVER IN THE MARKUP: the binding table stores the lowercase\n key a press normalizes to, and drawing 'R' is presentation. A second,\n uppercase copy in the package would be the drift RELATE_KEY exists to end. */\n.ig-inspector-addkey {\n color: var(--ig-text-muted);\n font-family: var(--ig-font-mono);\n text-transform: uppercase;\n}\n\n.ig-relationship-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n/* IT WRAPS RATHER THAN TRUNCATES, which is '.ig-picker-direction''s rule\n inherited along with \u00A717b's statement. A qualified reference is long \u2014\n 'owner/repo#602' \u2014 the inspector is a fixed 40-character track with no\n horizontal scroll, and a row that cannot wrap pushes its trailing controls\n out of the zone entirely. A statement whose object is cut off says something\n other than what the format holds, and a flip a reader cannot reach is the\n affordance this row exists to offer.\n\n ON THE ROW AND ON THE STATEMENT BOTH. The row wraps so the slot and the flip\n drop to a second line rather than overflow; '.ig-relationship-select' below\n wraps so the reference pair does the same inside it. Wrapping one without the\n other leaves the other overflowing. */\n.ig-relationship {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n align-items: baseline;\n padding: var(--ig-space-tight);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n background: var(--ig-surface);\n}\n\n/* HUE BY FIELD, ONCE, FOR EVERY ELEMENT THAT CARRIES 'data-edge'. From the\n theme's own edge tokens \u2014 the same channel layer 1 uses \u2014 so a relationship\n reads the same colour in the row and in the kind-list entry it was chosen\n from as it does on the canvas. The refusal capsule is deliberately NOT in\n this set: its whole border is the invalid state's dotted stroke, and a hue on\n its left edge would overwrite the half of that a reader looks for first.\n\n WRITTEN PER FIELD RATHER THAN FROM A 'data-edge'-KEYED TOKEN, because CSS has\n no way to build 'var(--ig-edge-' + attr() + ')': 'attr()' is usable in\n 'content' and nowhere a custom property name is read. Five rules is the cost\n of that, and the alternative the package rejected is a token per hue set\n inline by the renderer, which moves a theme value into markup.\n\n ONE SELECTOR LIST PER FIELD, AND THAT IS THE POINT OF THIS BLOCK. The kind\n list arrived with a verbatim second copy of these five rules under\n '.ig-kind-option' \u2014 same five fields, same five tokens \u2014 under a comment\n claiming the file should not hold two ways of reading the theme while it\n held the same way twice. A sixth field is now one line here, not two. */\n.ig-relationship[data-edge='blocked-by'],\n.ig-kind-option[data-edge='blocked-by'] {\n border-left-color: var(--ig-edge-blocked-by);\n}\n\n.ig-relationship[data-edge='duplicate-of'],\n.ig-kind-option[data-edge='duplicate-of'] {\n border-left-color: var(--ig-edge-duplicate-of);\n}\n\n.ig-relationship[data-edge='serialize-with'],\n.ig-kind-option[data-edge='serialize-with'] {\n border-left-color: var(--ig-edge-serialize-with);\n}\n\n.ig-relationship[data-edge='together-with'],\n.ig-kind-option[data-edge='together-with'] {\n border-left-color: var(--ig-edge-together-with);\n}\n\n.ig-relationship[data-edge='decomposed-from'],\n.ig-kind-option[data-edge='decomposed-from'] {\n border-left-color: var(--ig-edge-decomposed-from);\n}\n\n/* THE DESCRIPTION'S BOX, WHETHER OR NOT A CONTROL IS WRAPPING IT. A row's head\n is a button and a phantom capsule's is a plain span -- 'render.ts' withholds\n the selector for an edge the landed document does not carry -- and the two\n occupy the row identically: they fill it, so the reason wraps under them\n rather than squeezing the reference out, and their parts sit on one baseline.\n Declared once, so the capsule cannot come to sit differently from the row it\n stands in for. */\n.ig-relationship-select,\n.ig-relationship-name {\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n align-items: baseline;\n}\n\n/* The button fills its row, so the whole relationship is the hit target rather\n than the words inside it. Transparent and borderless: the li already carries\n the border and the hue, and a second box around it would read as two\n controls. */\n.ig-relationship-select {\n background: none;\n border: none;\n padding: 0;\n font-family: inherit;\n font-size: inherit;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n.ig-relationship-select:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* The glyph and its word are one phrase, so they get their own gap rather than\n inheriting the row's \u2014 which spaces the phrase from the reference beside it,\n a wider relationship. NOT a literal space character in the markup: the word\n is the vocabulary's and this package does not add characters to it, which is\n the same rule the why-rank sentence's clauses are spaced by. */\n.ig-relationship-kind {\n display: inline-flex;\n gap: var(--ig-space-micro);\n align-items: baseline;\n color: var(--ig-text-body);\n}\n\n.ig-relationship-ref {\n font-family: var(--ig-font-mono);\n color: var(--ig-text-muted);\n}\n\n/* THE RIGHT-HAND SLOT, WHOSE THREE OCCUPANTS ARE EXCLUSIVE. Two of them are\n statements and one is a control, and they are drawn as such: the state and\n the inbound marker are quiet label text, the remove is a button.\n '.ig-relationship-flip' below is NOT one of the three: it sits beside the\n slot on the selected row, because it is neither a statement about the row nor\n a destructive act on it. */\n.ig-relationship-state,\n.ig-relationship-inbound {\n align-self: center;\n color: var(--ig-text-muted);\n font-size: var(--ig-font-size-small);\n text-transform: uppercase;\n letter-spacing: var(--ig-tracking-label);\n}\n\n/* The selected row names the state the canvas is drawing a halo for, so it\n takes the focus hue rather than the muted one \u2014 one selection, one colour,\n across the zones. */\n.ig-relationship-state[data-ig-state='selected'] {\n color: var(--ig-focus);\n}\n\n/* A GLYPH BUTTON, SIZED BY ITS GLYPH. No border and no fill: the row already\n carries a border, and a second box inside it would read as two controls \u2014\n the same reasoning '.ig-relationship-select' records. */\n.ig-relationship-remove {\n align-self: center;\n background: none;\n border: none;\n padding: 0 var(--ig-space-tight);\n color: var(--ig-text-muted);\n font-family: inherit;\n font-size: inherit;\n line-height: 1;\n cursor: pointer;\n}\n\n.ig-relationship-remove:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* \u00A717b's FLIP, AT THE ROW'S END. It is drawn last and needs no margin of its\n own to get there: '.ig-relationship-select' above carries 'flex: 1', so the\n statement takes the free space and everything after it is already pushed to\n the end \u2014 which is where frame 17b draws this control. A 'margin-left: auto'\n here would be inert, and a comment crediting it would be an explanation that\n outlived the thing it explained.\n\n A BORDERED CONTROL RATHER THAN THE REMOVE'S BARE GLYPH, which is the frame's\n own distinction and not decoration: '\u2715' is a mark a reader recognises without\n a box, and 'flip' is a word that would otherwise read as part of the sentence\n it sits beside. The border is what says it is pressable.\n\n ITS FOCUS RING IS NOT OPTIONAL, and it takes the offset the row's OTHER two\n controls already use rather than the one it was born with. This rule came\n from the picker's sheet, where the ring sat a hairline out;\n '.ig-relationship-select' and '.ig-relationship-remove' share this row and\n both ring at '--ig-space-tight', and one control ringing tighter than its\n neighbours reads as a rendering fault rather than as a distinction. This is\n the control \u00A717b calls the guard against the most common encoding mistake; a\n keyboard reader who cannot see where they are has it and not its affordance. */\n.ig-relationship-flip {\n align-self: center;\n background: var(--ig-surface);\n color: var(--ig-text-body);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: 0 var(--ig-space-tight);\n font-family: inherit;\n font-size: var(--ig-font-size-small);\n line-height: inherit;\n cursor: pointer;\n}\n\n.ig-relationship-flip:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* A REFUSED EDIT, IN THE ROW IT WOULD HAVE BEEN. It borrows the ghost the\n canvas draws for the same state \u2014 a dotted edge in the invalid hue \u2014 so the\n line and the row a reader looks between are recognisably one fact.\n NO OPACITY HERE. 'overlay/grammar.ts' holds the opacity every write state is\n drawn at, on the record that a second copy would drift; what this sheet\n contributes is the structure. */\n.ig-relationship-refused {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n align-items: baseline;\n padding: var(--ig-space-tight);\n border: var(--ig-stroke) dotted var(--ig-state-invalid);\n border-radius: var(--ig-radius);\n background: var(--ig-surface);\n}\n\n.ig-relationship-reason {\n color: var(--ig-state-invalid);\n font-size: var(--ig-font-size-small);\n}\n\n/* A REFUSAL ON A RELATIONSHIP THAT IS STILL THERE. The row stays \u2014 it names a\n real edge and its remove control still works \u2014 so this marks it rather than\n replacing it: the capsule's dotted stroke, and room for the reason to wrap\n under the row rather than squeezing the reference out of it.\n BORDER-STYLE ONLY, NOT BORDER-COLOR: the field's hue is on the left edge from\n the block above, and a shorthand here would overwrite it and take the row's\n one colour channel away on exactly the rows carrying the most information. */\n.ig-relationship[data-ig-code] {\n flex-wrap: wrap;\n border-style: dotted;\n}\n\n/* THE KIND STEP'S OWN BOX \u2014 the heading, the numbered list and the cancel that\n withdraws from it.\n\n IT NO LONGER HOLDS '+ add'. This box was once \"one place the reader returns\n to\", holding whichever of the two create steps was live; frame 17a splits\n them by zone, putting '+ add' on the relationships header row and leaving the\n kinds here under a heading of their own. The two steps are still exclusive \u2014\n 'createStep' answers one of them \u2014 but they are no longer drawn in one\n place, so this rule is about the kind step alone. */\n.ig-inspector-add {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n/* Sized by its own word rather than stretched across the column \u2014 see the\n quiet-button rule above, which deliberately does not carry this.\n\n '+ add' IS NO LONGER LISTED HERE, and dropping it was required rather than\n tidy. This declaration is scoped to '.ig-inspector-add', a COLUMN; '+ add'\n now sits in the relationships header, a ROW, where 'align-self' beats the\n container's 'align-items' and would top-align the control against the\n heading \u2014 the exact bug the '.ig-inspector-clear' comment above records\n having already been fixed once. */\n.ig-inspector-cancel {\n align-self: flex-start;\n}\n\n/* WHOSE DRAFT THIS IS, drawn only when it is not the panel's subject. Quiet and\n small, like every other line that states a fact rather than offering an act:\n it is a caption on the step below it, not a heading over it. The reference\n inside keeps layer 1's '.ig-id' treatment, so the issue reads the same here\n as it does in the why-rank sentence. */\n.ig-inspector-source {\n margin: 0;\n color: var(--ig-text-muted);\n font-size: var(--ig-font-size-small);\n}\n\n.ig-kind-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-micro);\n}\n\n/* Full width, so the whole entry is the hit target.\n\n THE DIGIT IS A CHIP AT THE ROW'S END, which is frame 17a's device and\n REVERSES the placement #144 shipped. That decision was made in the same \u00A717a\n pass and with this frame available, so it is overturned on the merits rather\n than as an oversight: what made the old left-hand column read as a set of\n KEYS was vertical alignment, which a label long enough to wrap breaks, while\n a bordered chip carries the key-cap signal on each row by itself and cannot\n come apart. Reversing a same-campaign decision is called out on the pull\n request so autnmy/issuegraph#147 rules rather than the implementer.\n\n CENTRED, NOT BASELINE-ALIGNED. A chip has its own border and padding, so on a\n baseline it sits low against the glyph and the label; the frame's row centres\n all three. */\n.ig-kind-option {\n width: 100%;\n display: flex;\n gap: var(--ig-space-tight);\n align-items: center;\n background: var(--ig-surface);\n color: var(--ig-text-body);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: var(--ig-space-tight);\n font-family: inherit;\n font-size: var(--ig-font-size-small);\n text-align: left;\n cursor: pointer;\n}\n\n.ig-kind-option:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* THE CHIP TAKES THE SLACK BEFORE IT, rather than the label being told to grow.\n The label is drawn by layer 1's shared 'glyphAndLabel' and carries no class of\n its own, so selecting it from here means selecting by exclusion \u2014 a rule that\n silently stops matching the day that helper adds an element. An auto margin\n is stated on the element this rule already owns, needs nothing of the label,\n and puts the chip at the row's end whatever precedes it. */\n.ig-kind-digit {\n flex: 0 0 auto;\n margin-left: auto;\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: 0 var(--ig-space-micro);\n font-family: var(--ig-font-mono);\n color: var(--ig-text-muted);\n}\n\n/* \u00A717b's RECOVERY CARDS. An unsettled write the reader can still act on, drawn\n where they made it.\n THE HUE COMES FROM THE STATE, through the same custom properties the canvas\n draws the line with \u2014 so a card and the edge it is about are recognisably one\n fact, and a host retheming the palette moves both at once. The tokens are\n named per state below rather than set once, because '--ig-state-failed' and\n '--ig-state-conflict' are different channels and a shared variable here would\n be a third place the pairing could drift.\n NO OPACITY, for the reason the refusal capsule states: 'overlay/grammar.ts'\n holds what each write state is drawn at, and this sheet contributes structure. */\n.ig-recovery-region {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n margin-top: var(--ig-space);\n}\n\n.ig-recovery-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-recovery {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n padding: var(--ig-space-tight);\n border-radius: var(--ig-radius);\n background: var(--ig-surface);\n border: var(--ig-stroke) solid var(--ig-line);\n}\n\n/* GHOST + THE \u2715 THE CANVAS DRAWS. \u00A717b gives a failed write a ghosted line with\n a cross terminal; the card carries the same hue so the two read together. */\n.ig-recovery[data-ig-state='failed'] {\n border-color: var(--ig-state-failed);\n border-style: dashed;\n}\n\n/* THE GOLD DOUBLE RULE. \u00A717b draws a conflict as a doubled line holding two\n versions. 'border-style: double' is the card's half of that grammar \u2014 the\n LINE's half is the 'second-version' mark, which needs a position this layer\n does not have and is issue #102's. */\n.ig-recovery[data-ig-state='conflict'] {\n border-color: var(--ig-state-conflict);\n border-style: double;\n border-width: calc(var(--ig-stroke) * 3);\n}\n\n.ig-recovery-name {\n margin: 0;\n font-size: var(--ig-font-size-small);\n font-weight: 600;\n}\n\n.ig-recovery[data-ig-state='failed'] .ig-recovery-name {\n color: var(--ig-state-failed);\n}\n\n.ig-recovery[data-ig-state='conflict'] .ig-recovery-name {\n color: var(--ig-state-conflict);\n}\n\n.ig-recovery-reason,\n.ig-recovery-refresh-error {\n margin: 0;\n font-size: var(--ig-font-size-small);\n color: var(--ig-text-muted);\n}\n\n.ig-recovery-refresh-detail {\n font-family: var(--ig-font-mono);\n}\n\n/* THE THREE RESOLUTIONS, IN A ROW AND NEVER IN A MENU. \u00A717b lists them as\n peers; nesting one behind a disclosure would rank them, and the one that\n would end up hidden is 'view diff' \u2014 the one that lets a reader decide\n between the other two. */\n.ig-recovery-actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n}\n\n.ig-recovery-action {\n background: var(--ig-surface);\n color: var(--ig-text-body);\n border: var(--ig-stroke) solid var(--ig-line);\n border-radius: var(--ig-radius);\n padding: var(--ig-space-tight);\n font-family: inherit;\n font-size: var(--ig-font-size-small);\n cursor: pointer;\n}\n\n.ig-recovery-action:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n.ig-recovery-action[aria-pressed='true'] {\n border-color: var(--ig-focus);\n}\n\n/* TWO SIDES, SIDE BY SIDE, AND NOTHING BETWEEN THEM THAT COMBINES THEM. The\n layout is the design constraint: there is no column for a merged result,\n because there is no merged result to put in one. */\n.ig-recovery-diff {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n padding-top: var(--ig-space-tight);\n border-top: var(--ig-stroke) solid var(--ig-line);\n}\n\n/* ONE SIDE OF THE DIFFERENCE. Stacked rather than columned: at a panel's width\n two columns give each side about half of an already narrow zone, and a\n relationship row is a sentence rather than a cell. */\n.ig-recovery-side {\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-recovery-side-name {\n margin: 0;\n font-size: var(--ig-font-size-small);\n color: var(--ig-text-muted);\n font-weight: 400;\n}\n\n.ig-recovery-edges,\n.ig-recovery-issues {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ig-space-tight);\n}\n\n.ig-recovery-edge,\n.ig-recovery-issue {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ig-space-tight);\n align-items: baseline;\n font-size: var(--ig-font-size-small);\n}\n\n/* BOTH TITLES, NEITHER STRUCK THROUGH. A strike-out would say the old one is\n gone, which is exactly the judgement this card must not make for the reader. */\n.ig-recovery-was,\n.ig-recovery-now {\n color: var(--ig-text-muted);\n}\n\n.ig-recovery-now {\n color: var(--ig-state-conflict);\n}\n\n.ig-recovery-diff-empty {\n margin: 0;\n padding-top: var(--ig-space-tight);\n border-top: var(--ig-stroke) solid var(--ig-line);\n font-size: var(--ig-font-size-small);\n color: var(--ig-text-muted);\n}\n\n/* \u00A717c ON THE ROW: the tint, the third column, and the chip in place.\n\n THE TINT IS DRAWN FROM AN ATTRIBUTE rather than from a class the row is\n given, which is audit/surface.ts's precedent and its reason: layer 1 owns\n the row's markup, so layer 2 says WHICH KIND and the stylesheet says what\n that kind looks like. A row the edit did not touch carries no attribute at\n all, so none of these rules can reach it, and \"unaffected rows are left\n completely alone\" is structural rather than asserted.\n\n THESE REACH LAYER 1'S OWN CLASSES, and that is a deliberate exception of\n exactly the shape reevaluate/styles.ts already declares for the greyed rail:\n only from INSIDE this surface's own root, and only for a state layer 1 does\n not model. The viewer draws a row; whether the last edit moved that row is a\n fact only the store knows, so the mark belongs to whoever knows it.\n\n BOTH ROW SHAPES, because a delta can land on either. A ranked row is an\n .ig-slot; an excluded one \u2014 the shape an issue takes when an edit turns it\n into a duplicate \u2014 is an .ig-footer-row, and it is still navigable, so\n reevaluateView still places its chip. An earlier revision listed .ig-slot\n only, so a left row got its chip and its extended name and no ground.\n\n EVERY VALUE deltaKind CAN EMIT, and that list is readiness, then a\n movement's direction, then a presence: promoted, newly-held, up, down,\n entered, left. An earlier revision keyed a rule on 'absent', which is not a\n value this code has ever produced \u2014 presence is 'entered' | 'left' \u2014 so that\n rule matched nothing while looking like the neutral case, and a left row\n took the READY tint from the bare fallback below. Named exhaustively now\n rather than defaulted, so a seventh value renders untinted rather than\n wrong.\n\n BACKGROUND-COLOR, NEVER THE SHORTHAND. the background shorthand resets background-image\n to none, and layer 1 draws the HELD row's hatch as a repeating-linear-\n gradient on exactly that property. These rules are more specific and load\n after it, so the shorthand silently took the hatch off any row that was both\n held and changed \u2014 which is not a corner: newly-held is the delta that\n co-occurs with data-held='true' by definition, so the most common overlap\n lost the held channel entirely. The longhand leaves the gradient alone.\n\n COLOUR-MIX ON THE TOKEN THE KIND ALREADY NAMES, at the strength layer 1\n tints its own rows with. Inventing --ig-row-promoted would put a hue in this\n package that a host retheming the station colours could not move in step,\n and inventing a percentage would make this tint drift from the unit tint\n layer 1 draws with --ig-tint-unit. */\n.ig-workspace .ig-slot[data-ig-delta='promoted'],\n.ig-workspace .ig-slot[data-ig-delta='up'],\n.ig-workspace .ig-slot[data-ig-delta='entered'],\n.ig-workspace .ig-footer-row[data-ig-delta='promoted'],\n.ig-workspace .ig-footer-row[data-ig-delta='up'],\n.ig-workspace .ig-footer-row[data-ig-delta='entered'] {\n background-color: color-mix(in srgb, var(--ig-station-ready) var(--ig-tint-unit), transparent);\n}\n\n.ig-workspace .ig-slot[data-ig-delta='newly-held'],\n.ig-workspace .ig-slot[data-ig-delta='down'],\n.ig-workspace .ig-footer-row[data-ig-delta='newly-held'],\n.ig-workspace .ig-footer-row[data-ig-delta='down'] {\n background-color: color-mix(in srgb, var(--ig-station-held) var(--ig-tint-unit), transparent);\n}\n\n/* A row the edit took OUT of the order. Neutral rather than held: it is not\n waiting on anything, it is simply no longer ranked. */\n.ig-workspace .ig-slot[data-ig-delta='left'],\n.ig-workspace .ig-footer-row[data-ig-delta='left'] {\n background-color: color-mix(in srgb, var(--ig-text-muted) var(--ig-tint-unit), transparent);\n}\n\n/* THE THIRD COLUMN IS WHAT PUTS THE CHIP AT THE ROW'S TRAILING EDGE.\n\n The frame draws the row as rank, body, chip \u2014 three columns, the last\n sized to its content. Layer 1's own rule is a TWO-column grid, so a chip\n appended as a third child wrapped onto an implicit second row and sat under\n the rank. That was visible in the first capture of this pair, and it is why\n this rule is a column template rather than a margin: in a grid, an auto\n inline margin cannot move an item that is in the wrong row to begin with.\n\n ONLY ON A ROW THAT HAS A CHIP, so a row with no delta keeps layer 1's own\n template untouched. AND ONLY ON .ig-slot: a footer row is not that grid, so\n naming it here would set a column template on a box that has none. */\n.ig-workspace .ig-slot[data-ig-delta] {\n grid-template-columns: var(--ig-rank-column) 1fr auto;\n}\n\n/* A FOOTER ROW IS A FLEX BOX, NOT THE THREE-COLUMN GRID.\n\n A ranked row reaches the trailing edge by the column template above. An\n excluded or tracker-held row is layer 1's .ig-footer-row \u2014 display:flex \u2014\n so a chip appended to it simply follows the content it was appended after,\n and the frame puts it at the row's end. An auto inline margin is the flex\n idiom for that, and it is the right tool HERE for the same reason it was the\n wrong one on the grid: it moves an item within its line, and on the grid the\n item was in the wrong line to begin with. */\n.ig-workspace .ig-footer-row > .ig-delta-chip[data-placed] {\n margin-inline-start: auto;\n}\n\n/* \u00A717c's \"write landed \u00B7 order computing\": the PREVIOUS order, held still and\n greyed one step, with the label saying why.\n\n THE SAME FILTER, for the reason reevaluate/styles.ts gives where it greys\n .ig-reevaluate[data-order='held'] .ig-viewer: layer 1 sets color directly on\n its own descendants, so an inherited colour greys almost nothing, and a list\n of descendants to override goes stale the first time layer 1 colours\n something new.\n\n SCOPED TO THE RAIL ZONE, WHICH THE STANDALONE SURFACE DID NOT HAVE TO BE.\n There, .ig-viewer is the rail and nothing else. The workspace draws a SECOND\n viewer in the canvas zone, and greying that one is not a smaller version of\n the same idea \u2014 it is the opposite of what the held state means. What is\n stale is the ORDER; the canvas is drawing the write states #164 put there,\n and pending, failed and conflict are told partly in hue. So an in-flight edit\n would have stripped the colour channel off the very marks that say an edit is\n in flight. The rail is the only surface whose ranks the store cannot vouch\n for, so it is the only one greyed. */\n.ig-workspace[data-order='held'] .ig-zone[data-zone='rail'] .ig-viewer {\n filter: grayscale(1);\n}\n\n/* \u2500\u2500 17k's OTHER TWO LAYOUTS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n ONE RULE GENERATES ALL THREE, and it is the sentence 17k states outright:\n THE RAIL NEVER YIELDS. THE CANVAS YIELDS FIRST. THE INSPECTOR YIELDS IN\n BETWEEN. Because the canvas is already the zone designed to refuse (17f) and\n the inspector is the edit path that survives without it (17b).\n\n at or above 1360 390 / 1fr / 330, three zones, as 17a\n 1120 - 1359 rail unchanged; the inspector lifts to a 330 overlay\n over the canvas, opened by selection, Escape to dismiss\n below 1120 rail unchanged; the canvas collapses to a strip that\n opens full-width on demand; the inspector returns inline\n\n Below roughly 860 is section 9 territory and out of scope for the package.\n\n THE RAIL IS THE SAME 50 CHARACTERS IN ALL THREE. That is the whole rule, and\n it is the one thing to check when touching this block: measured on the demo\n at 1440, 1280 and 1000 the rail track reads 390 at every one of them. The\n layout before this shipped read 390 / 698 / 328 at 1440 and 312 / 632 / 312\n at 1280 \u2014 the rail giving up 78 of its 390 to keep a three-column template\n alive, which is the rule upside down.\n\n WHY THESE ARE RANGE CONDITIONS AND NOT max-width/min-width PAIRS. A\n container's inline size is NOT AN INTEGER. Written as (min-width: 1360px)\n and (max-width: 1359px), a box measured at 1359.5 satisfies NEITHER \u2014 so the\n base fallback comes back, the rail drops to its 40-character measure, and\n the one rule 17k states outright is broken at exactly the widths a resize\n drags through. The same hole sits at 1119.5. 'width < 1360' and\n 'width >= 1360' are complements with nothing between them, which is the\n property the layouts need and the only reason the syntax changed.\n\n THE BASE STAYS THE THREE-ZONE TEMPLATE, because a surface rendered WITHOUT a\n mount has no container at all and no query fires: base-is-narrow would hand\n a static page a collapsed canvas with a control nothing is listening to. So\n the wide layout is the floor and the narrow ones are carved off it, widest\n first.\n\n THESE SIT AT THE FOOT OF THE SHEET, WHICH IS LOAD-BEARING TWICE. The narrow\n block must come after the middle one to win where both match; and the zones'\n own rules have to come first, or a regex looking for the rule that defines\n .ig-zone[data-zone='inspector'] finds an override instead. That hazard is\n recorded further up this sheet and has already bitten once in layer 1.\n\n NEITHER LAYOUT IS THE STYLESHEET'S ALONE. The lifted inspector opens on\n selection and dismisses on Escape, and the strip opens on a press \u2014 so\n host.ts holds two fields and render.ts publishes them on the surface\n root as data-canvas and data-inspector. What is NOT in the host is the\n width: nothing in the package asks how wide it is, per 17k's own note that\n a package which reads the window cannot be dropped into someone else's\n settings page. Each attribute is read only by the block that has a use for\n it, and means nothing at the other widths. */\n\n/* 17k's STRIP CONTROL, RENDERED ALWAYS AND DRAWN ONLY WHEN NARROW.\n render.ts cannot know its own width, so the button is always in the\n markup and this is what keeps it off the other two layouts \u2014 display:none\n rather than visibility, so it is not a tab stop where it has nothing to do.\n The two narrow states size it themselves, below. */\n.ig-workspace .ig-canvas-strip {\n display: none;\n box-sizing: border-box;\n border: var(--ig-stroke) solid var(--ig-line);\n background: var(--ig-surface);\n color: var(--ig-text-body);\n font-family: var(--ig-font-ui);\n font-size: var(--ig-font-size-small);\n padding: var(--ig-space-tight);\n cursor: pointer;\n}\n\n.ig-workspace .ig-canvas-strip:focus-visible {\n outline: var(--ig-focus-ring) solid var(--ig-focus);\n outline-offset: var(--ig-space-tight);\n}\n\n/* THE MIDDLE LAYOUT: the inspector lifts, and the rail does not move.\n\n IT IS PLACED IN THE CANVAS'S GRID AREA, NOT POSITIONED OVER IT. An absolute\n overlay would need an offset chosen so it clears the rail, and an offset is\n a number that is right until someone changes a track. A grid area is not:\n the rail is a DIFFERENT area, so an item placed in the canvas's cannot reach\n it however wide it gets. Section 17d's audit overlay is positioned on the\n same argument one surface over, and this is that argument without the\n position.\n\n 42 CHARACTERS, THE SAME MEASURE THE WIDE LAYOUT GIVES THE INSPECTOR \u2014 17k\n lifts the panel, it does not resize it. At the shipped --ig-char-width that\n is 327.6 against 17k's 330, the 2.4 the wide block already accounts for.\n\n OPAQUE AND RAISED, because it now has the canvas underneath it rather than a\n border between them. --ig-elevation-overlay is the token for exactly this\n and --ig-surface is the raised ground; the zone keeps its own border-left\n from the base rule, which reads as the panel's leading edge. */\n@container ig-workspace (width < 1360px) {\n .ig-workspace {\n grid-template-areas:\n 'header header'\n 'rail canvas';\n grid-template-columns:\n calc(var(--ig-char-width) * 50)\n 1fr;\n }\n\n .ig-workspace .ig-zone[data-zone='inspector'] {\n grid-area: canvas;\n justify-self: end;\n inline-size: calc(var(--ig-char-width) * 42);\n z-index: 1;\n background: var(--ig-surface);\n box-shadow: var(--ig-elevation-overlay);\n }\n\n /* OPENED BY SELECTION, DISMISSED ON ESCAPE \u2014 17k's own words, and both\n halves arrive as this one attribute. render.ts writes 'lifted' only when\n something is SELECTED and the reader has not dismissed it since, so an\n empty \"nothing selected\" card never floats over the canvas. */\n .ig-workspace[data-inspector='dismissed'] .ig-zone[data-zone='inspector'] {\n display: none;\n }\n}\n\n/* THE NARROW LAYOUT: the canvas collapses, the inspector comes back inline,\n and the rail still does not move.\n\n THE INSPECTOR IS RESTORED DECLARATION BY DECLARATION rather than by scoping\n the block above to a band, because the sheet's guard has no band to scope to.\n Each line here answers one line there, on the same selector so source order\n settles it \u2014 that is the price of single-sided conditions, paid in full and\n in one place.\n\n THE STRIP IS 4 CHARACTERS. The canvas is the zone designed to refuse (17f),\n so what it yields is everything except the handle that brings it back; the\n inspector takes 1fr, which at 1000 is 550 and at 860 is 418 \u2014 both above the\n 330 the wide layout gives it, so the zone that yields in between is not\n yielding here at all. That is the order the rule names. */\n@container ig-workspace (width < 1120px) {\n .ig-workspace {\n grid-template-areas:\n 'header header header'\n 'rail canvas inspector';\n grid-template-columns:\n calc(var(--ig-char-width) * 50)\n calc(var(--ig-char-width) * 4)\n 1fr;\n }\n\n .ig-workspace .ig-zone[data-zone='inspector'] {\n grid-area: inspector;\n justify-self: stretch;\n inline-size: auto;\n z-index: auto;\n background: none;\n box-shadow: none;\n }\n\n /* THE DISMISSAL MEANS NOTHING HERE, and saying so is the undo of the middle\n block's only conditional rule. The inspector is a zone again, so there is\n no overlay to have dismissed. */\n .ig-workspace[data-inspector='dismissed'] .ig-zone[data-zone='inspector'] {\n display: block;\n }\n\n .ig-workspace[data-canvas='strip'] .ig-canvas-strip {\n display: block;\n writing-mode: vertical-rl;\n inline-size: 100%;\n block-size: 100%;\n overflow: hidden;\n white-space: nowrap;\n }\n\n /* COLLAPSED MEANS GONE, NOT CLIPPED. The zone is overflow:auto, so leaving\n the graph in a 31-wide track would keep every node in the tab order behind\n a scrollbar the reader cannot use \u2014 and a keyboard reader would walk a\n canvas nobody can see. display:none is what takes them out of the tree,\n and it is reversible in one attribute.\n\n TWO EXCEPTIONS, AND NEITHER IS THE CANVAS. The strip is the handle that\n brings the zone back. 17d's audit overlay is a sibling of the graph rather\n than part of it \u2014 it is anchored to the HEADER COUNT, which is drawn at\n every width, so a collapsed canvas taking it down would remove a surface\n the reader opened from a control that is still there. */\n .ig-workspace[data-canvas='strip']\n .ig-zone[data-zone='canvas']\n > :not(.ig-canvas-strip):not(.ig-audit-overlay) {\n display: none;\n }\n\n /* AND THE OVERLAY HAS TO ESCAPE THE STRIP IT HANGS OFF.\n\n 17d positions it against the canvas ZONE, which is what keeps it off the\n rail without a magic offset. That argument still holds here and the\n ARITHMETIC does not: the zone is four characters wide, so the panel's own\n 'width: min(66.67ch, 100% - gap)' resolves to the strip, and 'right' would\n anchor a wider one leftwards \u2014 across the rail, which is the one thing 17k\n says an overlay must never do.\n\n SO THE ANCHOR FLIPS AND THE CLAMP GOES. Anchored at the zone's leading\n edge it opens away from the rail, into the room the inspector is using \u2014\n over it, which is what an overlay is for. The zone stops clipping while it\n is a strip, which costs nothing: every other child is display:none above,\n so there is nothing else left to spill.\n\n MEASURED at a 1000 mount: the zone's leading edge is 419, the rail ends at\n 407, and 520 of panel fits in the 598 that remains. Below about 900 it\n runs past the trailing edge, which is the band 17k already hands to\n section 9. */\n .ig-workspace[data-canvas='strip'] .ig-zone[data-zone='canvas'] {\n overflow: visible;\n }\n\n .ig-workspace[data-canvas='strip'] .ig-zone[data-zone='canvas'] .ig-audit-overlay {\n left: 0;\n right: auto;\n width: calc(var(--ig-char-width) * 66.67);\n max-height: 100%;\n /* THE SHADOW GOES WITH THE CLIPPING, and that pairing is the whole point.\n Section 3 forbids this panel reaching the rail ABSOLUTELY, and it is a\n rule about what a reader SEES \u2014 a soft edge falling across the order\n breaks it exactly as a border would. Everywhere else the zone's own\n overflow is what guarantees that; here the zone is deliberately not\n clipping, so the one thing that could paint outside the border box is\n removed instead. The panel still reads as raised: it keeps its ground\n and its border, over a canvas that is four characters wide and drawing\n nothing. */\n box-shadow: none;\n }\n\n /* OPENED FULL-WIDTH ON DEMAND \u2014 17k's words \u2014 and full-width is measured\n from the rail, which still does not yield. The inspector stands down while\n it is open, which is the one place this layout borrows from the middle\n one: the canvas is transient here in the way the panel is there. */\n .ig-workspace[data-canvas='open'] {\n grid-template-areas:\n 'header header'\n 'rail canvas';\n grid-template-columns:\n calc(var(--ig-char-width) * 50)\n 1fr;\n }\n\n .ig-workspace[data-canvas='open'] .ig-zone[data-zone='inspector'] {\n display: none;\n }\n\n /* The same control closes it, so it stops being a strip and reads as a\n button above the canvas it opened. */\n .ig-workspace[data-canvas='open'] .ig-canvas-strip {\n display: block;\n justify-self: start;\n }\n}\n";
39
39
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/workspace/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,eAAO,MAAM,mBAAmB,qk7BAuyB/B,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/workspace/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,eAAO,MAAM,mBAAmB,0+vEAynD/B,CAAC"}