@cyberskill/design 1.6.0 → 1.7.0

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 (112) hide show
  1. package/DESIGN.md +1 -1
  2. package/README.md +4 -4
  3. package/SKILL.md +3 -3
  4. package/VERSION +1 -1
  5. package/_ds_bundle.js +2 -2
  6. package/_esm/cs.mjs +2 -2
  7. package/docs/contrast-report.md +1 -1
  8. package/docs/conventions.md +2 -2
  9. package/docs/quality-gates.md +1 -1
  10. package/docs/release-notes.md +1 -1
  11. package/docs/vi/contrast-report.md +1 -1
  12. package/docs/vi/conventions.md +2 -2
  13. package/docs/vi/quality-gates.md +1 -1
  14. package/docs/vi/release-notes.md +1 -1
  15. package/llms.txt +3 -3
  16. package/package.json +1 -1
  17. package/templates/_vendor/doc-export.js +536 -59
  18. package/templates/_vendor/support.js +9 -2
  19. package/templates/app-shell/support.js +9 -2
  20. package/templates/article/support.js +9 -2
  21. package/templates/auth/support.js +9 -2
  22. package/templates/bod-deck/support.js +9 -2
  23. package/templates/bod-investor-update/support.js +9 -2
  24. package/templates/bod-memo/support.js +9 -2
  25. package/templates/bod-minutes/support.js +9 -2
  26. package/templates/bod-report/support.js +9 -2
  27. package/templates/bod-resolution/support.js +9 -2
  28. package/templates/culture-event-invite/support.js +9 -2
  29. package/templates/dashboard/support.js +9 -2
  30. package/templates/delivery-change-note/support.js +9 -2
  31. package/templates/delivery-kickoff/support.js +9 -2
  32. package/templates/delivery-qbr-deck/support.js +9 -2
  33. package/templates/delivery-runbook/support.js +9 -2
  34. package/templates/delivery-status-email/support.js +9 -2
  35. package/templates/doc-style-guide/support.js +9 -2
  36. package/templates/doc-suite-index/support.js +9 -2
  37. package/templates/doc-templates/support.js +9 -2
  38. package/templates/email/support.js +9 -2
  39. package/templates/finance-dunning-email/support.js +9 -2
  40. package/templates/finance-expense-report/support.js +9 -2
  41. package/templates/finance-invoice/support.js +9 -2
  42. package/templates/finance-quote/support.js +9 -2
  43. package/templates/hr-announcement/support.js +9 -2
  44. package/templates/hr-interview-kit/support.js +9 -2
  45. package/templates/hr-offboarding/support.js +9 -2
  46. package/templates/hr-performance-review/support.js +9 -2
  47. package/templates/hr-pip/support.js +9 -2
  48. package/templates/legal-msa/support.js +9 -2
  49. package/templates/legal-sow/support.js +9 -2
  50. package/templates/marketing-campaign-brief/support.js +9 -2
  51. package/templates/marketing-case-study/support.js +9 -2
  52. package/templates/marketing-launch/support.js +9 -2
  53. package/templates/marketing-newsletter/support.js +9 -2
  54. package/templates/marketing-page/support.js +9 -2
  55. package/templates/marketing-press-release/support.js +9 -2
  56. package/templates/marketing-social-kit/support.js +9 -2
  57. package/templates/sales-one-pager/support.js +9 -2
  58. package/templates/sales-proposal-deck/support.js +9 -2
  59. package/templates/settings/support.js +9 -2
  60. package/templates/slide-deck/support.js +9 -2
  61. package/templates/team-meeting-agenda/support.js +9 -2
  62. package/templates/tech-incident-report/support.js +9 -2
  63. package/templates/tech-release-notes/support.js +9 -2
  64. package/templates/tech-retro/support.js +9 -2
  65. package/templates/tech-rfc/support.js +9 -2
  66. package/templates/vn-appointment-transfer/support.js +9 -2
  67. package/templates/vn-certificate-of-employment/support.js +9 -2
  68. package/templates/vn-code-of-conduct/support.js +9 -2
  69. package/templates/vn-compensation-regulation/support.js +9 -2
  70. package/templates/vn-contract-amendment/support.js +9 -2
  71. package/templates/vn-contractor-agreement/support.js +9 -2
  72. package/templates/vn-data-protection-policy/support.js +9 -2
  73. package/templates/vn-disciplinary-case-file/support.js +9 -2
  74. package/templates/vn-disciplinary-schedule/support.js +9 -2
  75. package/templates/vn-employee-request/support.js +9 -2
  76. package/templates/vn-exit-handover/support.js +9 -2
  77. package/templates/vn-foreign-employee-pack/support.js +9 -2
  78. package/templates/vn-framework-agreement/VnFrameworkAgreement.dc.html +1 -3
  79. package/templates/vn-framework-agreement/support.js +9 -2
  80. package/templates/vn-grassroots-democracy/support.js +9 -2
  81. package/templates/vn-infosec-policy/support.js +9 -2
  82. package/templates/vn-internal-labor-regulations/support.js +9 -2
  83. package/templates/vn-internship-agreement/support.js +9 -2
  84. package/templates/vn-job-description/support.js +9 -2
  85. package/templates/vn-labor-contract/support.js +9 -2
  86. package/templates/vn-labour-management-book/support.js +9 -2
  87. package/templates/vn-mutual-nda/support.js +9 -2
  88. package/templates/vn-ndnca-ip/support.js +9 -2
  89. package/templates/vn-offer-letter/support.js +9 -2
  90. package/templates/vn-onboarding-checklist/support.js +9 -2
  91. package/templates/vn-pdpl-consent/support.js +9 -2
  92. package/templates/vn-performance-evaluation-regulation/support.js +9 -2
  93. package/templates/vn-performance-review-form/support.js +9 -2
  94. package/templates/vn-phantom-stock/support.js +9 -2
  95. package/templates/vn-probation-contract/support.js +9 -2
  96. package/templates/vn-receipt-acknowledgement/support.js +9 -2
  97. package/templates/vn-remote-work-policy/support.js +9 -2
  98. package/templates/vn-resignation-letter/support.js +9 -2
  99. package/templates/vn-salary-scale/support.js +9 -2
  100. package/templates/vn-sow-appendix/support.js +9 -2
  101. package/templates/vn-termination-decision/support.js +9 -2
  102. package/templates/vn-total-rewards-appendix/support.js +9 -2
  103. package/templates/vn-training-commitment/support.js +9 -2
  104. package/templates/vn-travel-expense-policy/support.js +9 -2
  105. package/tokens/element-seeds.json +1 -1
  106. package/tokens/native/CSTokens.kt +1 -1
  107. package/tokens/native/CSTokens.swift +1 -1
  108. package/tokens/native/cs_tokens.dart +1 -1
  109. package/tokens/provenance.json +6 -6
  110. package/tokens/tokens.dtcg.json +1 -1
  111. package/tokens/tokens.js +2 -2
  112. package/tokens/tokens.json +1 -1
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -9,7 +9,7 @@
9
9
  </head>
10
10
  <body>
11
11
  <x-dc>
12
- <!-- @template name="HR Suite · Hợp đồng nguyên tắc — Framework Agreement" description="Commercial framework agreement for software services & account provisioning (specimen: Ban QLDA Bình Quới) — Party blocks, subject matter, delivery & payment, responsibilities, general terms, dual signature. A4, VN·EN stacked, print-ready. Counsel review before real use. Not an employment instrument." -->
12
+ <!-- @template name="HR Suite · Hợp đồng nguyên tắc — Framework Agreement" description="Commercial framework agreement for software services & account provisioning (specimen: Ban QLDA Bình Quới) — Party blocks, subject matter, delivery & payment, responsibilities, general terms, dual signature. A4, VN·EN stacked, print-ready. Not an employment instrument." -->
13
13
  <helmet>
14
14
  <script src="./ds-base.js"></script>
15
15
  <style>@page{size:A4;margin:23mm 20mm 20mm 20mm}@media print{html,body{background:#fff!important}.cs-desk{background:#fff!important;padding:0!important;min-height:0!important}.cs-sheet{box-shadow:none!important;border:none!important;max-width:none!important;border-radius:0!important;padding:0!important}.cs-avoid{break-inside:avoid}}</style>
@@ -21,8 +21,6 @@
21
21
  <b style="color:var(--cs-color-brand-umber)">CyberSkill</b><span>· Hợp đồng nguyên tắc (dịch vụ &amp; tài khoản phần mềm)</span><span style="margin-left:auto;font-family:var(--cs-font-family-mono)">Số/No. <span style="background:var(--cs-doc-fill);padding:0 3px">.....</span>/2026/HĐNT-CYBERSKILL</span>
22
22
  </div>
23
23
 
24
- <div class="cs-avoid" style="border:1.5px solid var(--cs-color-semantic-warning);background:#FDF6EC;border-radius:var(--cs-radius-md);padding:10px 14px;margin-bottom:14px;font-size:12px;line-height:1.55;color:var(--cs-color-semantic-warning);font-weight:600">⚠ Cần luật sư / tư vấn pháp lý rà soát trước khi dùng thật — đây là hợp đồng thương mại (không phải quan hệ lao động). <span style="font-weight:400">· Counsel review required before real use — commercial framework (not employment).</span></div>
25
-
26
24
  <div class="cs-avoid" style="display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:18px">
27
25
  <div><div style="font-weight:800;font-size:11.5px;line-height:1.45">CÔNG TY CỔ PHẦN TƯ VẤN VÀ PHÁT TRIỂN GIẢI PHÁP PHẦN MỀM CYBERSKILL</div><div style="font-size:10px;color:var(--cs-doc-slate);font-style:italic;line-height:1.45;margin-top:2px">CyberSkill Software Solutions Consultancy and Development Joint Stock Company</div></div>
28
26
  <div style="text-align:center"><div style="font-weight:800;font-size:11.5px;line-height:1.5">CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM</div><div style="font-weight:700;font-size:11px">Độc lập - Tự do - Hạnh phúc</div><div style="letter-spacing:0.1em;font-size:10px;margin:1px 0">———————————</div><div style="font-size:9.5px;color:var(--cs-doc-slate);font-style:italic;line-height:1.4">The Socialist Republic of Vietnam · Independence - Freedom - Happiness</div><div style="font-size:10.5px;margin-top:4px">Thành phố Hồ Chí Minh, ngày <span style="background:var(--cs-doc-fill);padding:0 3px">...</span> tháng <span style="background:var(--cs-doc-fill);padding:0 3px">...</span> năm <span style="background:var(--cs-doc-fill);padding:0 3px">...</span></div></div>
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
@@ -115,11 +115,18 @@
115
115
  padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
116
116
  border-radius:4px;white-space:pre-wrap;pointer-events:none}
117
117
  /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts \u2014 keep both
118
- in sync until dc-runtime regains a build step. */
118
+ in sync until dc-runtime regains a build step.
119
+ FULL_PAGE_CSS sets height:100% for screen; Safari/iOS print clips to that
120
+ viewport and can show a blank page unless the root chain is unlocked. */
119
121
  @media print {
120
122
  @page { margin: 0.5cm; }
121
123
  figure, table { break-inside: avoid; }
122
- #dc-root, #dc-root > .sc-host { height: auto; }
124
+ html, body, #dc-root, #dc-root > .sc-host {
125
+ height: auto !important;
126
+ min-height: 0 !important;
127
+ max-height: none !important;
128
+ overflow: visible !important;
129
+ }
123
130
  *, *::before, *::after {
124
131
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
125
132
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;