@fieldia/designer 0.28.0 → 0.29.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 (178) hide show
  1. package/README.md +23 -0
  2. package/package.json +4 -4
  3. package/src/lib/approval-settings.d.mts +13 -0
  4. package/src/lib/approval-settings.d.ts +13 -0
  5. package/src/lib/approval-settings.js +49 -0
  6. package/src/lib/approval-settings.js.map +1 -0
  7. package/src/lib/approval-settings.mjs +46 -0
  8. package/src/lib/approval-settings.mjs.map +1 -0
  9. package/src/lib/assist-settings.d.mts +12 -0
  10. package/src/lib/assist-settings.d.ts +12 -0
  11. package/src/lib/assist-settings.js +64 -0
  12. package/src/lib/assist-settings.js.map +1 -0
  13. package/src/lib/assist-settings.mjs +61 -0
  14. package/src/lib/assist-settings.mjs.map +1 -0
  15. package/src/lib/bottom-bar.d.mts +22 -0
  16. package/src/lib/bottom-bar.d.ts +22 -0
  17. package/src/lib/bottom-bar.js +99 -0
  18. package/src/lib/bottom-bar.js.map +1 -0
  19. package/src/lib/bottom-bar.mjs +93 -0
  20. package/src/lib/bottom-bar.mjs.map +1 -0
  21. package/src/lib/designer.d.mts +21 -0
  22. package/src/lib/designer.d.ts +21 -0
  23. package/src/lib/designer.js +96 -0
  24. package/src/lib/designer.js.map +1 -1
  25. package/src/lib/designer.mjs +96 -0
  26. package/src/lib/designer.mjs.map +1 -1
  27. package/src/lib/icons.js +2 -0
  28. package/src/lib/icons.js.map +1 -1
  29. package/src/lib/icons.mjs +2 -0
  30. package/src/lib/icons.mjs.map +1 -1
  31. package/src/lib/inline-settings.js +9 -2
  32. package/src/lib/inline-settings.js.map +1 -1
  33. package/src/lib/inline-settings.mjs +9 -2
  34. package/src/lib/inline-settings.mjs.map +1 -1
  35. package/src/lib/input-changes.js +11 -0
  36. package/src/lib/input-changes.js.map +1 -1
  37. package/src/lib/input-changes.mjs +11 -0
  38. package/src/lib/input-changes.mjs.map +1 -1
  39. package/src/lib/input-commands.d.mts +11 -0
  40. package/src/lib/input-commands.d.ts +11 -0
  41. package/src/lib/input-commands.js +58 -0
  42. package/src/lib/input-commands.js.map +1 -1
  43. package/src/lib/input-commands.mjs +58 -0
  44. package/src/lib/input-commands.mjs.map +1 -1
  45. package/src/lib/kind-settings-inputs.d.mts +2 -0
  46. package/src/lib/kind-settings-inputs.d.ts +2 -0
  47. package/src/lib/kind-settings-inputs.js +97 -0
  48. package/src/lib/kind-settings-inputs.js.map +1 -1
  49. package/src/lib/kind-settings-inputs.mjs +96 -0
  50. package/src/lib/kind-settings-inputs.mjs.map +1 -1
  51. package/src/lib/kind-settings-structures.d.mts +2 -2
  52. package/src/lib/kind-settings-structures.d.ts +2 -2
  53. package/src/lib/kind-settings-structures.js +34 -0
  54. package/src/lib/kind-settings-structures.js.map +1 -1
  55. package/src/lib/kind-settings-structures.mjs +34 -0
  56. package/src/lib/kind-settings-structures.mjs.map +1 -1
  57. package/src/lib/kinds.js +6 -1
  58. package/src/lib/kinds.js.map +1 -1
  59. package/src/lib/kinds.mjs +6 -1
  60. package/src/lib/kinds.mjs.map +1 -1
  61. package/src/lib/list-commands.d.mts +4 -0
  62. package/src/lib/list-commands.d.ts +4 -0
  63. package/src/lib/list-commands.js +11 -0
  64. package/src/lib/list-commands.js.map +1 -1
  65. package/src/lib/list-commands.mjs +12 -1
  66. package/src/lib/list-commands.mjs.map +1 -1
  67. package/src/lib/list-properties.js +19 -1
  68. package/src/lib/list-properties.js.map +1 -1
  69. package/src/lib/list-properties.mjs +19 -1
  70. package/src/lib/list-properties.mjs.map +1 -1
  71. package/src/lib/locales/ar/changes.js +12 -0
  72. package/src/lib/locales/ar/changes.js.map +1 -1
  73. package/src/lib/locales/ar/changes.mjs +12 -0
  74. package/src/lib/locales/ar/changes.mjs.map +1 -1
  75. package/src/lib/locales/ar/kinds.js +1 -0
  76. package/src/lib/locales/ar/kinds.js.map +1 -1
  77. package/src/lib/locales/ar/kinds.mjs +1 -0
  78. package/src/lib/locales/ar/kinds.mjs.map +1 -1
  79. package/src/lib/locales/ar/list.js +4 -0
  80. package/src/lib/locales/ar/list.js.map +1 -1
  81. package/src/lib/locales/ar/list.mjs +4 -0
  82. package/src/lib/locales/ar/list.mjs.map +1 -1
  83. package/src/lib/locales/ar/panel.js +31 -0
  84. package/src/lib/locales/ar/panel.js.map +1 -1
  85. package/src/lib/locales/ar/panel.mjs +31 -0
  86. package/src/lib/locales/ar/panel.mjs.map +1 -1
  87. package/src/lib/locales/ar/questions.js +15 -0
  88. package/src/lib/locales/ar/questions.js.map +1 -1
  89. package/src/lib/locales/ar/questions.mjs +15 -0
  90. package/src/lib/locales/ar/questions.mjs.map +1 -1
  91. package/src/lib/locales/ar/refusals.js +10 -0
  92. package/src/lib/locales/ar/refusals.js.map +1 -1
  93. package/src/lib/locales/ar/refusals.mjs +10 -0
  94. package/src/lib/locales/ar/refusals.mjs.map +1 -1
  95. package/src/lib/locales/ar/settings-changes.js +9 -0
  96. package/src/lib/locales/ar/settings-changes.js.map +1 -1
  97. package/src/lib/locales/ar/settings-changes.mjs +9 -0
  98. package/src/lib/locales/ar/settings-changes.mjs.map +1 -1
  99. package/src/lib/locales/en/changes.d.mts +12 -0
  100. package/src/lib/locales/en/changes.d.ts +12 -0
  101. package/src/lib/locales/en/changes.js +13 -0
  102. package/src/lib/locales/en/changes.js.map +1 -1
  103. package/src/lib/locales/en/changes.mjs +13 -0
  104. package/src/lib/locales/en/changes.mjs.map +1 -1
  105. package/src/lib/locales/en/index.d.mts +70 -0
  106. package/src/lib/locales/en/index.d.ts +70 -0
  107. package/src/lib/locales/en/kinds.d.mts +1 -0
  108. package/src/lib/locales/en/kinds.d.ts +1 -0
  109. package/src/lib/locales/en/kinds.js +1 -0
  110. package/src/lib/locales/en/kinds.js.map +1 -1
  111. package/src/lib/locales/en/kinds.mjs +1 -0
  112. package/src/lib/locales/en/kinds.mjs.map +1 -1
  113. package/src/lib/locales/en/list.d.mts +4 -0
  114. package/src/lib/locales/en/list.d.ts +4 -0
  115. package/src/lib/locales/en/list.js +4 -0
  116. package/src/lib/locales/en/list.js.map +1 -1
  117. package/src/lib/locales/en/list.mjs +4 -0
  118. package/src/lib/locales/en/list.mjs.map +1 -1
  119. package/src/lib/locales/en/panel.d.mts +23 -0
  120. package/src/lib/locales/en/panel.d.ts +23 -0
  121. package/src/lib/locales/en/panel.js +25 -0
  122. package/src/lib/locales/en/panel.js.map +1 -1
  123. package/src/lib/locales/en/panel.mjs +25 -0
  124. package/src/lib/locales/en/panel.mjs.map +1 -1
  125. package/src/lib/locales/en/questions.d.mts +17 -0
  126. package/src/lib/locales/en/questions.d.ts +17 -0
  127. package/src/lib/locales/en/questions.js +17 -0
  128. package/src/lib/locales/en/questions.js.map +1 -1
  129. package/src/lib/locales/en/questions.mjs +17 -0
  130. package/src/lib/locales/en/questions.mjs.map +1 -1
  131. package/src/lib/locales/en/refusals.d.mts +10 -0
  132. package/src/lib/locales/en/refusals.d.ts +10 -0
  133. package/src/lib/locales/en/refusals.js +11 -0
  134. package/src/lib/locales/en/refusals.js.map +1 -1
  135. package/src/lib/locales/en/refusals.mjs +11 -0
  136. package/src/lib/locales/en/refusals.mjs.map +1 -1
  137. package/src/lib/locales/en/settings-changes.d.mts +7 -0
  138. package/src/lib/locales/en/settings-changes.d.ts +7 -0
  139. package/src/lib/locales/en/settings-changes.js +10 -0
  140. package/src/lib/locales/en/settings-changes.js.map +1 -1
  141. package/src/lib/locales/en/settings-changes.mjs +10 -0
  142. package/src/lib/locales/en/settings-changes.mjs.map +1 -1
  143. package/src/lib/page-checks.js +21 -2
  144. package/src/lib/page-checks.js.map +1 -1
  145. package/src/lib/page-checks.mjs +21 -2
  146. package/src/lib/page-checks.mjs.map +1 -1
  147. package/src/lib/panel-field.js +24 -1
  148. package/src/lib/panel-field.js.map +1 -1
  149. package/src/lib/panel-field.mjs +24 -1
  150. package/src/lib/panel-field.mjs.map +1 -1
  151. package/src/lib/panel-page.js +9 -1
  152. package/src/lib/panel-page.js.map +1 -1
  153. package/src/lib/panel-page.mjs +9 -1
  154. package/src/lib/panel-page.mjs.map +1 -1
  155. package/src/lib/styles-kinds.d.mts +1 -1
  156. package/src/lib/styles-kinds.d.ts +1 -1
  157. package/src/lib/styles-kinds.js +7 -0
  158. package/src/lib/styles-kinds.js.map +1 -1
  159. package/src/lib/styles-kinds.mjs +7 -0
  160. package/src/lib/styles-kinds.mjs.map +1 -1
  161. package/src/lib/styles.d.mts +1 -1
  162. package/src/lib/styles.d.ts +1 -1
  163. package/src/lib/styles.js +4 -2
  164. package/src/lib/styles.js.map +1 -1
  165. package/src/lib/styles.mjs +4 -2
  166. package/src/lib/styles.mjs.map +1 -1
  167. package/src/lib/survey-editor.js +19 -0
  168. package/src/lib/survey-editor.js.map +1 -1
  169. package/src/lib/survey-editor.mjs +19 -0
  170. package/src/lib/survey-editor.mjs.map +1 -1
  171. package/src/lib/toolbox.js +1 -1
  172. package/src/lib/toolbox.js.map +1 -1
  173. package/src/lib/toolbox.mjs +1 -1
  174. package/src/lib/toolbox.mjs.map +1 -1
  175. package/src/lib/try-drawer.js +7 -0
  176. package/src/lib/try-drawer.js.map +1 -1
  177. package/src/lib/try-drawer.mjs +7 -0
  178. package/src/lib/try-drawer.mjs.map +1 -1
@@ -1,3 +1,3 @@
1
1
  /** The designer's own chrome, on top of Fieldia's form stylesheet and tokens. */
2
- export declare const DESIGNER_CSS = "\n.fd-designer { display: grid; gap: 14px; }\n.fd-designer-bar {\n display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; position: sticky; top: env(safe-area-inset-top, 0px); z-index: 30;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 10px 14px;\n}\n.fd-designer-title { font-size: 17px; font-weight: 600; flex: 1 1 220px; max-width: 420px; min-width: 0; }\n/* Where the page stands; pressed, the versions published. */\n.fd-designer-status-box { display: inline-flex; }\n.fd-designer-status { all: unset; box-sizing: border-box; cursor: pointer; color: var(--fd-muted); font-size: 13px; padding: 4px 8px; border-radius: 6px; }\n.fd-designer-status::after { content: \"\"; display: inline-block; width: 5px; height: 5px; margin-inline-start: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); }\n.fd-designer-status:hover, .fd-designer-status[aria-expanded=\"true\"] { background: var(--fd-page); color: var(--fd-text); }\n.fd-designer-status:focus-visible { outline: 2px solid var(--fd-focus); }\n/* Checks: a count of what to look at, the colour of the worst of them. */\n.fd-checks-button { display: inline-flex; align-items: center; gap: 6px; }\n.fd-checks-button > .fd-dicon { width: 15px; height: 15px; }\n.fd-checks-count { min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px; display: inline-grid; place-items: center; font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; background: var(--fd-page); color: var(--fd-muted); }\n.fd-checks-button[data-state=\"clear\"] .fd-checks-count { background: var(--fd-success-soft); color: var(--fd-success); }\n.fd-checks-button[data-state=\"should\"] .fd-checks-count { background: var(--fd-warning-soft); color: var(--fd-warning); }\n.fd-checks-button[data-state=\"must\"] .fd-checks-count { background: var(--fd-error-soft); color: var(--fd-error); }\n.fd-checks {\n position: fixed; z-index: 60; width: min(380px, calc(100vw - 16px)); max-height: min(480px, calc(100vh - 16px)); overflow: auto; box-sizing: border-box;\n background: var(--fd-surface); color: var(--fd-text); border: 1px solid var(--fd-border); border-radius: 10px; box-shadow: 0 18px 44px rgba(15, 20, 25, 0.18);\n padding: 6px; display: grid; gap: 4px; animation: fd-menu-in 120ms cubic-bezier(0, 0, 0.2, 1);\n}\n.fd-check { display: grid; gap: 6px; justify-items: start; padding: 10px; border-radius: 8px; }\n.fd-check + .fd-check { border-block-start: 1px solid var(--fd-border); border-radius: 0; }\n.fd-check-severity { font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; border-radius: 4px; padding: 1px 6px; }\n.fd-check[data-severity=\"must\"] .fd-check-severity { color: var(--fd-error); background: var(--fd-error-soft); }\n.fd-check[data-severity=\"should\"] .fd-check-severity { color: var(--fd-warning); background: var(--fd-warning-soft); }\n.fd-check[data-severity=\"start\"] .fd-check-severity { color: var(--fd-muted); background: var(--fd-page); }\n.fd-check-text { margin: 0; font-size: 13.5px; line-height: 1.45; }\n.fd-check-fix { min-height: 30px; padding-block: 2px; font-size: 13px; }\n/* Find anything: one box over all the editor can add, go to or do. */\n.fd-find-button { display: inline-flex; align-items: center; gap: 6px; color: var(--fd-muted); }\n.fd-find-button > .fd-dicon { width: 15px; height: 15px; }\n.fd-find-keys { font: inherit; font-size: 11.5px; padding: 1px 5px; border-radius: 4px; background: var(--fd-page); color: var(--fd-muted); }\n.fd-find-backdrop { z-index: 80; place-items: start center; padding-block-start: 12vh; }\n.fd-find {\n width: min(560px, 100%); display: grid; overflow: hidden; background: var(--fd-surface); color: var(--fd-text);\n border: 1px solid var(--fd-border); border-radius: 12px; box-shadow: 0 24px 64px rgba(15, 20, 25, 0.3); animation: fd-menu-in 120ms cubic-bezier(0, 0, 0.2, 1);\n}\n.fd-find-input { font: inherit; font-size: 16px; color: inherit; background: none; border: 0; border-block-end: 1px solid var(--fd-border); padding: 14px 18px; outline: none; }\n.fd-designer .fd-find-input:focus-visible { outline: none; }\n.fd-find-list { max-height: min(360px, 50vh); overflow: auto; padding: 6px; display: grid; gap: 1px; }\n.fd-find-list:empty { display: none; }\n.fd-find-option { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 7px; cursor: pointer; font-size: 14px; }\n.fd-find-option[aria-selected=\"true\"] { background: var(--fd-accent-soft); }\n.fd-find-option:hover { background: var(--fd-page); }\n.fd-find-option[aria-selected=\"true\"]:hover { background: var(--fd-accent-soft); }\n.fd-find-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-find-hint { flex: none; font-size: 12px; color: var(--fd-muted); max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-find-none { margin: 0; padding: 16px 18px; color: var(--fd-muted); }\n@media (prefers-reduced-motion: reduce) { .fd-find { animation: none; } }\n/* Publish, asked first. */\n.fd-publish-backdrop { z-index: 70; }\n.fd-publish-dialog { max-width: 480px; background: var(--fd-surface); }\n.fd-publish-body { display: grid; gap: 12px; padding: 16px 18px 4px; overflow: auto; }\n.fd-publish-lead { margin: 0; font-weight: 600; }\n.fd-publish-changes { margin: 0; padding-inline-start: 20px; display: grid; gap: 4px; font-size: 14px; }\n.fd-publish-more { list-style: none; margin-inline-start: -20px; color: var(--fd-muted); }\n.fd-publish-blocked { display: grid; gap: 4px; border: 1px solid var(--fd-error); border-radius: 8px; padding: 6px; background: color-mix(in srgb, var(--fd-error-soft) 50%, var(--fd-surface)); }\n.fd-publish-blocked-head { margin: 4px 10px 0; font-weight: 600; color: var(--fd-error); }\n.fd-publish-failed { margin: 0; color: var(--fd-error); }\n.fd-publish-dialog .fd-form-dialog-foot { margin: 0; padding: 12px 18px 16px; }\n.fd-designer .fd-spacer { flex: 1; }\n.fd-designer-issues { white-space: pre-line; }\n.fd-designer-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr); gap: 20px; align-items: start; }\n.fd-survey-body { grid-template-columns: 228px minmax(0, 1fr); gap: 16px; }\n.fd-survey-body > .fd-designer-editor { max-width: none; }\n@container (max-width: 900px) { .fd-designer-body, .fd-survey-body { grid-template-columns: minmax(0, 1fr); } .fd-survey-body > .fd-toolbox, .fd-survey-body > .fd-rail { position: static; max-height: none; } .fd-survey-body .fd-tools { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); } }\n.fd-designer-editor { display: grid; gap: 14px; justify-items: start; }\n.fd-designer-editor > * { width: 100%; }\n.fd-designer-editor > .fd-button { width: auto; }\n.fd-designer-pages { display: grid; gap: 18px; }\n.fd-design-step { display: grid; gap: 10px; padding: 14px; border-radius: var(--fd-radius); background: var(--fd-page); border: 1px solid var(--fd-border); }\n.fd-step-head { display: flex; gap: 8px; align-items: center; }\n.fd-step-number { font-size: 12px; font-weight: 700; color: var(--fd-surface); background: var(--fd-accent); border-radius: 5px; padding: 2px 9px; white-space: nowrap; }\n.fd-step-selected { border-color: var(--fd-accent); }\n.fd-step-title { font-weight: 650; font-size: 15px; }\n.fd-step-when { color: var(--fd-muted); font-size: 13px; }\n.fd-when { display: grid; gap: 6px; justify-items: start; color: var(--fd-muted); font-size: 13px; }\n.fd-q .fd-when { padding: 8px 10px; border-inline-start: 3px solid var(--fd-accent-soft); background: var(--fd-page); border-radius: 4px; width: 100%; box-sizing: border-box; }\n.fd-when-rules { display: grid; gap: 6px; }\n.fd-when-rule, .fd-when-match-row { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }\n.fd-when .fd-select { width: auto; min-width: 140px; }\n.fd-when-custom code { font-size: 12.5px; color: var(--fd-text); }\n.fd-q-when { padding-inline: 4px; }\n.fd-step-cards { display: grid; gap: 10px; position: relative; }\n.fd-designer-editor.fd-dragging { user-select: none; -webkit-user-select: none; }\n/* Carried, a question leaves its place: the gap shows where it goes. */\n.fd-q.fd-drag-source { display: none; }\n.fd-add-question { display: inline-flex; gap: 6px; align-items: center; }\n.fd-design-step > .fd-button { justify-self: start; }\n.fd-step-cards:empty::before { content: \"No questions on this page yet.\"; color: var(--fd-muted); font-size: 13px; padding: 4px 2px; }\n.fd-q {\n position: relative; display: grid; gap: 10px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius);\n padding: 16px 18px; border-inline-start: 6px solid transparent; cursor: default;\n}\n/* A question not picked reads as people will see it, and opens where it is clicked. */\n.fd-q-closed { cursor: pointer; user-select: none; -webkit-user-select: none; }\n.fd-q-closed:hover { border-color: var(--fd-border-strong); border-inline-start-color: transparent; }\n.fd-q-title { font-size: 15px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }\n.fd-q-closed.fd-required .fd-q-text::after { content: \" *\"; color: var(--fd-error); }\n.fd-q-when-note { font-size: 11px; font-weight: 600; color: var(--fd-warning); background: var(--fd-warning-soft); border-radius: 4px; padding: 1px 6px; }\n.fd-q-closed .fd-q-answer { max-width: 520px; }\n/* The question picked: open, the Google Forms way. */\n.fd-q-selected { border-inline-start-color: var(--fd-accent); box-shadow: 0 2px 12px rgba(15, 20, 25, 0.12); padding-block-start: 22px; }\n.fd-q-grip { all: unset; position: absolute; top: 2px; left: 50%; transform: translateX(-50%) rotate(90deg); width: 18px; height: 22px; display: grid; place-items: center; cursor: grab; color: var(--fd-muted); touch-action: none; }\n.fd-q-grip:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-q-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }\n.fd-q-label { font-size: 15px; }\n.fd-q-kind {\n all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; min-width: 190px; padding: 0 12px; min-height: 38px;\n border: 1px solid var(--fd-border); border-radius: 6px; background: var(--fd-surface); color: var(--fd-text); cursor: pointer; font-size: 14px;\n}\n.fd-q-kind:hover { background: var(--fd-page); }\n.fd-q-kind:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 1px; }\n.fd-q-kind-icon { display: inline-flex; }\n.fd-q-kind > .fd-dicon { margin-inline-start: auto; width: 14px; height: 14px; color: var(--fd-muted); }\n.fd-q-help { font-size: 13px; }\n.fd-q-sep { width: 1px; height: 24px; background: var(--fd-border); margin-inline: 6px; }\n.fd-q-required-words { font-size: 13px; }\n/* Material's switch, as Google Forms has it: a 14px track, a 20px thumb that slides over in 90ms. */\n.fd-switch { all: unset; position: relative; flex: none; width: 36px; height: 20px; cursor: pointer; border-radius: 10px; }\n.fd-switch::before { content: \"\"; position: absolute; inset-inline: 0; top: 3px; height: 14px; border-radius: 7px; background: var(--fd-border-strong); transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1); }\n.fd-switch::after {\n content: \"\"; position: absolute; top: 0; inset-inline-start: 0; width: 20px; height: 20px; border-radius: 50%; background: #ffffff;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n transition: inset-inline-start 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.fd-switch[aria-checked=\"true\"]::before { background: color-mix(in srgb, var(--fd-accent) 54%, transparent); }\n.fd-switch[aria-checked=\"true\"]::after { inset-inline-start: 16px; background: var(--fd-accent); }\n.fd-switch:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n@media (prefers-reduced-motion: reduce) { .fd-switch::before, .fd-switch::after { transition: none; } }\n.fd-q-options { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }\n.fd-q-option { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }\n/* The option's words take the row's room, ten letters at least: Show when\u2026 goes under them where the row is narrow. */\n.fd-q-option > .fd-input { flex: 1 1 10em; min-width: 0; }\n.fd-q-option > .fd-q-option-when { margin-inline-start: auto; }\n/* An option's own condition: a quiet link in its row, the rules under it across the row's width. */\n.fd-q-option .fd-q-option-when { border: 0; background-color: transparent; box-shadow: none; padding: 2px 0; min-height: 0; font-weight: 400; font-size: 12.5px; white-space: nowrap; }\n.fd-q-option-when-box { flex: 0 0 100%; padding-inline-start: 46px; box-sizing: border-box; display: grid; gap: 4px; }\n.fd-q-option-when-lead { font-size: 12px; color: var(--fd-muted); }\n.fd-q-option-when[hidden], .fd-q-option-when-box[hidden] { display: none; }\n.fd-q-bullet { color: var(--fd-muted); width: 16px; text-align: center; }\n.fd-q-option-box { display: grid; gap: 4px; justify-items: start; }\n.fd-q-option-box > ul { width: 100%; }\n/* \"Add option or add \"Other\"\", and \"Other\u2026\" once added: words and links, never boxes \u2014 pointed at, only a line under them. */\n.fd-q-add-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }\n.fd-q-option-box .fd-q-add-row > .fd-button-link { border: 0; background-color: transparent; box-shadow: none; padding: 2px 0; min-height: 0; font-weight: 400; }\n.fd-q-option-box .fd-q-add-row > .fd-button-link:hover { text-decoration: underline; text-underline-offset: 4px; }\n.fd-q-option-box .fd-q-add-row > .fd-button-link:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; border-radius: 2px; }\n.fd-q-or { color: var(--fd-muted); font-size: 13px; }\n.fd-q-option-other { display: flex; align-items: center; gap: 8px; width: 100%; }\n.fd-q-other-words { flex: 1; min-width: 0; color: var(--fd-muted); padding: 6px 0; border-bottom: 1px dotted color-mix(in srgb, var(--fd-text) 38%, transparent); }\n.fd-q-foot { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; border-block-start: 1px solid var(--fd-border); padding-block-start: 10px; }\n.fd-icon-button {\n font: inherit; border: none; background: none; cursor: pointer; color: var(--fd-muted); width: 30px; height: 30px; border-radius: 6px;\n display: inline-grid; place-items: center; font-size: 15px;\n}\n.fd-icon-button:hover { background: var(--fd-page); color: var(--fd-text); }\n.fd-icon-danger:hover { color: var(--fd-error); background: var(--fd-error-soft); }\n\n/* ---- Design or Try it: the page working as people will use it ---- */\n.fd-mode { display: inline-flex; padding: 2px; border-radius: 9px; background: var(--fd-page); border: 1px solid var(--fd-border); }\n.fd-mode-button { all: unset; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 7px; font-size: 13.5px; font-weight: 600; color: var(--fd-muted); cursor: pointer; }\n.fd-mode-button[aria-pressed=\"true\"] { background: var(--fd-surface); color: var(--fd-text); box-shadow: 0 1px 2px rgba(15, 20, 25, 0.12); }\n.fd-mode-button[data-mode=\"try\"][aria-pressed=\"true\"] { background: var(--fd-success); color: #ffffff; }\n.fd-mode-button:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 1px; }\n/* The bar takes two rows by design: the page and what to do with it on top, the ways to look at it (Simple or\n Advanced, Design to Translations, Look) on a row of their own beneath \u2014 never one button left alone on a\n line, in any font or language. */\n.fd-designer-bar { container-type: inline-size; }\n.fd-bar-break { display: none; }\n@container (min-width: 521px) {\n .fd-bar-break { display: block; flex-basis: 100%; height: 0; order: 1; }\n .fd-designer-bar > :is(.fd-mode, .fd-look-button) { order: 2; }\n}\n/* On a narrow bar the ways to look at the page share one row: their words alone, each on one line. */\n@container (max-width: 520px) {\n .fd-mode { display: flex; width: 100%; }\n .fd-mode-button { flex: 1 1 auto; justify-content: center; padding-inline: 6px; white-space: nowrap; }\n .fd-mode-button > .fd-dicon { display: none; }\n}\n.fd-try { display: grid; gap: 14px; }\n.fd-try-bar { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 8px 12px; }\n.fd-try-group { display: inline-flex; padding: 2px; border-radius: 8px; background: var(--fd-page); border: 1px solid var(--fd-border); }\n.fd-try-button { all: unset; display: inline-grid; place-items: center; min-width: 30px; height: 28px; padding: 0 9px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--fd-muted); cursor: pointer; }\n.fd-try-button[aria-pressed=\"true\"] { background: var(--fd-surface); color: var(--fd-text); box-shadow: 0 1px 2px rgba(15, 20, 25, 0.12); }\n.fd-try-button:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-try-note { margin: 0; color: var(--fd-muted); font-size: 13px; flex: 1 1 220px; text-align: center; }\n.fd-try-frame { margin-inline: auto; width: 100%; max-width: 1100px; box-sizing: border-box; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 20px; transition: max-width 0.3s ease; }\n.fd-try-frame[data-width=\"tablet\"] { max-width: 768px; }\n.fd-try-frame[data-width=\"phone\"] { max-width: 390px; padding: 14px; }\n/* A quiz sent in Try it: its score, under the thanks. */\n.fd-try-score { margin: 0; font-size: 17px; font-weight: 650; color: var(--fd-accent); font-variant-numeric: tabular-nums; }\n@media (prefers-reduced-motion: reduce) { .fd-try-frame { transition: none; } }\n\n/* ---- the screen editor: toolbox, canvas, panel ---- */\n.fd-screen-body { display: grid; grid-template-columns: 228px minmax(0, 1fr) 280px; gap: 16px; align-items: start; }\n.fd-toolbox, .fd-properties, .fd-rail {\n position: sticky; top: var(--fd-bar-room, 76px); display: grid; gap: 6px; align-content: start; max-height: calc(100vh - var(--fd-bar-room, 76px) - 20px); overflow: auto;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 12px;\n}\n.fd-panel-title { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fd-muted); margin-block-end: 2px; }\n.fd-properties.fd-flash { animation: fd-flash 0.8s ease; }\n@keyframes fd-flash { from { box-shadow: 0 0 0 3px var(--fd-accent-soft), inset 3px 0 0 var(--fd-accent); } to { box-shadow: none; } }\n\n/* The toolbox: icons three to a row, in groups that fold, as Quantia's. */\n.fd-toolbox { padding: 10px 6px; gap: 4px; }\n/* Beside the page: Add (the toolbox), Outline and Data, in tabs. */\n.fd-rail { padding: 8px 6px 10px; gap: 8px; }\n.fd-rail > .fd-rail-pane { position: static; max-height: none; overflow: visible; border: 0; padding: 0; background: none; }\n.fd-rail-tabs { display: flex; gap: 2px; padding: 2px; margin: 0 4px; border-radius: 8px; background: var(--fd-page); }\n.fd-rail-tab { all: unset; box-sizing: border-box; flex: 1; text-align: center; cursor: pointer; padding: 5px 4px; border-radius: 6px; font-size: 12.5px; font-weight: 600; color: var(--fd-muted); }\n.fd-rail-tab[aria-selected=\"true\"] { background: var(--fd-surface); color: var(--fd-text); box-shadow: 0 1px 2px rgba(15, 20, 25, 0.12); }\n.fd-rail-tab:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-outline, .fd-data { display: grid; gap: 8px; padding: 0 4px; min-width: 0; }\n.fd-outline-tree { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }\n.fd-outline-tree button {\n all: unset; box-sizing: border-box; width: 100%; cursor: pointer; display: flex; align-items: center; gap: 6px; padding: 5px 6px;\n padding-inline-start: calc(6px + var(--fd-level, 0) * 14px); border-radius: 6px; font-size: 13px; min-width: 0;\n}\n.fd-outline-tree button:hover { background: var(--fd-page); }\n.fd-outline-tree button[aria-current=\"true\"] { background: var(--fd-accent-soft); color: var(--fd-accent); }\n.fd-outline-tree button:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: -2px; }\n.fd-outline-tree button[data-level=\"0\"] { font-weight: 600; }\n.fd-outline-tree .fd-dicon { width: 14px; height: 14px; flex: none; color: var(--fd-muted); }\n.fd-outline-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-outline-when { display: inline-flex; color: var(--fd-warning); }\n.fd-outline-kind { flex: none; font-size: 11px; color: var(--fd-muted); max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-data-card { display: grid; gap: 2px; padding: 10px; border-radius: 8px; background: var(--fd-page); font-size: 12.5px; color: var(--fd-muted); }\n.fd-data-model { font-size: 14px; color: var(--fd-text); overflow-wrap: anywhere; }\n.fd-seg { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 2px; padding: 2px; border-radius: 8px; background: var(--fd-page); }\n.fd-seg-button { all: unset; box-sizing: border-box; cursor: pointer; padding: 4px 6px; border-radius: 6px; font-size: 12px; color: var(--fd-muted); text-align: center; font-variant-numeric: tabular-nums; }\n.fd-seg-button[aria-pressed=\"true\"] { background: var(--fd-surface); color: var(--fd-text); box-shadow: 0 1px 2px rgba(15, 20, 25, 0.12); }\n.fd-seg-button:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-data-rows { display: grid; gap: 0; }\n.fd-data-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1px 8px; padding: 7px 2px; border-block-start: 1px solid var(--fd-border); font-size: 13px; align-items: center; }\n.fd-data-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-data-used { font-size: 11px; color: var(--fd-muted); }\n.fd-data-used.fd-data-on { color: var(--fd-success); }\n.fd-data-row code { grid-column: 1; font-size: 11px; color: var(--fd-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-data-row .fd-button-link { grid-column: 2; justify-self: end; padding: 0; min-height: 0; font-size: 12px; }\n.fd-tool-find { font-size: 13px; margin: 0 4px 4px; width: auto; }\n.fd-tool-groups { display: grid; gap: 2px; }\n.fd-tool-heading {\n all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 6px; width: 100%; cursor: pointer; padding: 8px 8px 3px;\n font-size: 10.5px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--fd-muted);\n}\n.fd-tool-heading:hover { color: var(--fd-text); }\n.fd-tool-heading:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 1px; border-radius: 3px; }\n.fd-tool-count { font-weight: 600; }\n.fd-tool-caret { width: 0; height: 0; flex: none; border-inline: 3.5px solid transparent; border-top: 4px solid currentColor; transition: transform 0.12s ease; }\n.fd-tool-shut .fd-tool-caret { transform: rotate(-90deg); }\n[dir=\"rtl\"] .fd-tool-shut .fd-tool-caret { transform: rotate(90deg); }\n.fd-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }\n.fd-tool {\n all: unset; box-sizing: border-box; cursor: grab; display: grid; grid-template-rows: 22px auto; place-items: center; align-content: start; row-gap: 4px;\n height: 60px; padding: 8px 3px 4px; border-radius: 7px; color: var(--fd-muted); min-width: 0; touch-action: none;\n}\n.fd-tool:hover { background: var(--fd-page); color: var(--fd-text); }\n.fd-tool:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: -2px; }\n.fd-tool:active { cursor: grabbing; }\n.fd-tool-model { color: var(--fd-accent); }\n.fd-tool .fd-dicon { width: 20px; height: 20px; }\n.fd-tool-name {\n font-size: 10.5px; line-height: 1.15; text-align: center; color: var(--fd-text); max-width: 100%; overflow: hidden;\n display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere;\n}\n.fd-tool-none { color: var(--fd-muted); font-size: 12.5px; margin: 4px 8px; }\n.fd-dicon { width: 16px; height: 16px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }\n\n/* The canvas: the page as the viewer draws it, measured against its own width. */\n.fd-canvas-scroll { min-width: 0; }\n.fd-canvas { container-type: inline-size; display: grid; gap: 18px; min-width: 0; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 22px 32px 30px; }\n/* A field's grip: six dots just beside it, shown when it is pointed at or picked. */\n.fd-card-grip {\n all: unset; box-sizing: border-box; position: absolute; top: 6px; inset-inline-start: -20px; width: 16px; height: 24px; display: grid; place-items: center;\n border-radius: 4px; color: var(--fd-muted); cursor: grab; opacity: 0; transition: opacity 120ms; touch-action: none;\n}\n.fd-card-grip > .fd-dicon { width: 14px; height: 14px; }\n.fd-canvas-field:hover > .fd-card-grip, .fd-canvas-field.fd-editing > .fd-card-grip, .fd-card-grip:focus-visible { opacity: 1; }\n.fd-card-grip:hover { background: var(--fd-page); color: var(--fd-text); }\n.fd-card-grip:active { cursor: grabbing; }\n@media (prefers-reduced-motion: reduce) { .fd-card-grip { transition: none; } }\n.fd-canvas-body { display: grid; gap: 26px; }\n.fd-canvas-title.fd-canvas-title-filled { color: var(--fd-text); }\n.fd-canvas-title { all: unset; box-sizing: border-box; cursor: pointer; font-size: 26px; font-weight: 650; line-height: 1.25; color: var(--fd-muted); padding: 8px 14px; border: 1px dashed var(--fd-border-strong); border-radius: var(--fd-radius); background: var(--fd-surface); }\n.fd-canvas-title:hover { color: var(--fd-text); }\n.fd-canvas-title.fd-canvas-selected { border-style: solid; border-color: var(--fd-accent); }\n/* A section pointed at or picked: a bar down its side, just outside it \u2014 never a frame round the frames of its fields. */\n.fd-canvas-section { border-radius: 6px; }\n.fd-canvas-section::before { content: \"\"; position: absolute; inset-block: 0; inset-inline-start: -12px; width: 3px; border-radius: 2px; background: transparent; pointer-events: none; }\n.fd-canvas-section:hover::before { background: var(--fd-border-strong); }\n.fd-canvas-section.fd-canvas-selected::before { background: var(--fd-accent); }\n/* At least 24px tall, a target a finger can hit (WCAG 2.5.8), however small the title's words \u2014 the extra\n height taken back by its margins, so the canvas lays out exactly as the form does. */\n.fd-canvas-section-title { all: unset; cursor: pointer; display: inline-block; min-height: 24px; margin-block: min(0px, calc((1lh - 24px) / 2)); }\n.fd-canvas-section-title:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n.fd-canvas-untitled { color: var(--fd-muted); font-weight: 500; font-style: italic; font-size: 13px; }\n.fd-canvas-section-title-input { font: inherit; color: inherit; border: 0; border-bottom: 1px dashed var(--fd-border-strong); background: none; padding: 0 0 1px; min-width: 12em; outline: none; }\n.fd-canvas-section-title-input:focus { border-bottom: 1px solid var(--fd-accent); }\n.fd-canvas-empty { color: var(--fd-muted); font-size: 13px; border: 1px dashed var(--fd-border); border-radius: 6px; padding: 16px; text-align: center; margin: 0; }\n/* A field's ring sits in the gap around it: picking or hovering one moves nothing. */\n.fd-canvas-field { position: relative; border-radius: 6px; cursor: pointer; padding: 6px 8px; margin: -6px -8px; }\n/* On the canvas a field is picked and moved, not read: pressing on its words starts a drag, not a selection. */\n.fd-canvas-field:not(.fd-editing), .fd-canvas-section-title, .fd-canvas.fd-dragging { user-select: none; -webkit-user-select: none; }\n.fd-canvas-field:hover { background: color-mix(in srgb, var(--fd-text) 4%, transparent); }\n/* Picked, the Google Forms way: tinted, with a bar down its side \u2014 no frame round its box's own frame. */\n.fd-canvas-field.fd-editing { background: var(--fd-accent-soft); box-shadow: inset 3px 0 0 var(--fd-accent); cursor: default; }\n.fd-canvas-field.fd-hidden-sometimes::after {\n content: \"only sometimes\"; position: absolute; top: 4px; inset-inline-end: 6px; font-size: 10.5px; font-weight: 600; line-height: 1.5;\n color: var(--fd-warning); background: var(--fd-warning-soft); border-radius: 4px; padding: 0 5px; pointer-events: none;\n}\n.fd-canvas-field.fd-editing.fd-hidden-sometimes::after { content: none; }\n.fd-canvas-label-row { display: flex; align-items: center; min-height: 1.45em; }\n.fd-canvas-label-input {\n font: inherit; font-weight: var(--fd-label-weight); color: var(--fd-text); border: 0; border-bottom: 1px dashed var(--fd-border-strong);\n background: none; padding: 0 0 1px; outline: none; max-width: 100%; min-width: 4ch; field-sizing: content; cursor: text;\n}\n.fd-canvas-label-input:focus { border-bottom: 2px solid var(--fd-accent); padding-bottom: 0; }\n/* Typed in where they stand, the line under the words is the focus: no ring round them too. */\n.fd-designer .fd-canvas-label-input:focus-visible, .fd-designer .fd-canvas-help-input:focus-visible, .fd-designer .fd-part-input:focus-visible, .fd-designer .fd-canvas-section-title-input:focus-visible { outline: none; }\n/* A picked choice's options: words on a line, as the survey's, not boxes in the picked field. */\n.fd-canvas-field .fd-q-option > .fd-input { border: 0; border-bottom: 1px solid var(--fd-border); border-radius: 0; background: none; box-shadow: none; padding-inline: 0; min-height: 30px; }\n.fd-canvas-field .fd-q-option > .fd-input:focus { border-bottom: 2px solid var(--fd-accent); }\n.fd-canvas-help-input { font: inherit; font-size: 12.5px; color: var(--fd-muted); border: 0; border-bottom: 1px dashed transparent; background: none; padding: 1px 0; outline: none; width: 100%; box-sizing: border-box; cursor: text; }\n.fd-canvas-help-input:hover, .fd-canvas-help-input:focus { border-bottom-color: var(--fd-border-strong); }\n.fd-canvas-help-input::placeholder { color: var(--fd-muted); opacity: 0.75; }\n.fd-canvas-field .fd-q-option-box { padding-block: 2px; }\n/* A kind's own settings, in the picked field: words and a line to type or pick on \u2014 no boxes in it. */\n.fd-inline-settings { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding-block: 4px 2px; font-size: 13px; color: var(--fd-muted); }\n.fd-inline-setting { display: inline-flex; align-items: center; gap: 6px; }\n.fd-inline-select, .fd-inline-input, .fd-inline-settings .fd-column > .fd-input {\n font: inherit; font-size: 13.5px; color: var(--fd-text); background: none; border: 0; border-bottom: 1px solid var(--fd-border-strong);\n border-radius: 0; box-shadow: none; padding: 2px 0; min-height: 0;\n}\n/* As tall as a finger needs (WCAG 2.5.8), however close the next setting sits. */\n.fd-inline-select { padding-inline-end: 2px; cursor: pointer; min-height: 24px; }\n.fd-inline-input { width: 12ch; }\n.fd-inline-currency { width: 4.5ch; text-transform: uppercase; }\n.fd-designer .fd-inline-select:focus-visible, .fd-designer .fd-inline-input:focus-visible, .fd-designer .fd-inline-settings .fd-column > .fd-input:focus-visible { outline: none; }\n.fd-inline-select:focus, .fd-inline-input:focus, .fd-inline-settings .fd-column > .fd-input:focus { border-bottom: 2px solid var(--fd-accent); padding-bottom: 1px; }\n.fd-inline-settings .fd-columns-box { width: 100%; justify-items: start; }\n.fd-inline-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; width: 100%; }\n/* A scale's end, its number then its words. */\n.fd-inline-end { display: flex; align-items: center; gap: 12px; width: 100%; max-width: 360px; }\n.fd-inline-end-number { min-width: 20px; color: var(--fd-text); font-variant-numeric: tabular-nums; }\n.fd-inline-end-words { flex: 1; width: auto; }\n/* Kinds of file, on or off. */\n.fd-inline-chips { display: flex; flex-wrap: wrap; gap: 6px; }\n.fd-inline-chip {\n all: unset; box-sizing: border-box; cursor: pointer; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; color: var(--fd-text);\n background: color-mix(in srgb, var(--fd-text) 6%, transparent);\n}\n.fd-inline-chip:hover { background: color-mix(in srgb, var(--fd-text) 10%, transparent); }\n.fd-inline-chip[aria-pressed=\"true\"] { background: var(--fd-accent-soft); color: var(--fd-accent); font-weight: 600; }\n.fd-inline-chip:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 1px; }\n.fd-inline-settings .fd-columns { width: 100%; }\n.fd-inline-settings .fd-column { grid-template-columns: minmax(0, 1fr) 110px 28px; }\n.fd-canvas-tabs-head { display: flex; align-items: flex-end; gap: 4px; }\n.fd-canvas-tabs-head > .fd-tablist { flex: 1; }\n.fd-canvas-tab.fd-canvas-selected { background: var(--fd-accent-soft); border-radius: 3px 3px 0 0; }\n.fd-canvas-tabs.fd-canvas-selected { outline: 2px solid var(--fd-accent); outline-offset: 6px; border-radius: 4px; }\n.fd-canvas-add-tab { all: unset; cursor: pointer; width: 28px; height: 28px; margin-block-end: 4px; display: grid; place-items: center; border-radius: 4px; color: var(--fd-muted); font-size: 18px; }\n.fd-canvas-add-tab:hover { background: var(--fd-page); color: var(--fd-accent); }\n.fd-canvas-add-tab:focus-visible, .fd-canvas-title:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n\n/* A record's header on the canvas: the viewer's own parts, picked by a click, with a quiet way to add each kind. */\n.fd-canvas-header { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; padding: 6px 0 12px; border-block-end: 1px solid var(--fd-border); }\n.fd-canvas-header-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }\n/* The record's gear menu over the header: its items in a row after the gear, a report under Print dashed. */\n.fd-canvas-menu { flex-basis: 100%; display: flex; align-items: center; gap: 8px; min-width: 0; }\n.fd-canvas-menu-gear { display: inline-flex; color: var(--fd-muted); }\n.fd-canvas-menu-gear .fd-dicon { width: 16px; height: 16px; }\n.fd-canvas-menu-items { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }\n.fd-canvas-menu-item { font: inherit; font-size: 12.5px; }\n.fd-canvas-menu-print { border-style: dashed; }\n.fd-canvas-header-card { display: grid; gap: 10px; justify-items: stretch; }\n/* Not at the card's edge here, as the viewer's are: no reaching out to it. */\n.fd-canvas .fd-canvas-stats { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; align-items: center; margin: 0; border-block-end: 0; }\n.fd-canvas-badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }\n.fd-canvas-part { position: relative; cursor: pointer; outline-offset: 3px; }\n.fd-canvas-part:hover { box-shadow: 0 0 0 2px var(--fd-border); }\n/* Picked: its own edge turns the accent, one line, not a ring round it. */\n.fd-canvas-part.fd-editing { box-shadow: 0 0 0 2px var(--fd-accent); cursor: default; }\n.fd-canvas-part:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-canvas-statusbar { border-radius: 6px; min-width: 0; }\n.fd-canvas-statusbar .fd-canvas-widget { pointer-events: none; }\n.fd-part-input { font: inherit; color: inherit; background: none; border: 0; border-bottom: 1px dashed currentColor; padding: 0; outline: none; min-width: 4ch; field-sizing: content; cursor: text; }\n.fd-stat .fd-part-input { font-size: 12px; }\n.fd-part-bar { bottom: calc(100% + 8px); }\n.fd-canvas-add-part {\n all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 5px; cursor: pointer; padding: 4px 9px; border-radius: 6px;\n border: 1px dashed var(--fd-border-strong); color: var(--fd-muted); font-size: 12.5px; white-space: nowrap;\n}\n.fd-canvas-add-part:hover { color: var(--fd-accent); border-color: var(--fd-accent); }\n.fd-canvas-add-part:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n.fd-canvas-add-part .fd-dicon { width: 13px; height: 13px; }\n\n/* The bar on the field being edited: just above it; over its group's name in a first row; below it right under the tabs. */\n.fd-field-bar {\n position: absolute; bottom: calc(100% + 8px); inset-inline-end: 0; z-index: 5; display: flex; align-items: center; gap: 1px; padding: 3px;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 8px; box-shadow: 0 6px 16px rgba(15, 20, 25, 0.14); cursor: default;\n}\n.fd-bar-below > .fd-field-bar { bottom: auto; top: calc(100% + 8px); }\n/* Nudged back inside the canvas when the field's far edge would put it past the near one: the canvas measures it. */\n.fd-canvas-field > .fd-field-bar { translate: var(--fd-bar-nudge, 0px) 0; }\n/* In a group's first row, over the group's name, which the canvas measures as --fd-name-room. */\n.fd-bar-over-name > .fd-field-bar { bottom: calc(100% + var(--fd-name-room, 0px) + 8px); }\n.fd-bar-button {\n all: unset; box-sizing: border-box; height: 26px; min-width: 26px; padding: 0 5px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; gap: 5px;\n color: var(--fd-text); font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap;\n}\n.fd-bar-button:hover { background: var(--fd-page); }\n.fd-bar-button:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-bar-button[aria-pressed=\"true\"] { background: var(--fd-accent-soft); color: var(--fd-accent); }\n.fd-bar-grip { cursor: grab; color: var(--fd-muted); touch-action: none; }\n.fd-bar-kind-icon { display: inline-flex; }\n.fd-bar-kind > .fd-dicon { width: 12px; height: 12px; color: var(--fd-muted); }\n.fd-bar-sep { width: 1px; align-self: stretch; background: var(--fd-border); margin: 3px 2px; }\n@container (max-width: 560px) { .fd-bar-kind-name { display: none; } }\n\n/* A menu of choices: the editor a field is shown with, or its width. */\n.fd-menu {\n position: fixed; z-index: 60; min-width: 220px; max-width: min(320px, calc(100vw - 16px)); max-height: min(440px, calc(100vh - 16px)); overflow: auto;\n background: var(--fd-surface); color: var(--fd-text); border: 1px solid var(--fd-border); border-radius: 10px; box-shadow: 0 18px 44px rgba(15, 20, 25, 0.18);\n padding: 6px; display: grid; gap: 1px;\n}\n.fd-menu-title, .fd-menu-heading { font-size: 10.5px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--fd-muted); padding: 6px 8px 2px; }\n.fd-menu-item { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 9px; padding: 7px 9px; border-radius: 7px; font-size: 13.5px; cursor: pointer; }\n.fd-menu-item:hover, .fd-menu-item:focus-visible { background: var(--fd-page); }\n.fd-menu-item[aria-checked=\"true\"] { color: var(--fd-accent); font-weight: 600; }\n.fd-menu-item[aria-checked=\"true\"]::after { content: \"\u2713\"; margin-inline-start: auto; }\n.fd-menu-note { font-size: 12px; color: var(--fd-muted); margin: 4px 8px; line-height: 1.4; }\n.fd-menu { animation: fd-menu-in 120ms cubic-bezier(0, 0, 0.2, 1); transform-origin: top center; }\n@keyframes fd-menu-in { from { opacity: 0; transform: scale(0.94); } }\n.fd-menu-divider { height: 1px; background: var(--fd-border); margin: 5px -6px; }\n/* Google Forms' roomy menu: full-width rows, an icon on each, the choice tinted. */\n.fd-menu-roomy { padding: 8px 0; min-width: 224px; border-radius: 6px; }\n.fd-menu-roomy .fd-menu-title { padding: 4px 16px 6px; }\n.fd-menu-roomy .fd-menu-item { min-height: 44px; padding: 0 16px; gap: 16px; border-radius: 0; font-size: 14px; }\n.fd-menu-roomy .fd-menu-item > .fd-dicon { width: 22px; height: 22px; color: var(--fd-muted); flex: none; }\n.fd-menu-roomy .fd-menu-item[aria-checked=\"true\"] { background: var(--fd-accent-soft); }\n.fd-menu-roomy .fd-menu-item[aria-checked=\"true\"] > .fd-dicon { color: var(--fd-accent); }\n.fd-menu-roomy .fd-menu-divider { margin: 8px 0; }\n@media (prefers-reduced-motion: reduce) { .fd-menu { animation: none; } }\n\n/* Dragging: a chip with its name follows the pointer; a gap its size opens where it lands, the others moving aside. */\n.fd-drag-ghost.fd-drag-chip {\n position: fixed; z-index: 100; pointer-events: none; margin: 0; max-width: 260px; padding: 6px 12px; box-sizing: border-box;\n overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; color: var(--fd-text);\n background: var(--fd-surface); border: 1px solid var(--fd-accent); border-radius: 8px; box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);\n}\n.fd-drop-slot {\n box-sizing: border-box; min-height: 44px; border: 2px dashed var(--fd-accent); border-radius: 8px; background: var(--fd-accent-soft);\n grid-column: span min(var(--fd-span, 1), var(--fd-columns, 1));\n}\n.fd-canvas-field.fd-drag-source { display: none; }\n.fd-drag-source-dim { opacity: 0.35; }\n.fd-drop-marker { position: fixed; z-index: 99; pointer-events: none; background: var(--fd-accent); border-radius: 2px; }\n.fd-canvas-section { position: relative; }\n/* With the gap in it, an empty section says nothing about being empty. */\n.fd-canvas-section:has(.fd-drop-slot) .fd-canvas-empty { display: none; }\n\n.fd-props { display: grid; gap: 10px; }\n.fd-prop { display: grid; gap: 4px; }\n.fd-prop-name { font-size: 12.5px; color: var(--fd-muted); }\n.fd-props .fd-q-option-box { padding-inline-start: 2px; }\n.fd-columns-box { display: grid; gap: 6px; }\n.fd-columns { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }\n.fd-column { display: grid; grid-template-columns: minmax(0, 1fr) 104px 28px; gap: 6px; align-items: center; }\n/* A choice column's choices, under its row, set in from it. */\n.fd-column-choices { grid-column: 1 / -1; display: grid; gap: 6px; padding-inline-start: 10px; margin-block-end: 4px; border-inline-start: 2px solid var(--fd-border); }\n.fd-column-written { display: grid; gap: 6px; justify-items: start; }\n.fd-column-choices[hidden], .fd-column-written[hidden] { display: none; }\n/* An option of a choice column shown by a condition on the line: Show when\u2026 under its words, its rules under that. */\n.fd-column-written li > .fd-q-option-when { grid-column: 1 / -1; justify-self: start; border: 0; background-color: transparent; box-shadow: none; padding: 0; min-height: 0; font-weight: 400; font-size: 12.5px; }\n.fd-column-written li > .fd-q-option-when-box { grid-column: 1 / -1; padding-inline-start: 0; }\n.fd-props-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-block-start: 4px; border-block-start: 1px solid var(--fd-border); }\n.fd-properties-hint { color: var(--fd-muted); font-size: 13px; margin: 0; }\n.fd-kind-note { font-size: 12px; margin-block-start: -4px; }\n.fd-prop-when { gap: 6px; justify-items: start; }\n.fd-q-required-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }\n\n/* ---- The survey, the Google Forms way ------------------------------------------------------------\n On a page tinted with the accent: a card heading the form, then quiet white cards 8px round, 24px in,\n 12px apart, no wider than 770px. The card picked lifts, a 6px bar down its side; its words sit in a\n filled box whose line grows from the middle; its tools are beside it, following it down the page. */\n.fd-survey-canvas { background: color-mix(in srgb, var(--fd-accent) 8%, var(--fd-surface)); border-radius: var(--fd-radius); padding: 16px 68px 28px 16px; padding-inline: 16px 68px; }\n.fd-survey-column { position: relative; width: 100%; max-width: 770px; margin-inline: auto; display: grid; gap: 12px; }\n.fd-survey-column > .fd-button { justify-self: start; }\n.fd-line { position: relative; display: block; border-block-end: 1px solid transparent; }\n.fd-line > input { font: inherit; color: inherit; background: none; border: 0; outline: none; width: 100%; box-sizing: border-box; padding: 6px 0; margin: 0; }\n.fd-line > input::placeholder { color: var(--fd-muted); }\n/* The growing line is the focus here, as in Google Forms: no ring around it too. */\n.fd-designer .fd-line > input:focus, .fd-designer .fd-line > input:focus-visible { outline: none; box-shadow: none; }\n.fd-line:hover { border-block-end-color: var(--fd-border); }\n.fd-line::after { content: \"\"; position: absolute; inset-inline: 0; bottom: -1px; height: 2px; background: var(--fd-accent); transform: scaleX(0); transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1); }\n.fd-line:focus-within::after { transform: scaleX(1); }\n.fd-survey-head { position: relative; display: grid; gap: 6px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 8px; padding: 26px 24px 22px; }\n.fd-survey-head::before { content: \"\"; position: absolute; top: -1px; inset-inline: -1px; height: 10px; background: var(--fd-accent); border-radius: 8px 8px 0 0; }\n.fd-survey-head-title { font-size: 32px !important; line-height: 1.25; }\n.fd-survey-head-description { font-size: 14px !important; }\n.fd-survey-canvas .fd-designer-pages { gap: 12px; }\n/* A page: its own card, its number on a tab over it. */\n.fd-survey-canvas .fd-design-step { background: none; border: 0; padding: 0; gap: 12px; border-radius: 0; }\n.fd-survey-canvas .fd-step-head {\n position: relative; display: grid; gap: 8px; margin-block-start: 30px; padding: 18px 24px 20px;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 0 8px 8px 8px;\n}\n.fd-survey-canvas .fd-step-number { position: absolute; bottom: 100%; inset-inline-start: -1px; border-radius: 8px 8px 0 0; padding: 5px 14px; font-size: 13px; font-weight: 500; }\n.fd-step-head-row { display: flex; gap: 8px; align-items: center; }\n.fd-step-title-box { flex: 1; min-width: 0; }\n.fd-survey-canvas .fd-step-title { font-size: 22px; font-weight: 400; }\n.fd-survey-canvas .fd-step-selected { border: 0; }\n.fd-survey-canvas .fd-step-selected > .fd-step-head { box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); }\n.fd-survey-canvas .fd-step-selected > .fd-step-head::after { content: \"\"; position: absolute; inset-block: -1px; inset-inline-start: -1px; width: 6px; background: var(--fd-accent); border-end-start-radius: 8px; }\n.fd-survey-canvas .fd-step-cards { gap: 12px; }\n.fd-survey-canvas .fd-add-question { justify-self: start; color: var(--fd-muted); }\n.fd-survey-canvas .fd-add-question:hover { color: var(--fd-accent); }\n/* A question: flat until picked. */\n.fd-survey-canvas .fd-q { border: 1px solid var(--fd-border); border-radius: 8px; padding: 24px; gap: 12px; }\n.fd-survey-canvas .fd-q-closed:hover { border-color: var(--fd-border); }\n.fd-survey-canvas .fd-q-title { font-size: 16px; }\n.fd-survey-canvas .fd-q-selected { padding-block-start: 24px; box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); }\n.fd-survey-canvas .fd-q-selected::before { content: \"\"; position: absolute; inset-block: -1px; inset-inline-start: -1px; width: 6px; background: var(--fd-accent); border-start-start-radius: 8px; border-end-start-radius: 8px; }\n/* The six dots, across the top, only where the pointer is. */\n.fd-survey-canvas .fd-q-grip { top: 0; height: 24px; transform: translateX(-50%) rotate(90deg); opacity: 0; transition: opacity 150ms; }\n.fd-survey-canvas .fd-q:hover .fd-q-grip, .fd-survey-canvas .fd-q-grip:focus-visible { opacity: 1; }\n.fd-survey-canvas .fd-q-head { gap: 16px; align-items: start; }\n.fd-q-label-box { background: color-mix(in srgb, var(--fd-text) 3%, var(--fd-surface)); border-block-end: 1px solid var(--fd-muted); border-radius: 4px 4px 0 0; }\n.fd-q-label-box:hover { border-block-end-color: var(--fd-text); }\n.fd-q-label-box > .fd-q-label { padding: 16px; min-height: 56px; font-size: 16px; }\n.fd-q-help-box { border-block-end-color: var(--fd-border); }\n.fd-q-help-box > .fd-q-help { font-size: 14px; }\n.fd-survey-canvas .fd-q-kind { min-height: 48px; min-width: 222px; padding: 0 14px; gap: 12px; border-radius: 4px; font-weight: 500; }\n.fd-survey-canvas .fd-q-kind-icon .fd-dicon { color: var(--fd-muted); }\n/* What goes in the answer, said on a dotted line. */\n.fd-q-preview { color: var(--fd-muted); font-size: 14px; padding-block: 8px 6px; border-block-end: 1px dotted color-mix(in srgb, var(--fd-text) 38%, transparent); width: min(50%, 380px); }\n.fd-q-preview-long { width: min(80%, 600px); }\n.fd-q-preview-date { display: flex; align-items: center; justify-content: space-between; gap: 8px; }\n.fd-q-preview-date > .fd-dicon { width: 18px; height: 18px; flex: none; }\n/* On a canvas, the designer's own buttons and switches keep the page's look: each kind of part's own is the form's \u2014\n its answers' widgets, the buttons over a record, and a button block (drawn as a span, not a button). */\n.fd-look-worn.fd-form button:is(.fd-button, .fd-switch):not(.fd-q-answer *, .fd-canvas-widget *, .fd-canvas-header-actions *) {\n --fd-accent: inherit; --fd-accent-text: inherit; --fd-focus: inherit; --fd-buttons-radius: var(--fd-control-radius); --fd-buttons-size: 1em;\n}\n/* The line wears the text boxes' own look, as the form's boxes will: their ground behind it, their edge for its line, their corners and size of words. */\n.fd-survey-canvas[data-inputs~=bg] :is(.fd-q-preview-short, .fd-q-preview-long) { background: var(--fd-inputs-bg); padding-inline: 8px; }\n.fd-survey-canvas[data-inputs~=border] :is(.fd-q-preview-short, .fd-q-preview-long) { border-block-end: 1px solid var(--fd-inputs-border); }\n.fd-survey-canvas[data-inputs~=radius] :is(.fd-q-preview-short, .fd-q-preview-long) { border-radius: var(--fd-inputs-radius); }\n.fd-survey-canvas[data-inputs~=size] :is(.fd-q-preview-short, .fd-q-preview-long) { font-size: var(--fd-inputs-size); }\n.fd-q-preview-list { list-style: none; margin: 0; padding: 0; border: 0; width: auto; display: grid; gap: 10px; color: var(--fd-text); }\n/* Where answers lead: the pages on one line, those for some answers off it and back. */\n.fd-branch-map { background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 8px; padding: 10px 16px 12px; min-width: 0; }\n.fd-branch-summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--fd-muted); }\n.fd-branch-summary:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; border-radius: 4px; }\n.fd-branch-scroll { overflow-x: auto; margin-block-start: 10px; }\n.fd-branch-svg { display: block; height: auto; }\n.fd-branch-edge { fill: none; stroke: var(--fd-muted); stroke-width: 1.5; }\n.fd-branch-off { stroke: var(--fd-warning); }\n.fd-branch-head { fill: var(--fd-muted); }\n.fd-branch-box { fill: var(--fd-surface); stroke: var(--fd-border-strong); stroke-width: 1; transition: stroke 120ms; }\n.fd-branch-page { cursor: pointer; outline: none; }\n.fd-branch-page:hover .fd-branch-box, .fd-branch-page:focus-visible .fd-branch-box { stroke: var(--fd-accent); }\n.fd-branch-page:focus-visible .fd-branch-box { stroke-width: 2; }\n.fd-branch-page.fd-picked .fd-branch-box { fill: var(--fd-accent-soft); stroke: var(--fd-accent); stroke-width: 2; }\n.fd-branch-title { fill: var(--fd-text); font-size: 14px; font-weight: 600; }\n.fd-branch-when { fill: var(--fd-warning); font-size: 12.5px; font-weight: 600; }\n@media (prefers-reduced-motion: reduce) { .fd-branch-box { transition: none; } }\n/* Options: a ring or a box, the words on a line that shows when pointed at, \u00D7 at the end. */\n.fd-survey-canvas .fd-q-options { gap: 0; }\n.fd-survey-canvas .fd-q-option { min-height: 44px; gap: 12px; }\n.fd-survey-canvas .fd-q-bullet { font-size: 0; flex: none; width: 20px; height: 20px; box-sizing: border-box; border: 2px solid var(--fd-border-strong); border-radius: 50%; }\n.fd-survey-canvas [data-multiple] .fd-q-bullet { border-radius: 3px; }\n.fd-survey-canvas .fd-q-option > .fd-input { flex: 1; min-width: 0; border: 0; border-block-end: 1px solid transparent; border-radius: 0; background: none; box-shadow: none; padding: 6px 0; min-height: 0; font-size: 14.5px; }\n.fd-survey-canvas .fd-q-option > .fd-input:hover { border-block-end-color: var(--fd-border); }\n.fd-survey-canvas .fd-q-option > .fd-input:focus { border-block-end: 2px solid var(--fd-accent); padding-block-end: 5px; outline: none; box-shadow: none; }\n.fd-survey-canvas .fd-q-option > .fd-icon-button { opacity: 0.55; font-size: 20px; }\n.fd-survey-canvas .fd-q-option > .fd-icon-button:hover { opacity: 1; }\n.fd-survey-canvas .fd-q-option-box { gap: 0; }\n.fd-survey-canvas .fd-q-add-row { min-height: 44px; gap: 6px; }\n/* The ghost of the next option: an empty ring, box or number before \"Add option\", as Google Forms draws it. */\n.fd-survey-canvas .fd-q-add-option { display: inline-flex; align-items: center; gap: 12px; color: var(--fd-muted) !important; text-decoration: none; }\n.fd-survey-canvas .fd-q-add-option::before { content: \"\"; flex: none; width: 20px; height: 20px; box-sizing: border-box; border: 2px solid var(--fd-border); border-radius: 50%; }\n.fd-survey-canvas [data-multiple] .fd-q-add-option::before { border-radius: 3px; }\n.fd-survey-canvas [data-numbered] .fd-q-add-option::before { content: var(--fd-next-number, \"\"); border: 0; width: auto; min-width: 20px; height: auto; font-size: 14px; color: var(--fd-muted); }\n/* Pointed at: a line grows under its words, past the ring \u2014 a box never. */\n.fd-survey-canvas .fd-q-add-option { background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 32px 100%; padding-bottom: 3px !important; transition: background-size 200ms; }\n.fd-survey-canvas .fd-q-add-option:hover { color: var(--fd-text) !important; text-decoration: none !important; background-size: calc(100% - 32px) 1px; }\n.fd-survey-canvas .fd-q-add-other { color: var(--fd-accent); }\n.fd-survey-canvas [data-numbered] .fd-q-bullet { font-size: 14px; border: 0; border-radius: 0; width: auto; min-width: 20px; height: auto; color: var(--fd-text); }\n.fd-survey-canvas .fd-q-option-other { min-height: 44px; gap: 12px; }\n@media (prefers-reduced-motion: reduce) { .fd-survey-canvas .fd-q-add-option { transition: none; } }\n/* The foot: copy, delete, a line, Required, \u22EE \u2014 at the end, as Google Forms has them. */\n.fd-survey-canvas .fd-q-foot { justify-content: flex-end; gap: 2px; min-height: 48px; padding-block-start: 8px; margin-block-start: 4px; }\n.fd-q-tool { all: unset; box-sizing: border-box; width: 40px; height: 40px; border-radius: 50%; display: inline-grid; place-items: center; color: var(--fd-muted); cursor: pointer; transition: background-color 150ms; }\n.fd-q-tool:hover, .fd-q-tool[aria-expanded=\"true\"] { background: color-mix(in srgb, var(--fd-text) 7%, transparent); color: var(--fd-text); }\n.fd-q-tool:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-q-tool > .fd-dicon { width: 21px; height: 21px; }\n.fd-q-tool-danger:hover { color: var(--fd-error); }\n.fd-survey-canvas .fd-q-sep { height: 32px; margin-inline: 10px; }\n.fd-survey-canvas .fd-q-required-words { font-size: 14px; font-weight: 500; margin-inline-end: 8px; }\n.fd-survey-canvas .fd-q-foot .fd-switch { margin-inline-end: 6px; }\n/* The tools beside the card picked, level with its top, sliding to the next one picked. */\n.fd-q-rail {\n position: absolute; top: 0; inset-inline-start: calc(100% + 12px); z-index: 4; display: grid; gap: 2px; padding: 4px;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 8px;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n transform: translateY(var(--fd-rail-y, 0px)); transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.fd-rail-button { all: unset; box-sizing: border-box; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--fd-muted); cursor: pointer; }\n.fd-rail-button:hover { background: color-mix(in srgb, var(--fd-text) 7%, transparent); color: var(--fd-text); }\n.fd-rail-button:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-rail-button > .fd-dicon { width: 22px; height: 22px; }\n@container (max-width: 620px) {\n .fd-survey-canvas { padding-inline: 10px; }\n /* A question's words the width of its card, its kind under them. */\n .fd-survey-canvas .fd-q-head { grid-template-columns: minmax(0, 1fr); gap: 10px; }\n .fd-survey-canvas .fd-q-kind { min-width: 0; justify-self: start; }\n .fd-q-rail { position: sticky; bottom: 12px; inset-inline-start: auto; justify-self: center; display: flex; transform: none; }\n}\n@media (prefers-reduced-motion: reduce) { .fd-line::after, .fd-q-rail, .fd-survey-canvas .fd-q-grip { transition: none; } }\n.fd-props > .fd-prop > .fd-button { justify-self: start; }\n/* Rows 24px apart at least, so each small box has room round it (WCAG 2.5.8). */\n.fd-list-search-fields, .fd-list-filter-fields { display: flex; flex-wrap: wrap; gap: 8px 14px; }\n/* A field the filter bar offers: its box, and its own name on the bar beside it, on a line of their own. */\n.fd-list-filter-field { flex: 1 1 100%; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; }\n/* A column's width: the number, and what it is in. */\n.fd-list-width { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }\n.fd-list-filters { display: grid; gap: 8px; }\n.fd-list-filter { margin: 0; display: grid; gap: 6px; padding: 8px; border: 1px solid var(--fd-border); border-radius: 6px; min-width: 0; }\n.fd-list-filter-condition { display: grid; grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)); gap: 6px; }\n.fd-list-filter-value { display: contents; }\n.fd-list-filter-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }\n.fd-chips { display: flex; flex-wrap: wrap; gap: 6px; }\n.fd-chips:empty { display: none; }\n.fd-chip { display: inline-flex; align-items: center; gap: 4px; padding-block: 2px; padding-inline: 8px 2px; border-radius: 4px; background: var(--fd-success-soft); color: var(--fd-success); font-size: 13px; }\n.fd-chip-remove { all: unset; cursor: pointer; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 3px; font-size: 15px; line-height: 1; }\n.fd-chip-remove:hover, .fd-chip-remove:focus-visible { background: var(--fd-surface); }\n\n/* A list on the canvas: the viewer's own list, its columns picked by a click and carried along the row. */\n.fd-list-canvas .fd-canvas-search { cursor: pointer; border-radius: var(--fd-control-radius); }\n.fd-list-canvas .fd-canvas-search:hover .fd-search-field { border-color: var(--fd-accent); }\n.fd-list-canvas .fd-canvas-search:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n/* A filter bar of fields: each field's name and chevron at the bar's end. */\n.fd-canvas-filter-fields { display: inline-flex; flex-wrap: wrap; gap: 4px 14px; margin-inline-start: auto; padding-inline-end: 8px; color: var(--fd-muted); font-size: 14px; }\n.fd-search-placeholder { color: var(--fd-muted); font-size: 14px; padding: 5px 4px; }\n.fd-canvas-selection { display: flex; }\n.fd-canvas-selection-hint { color: var(--fd-muted); font-size: 12.5px; margin-inline-end: 4px; }\n.fd-canvas-list-actions { display: contents; }\n.fd-canvas-list-scroll { position: relative; }\n.fd-list-canvas .fd-list-table th.fd-canvas-column { position: relative; cursor: grab; user-select: none; }\n.fd-list-canvas .fd-list-table th.fd-canvas-column:hover { background: var(--fd-page); }\n.fd-list-canvas .fd-list-table th.fd-canvas-column:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: -2px; }\n.fd-list-canvas .fd-list-table th.fd-picked { box-shadow: inset 0 0 0 2px var(--fd-accent); background: var(--fd-accent-soft); }\n.fd-list-canvas .fd-list-table td.fd-picked { background: var(--fd-accent-soft); }\n.fd-list-canvas .fd-list-table td { cursor: pointer; }\n/* Narrower than the running list, so a list's columns fit beside the toolbox and the panel. */\n.fd-list-canvas .fd-list-table td, .fd-list-canvas .fd-list-table th.fd-canvas-column { max-width: 12em; overflow: hidden; text-overflow: ellipsis; }\n.fd-list-canvas .fd-list-table .fd-list-checkbox { cursor: default; }\n.fd-list-canvas .fd-list-row:hover td { background: none; }\n.fd-list-canvas .fd-list-row:hover td.fd-picked { background: var(--fd-accent-soft); }\n.fd-column-bar { bottom: auto; top: calc(100% + 6px); inset-inline-end: auto; inset-inline-start: 0; }\n/* \"+ Column\" stays at the row's end however far the table scrolls. */\n.fd-list-canvas .fd-list-table .fd-canvas-add-column { position: sticky; inset-inline-end: 0; z-index: 1; width: 1%; padding-inline: 8px; background: var(--fd-surface); border-inline-start: 1px solid var(--fd-border); box-shadow: -6px 0 8px -6px rgba(15, 23, 42, 0.18); }\n.fd-canvas-add-column .fd-canvas-add-part { padding: 2px 6px; font-weight: 400; border: 0; color: var(--fd-accent); }\n.fd-canvas.fd-dragging .fd-list-table th.fd-canvas-column { cursor: grabbing; }\n/* After the panel rules, so these win when the editor is narrow: the toolbox and the panel stack around the canvas. */\n@container (max-width: 1000px) {\n .fd-screen-body { grid-template-columns: minmax(0, 1fr); }\n .fd-toolbox, .fd-properties, .fd-rail { position: static; max-height: none; }\n .fd-tools { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); }\n}\n@media (prefers-reduced-motion: reduce) { .fd-properties.fd-flash { animation: none; } .fd-tool-caret { transition: none; } }\n";
2
+ export declare const DESIGNER_CSS = "\n.fd-designer { display: grid; gap: 14px; }\n.fd-designer-bar {\n display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; position: sticky; top: env(safe-area-inset-top, 0px); z-index: 30;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 10px 14px;\n}\n.fd-designer-title { font-size: 17px; font-weight: 600; flex: 1 1 220px; max-width: 420px; min-width: 0; }\n/* Where the page stands; pressed, the versions published. */\n.fd-designer-status-box { display: inline-flex; }\n.fd-designer-status { all: unset; box-sizing: border-box; cursor: pointer; color: var(--fd-muted); font-size: 13px; padding: 4px 8px; border-radius: 6px; }\n.fd-designer-status::after { content: \"\"; display: inline-block; width: 5px; height: 5px; margin-inline-start: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); }\n.fd-designer-status:hover, .fd-designer-status[aria-expanded=\"true\"] { background: var(--fd-page); color: var(--fd-text); }\n.fd-designer-status:focus-visible { outline: 2px solid var(--fd-focus); }\n/* Checks: a count of what to look at, the colour of the worst of them. */\n.fd-checks-button { display: inline-flex; align-items: center; gap: 6px; }\n.fd-checks-button > .fd-dicon { width: 15px; height: 15px; }\n.fd-checks-count { min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px; display: inline-grid; place-items: center; font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; background: var(--fd-page); color: var(--fd-muted); }\n.fd-checks-button[data-state=\"clear\"] .fd-checks-count { background: var(--fd-success-soft); color: var(--fd-success); }\n.fd-checks-button[data-state=\"should\"] .fd-checks-count { background: var(--fd-warning-soft); color: var(--fd-warning); }\n.fd-checks-button[data-state=\"must\"] .fd-checks-count { background: var(--fd-error-soft); color: var(--fd-error); }\n.fd-checks {\n position: fixed; z-index: 60; width: min(380px, calc(100vw - 16px)); max-height: min(480px, calc(100vh - 16px)); overflow: auto; box-sizing: border-box;\n background: var(--fd-surface); color: var(--fd-text); border: 1px solid var(--fd-border); border-radius: 10px; box-shadow: 0 18px 44px rgba(15, 20, 25, 0.18);\n padding: 6px; display: grid; gap: 4px; animation: fd-menu-in 120ms cubic-bezier(0, 0, 0.2, 1);\n}\n.fd-check { display: grid; gap: 6px; justify-items: start; padding: 10px; border-radius: 8px; }\n.fd-check + .fd-check { border-block-start: 1px solid var(--fd-border); border-radius: 0; }\n.fd-check-severity { font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; border-radius: 4px; padding: 1px 6px; }\n.fd-check[data-severity=\"must\"] .fd-check-severity { color: var(--fd-error); background: var(--fd-error-soft); }\n.fd-check[data-severity=\"should\"] .fd-check-severity { color: var(--fd-warning); background: var(--fd-warning-soft); }\n.fd-check[data-severity=\"start\"] .fd-check-severity { color: var(--fd-muted); background: var(--fd-page); }\n.fd-check-text { margin: 0; font-size: 13.5px; line-height: 1.45; }\n.fd-check-fix { min-height: 30px; padding-block: 2px; font-size: 13px; }\n/* Find anything: one box over all the editor can add, go to or do. */\n.fd-find-button { display: inline-flex; align-items: center; gap: 6px; color: var(--fd-muted); }\n.fd-find-button > .fd-dicon { width: 15px; height: 15px; }\n.fd-find-keys { font: inherit; font-size: 11.5px; padding: 1px 5px; border-radius: 4px; background: var(--fd-page); color: var(--fd-muted); }\n.fd-find-backdrop { z-index: 80; place-items: start center; padding-block-start: 12vh; }\n.fd-find {\n width: min(560px, 100%); display: grid; overflow: hidden; background: var(--fd-surface); color: var(--fd-text);\n border: 1px solid var(--fd-border); border-radius: 12px; box-shadow: 0 24px 64px rgba(15, 20, 25, 0.3); animation: fd-menu-in 120ms cubic-bezier(0, 0, 0.2, 1);\n}\n.fd-find-input { font: inherit; font-size: 16px; color: inherit; background: none; border: 0; border-block-end: 1px solid var(--fd-border); padding: 14px 18px; outline: none; }\n.fd-designer .fd-find-input:focus-visible { outline: none; }\n.fd-find-list { max-height: min(360px, 50vh); overflow: auto; padding: 6px; display: grid; gap: 1px; }\n.fd-find-list:empty { display: none; }\n.fd-find-option { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 7px; cursor: pointer; font-size: 14px; }\n.fd-find-option[aria-selected=\"true\"] { background: var(--fd-accent-soft); }\n.fd-find-option:hover { background: var(--fd-page); }\n.fd-find-option[aria-selected=\"true\"]:hover { background: var(--fd-accent-soft); }\n.fd-find-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-find-hint { flex: none; font-size: 12px; color: var(--fd-muted); max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-find-none { margin: 0; padding: 16px 18px; color: var(--fd-muted); }\n@media (prefers-reduced-motion: reduce) { .fd-find { animation: none; } }\n/* Publish, asked first. */\n.fd-publish-backdrop { z-index: 70; }\n.fd-publish-dialog { max-width: 480px; background: var(--fd-surface); }\n.fd-publish-body { display: grid; gap: 12px; padding: 16px 18px 4px; overflow: auto; }\n.fd-publish-lead { margin: 0; font-weight: 600; }\n.fd-publish-changes { margin: 0; padding-inline-start: 20px; display: grid; gap: 4px; font-size: 14px; }\n.fd-publish-more { list-style: none; margin-inline-start: -20px; color: var(--fd-muted); }\n.fd-publish-blocked { display: grid; gap: 4px; border: 1px solid var(--fd-error); border-radius: 8px; padding: 6px; background: color-mix(in srgb, var(--fd-error-soft) 50%, var(--fd-surface)); }\n.fd-publish-blocked-head { margin: 4px 10px 0; font-weight: 600; color: var(--fd-error); }\n.fd-publish-failed { margin: 0; color: var(--fd-error); }\n.fd-publish-dialog .fd-form-dialog-foot { margin: 0; padding: 12px 18px 16px; }\n.fd-designer .fd-spacer { flex: 1; }\n.fd-designer-issues { white-space: pre-line; }\n.fd-designer-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr); gap: 20px; align-items: start; }\n.fd-survey-body { grid-template-columns: 228px minmax(0, 1fr); gap: 16px; }\n.fd-survey-body > .fd-designer-editor { max-width: none; }\n@container (max-width: 900px) { .fd-designer-body, .fd-survey-body { grid-template-columns: minmax(0, 1fr); } .fd-survey-body > .fd-toolbox, .fd-survey-body > .fd-rail { position: static; max-height: none; } .fd-survey-body .fd-tools { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); } }\n.fd-designer-editor { display: grid; gap: 14px; justify-items: start; }\n.fd-designer-editor > * { width: 100%; }\n.fd-designer-editor > .fd-button { width: auto; }\n.fd-designer-pages { display: grid; gap: 18px; }\n.fd-design-step { display: grid; gap: 10px; padding: 14px; border-radius: var(--fd-radius); background: var(--fd-page); border: 1px solid var(--fd-border); }\n.fd-step-head { display: flex; gap: 8px; align-items: center; }\n.fd-step-number { font-size: 12px; font-weight: 700; color: var(--fd-surface); background: var(--fd-accent); border-radius: 5px; padding: 2px 9px; white-space: nowrap; }\n.fd-step-selected { border-color: var(--fd-accent); }\n.fd-step-title { font-weight: 650; font-size: 15px; }\n.fd-step-when { color: var(--fd-muted); font-size: 13px; }\n.fd-when { display: grid; gap: 6px; justify-items: start; color: var(--fd-muted); font-size: 13px; }\n.fd-q .fd-when { padding: 8px 10px; border-inline-start: 3px solid var(--fd-accent-soft); background: var(--fd-page); border-radius: 4px; width: 100%; box-sizing: border-box; }\n.fd-when-rules { display: grid; gap: 6px; }\n.fd-when-rule, .fd-when-match-row { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }\n.fd-when .fd-select { width: auto; min-width: 140px; }\n.fd-when-custom code { font-size: 12.5px; color: var(--fd-text); }\n.fd-q-when { padding-inline: 4px; }\n.fd-step-cards { display: grid; gap: 10px; position: relative; }\n.fd-designer-editor.fd-dragging { user-select: none; -webkit-user-select: none; }\n/* Carried, a question leaves its place: the gap shows where it goes. */\n.fd-q.fd-drag-source { display: none; }\n.fd-add-question { display: inline-flex; gap: 6px; align-items: center; }\n.fd-design-step > .fd-button { justify-self: start; }\n.fd-step-cards:empty::before { content: \"No questions on this page yet.\"; color: var(--fd-muted); font-size: 13px; padding: 4px 2px; }\n.fd-q {\n position: relative; display: grid; gap: 10px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius);\n padding: 16px 18px; border-inline-start: 6px solid transparent; cursor: default;\n}\n/* A question not picked reads as people will see it, and opens where it is clicked. */\n.fd-q-closed { cursor: pointer; user-select: none; -webkit-user-select: none; }\n.fd-q-closed:hover { border-color: var(--fd-border-strong); border-inline-start-color: transparent; }\n.fd-q-title { font-size: 15px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }\n.fd-q-closed.fd-required .fd-q-text::after { content: \" *\"; color: var(--fd-error); }\n.fd-q-when-note { font-size: 11px; font-weight: 600; color: var(--fd-warning); background: var(--fd-warning-soft); border-radius: 4px; padding: 1px 6px; }\n.fd-q-closed .fd-q-answer { max-width: 520px; }\n/* The question picked: open, the Google Forms way. */\n.fd-q-selected { border-inline-start-color: var(--fd-accent); box-shadow: 0 2px 12px rgba(15, 20, 25, 0.12); padding-block-start: 22px; }\n.fd-q-grip { all: unset; position: absolute; top: 2px; left: 50%; transform: translateX(-50%) rotate(90deg); width: 18px; height: 22px; display: grid; place-items: center; cursor: grab; color: var(--fd-muted); touch-action: none; }\n.fd-q-grip:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-q-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }\n.fd-q-label { font-size: 15px; }\n.fd-q-kind {\n all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; min-width: 190px; padding: 0 12px; min-height: 38px;\n border: 1px solid var(--fd-border); border-radius: 6px; background: var(--fd-surface); color: var(--fd-text); cursor: pointer; font-size: 14px;\n}\n.fd-q-kind:hover { background: var(--fd-page); }\n.fd-q-kind:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 1px; }\n.fd-q-kind-icon { display: inline-flex; }\n.fd-q-kind > .fd-dicon { margin-inline-start: auto; width: 14px; height: 14px; color: var(--fd-muted); }\n.fd-q-help { font-size: 13px; }\n.fd-q-sep { width: 1px; height: 24px; background: var(--fd-border); margin-inline: 6px; }\n.fd-q-required-words { font-size: 13px; }\n/* Material's switch, as Google Forms has it: a 14px track, a 20px thumb that slides over in 90ms. */\n.fd-switch { all: unset; position: relative; flex: none; width: 36px; height: 20px; cursor: pointer; border-radius: 10px; }\n.fd-switch::before { content: \"\"; position: absolute; inset-inline: 0; top: 3px; height: 14px; border-radius: 7px; background: var(--fd-border-strong); transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1); }\n.fd-switch::after {\n content: \"\"; position: absolute; top: 0; inset-inline-start: 0; width: 20px; height: 20px; border-radius: 50%; background: #ffffff;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n transition: inset-inline-start 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.fd-switch[aria-checked=\"true\"]::before { background: color-mix(in srgb, var(--fd-accent) 54%, transparent); }\n.fd-switch[aria-checked=\"true\"]::after { inset-inline-start: 16px; background: var(--fd-accent); }\n.fd-switch:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n@media (prefers-reduced-motion: reduce) { .fd-switch::before, .fd-switch::after { transition: none; } }\n.fd-q-options { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }\n.fd-q-option { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }\n/* The option's words take the row's room, ten letters at least: Show when\u2026 goes under them where the row is narrow. */\n.fd-q-option > .fd-input { flex: 1 1 10em; min-width: 0; }\n.fd-q-option > .fd-q-option-when { margin-inline-start: auto; }\n/* An option's own condition: a quiet link in its row, the rules under it across the row's width. */\n.fd-q-option .fd-q-option-when { border: 0; background-color: transparent; box-shadow: none; padding: 2px 0; min-height: 0; font-weight: 400; font-size: 12.5px; white-space: nowrap; }\n.fd-q-option-when-box { flex: 0 0 100%; padding-inline-start: 46px; box-sizing: border-box; display: grid; gap: 4px; }\n.fd-q-option-when-lead { font-size: 12px; color: var(--fd-muted); }\n.fd-q-option-when[hidden], .fd-q-option-when-box[hidden] { display: none; }\n.fd-q-bullet { color: var(--fd-muted); width: 16px; text-align: center; }\n.fd-q-option-box { display: grid; gap: 4px; justify-items: start; }\n.fd-q-option-box > ul { width: 100%; }\n/* \"Add option or add \"Other\"\", and \"Other\u2026\" once added: words and links, never boxes \u2014 pointed at, only a line under them. */\n.fd-q-add-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }\n.fd-q-option-box .fd-q-add-row > .fd-button-link { border: 0; background-color: transparent; box-shadow: none; padding: 2px 0; min-height: 0; font-weight: 400; }\n.fd-q-option-box .fd-q-add-row > .fd-button-link:hover { text-decoration: underline; text-underline-offset: 4px; }\n.fd-q-option-box .fd-q-add-row > .fd-button-link:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; border-radius: 2px; }\n.fd-q-or { color: var(--fd-muted); font-size: 13px; }\n.fd-q-option-other { display: flex; align-items: center; gap: 8px; width: 100%; }\n.fd-q-other-words { flex: 1; min-width: 0; color: var(--fd-muted); padding: 6px 0; border-bottom: 1px dotted color-mix(in srgb, var(--fd-text) 38%, transparent); }\n.fd-q-foot { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; border-block-start: 1px solid var(--fd-border); padding-block-start: 10px; }\n.fd-icon-button {\n font: inherit; border: none; background: none; cursor: pointer; color: var(--fd-muted); width: 30px; height: 30px; border-radius: 6px;\n display: inline-grid; place-items: center; font-size: 15px;\n}\n.fd-icon-button:hover { background: var(--fd-page); color: var(--fd-text); }\n.fd-icon-danger:hover { color: var(--fd-error); background: var(--fd-error-soft); }\n\n/* ---- Design or Try it: the page working as people will use it ---- */\n.fd-mode { display: inline-flex; padding: 2px; border-radius: 9px; background: var(--fd-page); border: 1px solid var(--fd-border); }\n.fd-mode-button { all: unset; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 7px; font-size: 13.5px; font-weight: 600; color: var(--fd-muted); cursor: pointer; }\n.fd-mode-button[aria-pressed=\"true\"] { background: var(--fd-surface); color: var(--fd-text); box-shadow: 0 1px 2px rgba(15, 20, 25, 0.12); }\n.fd-mode-button[data-mode=\"try\"][aria-pressed=\"true\"] { background: var(--fd-success); color: #ffffff; }\n.fd-mode-button:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 1px; }\n/* The bar takes two rows by design: the page and what to do with it on top, the ways to look at it (Simple or\n Advanced, Design to Translations, Look) on a row of their own beneath \u2014 never one button left alone on a\n line, in any font or language. */\n.fd-designer-bar { container-type: inline-size; }\n.fd-bar-break { display: none; }\n@container (min-width: 521px) {\n .fd-bar-break { display: block; flex-basis: 100%; height: 0; order: 1; }\n .fd-designer-bar > :is(.fd-mode, .fd-look-button) { order: 2; }\n}\n/* On a narrow bar the ways to look at the page share one row: their words alone, each on one line. */\n@container (max-width: 520px) {\n .fd-mode { display: flex; width: 100%; }\n .fd-mode-button { flex: 1 1 auto; justify-content: center; padding-inline: 6px; white-space: nowrap; }\n .fd-mode-button > .fd-dicon { display: none; }\n}\n.fd-try { display: grid; gap: 14px; }\n.fd-try-bar { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 8px 12px; }\n.fd-try-group { display: inline-flex; padding: 2px; border-radius: 8px; background: var(--fd-page); border: 1px solid var(--fd-border); }\n.fd-try-button { all: unset; display: inline-grid; place-items: center; min-width: 30px; height: 28px; padding: 0 9px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--fd-muted); cursor: pointer; }\n.fd-try-button[aria-pressed=\"true\"] { background: var(--fd-surface); color: var(--fd-text); box-shadow: 0 1px 2px rgba(15, 20, 25, 0.12); }\n.fd-try-button:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-try-note { margin: 0; color: var(--fd-muted); font-size: 13px; flex: 1 1 220px; text-align: center; }\n.fd-try-frame { margin-inline: auto; width: 100%; max-width: 1100px; box-sizing: border-box; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 20px; transition: max-width 0.3s ease; }\n.fd-try-frame[data-width=\"tablet\"] { max-width: 768px; }\n.fd-try-frame[data-width=\"phone\"] { max-width: 390px; padding: 14px; }\n/* A quiz sent in Try it: its score, under the thanks. */\n.fd-try-score { margin: 0; font-size: 17px; font-weight: 650; color: var(--fd-accent); font-variant-numeric: tabular-nums; }\n@media (prefers-reduced-motion: reduce) { .fd-try-frame { transition: none; } }\n\n/* ---- the screen editor: toolbox, canvas, panel ---- */\n.fd-screen-body { display: grid; grid-template-columns: 228px minmax(0, 1fr) 280px; gap: 16px; align-items: start; }\n.fd-toolbox, .fd-properties, .fd-rail {\n position: sticky; top: var(--fd-bar-room, 76px); display: grid; gap: 6px; align-content: start; max-height: calc(100vh - var(--fd-bar-room, 76px) - 20px); overflow: auto;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 12px;\n}\n.fd-panel-title { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fd-muted); margin-block-end: 2px; }\n.fd-properties.fd-flash { animation: fd-flash 0.8s ease; }\n@keyframes fd-flash { from { box-shadow: 0 0 0 3px var(--fd-accent-soft), inset 3px 0 0 var(--fd-accent); } to { box-shadow: none; } }\n\n/* The toolbox: icons three to a row, in groups that fold, as Quantia's. */\n.fd-toolbox { padding: 10px 6px; gap: 4px; }\n/* Beside the page: Add (the toolbox), Outline and Data, in tabs. */\n.fd-rail { padding: 8px 6px 10px; gap: 8px; }\n.fd-rail > .fd-rail-pane { position: static; max-height: none; overflow: visible; border: 0; padding: 0; background: none; }\n.fd-rail-tabs { display: flex; gap: 2px; padding: 2px; margin: 0 4px; border-radius: 8px; background: var(--fd-page); }\n.fd-rail-tab { all: unset; box-sizing: border-box; flex: 1; text-align: center; cursor: pointer; padding: 5px 4px; border-radius: 6px; font-size: 12.5px; font-weight: 600; color: var(--fd-muted); }\n.fd-rail-tab[aria-selected=\"true\"] { background: var(--fd-surface); color: var(--fd-text); box-shadow: 0 1px 2px rgba(15, 20, 25, 0.12); }\n.fd-rail-tab:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-outline, .fd-data { display: grid; gap: 8px; padding: 0 4px; min-width: 0; }\n.fd-outline-tree { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }\n.fd-outline-tree button {\n all: unset; box-sizing: border-box; width: 100%; cursor: pointer; display: flex; align-items: center; gap: 6px; padding: 5px 6px;\n padding-inline-start: calc(6px + var(--fd-level, 0) * 14px); border-radius: 6px; font-size: 13px; min-width: 0;\n}\n.fd-outline-tree button:hover { background: var(--fd-page); }\n.fd-outline-tree button[aria-current=\"true\"] { background: var(--fd-accent-soft); color: var(--fd-accent); }\n.fd-outline-tree button:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: -2px; }\n.fd-outline-tree button[data-level=\"0\"] { font-weight: 600; }\n.fd-outline-tree .fd-dicon { width: 14px; height: 14px; flex: none; color: var(--fd-muted); }\n.fd-outline-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-outline-when { display: inline-flex; color: var(--fd-warning); }\n.fd-outline-kind { flex: none; font-size: 11px; color: var(--fd-muted); max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-data-card { display: grid; gap: 2px; padding: 10px; border-radius: 8px; background: var(--fd-page); font-size: 12.5px; color: var(--fd-muted); }\n.fd-data-model { font-size: 14px; color: var(--fd-text); overflow-wrap: anywhere; }\n.fd-seg { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 2px; padding: 2px; border-radius: 8px; background: var(--fd-page); }\n.fd-seg-button { all: unset; box-sizing: border-box; cursor: pointer; padding: 4px 6px; border-radius: 6px; font-size: 12px; color: var(--fd-muted); text-align: center; font-variant-numeric: tabular-nums; }\n.fd-seg-button[aria-pressed=\"true\"] { background: var(--fd-surface); color: var(--fd-text); box-shadow: 0 1px 2px rgba(15, 20, 25, 0.12); }\n.fd-seg-button:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-data-rows { display: grid; gap: 0; }\n.fd-data-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1px 8px; padding: 7px 2px; border-block-start: 1px solid var(--fd-border); font-size: 13px; align-items: center; }\n.fd-data-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-data-used { font-size: 11px; color: var(--fd-muted); }\n.fd-data-used.fd-data-on { color: var(--fd-success); }\n.fd-data-row code { grid-column: 1; font-size: 11px; color: var(--fd-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.fd-data-row .fd-button-link { grid-column: 2; justify-self: end; padding: 0; min-height: 0; font-size: 12px; }\n.fd-tool-find { font-size: 13px; margin: 0 4px 4px; width: auto; }\n.fd-tool-groups { display: grid; gap: 2px; }\n.fd-tool-heading {\n all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 6px; width: 100%; cursor: pointer; padding: 8px 8px 3px;\n font-size: 10.5px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--fd-muted);\n}\n.fd-tool-heading:hover { color: var(--fd-text); }\n.fd-tool-heading:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 1px; border-radius: 3px; }\n.fd-tool-count { font-weight: 600; }\n.fd-tool-caret { width: 0; height: 0; flex: none; border-inline: 3.5px solid transparent; border-top: 4px solid currentColor; transition: transform 0.12s ease; }\n.fd-tool-shut .fd-tool-caret { transform: rotate(-90deg); }\n[dir=\"rtl\"] .fd-tool-shut .fd-tool-caret { transform: rotate(90deg); }\n.fd-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }\n.fd-tool {\n all: unset; box-sizing: border-box; cursor: grab; display: grid; grid-template-rows: 22px auto; place-items: center; align-content: start; row-gap: 4px;\n height: 60px; padding: 8px 3px 4px; border-radius: 7px; color: var(--fd-muted); min-width: 0; touch-action: none;\n}\n.fd-tool:hover { background: var(--fd-page); color: var(--fd-text); }\n.fd-tool:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: -2px; }\n.fd-tool:active { cursor: grabbing; }\n.fd-tool-model { color: var(--fd-accent); }\n.fd-tool .fd-dicon { width: 20px; height: 20px; }\n.fd-tool-name {\n font-size: 10.5px; line-height: 1.15; text-align: center; color: var(--fd-text); max-width: 100%; overflow: hidden;\n display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere;\n}\n.fd-tool-none { color: var(--fd-muted); font-size: 12.5px; margin: 4px 8px; }\n.fd-dicon { width: 16px; height: 16px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }\n\n/* The canvas: the page as the viewer draws it, measured against its own width. */\n.fd-canvas-scroll { min-width: 0; }\n.fd-canvas { container-type: inline-size; display: grid; gap: 18px; min-width: 0; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 22px 32px 30px; }\n/* A field's grip: six dots just beside it, shown when it is pointed at or picked. */\n.fd-card-grip {\n all: unset; box-sizing: border-box; position: absolute; top: 6px; inset-inline-start: -20px; width: 16px; height: 24px; display: grid; place-items: center;\n border-radius: 4px; color: var(--fd-muted); cursor: grab; opacity: 0; transition: opacity 120ms; touch-action: none;\n}\n.fd-card-grip > .fd-dicon { width: 14px; height: 14px; }\n.fd-canvas-field:hover > .fd-card-grip, .fd-canvas-field.fd-editing > .fd-card-grip, .fd-card-grip:focus-visible { opacity: 1; }\n.fd-card-grip:hover { background: var(--fd-page); color: var(--fd-text); }\n.fd-card-grip:active { cursor: grabbing; }\n@media (prefers-reduced-motion: reduce) { .fd-card-grip { transition: none; } }\n.fd-canvas-body { display: grid; gap: 26px; }\n.fd-canvas-title.fd-canvas-title-filled { color: var(--fd-text); }\n.fd-canvas-title { all: unset; box-sizing: border-box; cursor: pointer; font-size: 26px; font-weight: 650; line-height: 1.25; color: var(--fd-muted); padding: 8px 14px; border: 1px dashed var(--fd-border-strong); border-radius: var(--fd-radius); background: var(--fd-surface); }\n.fd-canvas-title:hover { color: var(--fd-text); }\n.fd-canvas-title.fd-canvas-selected { border-style: solid; border-color: var(--fd-accent); }\n/* A section pointed at or picked: a bar down its side, just outside it \u2014 never a frame round the frames of its fields. */\n.fd-canvas-section { border-radius: 6px; }\n.fd-canvas-section::before { content: \"\"; position: absolute; inset-block: 0; inset-inline-start: -12px; width: 3px; border-radius: 2px; background: transparent; pointer-events: none; }\n.fd-canvas-section:hover::before { background: var(--fd-border-strong); }\n.fd-canvas-section.fd-canvas-selected::before { background: var(--fd-accent); }\n/* At least 24px tall, a target a finger can hit (WCAG 2.5.8), however small the title's words \u2014 the extra\n height taken back by its margins, so the canvas lays out exactly as the form does. */\n.fd-canvas-section-title { all: unset; cursor: pointer; display: inline-block; min-height: 24px; margin-block: min(0px, calc((1lh - 24px) / 2)); }\n.fd-canvas-section-title:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n.fd-canvas-untitled { color: var(--fd-muted); font-weight: 500; font-style: italic; font-size: 13px; }\n.fd-canvas-section-title-input { font: inherit; color: inherit; border: 0; border-bottom: 1px dashed var(--fd-border-strong); background: none; padding: 0 0 1px; min-width: 12em; outline: none; }\n.fd-canvas-section-title-input:focus { border-bottom: 1px solid var(--fd-accent); }\n.fd-canvas-empty { color: var(--fd-muted); font-size: 13px; border: 1px dashed var(--fd-border); border-radius: 6px; padding: 16px; text-align: center; margin: 0; }\n/* A field's ring sits in the gap around it: picking or hovering one moves nothing. */\n.fd-canvas-field { position: relative; border-radius: 6px; cursor: pointer; padding: 6px 8px; margin: -6px -8px; }\n/* On the canvas a field is picked and moved, not read: pressing on its words starts a drag, not a selection. */\n.fd-canvas-field:not(.fd-editing), .fd-canvas-section-title, .fd-canvas.fd-dragging { user-select: none; -webkit-user-select: none; }\n.fd-canvas-field:hover { background: color-mix(in srgb, var(--fd-text) 4%, transparent); }\n/* Picked, the Google Forms way: tinted, with a bar down its side \u2014 no frame round its box's own frame. */\n.fd-canvas-field.fd-editing { background: var(--fd-accent-soft); box-shadow: inset 3px 0 0 var(--fd-accent); cursor: default; }\n.fd-canvas-field.fd-hidden-sometimes::after {\n content: \"only sometimes\"; position: absolute; top: 4px; inset-inline-end: 6px; font-size: 10.5px; font-weight: 600; line-height: 1.5;\n color: var(--fd-warning); background: var(--fd-warning-soft); border-radius: 4px; padding: 0 5px; pointer-events: none;\n}\n.fd-canvas-field.fd-editing.fd-hidden-sometimes::after { content: none; }\n.fd-canvas-label-row { display: flex; align-items: center; min-height: 1.45em; }\n.fd-canvas-label-input {\n font: inherit; font-weight: var(--fd-label-weight); color: var(--fd-text); border: 0; border-bottom: 1px dashed var(--fd-border-strong);\n background: none; padding: 0 0 1px; outline: none; max-width: 100%; min-width: 4ch; field-sizing: content; cursor: text;\n}\n.fd-canvas-label-input:focus { border-bottom: 2px solid var(--fd-accent); padding-bottom: 0; }\n/* Typed in where they stand, the line under the words is the focus: no ring round them too. */\n.fd-designer .fd-canvas-label-input:focus-visible, .fd-designer .fd-canvas-help-input:focus-visible, .fd-designer .fd-part-input:focus-visible, .fd-designer .fd-canvas-section-title-input:focus-visible { outline: none; }\n/* A picked choice's options: words on a line, as the survey's, not boxes in the picked field. */\n.fd-canvas-field .fd-q-option > .fd-input { border: 0; border-bottom: 1px solid var(--fd-border); border-radius: 0; background: none; box-shadow: none; padding-inline: 0; min-height: 30px; }\n.fd-canvas-field .fd-q-option > .fd-input:focus { border-bottom: 2px solid var(--fd-accent); }\n.fd-canvas-help-input { font: inherit; font-size: 12.5px; color: var(--fd-muted); border: 0; border-bottom: 1px dashed transparent; background: none; padding: 1px 0; outline: none; width: 100%; box-sizing: border-box; cursor: text; }\n.fd-canvas-help-input:hover, .fd-canvas-help-input:focus { border-bottom-color: var(--fd-border-strong); }\n.fd-canvas-help-input::placeholder { color: var(--fd-muted); opacity: 0.75; }\n.fd-canvas-field .fd-q-option-box { padding-block: 2px; }\n/* A kind's own settings, in the picked field: words and a line to type or pick on \u2014 no boxes in it. */\n.fd-inline-settings { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding-block: 4px 2px; font-size: 13px; color: var(--fd-muted); }\n/* In a narrow column (a phone's grid of three) its box goes under its words, never over the field beside it. */\n.fd-inline-setting { display: inline-flex; flex-wrap: wrap; max-width: 100%; align-items: center; gap: 6px; }\n.fd-inline-setting > :is(.fd-inline-select, .fd-inline-input) { max-width: 100%; min-width: 0; }\n.fd-inline-select, .fd-inline-input, .fd-inline-settings .fd-column > .fd-input {\n font: inherit; font-size: 13.5px; color: var(--fd-text); background: none; border: 0; border-bottom: 1px solid var(--fd-border-strong);\n border-radius: 0; box-shadow: none; padding: 2px 0; min-height: 0;\n}\n/* As tall as a finger needs (WCAG 2.5.8), however close the next setting sits. */\n.fd-inline-select { padding-inline-end: 2px; cursor: pointer; min-height: 24px; }\n.fd-inline-input { width: 12ch; }\n.fd-inline-currency { width: 4.5ch; text-transform: uppercase; }\n.fd-designer .fd-inline-select:focus-visible, .fd-designer .fd-inline-input:focus-visible, .fd-designer .fd-inline-settings .fd-column > .fd-input:focus-visible { outline: none; }\n.fd-inline-select:focus, .fd-inline-input:focus, .fd-inline-settings .fd-column > .fd-input:focus { border-bottom: 2px solid var(--fd-accent); padding-bottom: 1px; }\n.fd-inline-settings .fd-columns-box { width: 100%; justify-items: start; }\n.fd-inline-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; width: 100%; }\n/* A scale's end, its number then its words. */\n.fd-inline-end { display: flex; align-items: center; gap: 12px; width: 100%; max-width: 360px; }\n.fd-inline-end-number { min-width: 20px; color: var(--fd-text); font-variant-numeric: tabular-nums; }\n.fd-inline-end-words { flex: 1; width: auto; }\n/* Kinds of file, on or off. */\n.fd-inline-chips { display: flex; flex-wrap: wrap; gap: 6px; }\n.fd-inline-chip {\n all: unset; box-sizing: border-box; cursor: pointer; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; color: var(--fd-text);\n background: color-mix(in srgb, var(--fd-text) 6%, transparent);\n}\n.fd-inline-chip:hover { background: color-mix(in srgb, var(--fd-text) 10%, transparent); }\n.fd-inline-chip[aria-pressed=\"true\"] { background: var(--fd-accent-soft); color: var(--fd-accent); font-weight: 600; }\n.fd-inline-chip:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 1px; }\n.fd-inline-settings .fd-columns { width: 100%; }\n.fd-inline-settings .fd-column { grid-template-columns: minmax(0, 1fr) 110px 28px; }\n.fd-canvas-tabs-head { display: flex; align-items: flex-end; gap: 4px; }\n.fd-canvas-tabs-head > .fd-tablist { flex: 1; }\n.fd-canvas-tab.fd-canvas-selected { background: var(--fd-accent-soft); border-radius: 3px 3px 0 0; }\n.fd-canvas-tabs.fd-canvas-selected { outline: 2px solid var(--fd-accent); outline-offset: 6px; border-radius: 4px; }\n.fd-canvas-add-tab { all: unset; cursor: pointer; width: 28px; height: 28px; margin-block-end: 4px; display: grid; place-items: center; border-radius: 4px; color: var(--fd-muted); font-size: 18px; }\n.fd-canvas-add-tab:hover { background: var(--fd-page); color: var(--fd-accent); }\n.fd-canvas-add-tab:focus-visible, .fd-canvas-title:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n\n/* A record's header on the canvas: the viewer's own parts, picked by a click, with a quiet way to add each kind. */\n.fd-canvas-header { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; padding: 6px 0 12px; border-block-end: 1px solid var(--fd-border); }\n.fd-canvas-header-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }\n/* The record's gear menu over the header: its items in a row after the gear, a report under Print dashed. */\n.fd-canvas-menu { flex-basis: 100%; display: flex; align-items: center; gap: 8px; min-width: 0; }\n.fd-canvas-menu-gear { display: inline-flex; color: var(--fd-muted); }\n.fd-canvas-menu-gear .fd-dicon { width: 16px; height: 16px; }\n.fd-canvas-menu-items { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }\n.fd-canvas-menu-item { font: inherit; font-size: 12.5px; }\n.fd-canvas-menu-print { border-style: dashed; }\n.fd-canvas-header-card { display: grid; gap: 10px; justify-items: stretch; }\n/* Not at the card's edge here, as the viewer's are: no reaching out to it. */\n.fd-canvas .fd-canvas-stats { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; align-items: center; margin: 0; border-block-end: 0; }\n.fd-canvas-badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }\n.fd-canvas-part { position: relative; cursor: pointer; outline-offset: 3px; }\n.fd-canvas-part:hover { box-shadow: 0 0 0 2px var(--fd-border); }\n/* Picked: its own edge turns the accent, one line, not a ring round it. */\n.fd-canvas-part.fd-editing { box-shadow: 0 0 0 2px var(--fd-accent); cursor: default; }\n.fd-canvas-part:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-canvas-statusbar { border-radius: 6px; min-width: 0; }\n.fd-canvas-statusbar .fd-canvas-widget { pointer-events: none; }\n.fd-part-input { font: inherit; color: inherit; background: none; border: 0; border-bottom: 1px dashed currentColor; padding: 0; outline: none; min-width: 4ch; field-sizing: content; cursor: text; }\n.fd-stat .fd-part-input { font-size: 12px; }\n.fd-part-bar { bottom: calc(100% + 8px); }\n.fd-canvas-add-part {\n all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 5px; cursor: pointer; padding: 4px 9px; border-radius: 6px;\n border: 1px dashed var(--fd-border-strong); color: var(--fd-muted); font-size: 12.5px; white-space: nowrap;\n}\n.fd-canvas-add-part:hover { color: var(--fd-accent); border-color: var(--fd-accent); }\n.fd-canvas-add-part:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n.fd-canvas-add-part .fd-dicon { width: 13px; height: 13px; }\n\n/* The bar on the field being edited: just above it; over its group's name in a first row; below it right under the tabs. */\n.fd-field-bar {\n position: absolute; bottom: calc(100% + 8px); inset-inline-end: 0; z-index: 5; display: flex; align-items: center; gap: 1px; padding: 3px;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 8px; box-shadow: 0 6px 16px rgba(15, 20, 25, 0.14); cursor: default;\n}\n.fd-bar-below > .fd-field-bar { bottom: auto; top: calc(100% + 8px); }\n/* Nudged back inside the canvas when the field's far edge would put it past the near one: the canvas measures it. */\n.fd-canvas-field > .fd-field-bar { translate: var(--fd-bar-nudge, 0px) 0; }\n/* In a group's first row, over the group's name, which the canvas measures as --fd-name-room. */\n.fd-bar-over-name > .fd-field-bar { bottom: calc(100% + var(--fd-name-room, 0px) + 8px); }\n.fd-bar-button {\n all: unset; box-sizing: border-box; height: 26px; min-width: 26px; padding: 0 5px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; gap: 5px;\n color: var(--fd-text); font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap;\n}\n.fd-bar-button:hover { background: var(--fd-page); }\n.fd-bar-button:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-bar-button[aria-pressed=\"true\"] { background: var(--fd-accent-soft); color: var(--fd-accent); }\n.fd-bar-grip { cursor: grab; color: var(--fd-muted); touch-action: none; }\n.fd-bar-kind-icon { display: inline-flex; }\n.fd-bar-kind > .fd-dicon { width: 12px; height: 12px; color: var(--fd-muted); }\n.fd-bar-sep { width: 1px; align-self: stretch; background: var(--fd-border); margin: 3px 2px; }\n@container (max-width: 560px) { .fd-bar-kind-name { display: none; } }\n\n/* A menu of choices: the editor a field is shown with, or its width. */\n.fd-menu {\n position: fixed; z-index: 60; min-width: 220px; max-width: min(320px, calc(100vw - 16px)); max-height: min(440px, calc(100vh - 16px)); overflow: auto;\n background: var(--fd-surface); color: var(--fd-text); border: 1px solid var(--fd-border); border-radius: 10px; box-shadow: 0 18px 44px rgba(15, 20, 25, 0.18);\n padding: 6px; display: grid; gap: 1px;\n}\n.fd-menu-title, .fd-menu-heading { font-size: 10.5px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--fd-muted); padding: 6px 8px 2px; }\n.fd-menu-item { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 9px; padding: 7px 9px; border-radius: 7px; font-size: 13.5px; cursor: pointer; }\n.fd-menu-item:hover, .fd-menu-item:focus-visible { background: var(--fd-page); }\n.fd-menu-item[aria-checked=\"true\"] { color: var(--fd-accent); font-weight: 600; }\n.fd-menu-item[aria-checked=\"true\"]::after { content: \"\u2713\"; margin-inline-start: auto; }\n.fd-menu-note { font-size: 12px; color: var(--fd-muted); margin: 4px 8px; line-height: 1.4; }\n.fd-menu { animation: fd-menu-in 120ms cubic-bezier(0, 0, 0.2, 1); transform-origin: top center; }\n@keyframes fd-menu-in { from { opacity: 0; transform: scale(0.94); } }\n.fd-menu-divider { height: 1px; background: var(--fd-border); margin: 5px -6px; }\n/* Google Forms' roomy menu: full-width rows, an icon on each, the choice tinted. */\n.fd-menu-roomy { padding: 8px 0; min-width: 224px; border-radius: 6px; }\n.fd-menu-roomy .fd-menu-title { padding: 4px 16px 6px; }\n.fd-menu-roomy .fd-menu-item { min-height: 44px; padding: 0 16px; gap: 16px; border-radius: 0; font-size: 14px; }\n.fd-menu-roomy .fd-menu-item > .fd-dicon { width: 22px; height: 22px; color: var(--fd-muted); flex: none; }\n.fd-menu-roomy .fd-menu-item[aria-checked=\"true\"] { background: var(--fd-accent-soft); }\n.fd-menu-roomy .fd-menu-item[aria-checked=\"true\"] > .fd-dicon { color: var(--fd-accent); }\n.fd-menu-roomy .fd-menu-divider { margin: 8px 0; }\n@media (prefers-reduced-motion: reduce) { .fd-menu { animation: none; } }\n\n/* Dragging: a chip with its name follows the pointer; a gap its size opens where it lands, the others moving aside. */\n.fd-drag-ghost.fd-drag-chip {\n position: fixed; z-index: 100; pointer-events: none; margin: 0; max-width: 260px; padding: 6px 12px; box-sizing: border-box;\n overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; color: var(--fd-text);\n background: var(--fd-surface); border: 1px solid var(--fd-accent); border-radius: 8px; box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);\n}\n.fd-drop-slot {\n box-sizing: border-box; min-height: 44px; border: 2px dashed var(--fd-accent); border-radius: 8px; background: var(--fd-accent-soft);\n grid-column: span min(var(--fd-span, 1), var(--fd-columns, 1));\n}\n.fd-canvas-field.fd-drag-source { display: none; }\n.fd-drag-source-dim { opacity: 0.35; }\n.fd-drop-marker { position: fixed; z-index: 99; pointer-events: none; background: var(--fd-accent); border-radius: 2px; }\n.fd-canvas-section { position: relative; }\n/* With the gap in it, an empty section says nothing about being empty. */\n.fd-canvas-section:has(.fd-drop-slot) .fd-canvas-empty { display: none; }\n\n.fd-props { display: grid; gap: 10px; }\n.fd-prop { display: grid; gap: 4px; }\n.fd-prop-name { font-size: 12.5px; color: var(--fd-muted); }\n.fd-props .fd-q-option-box { padding-inline-start: 2px; }\n.fd-columns-box { display: grid; gap: 6px; }\n.fd-columns { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }\n.fd-column { display: grid; grid-template-columns: minmax(0, 1fr) 104px 28px; gap: 6px; align-items: center; }\n/* A choice column's choices, under its row, set in from it. */\n.fd-column-choices { grid-column: 1 / -1; display: grid; gap: 6px; padding-inline-start: 10px; margin-block-end: 4px; border-inline-start: 2px solid var(--fd-border); }\n.fd-column-written { display: grid; gap: 6px; justify-items: start; }\n.fd-column-choices[hidden], .fd-column-written[hidden] { display: none; }\n/* An option of a choice column shown by a condition on the line: Show when\u2026 under its words, its rules under that. */\n.fd-column-written li > .fd-q-option-when { grid-column: 1 / -1; justify-self: start; border: 0; background-color: transparent; box-shadow: none; padding: 0; min-height: 0; font-weight: 400; font-size: 12.5px; }\n.fd-column-written li > .fd-q-option-when-box { grid-column: 1 / -1; padding-inline-start: 0; }\n.fd-props-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-block-start: 4px; border-block-start: 1px solid var(--fd-border); }\n.fd-properties-hint { color: var(--fd-muted); font-size: 13px; margin: 0; }\n.fd-kind-note { font-size: 12px; margin-block-start: -4px; }\n.fd-prop-when { gap: 6px; justify-items: start; }\n.fd-q-required-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }\n\n/* ---- The survey, the Google Forms way ------------------------------------------------------------\n On a page tinted with the accent: a card heading the form, then quiet white cards 8px round, 24px in,\n 12px apart, no wider than 770px. The card picked lifts, a 6px bar down its side; its words sit in a\n filled box whose line grows from the middle; its tools are beside it, following it down the page. */\n.fd-survey-canvas { background: color-mix(in srgb, var(--fd-accent) 8%, var(--fd-surface)); border-radius: var(--fd-radius); padding: 16px 68px 28px 16px; padding-inline: 16px 68px; }\n.fd-survey-column { position: relative; width: 100%; max-width: 770px; margin-inline: auto; display: grid; gap: 12px; }\n.fd-survey-column > .fd-button { justify-self: start; }\n.fd-line { position: relative; display: block; border-block-end: 1px solid transparent; }\n.fd-line > input { font: inherit; color: inherit; background: none; border: 0; outline: none; width: 100%; box-sizing: border-box; padding: 6px 0; margin: 0; }\n.fd-line > input::placeholder { color: var(--fd-muted); }\n/* The growing line is the focus here, as in Google Forms: no ring around it too. */\n.fd-designer .fd-line > input:focus, .fd-designer .fd-line > input:focus-visible { outline: none; box-shadow: none; }\n.fd-line:hover { border-block-end-color: var(--fd-border); }\n.fd-line::after { content: \"\"; position: absolute; inset-inline: 0; bottom: -1px; height: 2px; background: var(--fd-accent); transform: scaleX(0); transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1); }\n.fd-line:focus-within::after { transform: scaleX(1); }\n.fd-survey-head { position: relative; display: grid; gap: 6px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 8px; padding: 26px 24px 22px; }\n.fd-survey-head::before { content: \"\"; position: absolute; top: -1px; inset-inline: -1px; height: 10px; background: var(--fd-accent); border-radius: 8px 8px 0 0; }\n.fd-survey-head-title { font-size: 32px !important; line-height: 1.25; }\n.fd-survey-head-description { font-size: 14px !important; }\n.fd-survey-canvas .fd-designer-pages { gap: 12px; }\n/* A page: its own card, its number on a tab over it. */\n.fd-survey-canvas .fd-design-step { background: none; border: 0; padding: 0; gap: 12px; border-radius: 0; }\n.fd-survey-canvas .fd-step-head {\n position: relative; display: grid; gap: 8px; margin-block-start: 30px; padding: 18px 24px 20px;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 0 8px 8px 8px;\n}\n.fd-survey-canvas .fd-step-number { position: absolute; bottom: 100%; inset-inline-start: -1px; border-radius: 8px 8px 0 0; padding: 5px 14px; font-size: 13px; font-weight: 500; }\n.fd-step-head-row { display: flex; gap: 8px; align-items: center; }\n.fd-step-title-box { flex: 1; min-width: 0; }\n.fd-survey-canvas .fd-step-title { font-size: 22px; font-weight: 400; }\n.fd-survey-canvas .fd-step-selected { border: 0; }\n.fd-survey-canvas .fd-step-selected > .fd-step-head { box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); }\n.fd-survey-canvas .fd-step-selected > .fd-step-head::after { content: \"\"; position: absolute; inset-block: -1px; inset-inline-start: -1px; width: 6px; background: var(--fd-accent); border-end-start-radius: 8px; }\n.fd-survey-canvas .fd-step-cards { gap: 12px; }\n.fd-survey-canvas .fd-add-question { justify-self: start; color: var(--fd-muted); }\n.fd-survey-canvas .fd-add-question:hover { color: var(--fd-accent); }\n/* A question: flat until picked. */\n.fd-survey-canvas .fd-q { border: 1px solid var(--fd-border); border-radius: 8px; padding: 24px; gap: 12px; }\n.fd-survey-canvas .fd-q-closed:hover { border-color: var(--fd-border); }\n.fd-survey-canvas .fd-q-title { font-size: 16px; }\n.fd-survey-canvas .fd-q-selected { padding-block-start: 24px; box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); }\n.fd-survey-canvas .fd-q-selected::before { content: \"\"; position: absolute; inset-block: -1px; inset-inline-start: -1px; width: 6px; background: var(--fd-accent); border-start-start-radius: 8px; border-end-start-radius: 8px; }\n/* The six dots, across the top, only where the pointer is. */\n.fd-survey-canvas .fd-q-grip { top: 0; height: 24px; transform: translateX(-50%) rotate(90deg); opacity: 0; transition: opacity 150ms; }\n.fd-survey-canvas .fd-q:hover .fd-q-grip, .fd-survey-canvas .fd-q-grip:focus-visible { opacity: 1; }\n.fd-survey-canvas .fd-q-head { gap: 16px; align-items: start; }\n.fd-q-label-box { background: color-mix(in srgb, var(--fd-text) 3%, var(--fd-surface)); border-block-end: 1px solid var(--fd-muted); border-radius: 4px 4px 0 0; }\n.fd-q-label-box:hover { border-block-end-color: var(--fd-text); }\n.fd-q-label-box > .fd-q-label { padding: 16px; min-height: 56px; font-size: 16px; }\n.fd-q-help-box { border-block-end-color: var(--fd-border); }\n.fd-q-help-box > .fd-q-help { font-size: 14px; }\n.fd-survey-canvas .fd-q-kind { min-height: 48px; min-width: 222px; padding: 0 14px; gap: 12px; border-radius: 4px; font-weight: 500; }\n.fd-survey-canvas .fd-q-kind-icon .fd-dicon { color: var(--fd-muted); }\n/* What goes in the answer, said on a dotted line. */\n.fd-q-preview { color: var(--fd-muted); font-size: 14px; padding-block: 8px 6px; border-block-end: 1px dotted color-mix(in srgb, var(--fd-text) 38%, transparent); width: min(50%, 380px); }\n.fd-q-preview-long { width: min(80%, 600px); }\n.fd-q-preview-date { display: flex; align-items: center; justify-content: space-between; gap: 8px; }\n.fd-q-preview-date > .fd-dicon { width: 18px; height: 18px; flex: none; }\n/* On a canvas, the designer's own buttons and switches keep the page's look: each kind of part's own is the form's \u2014\n its answers' widgets, the buttons over a record, and a button block (drawn as a span, not a button). */\n.fd-look-worn.fd-form button:is(.fd-button, .fd-switch):not(.fd-q-answer *, .fd-canvas-widget *, .fd-canvas-header-actions *) {\n --fd-accent: inherit; --fd-accent-text: inherit; --fd-focus: inherit; --fd-buttons-radius: var(--fd-control-radius); --fd-buttons-size: 1em;\n}\n/* The line wears the text boxes' own look, as the form's boxes will: their ground behind it, their edge for its line, their corners and size of words. */\n.fd-survey-canvas[data-inputs~=bg] :is(.fd-q-preview-short, .fd-q-preview-long) { background: var(--fd-inputs-bg); padding-inline: 8px; }\n.fd-survey-canvas[data-inputs~=border] :is(.fd-q-preview-short, .fd-q-preview-long) { border-block-end: 1px solid var(--fd-inputs-border); }\n.fd-survey-canvas[data-inputs~=radius] :is(.fd-q-preview-short, .fd-q-preview-long) { border-radius: var(--fd-inputs-radius); }\n.fd-survey-canvas[data-inputs~=size] :is(.fd-q-preview-short, .fd-q-preview-long) { font-size: var(--fd-inputs-size); }\n.fd-q-preview-list { list-style: none; margin: 0; padding: 0; border: 0; width: auto; display: grid; gap: 10px; color: var(--fd-text); }\n/* Where answers lead: the pages on one line, those for some answers off it and back. */\n.fd-branch-map { background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 8px; padding: 10px 16px 12px; min-width: 0; }\n.fd-branch-summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--fd-muted); }\n.fd-branch-summary:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; border-radius: 4px; }\n.fd-branch-scroll { overflow-x: auto; margin-block-start: 10px; }\n.fd-branch-svg { display: block; height: auto; }\n.fd-branch-edge { fill: none; stroke: var(--fd-muted); stroke-width: 1.5; }\n.fd-branch-off { stroke: var(--fd-warning); }\n.fd-branch-head { fill: var(--fd-muted); }\n.fd-branch-box { fill: var(--fd-surface); stroke: var(--fd-border-strong); stroke-width: 1; transition: stroke 120ms; }\n.fd-branch-page { cursor: pointer; outline: none; }\n.fd-branch-page:hover .fd-branch-box, .fd-branch-page:focus-visible .fd-branch-box { stroke: var(--fd-accent); }\n.fd-branch-page:focus-visible .fd-branch-box { stroke-width: 2; }\n.fd-branch-page.fd-picked .fd-branch-box { fill: var(--fd-accent-soft); stroke: var(--fd-accent); stroke-width: 2; }\n.fd-branch-title { fill: var(--fd-text); font-size: 14px; font-weight: 600; }\n.fd-branch-when { fill: var(--fd-warning); font-size: 12.5px; font-weight: 600; }\n@media (prefers-reduced-motion: reduce) { .fd-branch-box { transition: none; } }\n/* Options: a ring or a box, the words on a line that shows when pointed at, \u00D7 at the end. */\n.fd-survey-canvas .fd-q-options { gap: 0; }\n.fd-survey-canvas .fd-q-option { min-height: 44px; gap: 12px; }\n.fd-survey-canvas .fd-q-bullet { font-size: 0; flex: none; width: 20px; height: 20px; box-sizing: border-box; border: 2px solid var(--fd-border-strong); border-radius: 50%; }\n.fd-survey-canvas [data-multiple] .fd-q-bullet { border-radius: 3px; }\n.fd-survey-canvas .fd-q-option > .fd-input { flex: 1; min-width: 0; border: 0; border-block-end: 1px solid transparent; border-radius: 0; background: none; box-shadow: none; padding: 6px 0; min-height: 0; font-size: 14.5px; }\n.fd-survey-canvas .fd-q-option > .fd-input:hover { border-block-end-color: var(--fd-border); }\n.fd-survey-canvas .fd-q-option > .fd-input:focus { border-block-end: 2px solid var(--fd-accent); padding-block-end: 5px; outline: none; box-shadow: none; }\n.fd-survey-canvas .fd-q-option > .fd-icon-button { opacity: 0.55; font-size: 20px; }\n.fd-survey-canvas .fd-q-option > .fd-icon-button:hover { opacity: 1; }\n.fd-survey-canvas .fd-q-option-box { gap: 0; }\n.fd-survey-canvas .fd-q-add-row { min-height: 44px; gap: 6px; }\n/* The ghost of the next option: an empty ring, box or number before \"Add option\", as Google Forms draws it. */\n.fd-survey-canvas .fd-q-add-option { display: inline-flex; align-items: center; gap: 12px; color: var(--fd-muted) !important; text-decoration: none; }\n.fd-survey-canvas .fd-q-add-option::before { content: \"\"; flex: none; width: 20px; height: 20px; box-sizing: border-box; border: 2px solid var(--fd-border); border-radius: 50%; }\n.fd-survey-canvas [data-multiple] .fd-q-add-option::before { border-radius: 3px; }\n.fd-survey-canvas [data-numbered] .fd-q-add-option::before { content: var(--fd-next-number, \"\"); border: 0; width: auto; min-width: 20px; height: auto; font-size: 14px; color: var(--fd-muted); }\n/* Pointed at: a line grows under its words, past the ring \u2014 a box never. */\n.fd-survey-canvas .fd-q-add-option { background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 32px 100%; padding-bottom: 3px !important; transition: background-size 200ms; }\n.fd-survey-canvas .fd-q-add-option:hover { color: var(--fd-text) !important; text-decoration: none !important; background-size: calc(100% - 32px) 1px; }\n.fd-survey-canvas .fd-q-add-other { color: var(--fd-accent); }\n.fd-survey-canvas [data-numbered] .fd-q-bullet { font-size: 14px; border: 0; border-radius: 0; width: auto; min-width: 20px; height: auto; color: var(--fd-text); }\n.fd-survey-canvas .fd-q-option-other { min-height: 44px; gap: 12px; }\n@media (prefers-reduced-motion: reduce) { .fd-survey-canvas .fd-q-add-option { transition: none; } }\n/* The foot: copy, delete, a line, Required, \u22EE \u2014 at the end, as Google Forms has them. */\n.fd-survey-canvas .fd-q-foot { justify-content: flex-end; gap: 2px; min-height: 48px; padding-block-start: 8px; margin-block-start: 4px; }\n.fd-q-tool { all: unset; box-sizing: border-box; width: 40px; height: 40px; border-radius: 50%; display: inline-grid; place-items: center; color: var(--fd-muted); cursor: pointer; transition: background-color 150ms; }\n.fd-q-tool:hover, .fd-q-tool[aria-expanded=\"true\"] { background: color-mix(in srgb, var(--fd-text) 7%, transparent); color: var(--fd-text); }\n.fd-q-tool:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-q-tool > .fd-dicon { width: 21px; height: 21px; }\n.fd-q-tool-danger:hover { color: var(--fd-error); }\n.fd-survey-canvas .fd-q-sep { height: 32px; margin-inline: 10px; }\n.fd-survey-canvas .fd-q-required-words { font-size: 14px; font-weight: 500; margin-inline-end: 8px; }\n.fd-survey-canvas .fd-q-foot .fd-switch { margin-inline-end: 6px; }\n/* The tools beside the card picked, level with its top, sliding to the next one picked. */\n.fd-q-rail {\n position: absolute; top: 0; inset-inline-start: calc(100% + 12px); z-index: 4; display: grid; gap: 2px; padding: 4px;\n background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: 8px;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n transform: translateY(var(--fd-rail-y, 0px)); transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.fd-rail-button { all: unset; box-sizing: border-box; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--fd-muted); cursor: pointer; }\n.fd-rail-button:hover { background: color-mix(in srgb, var(--fd-text) 7%, transparent); color: var(--fd-text); }\n.fd-rail-button:focus-visible { outline: 2px solid var(--fd-focus); }\n.fd-rail-button > .fd-dicon { width: 22px; height: 22px; }\n@container (max-width: 620px) {\n .fd-survey-canvas { padding-inline: 10px; }\n /* A question's words the width of its card, its kind under them. */\n .fd-survey-canvas .fd-q-head { grid-template-columns: minmax(0, 1fr); gap: 10px; }\n .fd-survey-canvas .fd-q-kind { min-width: 0; justify-self: start; }\n .fd-q-rail { position: sticky; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); inset-inline-start: auto; justify-self: center; display: flex; transform: none; }\n}\n@media (prefers-reduced-motion: reduce) { .fd-line::after, .fd-q-rail, .fd-survey-canvas .fd-q-grip { transition: none; } }\n.fd-props > .fd-prop > .fd-button { justify-self: start; }\n/* Rows 24px apart at least, so each small box has room round it (WCAG 2.5.8). */\n.fd-list-search-fields, .fd-list-filter-fields { display: flex; flex-wrap: wrap; gap: 8px 14px; }\n/* A field the filter bar offers: its box, and its own name on the bar beside it, on a line of their own. */\n.fd-list-filter-field { flex: 1 1 100%; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; }\n/* A column's width: the number, and what it is in. */\n.fd-list-width { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }\n.fd-list-filters { display: grid; gap: 8px; }\n.fd-list-filter { margin: 0; display: grid; gap: 6px; padding: 8px; border: 1px solid var(--fd-border); border-radius: 6px; min-width: 0; }\n.fd-list-filter-condition { display: grid; grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)); gap: 6px; }\n.fd-list-filter-value { display: contents; }\n.fd-list-filter-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }\n.fd-chips { display: flex; flex-wrap: wrap; gap: 6px; }\n.fd-chips:empty { display: none; }\n.fd-chip { display: inline-flex; align-items: center; gap: 4px; padding-block: 2px; padding-inline: 8px 2px; border-radius: 4px; background: var(--fd-success-soft); color: var(--fd-success); font-size: 13px; }\n.fd-chip-remove { all: unset; cursor: pointer; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 3px; font-size: 15px; line-height: 1; }\n.fd-chip-remove:hover, .fd-chip-remove:focus-visible { background: var(--fd-surface); }\n\n/* A list on the canvas: the viewer's own list, its columns picked by a click and carried along the row. */\n.fd-list-canvas .fd-canvas-search { cursor: pointer; border-radius: var(--fd-control-radius); }\n.fd-list-canvas .fd-canvas-search:hover .fd-search-field { border-color: var(--fd-accent); }\n.fd-list-canvas .fd-canvas-search:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: 2px; }\n/* A filter bar of fields: each field's name and chevron at the bar's end. */\n.fd-canvas-filter-fields { display: inline-flex; flex-wrap: wrap; gap: 4px 14px; margin-inline-start: auto; padding-inline-end: 8px; color: var(--fd-muted); font-size: 14px; }\n.fd-search-placeholder { color: var(--fd-muted); font-size: 14px; padding: 5px 4px; }\n.fd-canvas-selection { display: flex; }\n.fd-canvas-selection-hint { color: var(--fd-muted); font-size: 12.5px; margin-inline-end: 4px; }\n.fd-canvas-list-actions { display: contents; }\n.fd-canvas-list-scroll { position: relative; }\n.fd-list-canvas .fd-list-table th.fd-canvas-column { position: relative; cursor: grab; user-select: none; }\n.fd-list-canvas .fd-list-table th.fd-canvas-column:hover { background: var(--fd-page); }\n.fd-list-canvas .fd-list-table th.fd-canvas-column:focus-visible { outline: 2px solid var(--fd-focus); outline-offset: -2px; }\n.fd-list-canvas .fd-list-table th.fd-picked { box-shadow: inset 0 0 0 2px var(--fd-accent); background: var(--fd-accent-soft); }\n.fd-list-canvas .fd-list-table td.fd-picked { background: var(--fd-accent-soft); }\n.fd-list-canvas .fd-list-table td { cursor: pointer; }\n/* Narrower than the running list, so a list's columns fit beside the toolbox and the panel. */\n.fd-list-canvas .fd-list-table td, .fd-list-canvas .fd-list-table th.fd-canvas-column { max-width: 12em; overflow: hidden; text-overflow: ellipsis; }\n.fd-list-canvas .fd-list-table .fd-list-checkbox { cursor: default; }\n.fd-list-canvas .fd-list-row:hover td { background: none; }\n.fd-list-canvas .fd-list-row:hover td.fd-picked { background: var(--fd-accent-soft); }\n.fd-column-bar { bottom: auto; top: calc(100% + 6px); inset-inline-end: auto; inset-inline-start: 0; }\n/* \"+ Column\" stays at the row's end however far the table scrolls. */\n.fd-list-canvas .fd-list-table .fd-canvas-add-column { position: sticky; inset-inline-end: 0; z-index: 1; width: 1%; padding-inline: 8px; background: var(--fd-surface); border-inline-start: 1px solid var(--fd-border); box-shadow: -6px 0 8px -6px rgba(15, 23, 42, 0.18); }\n.fd-canvas-add-column .fd-canvas-add-part { padding: 2px 6px; font-weight: 400; border: 0; color: var(--fd-accent); }\n.fd-canvas.fd-dragging .fd-list-table th.fd-canvas-column { cursor: grabbing; }\n/* After the panel rules, so these win when the editor is narrow: the toolbox and the panel stack around the canvas. */\n@container (max-width: 1000px) {\n .fd-screen-body { grid-template-columns: minmax(0, 1fr); }\n .fd-toolbox, .fd-properties, .fd-rail { position: static; max-height: none; }\n .fd-tools { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); }\n}\n@media (prefers-reduced-motion: reduce) { .fd-properties.fd-flash { animation: none; } .fd-tool-caret { transition: none; } }\n";
3
3
  export declare function installDesignerStyles(document: Document): void;
package/src/lib/styles.js CHANGED
@@ -350,7 +350,9 @@ exports.DESIGNER_CSS = `
350
350
  .fd-canvas-field .fd-q-option-box { padding-block: 2px; }
351
351
  /* A kind's own settings, in the picked field: words and a line to type or pick on — no boxes in it. */
352
352
  .fd-inline-settings { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding-block: 4px 2px; font-size: 13px; color: var(--fd-muted); }
353
- .fd-inline-setting { display: inline-flex; align-items: center; gap: 6px; }
353
+ /* In a narrow column (a phone's grid of three) its box goes under its words, never over the field beside it. */
354
+ .fd-inline-setting { display: inline-flex; flex-wrap: wrap; max-width: 100%; align-items: center; gap: 6px; }
355
+ .fd-inline-setting > :is(.fd-inline-select, .fd-inline-input) { max-width: 100%; min-width: 0; }
354
356
  .fd-inline-select, .fd-inline-input, .fd-inline-settings .fd-column > .fd-input {
355
357
  font: inherit; font-size: 13.5px; color: var(--fd-text); background: none; border: 0; border-bottom: 1px solid var(--fd-border-strong);
356
358
  border-radius: 0; box-shadow: none; padding: 2px 0; min-height: 0;
@@ -639,7 +641,7 @@ exports.DESIGNER_CSS = `
639
641
  /* A question's words the width of its card, its kind under them. */
640
642
  .fd-survey-canvas .fd-q-head { grid-template-columns: minmax(0, 1fr); gap: 10px; }
641
643
  .fd-survey-canvas .fd-q-kind { min-width: 0; justify-self: start; }
642
- .fd-q-rail { position: sticky; bottom: 12px; inset-inline-start: auto; justify-self: center; display: flex; transform: none; }
644
+ .fd-q-rail { position: sticky; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); inset-inline-start: auto; justify-self: center; display: flex; transform: none; }
643
645
  }
644
646
  @media (prefers-reduced-motion: reduce) { .fd-line::after, .fd-q-rail, .fd-survey-canvas .fd-q-grip { transition: none; } }
645
647
  .fd-props > .fd-prop > .fd-button { justify-self: start; }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/styles.ts"],"names":[],"mappings":";;;AAyrBA,sDAMC;AA/rBD,mDAAsD;AACtD,iDAAoD;AACpD,+DAAkE;AAClE,iDAAoD;AACpD,+CAAkD;AAClD,iDAAoD;AACpD,iDAAoD;AACpD,mDAAsD;AACtD,qDAAwD;AACxD,6CAAgD;AAChD,qDAAwD;AACxD,+CAAkD;AAClD,qDAAwD;AAExD,iFAAiF;AACpE,QAAA,YAAY,GAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsqBrC,CAAC;AAEF,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAE3C,SAAgB,qBAAqB,CAAC,QAAkB;IACtD,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG,oBAAY,GAAG,mCAAmB,GAAG,iCAAkB,GAAG,+CAAyB,GAAG,iCAAkB,GAAG,iCAAkB,GAAG,iCAAkB,GAAG,+BAAiB,GAAG,mCAAmB,GAAG,qCAAoB,GAAG,6BAAgB,GAAG,qCAAoB,GAAG,+BAAiB,GAAG,qCAAoB,CAAC;IAC7T,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/styles.ts"],"names":[],"mappings":";;;AA2rBA,sDAMC;AAjsBD,mDAAsD;AACtD,iDAAoD;AACpD,+DAAkE;AAClE,iDAAoD;AACpD,+CAAkD;AAClD,iDAAoD;AACpD,iDAAoD;AACpD,mDAAsD;AACtD,qDAAwD;AACxD,6CAAgD;AAChD,qDAAwD;AACxD,+CAAkD;AAClD,qDAAwD;AAExD,iFAAiF;AACpE,QAAA,YAAY,GAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwqBrC,CAAC;AAEF,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAE3C,SAAgB,qBAAqB,CAAC,QAAkB;IACtD,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG,oBAAY,GAAG,mCAAmB,GAAG,iCAAkB,GAAG,+CAAyB,GAAG,iCAAkB,GAAG,iCAAkB,GAAG,iCAAkB,GAAG,+BAAiB,GAAG,mCAAmB,GAAG,qCAAoB,GAAG,6BAAgB,GAAG,qCAAoB,GAAG,+BAAiB,GAAG,qCAAoB,CAAC;IAC7T,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC"}
@@ -346,7 +346,9 @@ export const DESIGNER_CSS = /* css */ `
346
346
  .fd-canvas-field .fd-q-option-box { padding-block: 2px; }
347
347
  /* A kind's own settings, in the picked field: words and a line to type or pick on — no boxes in it. */
348
348
  .fd-inline-settings { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding-block: 4px 2px; font-size: 13px; color: var(--fd-muted); }
349
- .fd-inline-setting { display: inline-flex; align-items: center; gap: 6px; }
349
+ /* In a narrow column (a phone's grid of three) its box goes under its words, never over the field beside it. */
350
+ .fd-inline-setting { display: inline-flex; flex-wrap: wrap; max-width: 100%; align-items: center; gap: 6px; }
351
+ .fd-inline-setting > :is(.fd-inline-select, .fd-inline-input) { max-width: 100%; min-width: 0; }
350
352
  .fd-inline-select, .fd-inline-input, .fd-inline-settings .fd-column > .fd-input {
351
353
  font: inherit; font-size: 13.5px; color: var(--fd-text); background: none; border: 0; border-bottom: 1px solid var(--fd-border-strong);
352
354
  border-radius: 0; box-shadow: none; padding: 2px 0; min-height: 0;
@@ -635,7 +637,7 @@ export const DESIGNER_CSS = /* css */ `
635
637
  /* A question's words the width of its card, its kind under them. */
636
638
  .fd-survey-canvas .fd-q-head { grid-template-columns: minmax(0, 1fr); gap: 10px; }
637
639
  .fd-survey-canvas .fd-q-kind { min-width: 0; justify-self: start; }
638
- .fd-q-rail { position: sticky; bottom: 12px; inset-inline-start: auto; justify-self: center; display: flex; transform: none; }
640
+ .fd-q-rail { position: sticky; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); inset-inline-start: auto; justify-self: center; display: flex; transform: none; }
639
641
  }
640
642
  @media (prefers-reduced-motion: reduce) { .fd-line::after, .fd-q-rail, .fd-survey-canvas .fd-q-grip { transition: none; } }
641
643
  .fd-props > .fd-prop > .fd-button { justify-self: start; }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsqBrC,CAAC;AAEF,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAE3C,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACtD,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG,YAAY,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IAC7T,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"styles.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwqBrC,CAAC;AAEF,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAE3C,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACtD,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG,YAAY,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IAC7T,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC"}
@@ -5,6 +5,7 @@ exports.mountSurveyEditor = mountSurveyEditor;
5
5
  const core_1 = require("@fieldia/core");
6
6
  const uncalled_1 = require("./uncalled");
7
7
  const widgets_1 = require("@fieldia/widgets");
8
+ const bottom_bar_1 = require("./bottom-bar");
8
9
  const branch_map_1 = require("./branch-map");
9
10
  const canvas_drag_1 = require("./canvas-drag");
10
11
  const chrome_1 = require("./chrome");
@@ -117,6 +118,8 @@ function mountSurveyEditor(host, options) {
117
118
  const endings = (0, endings_editor_1.endingsEditor)(el, designer);
118
119
  const endingsCard = el('section', { class: 'fd-survey-endings', 'aria-label': own.endings.heading }, el('h2', { class: 'fd-survey-endings-head' }, own.endings.heading), endings.element);
119
120
  const column = el('div', { class: 'fd-survey-column' }, head, start.element, map, pages, addPage, endingsCard, rail);
121
+ // On a narrow screen the bar sits at the foot of the screen: nothing a person works on is left under it.
122
+ const unclear = (0, bottom_bar_1.keepClearOfBar)(rail, column);
120
123
  const editor = el('div', { class: 'fd-designer-editor fd-survey-canvas' }, column);
121
124
  const tools = (0, toolbox_1.toolbox)({
122
125
  el,
@@ -621,6 +624,21 @@ function mountSurveyEditor(host, options) {
621
624
  (0, rules_marks_1.ruleMarks)(pages, page, designer);
622
625
  endings.update(page);
623
626
  placeRail();
627
+ keepPickedInSight(state.selected);
628
+ }
629
+ /** The card picked last: one picked anew while the bar is at the foot of the screen is scrolled clear of it. */
630
+ let picked = designer.getState().selected;
631
+ function keepPickedInSight(selected) {
632
+ if (selected === picked)
633
+ return;
634
+ picked = selected;
635
+ const card = selected ? cardViews.get(selected)?.element : null;
636
+ if (!card || !(0, bottom_bar_1.barRoom)(column))
637
+ return;
638
+ // Its own controls end above the bar: the card in sight, then moved up from behind the bar — its top never under
639
+ // the bar at the top, which wins where the card is taller than the room between them.
640
+ card.scrollIntoView?.({ block: 'nearest' });
641
+ (0, bottom_bar_1.clearOfBar)(rail, card);
624
642
  }
625
643
  /** The bar beside the card picked, level with its top: a question's card, a page's, or the form's own. */
626
644
  function placeRail() {
@@ -641,6 +659,7 @@ function mountSurveyEditor(host, options) {
641
659
  leave();
642
660
  look.destroy();
643
661
  watcher?.disconnect();
662
+ unclear();
644
663
  stopPuttingDown();
645
664
  bar.destroy();
646
665
  drag.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"survey-editor.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/survey-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"survey-editor.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/survey-editor.ts"],"names":[],"mappings":"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"}