@dailies-studio/shot-editor 0.1.0 → 0.2.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 (432) hide show
  1. package/dist/.vite/manifest.json +382 -0
  2. package/dist/assets/AgentPanel-CQejLbiX.js +2 -0
  3. package/dist/assets/AgentPanel-DJEphah0.css +1 -0
  4. package/dist/assets/AgentQuestionDialog-BqkD0kXF.js +1 -0
  5. package/dist/assets/CodeStudio-Dv4ihHpz.js +23 -0
  6. package/dist/assets/CommentsPanel-B4yhhT1T.js +1 -0
  7. package/dist/assets/ComponentLibraryRail-Ch_dsAru.js +1 -0
  8. package/dist/assets/ComponentStage-BRhRotyH.js +1 -0
  9. package/dist/assets/CurvePane-BjFVabKX.css +1 -0
  10. package/dist/assets/CurvePane-R22WzllJ.js +1 -0
  11. package/dist/assets/ExportDialog-CWLQWTmG.js +2 -0
  12. package/dist/assets/FontPicker-DWKaYL7F.js +1 -0
  13. package/dist/assets/FontPicker-v0IOIArM.css +1 -0
  14. package/dist/assets/GenerateDrawer-Bh3SqDKt.js +2 -0
  15. package/dist/assets/InsertDrawer-Ce1fod1L.js +1 -0
  16. package/dist/assets/LibraryBrowser-D9sEGz5w.js +2 -0
  17. package/dist/assets/MakeItYoursSection-CMO4319_.js +2 -0
  18. package/dist/assets/MaterialGraphCanvas-BFzl4wWR.js +23 -0
  19. package/dist/assets/MaterialGraphCanvas-BIUD59ik.css +1 -0
  20. package/dist/assets/MaterialWorkspace-CqTWqaRA.js +14 -0
  21. package/dist/assets/PreferencesDialog-CBf9_OoD.js +1 -0
  22. package/dist/assets/PresetsSection-CUEaoCVU.js +1 -0
  23. package/dist/assets/SoundHistory-BeS8EW1h.js +1 -0
  24. package/dist/assets/SoundMode-BmcZru3i.js +3 -0
  25. package/dist/assets/StockSounds-DdAUGRYK.js +1 -0
  26. package/dist/assets/TemplateFieldSection-CaeXpLFo.js +1 -0
  27. package/dist/assets/VersionHistoryPanel-CxG6XhNP.js +1 -0
  28. package/dist/assets/board-B88EPuLO.css +1 -0
  29. package/dist/assets/board-CL-he7SL.js +3 -0
  30. package/dist/assets/components-0oOSPN0l.js +1 -0
  31. package/dist/assets/googleFontRanges-gp32wJMo.js +1 -0
  32. package/dist/assets/googleFonts-BNon6M7X.js +1 -0
  33. package/dist/assets/iconsAndAliases-DL7gXP5j.js +1863 -0
  34. package/dist/assets/index-4F5NQmI8.css +1 -0
  35. package/dist/assets/index-BGHQGV5z.js +117 -0
  36. package/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  37. package/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  38. package/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  39. package/dist/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  40. package/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  41. package/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  42. package/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  43. package/dist/assets/libraryModel-CpIwfFha.js +1 -0
  44. package/dist/assets/lucide-6iK64tTB.js +9319 -0
  45. package/dist/assets/motionStamp-CH-Hew4E.js +1 -0
  46. package/dist/assets/takeMeasure-Tdg0TxEi.js +1 -0
  47. package/dist/assets/webmcp-BsB9gxWC.js +2 -0
  48. package/dist/index.html +34 -3
  49. package/package.json +12 -9
  50. package/src/addFamilies.ts +66 -0
  51. package/src/api.ts +1631 -55
  52. package/src/app/App.tsx +977 -198
  53. package/src/app/lazyPanel.tsx +137 -0
  54. package/src/app/lazySurfaces.tsx +203 -0
  55. package/src/audio/index.tsx +41 -10
  56. package/src/audio/meter.ts +485 -0
  57. package/src/audio/meterMath.ts +273 -0
  58. package/src/audio/meterStore.ts +155 -0
  59. package/src/audio/offlineMix.ts +289 -0
  60. package/src/audio/preview.ts +928 -118
  61. package/src/bridge.ts +15 -5
  62. package/src/bridgeTypes.ts +1611 -36
  63. package/src/channels.ts +17 -32
  64. package/src/fonts/googleFonts.ts +4 -0
  65. package/src/hostApi.ts +174 -0
  66. package/src/icons.tsx +770 -0
  67. package/src/layerWords.ts +61 -0
  68. package/src/main.tsx +56 -4
  69. package/src/panels/ResizeHandle.tsx +33 -43
  70. package/src/panels/agent/AgentDots.tsx +36 -0
  71. package/src/panels/agent/AgentPanel.tsx +119 -43
  72. package/src/panels/agent/AgentQuestionDialog.tsx +202 -0
  73. package/src/panels/agent/agent.css +113 -97
  74. package/src/panels/agent/agentGate.ts +35 -0
  75. package/src/panels/code/CodeDefaultsPanel.tsx +345 -0
  76. package/src/panels/code/CodeStudio.tsx +373 -0
  77. package/src/panels/code/FileTree.tsx +265 -0
  78. package/src/panels/code/codeBufferGuard.ts +52 -0
  79. package/src/panels/code/codeParts.tsx +321 -0
  80. package/src/panels/comments/CommentComposer.tsx +239 -0
  81. package/src/panels/comments/CommentThread.tsx +346 -0
  82. package/src/panels/comments/CommentsPanel.tsx +336 -0
  83. package/src/panels/comments/InboxButton.tsx +131 -0
  84. package/src/panels/comments/MentionMenu.tsx +98 -0
  85. package/src/panels/comments/parts.tsx +171 -0
  86. package/src/panels/export/ExportDialog.tsx +919 -96
  87. package/src/panels/export/ExportScrim.tsx +57 -0
  88. package/src/panels/files/AssetsTab.tsx +656 -0
  89. package/src/panels/files/FilePanel.tsx +1466 -216
  90. package/src/panels/files/LayerMarks.tsx +40 -0
  91. package/src/panels/files/LeftColumn.tsx +37 -0
  92. package/src/panels/files/McpSection.tsx +690 -47
  93. package/src/panels/files/MissingAssetsNotice.tsx +60 -0
  94. package/src/panels/files/assetDrag.ts +79 -0
  95. package/src/panels/files/resourceParts.tsx +255 -0
  96. package/src/panels/fonts/FontPicker.tsx +762 -0
  97. package/src/panels/fonts/faceCache.ts +207 -0
  98. package/src/panels/fonts/fontPicker.css +271 -0
  99. package/src/panels/fonts/pickerModel.ts +265 -0
  100. package/src/panels/fonts/pickerRequest.ts +46 -0
  101. package/src/panels/header/AccountAvatar.tsx +76 -0
  102. package/src/panels/header/AgentChip.tsx +77 -0
  103. package/src/panels/header/AppMenu.tsx +213 -0
  104. package/src/panels/header/Header.tsx +564 -84
  105. package/src/panels/header/HistoryControls.tsx +31 -5
  106. package/src/panels/header/PresenceStack.tsx +329 -0
  107. package/src/panels/header/ProjectTitle.tsx +232 -0
  108. package/src/panels/header/ShareButton.tsx +59 -0
  109. package/src/panels/header/StatusBadges.tsx +358 -27
  110. package/src/panels/header/SyncDeletedDialog.tsx +88 -0
  111. package/src/panels/header/ZoomControls.tsx +46 -15
  112. package/src/panels/header/agentHandoff.ts +52 -0
  113. package/src/panels/header/leave.ts +26 -0
  114. package/src/panels/help/HelpSection.tsx +189 -163
  115. package/src/panels/insert/InsertDrawer.tsx +723 -0
  116. package/src/panels/insert/iconSet.ts +109 -0
  117. package/src/panels/inspector/ExposeDot.tsx +117 -0
  118. package/src/panels/inspector/FramingRows.tsx +314 -44
  119. package/src/panels/inspector/InspectorFooter.tsx +91 -0
  120. package/src/panels/inspector/InspectorHead.tsx +425 -0
  121. package/src/panels/inspector/InspectorPanel.tsx +408 -124
  122. package/src/panels/inspector/KeyframeDot.tsx +373 -0
  123. package/src/panels/inspector/KeyframeSection.tsx +257 -0
  124. package/src/panels/inspector/MarkerSection.tsx +55 -11
  125. package/src/panels/inspector/ParamRow.tsx +84 -53
  126. package/src/panels/inspector/RightColumn.tsx +152 -0
  127. package/src/panels/inspector/TimeSection.tsx +866 -0
  128. package/src/panels/inspector/animate/EaseControl.tsx +244 -0
  129. package/src/panels/inspector/animate/PresetsSection.tsx +135 -0
  130. package/src/panels/inspector/animate/ShotSection.tsx +562 -48
  131. package/src/panels/inspector/design/AlignRow.tsx +95 -31
  132. package/src/panels/inspector/design/AppearanceSection.tsx +118 -9
  133. package/src/panels/inspector/design/ClonerSection.tsx +323 -62
  134. package/src/panels/inspector/design/ComponentSection.tsx +50 -43
  135. package/src/panels/inspector/design/CornerSection.tsx +45 -14
  136. package/src/panels/inspector/design/DefinitionProps.tsx +315 -0
  137. package/src/panels/inspector/design/DefinitionSection.tsx +136 -0
  138. package/src/panels/inspector/design/DeviceSection.tsx +210 -0
  139. package/src/panels/inspector/design/FillSection.tsx +83 -51
  140. package/src/panels/inspector/design/FontField.tsx +196 -0
  141. package/src/panels/inspector/design/HtmlSection.tsx +23 -12
  142. package/src/panels/inspector/design/InstanceSection.tsx +373 -154
  143. package/src/panels/inspector/design/MaskSection.tsx +84 -0
  144. package/src/panels/inspector/design/MaterialSection.tsx +177 -0
  145. package/src/panels/inspector/design/MediaSection.tsx +273 -120
  146. package/src/panels/inspector/design/MeshSection.tsx +910 -82
  147. package/src/panels/inspector/design/PaintRows.tsx +550 -0
  148. package/src/panels/inspector/design/PlateStyleSection.tsx +177 -0
  149. package/src/panels/inspector/design/ShadowSection.tsx +221 -48
  150. package/src/panels/inspector/design/SplineFollowSection.tsx +235 -0
  151. package/src/panels/inspector/design/StrokeSection.tsx +228 -43
  152. package/src/panels/inspector/design/TemplateFieldSection.tsx +57 -0
  153. package/src/panels/inspector/design/TransformSection.tsx +244 -50
  154. package/src/panels/inspector/design/TypographySection.tsx +679 -110
  155. package/src/panels/inspector/layout.ts +295 -0
  156. package/src/panels/inspector/propValue.ts +199 -0
  157. package/src/panels/inspector/scene/CameraSection.tsx +232 -22
  158. package/src/panels/inspector/scene/EffectsSection.tsx +722 -71
  159. package/src/panels/inspector/scene/MakeItYoursSection.tsx +180 -0
  160. package/src/panels/inspector/scene/SceneDocSection.tsx +191 -0
  161. package/src/panels/inspector/scene/SceneSection.tsx +219 -44
  162. package/src/panels/inspector/scene/TransitionSection.tsx +523 -72
  163. package/src/panels/inspector/storyboard/StoryboardReferenceSection.tsx +593 -0
  164. package/src/panels/inspector/storyboard/VideoStill.tsx +120 -0
  165. package/src/panels/inspector/timeModel.ts +190 -0
  166. package/src/panels/inspector/useDocWrite.ts +438 -146
  167. package/src/panels/library/LibraryBrowser.tsx +435 -0
  168. package/src/panels/library/LibraryGrid.tsx +190 -0
  169. package/src/panels/library/LibraryPreviewPanel.tsx +349 -0
  170. package/src/panels/library/LibraryRail.tsx +84 -0
  171. package/src/panels/library/LibrarySoundPanel.tsx +293 -0
  172. package/src/panels/library/SoundHistory.tsx +245 -0
  173. package/src/panels/library/StockSounds.tsx +390 -0
  174. package/src/panels/library/libraryModel.ts +147 -0
  175. package/src/panels/library/stockSearch.ts +77 -0
  176. package/src/panels/maskMarks.tsx +117 -0
  177. package/src/panels/material/MaterialCommentNode.tsx +54 -0
  178. package/src/panels/material/MaterialGraphCanvas.tsx +861 -0
  179. package/src/panels/material/MaterialGraphMenu.tsx +45 -0
  180. package/src/panels/material/MaterialGroupNode.tsx +56 -0
  181. package/src/panels/material/MaterialLibrary.tsx +253 -0
  182. package/src/panels/material/MaterialNode.tsx +453 -0
  183. package/src/panels/material/MaterialNodePalette.tsx +349 -0
  184. package/src/panels/material/MaterialParameterControls.tsx +525 -0
  185. package/src/panels/material/MaterialRerouteNode.tsx +42 -0
  186. package/src/panels/material/MaterialWorkspace.tsx +501 -0
  187. package/src/panels/material/NodePreview.tsx +70 -0
  188. package/src/panels/material/flowModel.ts +441 -0
  189. package/src/panels/material/parameterValues.ts +231 -0
  190. package/src/panels/material/previewScheduler.ts +235 -0
  191. package/src/panels/material/reactFlow.css +6 -0
  192. package/src/panels/material/socketGlyph.ts +85 -0
  193. package/src/panels/material/viewportMemory.ts +58 -0
  194. package/src/panels/preferences/PreferencesDialog.tsx +215 -0
  195. package/src/panels/share/ShareComponentDialog.tsx +247 -0
  196. package/src/panels/stage/StageMenu.tsx +35 -5
  197. package/src/panels/stage/StagePanel.tsx +338 -23
  198. package/src/panels/stage/cellSlots.tsx +70 -0
  199. package/src/panels/storyboard/BoardCanvas.tsx +739 -0
  200. package/src/panels/storyboard/BoardCursors.tsx +158 -0
  201. package/src/panels/storyboard/BoardDropDialog.tsx +161 -0
  202. package/src/panels/storyboard/BoardPlan.tsx +42 -0
  203. package/src/panels/storyboard/ComponentSheet.tsx +187 -0
  204. package/src/panels/storyboard/ComponentStage.tsx +235 -0
  205. package/src/panels/storyboard/MiniSketch.tsx +173 -0
  206. package/src/panels/storyboard/PartPicker.tsx +64 -0
  207. package/src/panels/storyboard/PlanPanel.tsx +617 -0
  208. package/src/panels/storyboard/ReferencePreview.tsx +217 -0
  209. package/src/panels/storyboard/ShotBrief.tsx +360 -0
  210. package/src/panels/storyboard/ShotCard.tsx +251 -0
  211. package/src/panels/storyboard/StagePreview.tsx +348 -0
  212. package/src/panels/storyboard/StillThumbs.tsx +162 -0
  213. package/src/panels/storyboard/StoryboardView.tsx +79 -0
  214. package/src/panels/storyboard/board.css +1065 -0
  215. package/src/panels/storyboard/board.ts +12 -0
  216. package/src/panels/storyboard/boardClipboard.ts +111 -0
  217. package/src/panels/storyboard/boardOrder.ts +68 -0
  218. package/src/panels/storyboard/boardRows.tsx +425 -0
  219. package/src/panels/storyboard/liveCap.ts +90 -0
  220. package/src/panels/storyboard/plan.css +295 -0
  221. package/src/panels/storyboard/posterCache.ts +133 -0
  222. package/src/panels/storyboard/shotboard/ComponentPicker.tsx +373 -0
  223. package/src/panels/storyboard/shotboard/ImagePicker.tsx +145 -0
  224. package/src/panels/storyboard/shotboard/ShotBoard.tsx +292 -0
  225. package/src/panels/storyboard/shotboard/SketchCanvas.tsx +443 -0
  226. package/src/panels/storyboard/shotboard/SketchInspector.tsx +471 -0
  227. package/src/panels/storyboard/shotboard/SketchItem.tsx +240 -0
  228. package/src/panels/storyboard/shotboard/SketchLayers.tsx +130 -0
  229. package/src/panels/storyboard/shotboard/SketchPlay.tsx +108 -0
  230. package/src/panels/storyboard/shotboard/SketchStrip.tsx +178 -0
  231. package/src/panels/storyboard/shotboard/SketchToolFooter.tsx +99 -0
  232. package/src/panels/storyboard/shotboard/sketch.css +1392 -0
  233. package/src/panels/storyboard/shotboard/sketchModel.ts +219 -0
  234. package/src/panels/storyboard/storyboardDrop.ts +164 -0
  235. package/src/panels/studio/ComponentLibraryRail.tsx +346 -0
  236. package/src/panels/studio/ComponentSidePanel.tsx +355 -0
  237. package/src/panels/studio/ComponentStudio.tsx +243 -0
  238. package/src/panels/studio/ComponentsHome.tsx +318 -0
  239. package/src/panels/studio/ComponentsPreview.tsx +179 -0
  240. package/src/panels/studio/EveryUse.tsx +244 -0
  241. package/src/panels/studio/ThisUsePanel.tsx +679 -0
  242. package/src/panels/studio/componentParts.tsx +341 -0
  243. package/src/panels/studio/components.ts +6 -0
  244. package/src/panels/studio/newCodeComponent.ts +66 -0
  245. package/src/panels/timeline/AudioFxButton.tsx +290 -0
  246. package/src/panels/timeline/AudioLane.tsx +674 -85
  247. package/src/panels/timeline/BlockRow.tsx +154 -85
  248. package/src/panels/timeline/ChannelRow.tsx +378 -129
  249. package/src/panels/timeline/CurvePane.tsx +508 -0
  250. package/src/panels/timeline/Filmstrip.tsx +361 -0
  251. package/src/panels/timeline/GenerateDrawer.tsx +407 -0
  252. package/src/panels/timeline/KeyStretch.tsx +115 -0
  253. package/src/panels/timeline/LifespanRow.tsx +730 -47
  254. package/src/panels/timeline/MarkerLane.tsx +46 -8
  255. package/src/panels/timeline/PlayButton.tsx +91 -0
  256. package/src/panels/timeline/PropertyPicker.tsx +254 -0
  257. package/src/panels/timeline/ShotRow.tsx +400 -0
  258. package/src/panels/timeline/SoundMode.tsx +1406 -0
  259. package/src/panels/timeline/TimelineDock.tsx +2338 -272
  260. package/src/panels/timeline/TransportVolume.tsx +163 -0
  261. package/src/panels/timeline/beatRuler.ts +74 -0
  262. package/src/panels/timeline/curveModel.ts +500 -0
  263. package/src/panels/timeline/duckUnderVoice.ts +68 -0
  264. package/src/panels/timeline/keyframeMenu.ts +138 -0
  265. package/src/panels/timeline/labelWidth.ts +49 -0
  266. package/src/panels/timeline/marquee.ts +155 -0
  267. package/src/panels/timeline/model.ts +1860 -199
  268. package/src/panels/timeline/snap.ts +125 -43
  269. package/src/panels/timeline/staggerPreview.tsx +92 -0
  270. package/src/panels/timeline/takeMeasure.ts +72 -0
  271. package/src/panels/timeline/useLive.ts +48 -0
  272. package/src/panels/timeline/viewport.ts +234 -0
  273. package/src/panels/toolbar/BackChip.tsx +116 -0
  274. package/src/panels/toolbar/CameraViewBar.tsx +118 -49
  275. package/src/panels/toolbar/CanvasBar.tsx +117 -0
  276. package/src/panels/toolbar/InsertButton.tsx +38 -0
  277. package/src/panels/toolbar/IsolationTrail.tsx +156 -0
  278. package/src/panels/toolbar/PanelToggles.tsx +86 -0
  279. package/src/panels/toolbar/ShadingBar.tsx +119 -26
  280. package/src/panels/toolbar/ToolDockBar.tsx +329 -80
  281. package/src/panels/toolbar/ToolFooter.tsx +102 -0
  282. package/src/panels/toolbar/ViewModeBar.tsx +247 -38
  283. package/src/panels/toolbar/WorkPlaneBar.tsx +94 -0
  284. package/src/panels/toolbar/useAddRows.tsx +326 -0
  285. package/src/panels/toolbar/useDismiss.ts +122 -0
  286. package/src/panels/versions/VersionHistoryPanel.tsx +274 -0
  287. package/src/panels/versions/versionModel.ts +103 -0
  288. package/src/panels/virtualWindow.ts +271 -0
  289. package/src/shotTokens.css +151 -60
  290. package/src/stage/FrustumGizmo.tsx +504 -84
  291. package/src/stage/GridPlane.tsx +225 -16
  292. package/src/stage/NodePreviews.tsx +628 -0
  293. package/src/stage/PerfHud.tsx +437 -47
  294. package/src/stage/SplitRenderer.tsx +816 -169
  295. package/src/stage/StageApp.tsx +4274 -486
  296. package/src/stage/StageRootBoundary.tsx +114 -0
  297. package/src/stage/StageTools.tsx +651 -151
  298. package/src/stage/TransformGizmo.tsx +696 -0
  299. package/src/stage/adaptivePresentation.ts +145 -0
  300. package/src/stage/bridgeClient.ts +2522 -41
  301. package/src/stage/exportWorker.ts +9 -0
  302. package/src/stage/feed.ts +305 -14
  303. package/src/stage/fontPreview.ts +176 -0
  304. package/src/stage/frustumGeometry.ts +319 -1
  305. package/src/stage/furnitureTokens.ts +33 -0
  306. package/src/stage/gizmoMath.ts +508 -16
  307. package/src/stage/gpuTimer.ts +276 -0
  308. package/src/stage/instanceModules.ts +194 -33
  309. package/src/stage/interactions/move.ts +24 -5
  310. package/src/stage/isolation.ts +291 -33
  311. package/src/stage/jsSelfProfiler.ts +325 -0
  312. package/src/stage/main.tsx +116 -16
  313. package/src/stage/modalState.ts +222 -23
  314. package/src/stage/moduleEpoch.ts +60 -0
  315. package/src/stage/motionPathStage.ts +279 -0
  316. package/src/stage/motionPreview.ts +74 -0
  317. package/src/stage/overlays/Overlays.tsx +1112 -159
  318. package/src/stage/overlays/Rulers.tsx +495 -0
  319. package/src/stage/panes.ts +159 -10
  320. package/src/stage/project.ts +68 -3
  321. package/src/stage/renderScaleController.ts +730 -0
  322. package/src/stage/rulers.ts +129 -0
  323. package/src/stage/sceneExtent.ts +75 -0
  324. package/src/stage/shading.ts +20 -0
  325. package/src/stage/splineStage.ts +632 -0
  326. package/src/stage/stagePerformanceTelemetry.ts +717 -0
  327. package/src/stage/stageTheme.ts +36 -0
  328. package/src/stage/stageWarmup.ts +11 -0
  329. package/src/stage/textAutoSize.ts +124 -0
  330. package/src/stage/tier1Export.ts +641 -0
  331. package/src/stage/tokenColor.ts +14 -9
  332. package/src/stage/view.ts +56 -9
  333. package/src/stage/workingView.ts +277 -33
  334. package/src/state/accountPrefs.ts +261 -0
  335. package/src/state/agentActions.ts +173 -15
  336. package/src/state/agentActivity.ts +198 -0
  337. package/src/state/agentQuestion.ts +239 -0
  338. package/src/state/bootOpen.ts +42 -0
  339. package/src/state/cameraVerbs.ts +139 -0
  340. package/src/state/clientId.ts +6 -1
  341. package/src/state/comments.ts +1099 -0
  342. package/src/state/context.tsx +19 -1
  343. package/src/state/editorPrefs.ts +220 -0
  344. package/src/state/errorReports.ts +121 -0
  345. package/src/state/fieldWrite.ts +161 -0
  346. package/src/state/fontRecents.ts +70 -0
  347. package/src/state/fonts.ts +656 -0
  348. package/src/state/graphClipboard.ts +414 -0
  349. package/src/state/imageThumbs.ts +216 -0
  350. package/src/state/insert.ts +444 -67
  351. package/src/state/isolationTrail.ts +92 -0
  352. package/src/state/keyMoves.ts +134 -0
  353. package/src/state/keyframeClipboard.ts +177 -0
  354. package/src/state/keymap.ts +1153 -117
  355. package/src/state/layoutPrefs.ts +272 -0
  356. package/src/state/layouts.ts +205 -0
  357. package/src/state/measureMedia.ts +167 -0
  358. package/src/state/menu.ts +2341 -28
  359. package/src/state/motionStamp.ts +7 -0
  360. package/src/state/panelSize.ts +375 -5
  361. package/src/state/pendingChanges.ts +119 -0
  362. package/src/state/playHold.ts +78 -0
  363. package/src/state/playbackPreparation.ts +562 -0
  364. package/src/state/posterCapture.ts +242 -0
  365. package/src/state/presence.ts +254 -0
  366. package/src/state/projectComponents.ts +160 -0
  367. package/src/state/renderEvents.ts +298 -18
  368. package/src/state/runtimeErrors.ts +46 -0
  369. package/src/state/selection.ts +12 -0
  370. package/src/state/shortcuts.ts +1606 -0
  371. package/src/state/sketchGuide.ts +51 -0
  372. package/src/state/splineRefs.ts +87 -0
  373. package/src/state/stageHealth.ts +259 -0
  374. package/src/state/stageWatchdog.ts +47 -0
  375. package/src/state/stillStage.ts +330 -0
  376. package/src/state/stillThumbs.ts +474 -0
  377. package/src/state/store.ts +23591 -2982
  378. package/src/state/storyboardModel.ts +528 -0
  379. package/src/state/sync.ts +1257 -0
  380. package/src/state/syncCache.ts +159 -0
  381. package/src/state/triangles.ts +13 -0
  382. package/src/state/types.ts +1698 -55
  383. package/src/state/unsavedGuard.ts +49 -0
  384. package/src/state/viewMode.ts +200 -0
  385. package/src/state/webmcp.ts +1128 -0
  386. package/src/state/workspace.ts +1147 -0
  387. package/src/styles/assets-tab.css +304 -0
  388. package/src/styles/canvas.css +545 -0
  389. package/src/styles/comments.css +1435 -0
  390. package/src/styles/controls.css +162 -0
  391. package/src/styles/dialogs.css +390 -0
  392. package/src/styles/insert-drawer.css +586 -0
  393. package/src/styles/inspector-board.css +207 -0
  394. package/src/styles/inspector-object.css +486 -0
  395. package/src/styles/inspector-shot.css +252 -0
  396. package/src/styles/inspector.css +360 -0
  397. package/src/styles/left-column.css +1628 -0
  398. package/src/styles/library-preview.css +575 -0
  399. package/src/styles/library.css +512 -0
  400. package/src/styles/modes/code.css +569 -0
  401. package/src/styles/modes/component.css +1561 -0
  402. package/src/styles/modes/material.css +1201 -0
  403. package/src/styles/modes/storyboard.css +518 -0
  404. package/src/styles/share-component.css +49 -0
  405. package/src/styles/shell.css +653 -0
  406. package/src/styles/shot-brief.css +360 -0
  407. package/src/styles/states.css +76 -0
  408. package/src/styles/sync.css +380 -0
  409. package/src/styles/timeline-graph.css +384 -0
  410. package/src/styles/timeline-meters.css +89 -0
  411. package/src/styles/timeline-rows.css +1959 -0
  412. package/src/styles/timeline-sound.css +1003 -0
  413. package/src/styles/timeline.css +754 -0
  414. package/src/styles/tool-footer.css +525 -0
  415. package/src/styles/topbar.css +886 -0
  416. package/src/styles/versions.css +262 -0
  417. package/src/styles.css +72 -2921
  418. package/src/tools.ts +108 -23
  419. package/dist/assets/index-B7notge7.css +0 -1
  420. package/dist/assets/index-BBE6Ta9L.js +0 -52
  421. package/src/panels/files/icons.tsx +0 -118
  422. package/src/panels/header/DocSwitcher.tsx +0 -85
  423. package/src/panels/header/TransportBar.tsx +0 -86
  424. package/src/panels/inspector/animate/BlockTiming.tsx +0 -341
  425. package/src/panels/inspector/animate/DuringBlocks.tsx +0 -85
  426. package/src/panels/inspector/animate/InOutPresets.tsx +0 -57
  427. package/src/panels/inspector/animate/ResolvedChannels.tsx +0 -150
  428. package/src/panels/inspector/animate/useBlocks.ts +0 -43
  429. package/src/panels/material/MaterialPicker.tsx +0 -172
  430. package/src/panels/timeline/SceneStrip.tsx +0 -145
  431. package/src/panels/toolbar/AddMenu.tsx +0 -230
  432. package/src/stage/MoveGizmo.tsx +0 -411
@@ -0,0 +1,1435 @@
1
+ /* COMMENTS (Paper page 20) and the Viewer's chrome (page 21, "View only").
2
+ *
3
+ * The composer, the @ menu, a thread, the Comments tab, the inbox, the strip
4
+ * and scrubber badges, and the View only pill. Sizes and radii are Paper's;
5
+ * colours are the house tokens Paper's swatches name. */
6
+
7
+ /* ---- shared pieces ------------------------------------------------------- */
8
+ .comment-avatar {
9
+ flex: none;
10
+ display: inline-flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ border-radius: var(--radius-full);
14
+ color: var(--on-accent);
15
+ font-weight: 700;
16
+ line-height: normal;
17
+ overflow: hidden;
18
+ }
19
+
20
+ /* The tailed avatar of a thread row and an inbox item: a speech bubble. */
21
+ .comment-avatar.is-tailed {
22
+ border-bottom-left-radius: var(--radius-2xs);
23
+ }
24
+
25
+ .comment-mention {
26
+ padding: 0 var(--space-1);
27
+ border-radius: var(--radius-xs);
28
+ background: var(--accent-soft);
29
+ color: var(--accent-ink);
30
+ font-weight: var(--weight-medium);
31
+ }
32
+
33
+ .comment-guest {
34
+ flex: none;
35
+ padding: 1px var(--space-2);
36
+ border: 1px solid var(--line-strong);
37
+ border-radius: var(--radius-xs);
38
+ color: var(--ink-2);
39
+ font-size: var(--type-micro);
40
+ font-weight: 600;
41
+ letter-spacing: var(--tracking-caps);
42
+ }
43
+
44
+ .comment-via-agent {
45
+ flex: none;
46
+ display: inline-flex;
47
+ align-items: center;
48
+ gap: var(--space-2);
49
+ height: 18px;
50
+ padding: 0 var(--space-3);
51
+ border-radius: var(--radius-full);
52
+ background: var(--accent-soft);
53
+ color: var(--accent-ink);
54
+ font-size: var(--type-micro);
55
+ font-weight: 600;
56
+ line-height: var(--leading-none);
57
+ }
58
+
59
+ .comment-thread-spacer {
60
+ flex: 1 1 auto;
61
+ }
62
+
63
+ .comment-refusal {
64
+ margin: 0;
65
+ padding: var(--space-3) var(--space-6);
66
+ color: var(--danger-ink);
67
+ font-size: var(--type-md);
68
+ line-height: var(--leading-xs);
69
+ }
70
+
71
+ .comments-unread-dot {
72
+ flex: none;
73
+ width: 7px;
74
+ height: 7px;
75
+ border-radius: var(--radius-full);
76
+ background: var(--accent);
77
+ }
78
+
79
+ /* ---- the composer -------------------------------------------------------- */
80
+ /* THE COLUMN'S WIDTH, IN THE CARD IT SITS IN. The composer is only ever a
81
+ draft at the top of the Comments tab (`PanelDraft`), inside a
82
+ `.comment-thread.is-inline` that already draws the card. It kept the
83
+ 340px, the edge and the shadow of the floating composer it began as, so in
84
+ a narrower column the card ran past the panel: the panel scrolled sideways
85
+ and cut the text at both edges. `min-width: 0` lets it shrink with the
86
+ column; the field wraps inside it. Positioned for its @ menu. */
87
+ .comment-composer {
88
+ position: relative;
89
+ display: flex;
90
+ flex-direction: column;
91
+ min-width: 0;
92
+ }
93
+
94
+ .comment-composer-head {
95
+ display: flex;
96
+ align-items: baseline;
97
+ gap: var(--space-3);
98
+ padding: var(--space-5) var(--space-6) 0;
99
+ min-width: 0;
100
+ font-size: var(--type-md);
101
+ line-height: var(--leading-xs);
102
+ white-space: nowrap;
103
+ }
104
+
105
+ .comment-composer-number {
106
+ font-family: var(--font-mono);
107
+ font-size: var(--type-sm);
108
+ line-height: var(--leading-xs);
109
+ color: var(--ink-3);
110
+ }
111
+
112
+ .comment-composer-shot {
113
+ overflow: hidden;
114
+ text-overflow: ellipsis;
115
+ color: var(--ink-2);
116
+ font-weight: var(--weight-medium);
117
+ }
118
+
119
+ .comment-composer-dim {
120
+ color: var(--ink-3);
121
+ }
122
+
123
+ .comment-composer-field {
124
+ padding: var(--space-5) var(--space-6) var(--space-6);
125
+ }
126
+
127
+ .comment-field {
128
+ display: block;
129
+ width: 100%;
130
+ min-height: 21px;
131
+ padding: 0;
132
+ border: 0;
133
+ outline: none;
134
+ resize: none;
135
+ background: transparent;
136
+ color: var(--ink-1);
137
+ font: inherit;
138
+ font-size: var(--type-title);
139
+ line-height: var(--leading-md);
140
+ caret-color: var(--accent);
141
+ field-sizing: content;
142
+ max-height: 168px;
143
+ }
144
+
145
+ .comment-field::placeholder {
146
+ color: var(--ink-3);
147
+ }
148
+
149
+ .comment-composer-foot {
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: space-between;
153
+ gap: var(--space-4);
154
+ padding: var(--space-4) var(--space-4) var(--space-4) var(--space-6);
155
+ border-top: 1px solid var(--line);
156
+ }
157
+
158
+ .comment-composer-hints {
159
+ display: flex;
160
+ align-items: center;
161
+ gap: var(--space-6);
162
+ min-width: 0;
163
+ }
164
+
165
+ .comment-at {
166
+ flex: none;
167
+ padding: 0;
168
+ border: 0;
169
+ background: none;
170
+ color: var(--ink-2);
171
+ font: inherit;
172
+ font-size: var(--type-title);
173
+ font-weight: var(--weight-medium);
174
+ line-height: var(--leading-sm);
175
+ cursor: pointer;
176
+ }
177
+
178
+ .comment-hint {
179
+ overflow: hidden;
180
+ text-overflow: ellipsis;
181
+ white-space: nowrap;
182
+ color: var(--ink-3);
183
+ font-size: var(--type-md);
184
+ line-height: var(--leading-xs);
185
+ }
186
+
187
+ .comment-counter {
188
+ flex: none;
189
+ color: var(--ink-3);
190
+ font-family: var(--font-numeric);
191
+ font-size: var(--type-sm);
192
+ }
193
+
194
+ .comment-counter.is-over {
195
+ color: var(--danger-ink);
196
+ }
197
+
198
+ .comment-post {
199
+ flex: none;
200
+ height: 28px;
201
+ padding: 0 var(--space-6);
202
+ border: 0;
203
+ border-radius: var(--radius-sm);
204
+ background: var(--accent);
205
+ color: var(--on-accent);
206
+ font: inherit;
207
+ font-size: var(--type-lg);
208
+ font-weight: 600;
209
+ line-height: var(--leading-xs);
210
+ cursor: pointer;
211
+ }
212
+
213
+ .comment-post:disabled {
214
+ background: var(--surface-secondary);
215
+ color: var(--ink-3);
216
+ cursor: default;
217
+ }
218
+
219
+ /* The thread's reply footer. */
220
+ .comment-reply {
221
+ position: relative;
222
+ background: var(--surface-sunken);
223
+ border-top: 1px solid var(--line);
224
+ }
225
+
226
+ .comment-reply-row {
227
+ display: flex;
228
+ align-items: center;
229
+ gap: var(--space-4);
230
+ padding: var(--space-5) var(--space-5) var(--space-5) var(--space-6);
231
+ }
232
+
233
+ .comment-reply .comment-field {
234
+ flex: 1 1 auto;
235
+ font-size: var(--type-lg);
236
+ line-height: var(--leading-xs);
237
+ min-height: 16px;
238
+ }
239
+
240
+ .comment-reply .comment-at {
241
+ font-size: var(--type-lg);
242
+ color: var(--ink-3);
243
+ }
244
+
245
+ .comment-reply .comment-post {
246
+ height: 26px;
247
+ font-size: var(--type-md);
248
+ }
249
+
250
+ /* ---- the @ menu ---------------------------------------------------------- */
251
+ .mention-menu {
252
+ position: absolute;
253
+ z-index: 1;
254
+ left: 8px;
255
+ top: 100%;
256
+ margin-top: var(--space-2);
257
+ display: flex;
258
+ flex-direction: column;
259
+ gap: var(--space-1);
260
+ /* Its 300px, but never past the composer's own edges, 8px in on each
261
+ side: the column goes down to 264. */
262
+ width: min(300px, calc(100% - 16px));
263
+ padding: var(--space-3);
264
+ background: var(--surface-panel);
265
+ border: 1px solid var(--line-strong);
266
+ border-radius: var(--radius-md);
267
+ box-shadow: var(--shadow-popover);
268
+ }
269
+
270
+ /* A reply's menu opens upward: the footer is the thread's last row. */
271
+ .comment-reply > .mention-menu {
272
+ top: auto;
273
+ bottom: 100%;
274
+ margin: 0 0 var(--space-2);
275
+ }
276
+
277
+ .mention-section {
278
+ padding: var(--space-3) var(--space-4) var(--space-2);
279
+ color: var(--ink-3);
280
+ font-size: var(--type-sm);
281
+ font-weight: var(--weight-medium);
282
+ line-height: var(--leading-xs);
283
+ letter-spacing: var(--tracking-caps);
284
+ text-transform: uppercase;
285
+ }
286
+
287
+ .mention-row {
288
+ display: flex;
289
+ align-items: center;
290
+ gap: var(--space-5);
291
+ height: 40px;
292
+ padding: 0 var(--space-4);
293
+ border-radius: var(--radius-tab);
294
+ cursor: pointer;
295
+ }
296
+
297
+ .mention-row.is-active {
298
+ background: var(--surface-secondary);
299
+ }
300
+
301
+ .mention-row .comment-avatar {
302
+ font-weight: 600;
303
+ }
304
+
305
+ .mention-name {
306
+ flex: 1 1 auto;
307
+ min-width: 0;
308
+ overflow: hidden;
309
+ text-overflow: ellipsis;
310
+ white-space: nowrap;
311
+ color: var(--ink-1);
312
+ font-size: var(--type-lg);
313
+ font-weight: var(--weight-medium);
314
+ line-height: var(--leading-xs);
315
+ }
316
+
317
+ .mention-role {
318
+ flex: none;
319
+ width: 70px;
320
+ text-align: right;
321
+ color: var(--ink-3);
322
+ font-size: var(--type-md);
323
+ line-height: var(--leading-xs);
324
+ }
325
+
326
+ .mention-outside {
327
+ display: flex;
328
+ flex-direction: column;
329
+ gap: var(--space-1);
330
+ margin-top: var(--space-1);
331
+ padding-top: var(--space-2);
332
+ border-top: 1px solid var(--line);
333
+ }
334
+
335
+ .mention-row.is-outside .comment-avatar {
336
+ background: var(--surface-secondary) !important;
337
+ border: 1px dashed var(--line-strong);
338
+ color: var(--ink-2);
339
+ }
340
+
341
+ .mention-row.is-outside .mention-name {
342
+ color: var(--ink-2);
343
+ }
344
+
345
+ .mention-share {
346
+ flex: none;
347
+ color: var(--accent-ink);
348
+ font-size: var(--type-md);
349
+ font-weight: var(--weight-medium);
350
+ line-height: var(--leading-xs);
351
+ }
352
+
353
+ .mention-empty,
354
+ .mention-note {
355
+ margin: 0;
356
+ padding: var(--space-3) var(--space-4) var(--space-4);
357
+ color: var(--ink-3);
358
+ font-size: var(--type-md);
359
+ line-height: var(--leading-sm);
360
+ }
361
+
362
+ /* ---- a thread ------------------------------------------------------------ */
363
+ .comment-thread {
364
+ display: flex;
365
+ flex-direction: column;
366
+ width: 360px;
367
+ max-height: 100%;
368
+ overflow: hidden;
369
+ background: var(--surface-panel);
370
+ border: 1px solid var(--line-strong);
371
+ border-radius: var(--radius-md);
372
+ box-shadow: var(--shadow-popover);
373
+ font-size: var(--type-md);
374
+ line-height: var(--leading-xs);
375
+ }
376
+
377
+ /* In the Comments tab, under its row: the column's width, no float. */
378
+ .comment-thread.is-inline {
379
+ width: auto;
380
+ margin: var(--space-2) 0 var(--space-4);
381
+ box-shadow: none;
382
+ overflow: visible;
383
+ }
384
+
385
+ .comment-thread-head {
386
+ flex: none;
387
+ display: flex;
388
+ align-items: center;
389
+ gap: var(--space-4);
390
+ padding: var(--space-5) var(--space-5) var(--space-5) var(--space-6);
391
+ border-bottom: 1px solid var(--line);
392
+ }
393
+
394
+ .comment-thread-where {
395
+ flex: 1 1 auto;
396
+ min-width: 0;
397
+ overflow: hidden;
398
+ text-overflow: ellipsis;
399
+ white-space: nowrap;
400
+ color: var(--ink-3);
401
+ font-size: var(--type-sm);
402
+ }
403
+
404
+ .comment-thread-resolve {
405
+ flex: none;
406
+ display: inline-flex;
407
+ align-items: center;
408
+ gap: var(--space-3);
409
+ height: 26px;
410
+ padding: 0 var(--space-5) 0 var(--space-4);
411
+ border: 1px solid var(--line);
412
+ border-radius: var(--radius-sm);
413
+ background: none;
414
+ color: var(--ink-1);
415
+ font: inherit;
416
+ font-size: var(--type-md);
417
+ font-weight: var(--weight-medium);
418
+ cursor: pointer;
419
+ }
420
+
421
+ .comment-thread-resolve svg {
422
+ color: var(--ink-2);
423
+ }
424
+
425
+ .comment-thread-more,
426
+ .comment-message-more {
427
+ flex: none;
428
+ width: 26px;
429
+ height: 26px;
430
+ padding: 0;
431
+ border: 0;
432
+ border-radius: var(--radius-sm);
433
+ background: none;
434
+ color: var(--ink-2);
435
+ font: inherit;
436
+ font-size: var(--type-title);
437
+ line-height: var(--leading-sm);
438
+ cursor: pointer;
439
+ }
440
+
441
+ .comment-thread-more:hover,
442
+ .comment-message-more:hover,
443
+ .comment-thread-resolve:hover {
444
+ background: var(--fill-hover);
445
+ }
446
+
447
+ .comment-thread-meta {
448
+ flex: none;
449
+ display: flex;
450
+ align-items: center;
451
+ gap: var(--space-4);
452
+ padding: var(--space-5) var(--space-6);
453
+ }
454
+
455
+ .comment-thread-meta-label {
456
+ flex: none;
457
+ width: 58px;
458
+ color: var(--ink-3);
459
+ font-size: var(--type-sm);
460
+ line-height: var(--leading-xs);
461
+ }
462
+
463
+ .comment-assignee {
464
+ display: inline-flex;
465
+ align-items: center;
466
+ gap: var(--space-3);
467
+ height: 24px;
468
+ padding: 0 var(--space-4) 0 var(--space-1);
469
+ border: 0;
470
+ border-radius: var(--radius-full);
471
+ background: var(--surface-secondary);
472
+ color: var(--ink-1);
473
+ font: inherit;
474
+ font-size: var(--type-md);
475
+ font-weight: var(--weight-medium);
476
+ cursor: pointer;
477
+ }
478
+
479
+ .comment-assignee:disabled {
480
+ cursor: default;
481
+ }
482
+
483
+ .comment-assignee .comment-avatar {
484
+ }
485
+
486
+ .comment-assignee svg {
487
+ color: var(--ink-3);
488
+ }
489
+
490
+ .comment-assignee-none {
491
+ padding-left: var(--space-2);
492
+ color: var(--ink-2);
493
+ }
494
+
495
+ .comment-status {
496
+ flex: none;
497
+ display: inline-flex;
498
+ align-items: center;
499
+ gap: var(--space-2);
500
+ color: var(--ink-2);
501
+ font-size: var(--type-sm);
502
+ font-weight: var(--weight-medium);
503
+ line-height: var(--leading-xs);
504
+ }
505
+
506
+ .comment-status-dot {
507
+ width: 6px;
508
+ height: 6px;
509
+ border-radius: var(--radius-full);
510
+ background: var(--warn);
511
+ }
512
+
513
+ .comment-status.is-resolved .comment-status-dot {
514
+ background: var(--success);
515
+ }
516
+
517
+ .comment-thread-snapshot {
518
+ display: block;
519
+ margin: 0 var(--space-6) var(--space-5);
520
+ max-width: calc(100% - 28px);
521
+ border: 1px solid var(--line-strong);
522
+ border-radius: var(--radius-sm);
523
+ }
524
+
525
+ .comment-thread-messages {
526
+ flex: 1 1 auto;
527
+ min-height: 0;
528
+ overflow-y: auto;
529
+ display: flex;
530
+ flex-direction: column;
531
+ gap: var(--space-6);
532
+ padding: var(--space-2) var(--space-6) var(--space-6);
533
+ }
534
+
535
+ .comment-message {
536
+ display: flex;
537
+ gap: var(--space-5);
538
+ }
539
+
540
+ .comment-message-main {
541
+ flex: 1 1 auto;
542
+ min-width: 0;
543
+ display: flex;
544
+ flex-direction: column;
545
+ gap: var(--space-1);
546
+ }
547
+
548
+ .comment-message-head {
549
+ display: flex;
550
+ align-items: baseline;
551
+ gap: var(--space-3);
552
+ }
553
+
554
+ .comment-message-head .comment-message-more {
555
+ margin-left: auto;
556
+ height: 18px;
557
+ opacity: 0;
558
+ }
559
+
560
+ .comment-message:hover .comment-message-more,
561
+ .comment-message-more:focus-visible {
562
+ opacity: 1;
563
+ }
564
+
565
+ .comment-message-name {
566
+ color: var(--ink-1);
567
+ font-size: var(--type-lg);
568
+ font-weight: 600;
569
+ }
570
+
571
+ .comment-message-time {
572
+ color: var(--ink-3);
573
+ font-size: var(--type-sm);
574
+ line-height: var(--leading-xs);
575
+ }
576
+
577
+ .comment-message-body {
578
+ margin: 0;
579
+ color: var(--ink-1);
580
+ font-size: var(--type-lg);
581
+ line-height: var(--leading-md);
582
+ white-space: pre-wrap;
583
+ overflow-wrap: anywhere;
584
+ }
585
+
586
+ .comment-message-body.is-deleted {
587
+ color: var(--ink-3);
588
+ font-style: italic;
589
+ }
590
+
591
+ .comment-message-edit {
592
+ display: flex;
593
+ flex-direction: column;
594
+ gap: var(--space-3);
595
+ }
596
+
597
+ .comment-message-edit .comment-field {
598
+ padding: var(--space-3) var(--space-4);
599
+ border: 1px solid var(--line-strong);
600
+ border-radius: var(--radius-sm);
601
+ font-size: var(--type-lg);
602
+ line-height: var(--leading-md);
603
+ }
604
+
605
+ .comment-message-edit-actions {
606
+ display: flex;
607
+ justify-content: flex-end;
608
+ gap: var(--space-3);
609
+ }
610
+
611
+ .comment-message-edit-actions .comment-post {
612
+ height: 26px;
613
+ font-size: var(--type-md);
614
+ }
615
+
616
+ .comment-thread-agent {
617
+ flex: none;
618
+ padding: 0 var(--space-6) var(--space-6);
619
+ }
620
+
621
+ .comment-agent-button,
622
+ .comments-agent-all {
623
+ display: inline-flex;
624
+ align-items: center;
625
+ justify-content: center;
626
+ gap: var(--space-3);
627
+ height: 28px;
628
+ padding: 0 var(--space-5);
629
+ border: 0;
630
+ border-radius: var(--radius-sm);
631
+ background: var(--surface-secondary);
632
+ color: var(--ink-1);
633
+ font: inherit;
634
+ font-size: var(--type-md);
635
+ font-weight: var(--weight-medium);
636
+ cursor: pointer;
637
+ }
638
+
639
+ .comment-agent-button:hover,
640
+ .comments-agent-all:hover {
641
+ background: var(--fill-state-soft);
642
+ }
643
+
644
+ /* ---- the board frame's popover ------------------------------------------- */
645
+ .frame-comment-pop {
646
+ position: absolute;
647
+ z-index: var(--z-float);
648
+ display: flex;
649
+ pointer-events: auto;
650
+ }
651
+
652
+ /* ---- the Comments tab ---------------------------------------------------- */
653
+ .inspector-column > .comments-panel {
654
+ flex: 1 1 auto;
655
+ min-height: 0;
656
+ }
657
+
658
+ .comments-panel {
659
+ display: flex;
660
+ flex-direction: column;
661
+ font-size: var(--type-md);
662
+ line-height: var(--leading-xs);
663
+ }
664
+
665
+ .comments-filters {
666
+ flex: none;
667
+ display: flex;
668
+ /* Four pills need about 280px on one line, and the column goes down to
669
+ 264: the last ones take a second line rather than push the panel wide. */
670
+ flex-wrap: wrap;
671
+ gap: var(--space-2);
672
+ padding: var(--space-6) var(--space-6) var(--space-5);
673
+ }
674
+
675
+ .comments-filter {
676
+ display: inline-flex;
677
+ align-items: center;
678
+ gap: var(--space-2);
679
+ height: 26px;
680
+ padding: 0 var(--space-4);
681
+ border: 1px solid var(--line);
682
+ border-radius: var(--radius-full);
683
+ background: none;
684
+ color: var(--ink-2);
685
+ font: inherit;
686
+ font-size: var(--type-md);
687
+ font-weight: var(--weight-medium);
688
+ cursor: pointer;
689
+ }
690
+
691
+ .comments-filter.is-active {
692
+ border-color: transparent;
693
+ background: var(--ink-1);
694
+ color: var(--surface-sunken);
695
+ font-weight: 600;
696
+ }
697
+
698
+ .comments-filter-count {
699
+ color: var(--ink-3);
700
+ font-size: var(--type-sm);
701
+ font-weight: 600;
702
+ }
703
+
704
+ .comments-filter.is-active .comments-filter-count {
705
+ color: color-mix(in srgb, var(--surface-sunken) 65%, transparent);
706
+ }
707
+
708
+ .comments-filter .comments-unread-dot {
709
+ width: 6px;
710
+ height: 6px;
711
+ }
712
+
713
+ .comments-list {
714
+ flex: 1 1 auto;
715
+ min-height: 0;
716
+ overflow-y: auto;
717
+ display: flex;
718
+ flex-direction: column;
719
+ gap: var(--space-1);
720
+ padding: 0 var(--space-4);
721
+ }
722
+
723
+ .comments-empty {
724
+ margin: 0;
725
+ padding: var(--space-7) var(--space-4);
726
+ color: var(--ink-3);
727
+ font-size: var(--type-md);
728
+ line-height: var(--leading-sm);
729
+ }
730
+
731
+ .comments-shot.is-later {
732
+ margin-top: var(--space-3);
733
+ padding-top: var(--space-4);
734
+ border-top: 1px solid var(--line);
735
+ }
736
+
737
+ .comments-shot-head {
738
+ display: flex;
739
+ align-items: baseline;
740
+ gap: var(--space-3);
741
+ padding: var(--space-5) var(--space-4) var(--space-3);
742
+ }
743
+
744
+ .comments-shot-number {
745
+ font-family: var(--font-mono);
746
+ font-size: var(--type-sm);
747
+ color: var(--accent-ink);
748
+ }
749
+
750
+ .comments-shot-name {
751
+ min-width: 0;
752
+ overflow: hidden;
753
+ text-overflow: ellipsis;
754
+ white-space: nowrap;
755
+ color: var(--ink-1);
756
+ font-weight: 600;
757
+ }
758
+
759
+ .comments-shot-open {
760
+ flex: none;
761
+ color: var(--ink-3);
762
+ font-size: var(--type-sm);
763
+ }
764
+
765
+ .comments-frame-head {
766
+ display: flex;
767
+ align-items: center;
768
+ gap: var(--space-4);
769
+ padding: var(--space-1) var(--space-4) var(--space-2);
770
+ font-size: var(--type-sm);
771
+ line-height: var(--leading-xs);
772
+ }
773
+
774
+ .comments-frame-head.is-later {
775
+ padding-top: var(--space-4);
776
+ }
777
+
778
+ .comments-frame-thumb {
779
+ flex: none;
780
+ width: 32px;
781
+ height: 18px;
782
+ border: 1px solid var(--line-strong);
783
+ border-radius: var(--radius-2xs);
784
+ overflow: hidden;
785
+ }
786
+
787
+ .comments-frame-thumb.is-removed {
788
+ border-style: dashed;
789
+ }
790
+
791
+ .comments-frame-label {
792
+ color: var(--ink-2);
793
+ }
794
+
795
+ .comments-frame-removed {
796
+ color: var(--warn);
797
+ font-weight: var(--weight-medium);
798
+ }
799
+
800
+ .comments-frame-was {
801
+ color: var(--ink-3);
802
+ }
803
+
804
+ .comments-thread {
805
+ display: flex;
806
+ gap: var(--space-5);
807
+ width: 100%;
808
+ padding: var(--space-5) var(--space-4);
809
+ border: 0;
810
+ border-radius: var(--radius-tab);
811
+ background: none;
812
+ color: inherit;
813
+ font: inherit;
814
+ text-align: left;
815
+ cursor: pointer;
816
+ }
817
+
818
+ .comments-thread:hover {
819
+ background: var(--fill-hover);
820
+ }
821
+
822
+ .comments-thread.is-active {
823
+ background: var(--surface-secondary);
824
+ }
825
+
826
+ .comments-thread .comment-avatar {
827
+ }
828
+
829
+ .comments-thread-main {
830
+ flex: 1 1 auto;
831
+ min-width: 0;
832
+ display: flex;
833
+ flex-direction: column;
834
+ gap: var(--space-1);
835
+ }
836
+
837
+ .comments-thread-head {
838
+ display: flex;
839
+ align-items: center;
840
+ gap: var(--space-3);
841
+ }
842
+
843
+ .comments-thread-name {
844
+ color: var(--ink-1);
845
+ font-weight: 600;
846
+ }
847
+
848
+ .comments-thread-time,
849
+ .comments-thread-meta {
850
+ color: var(--ink-3);
851
+ font-size: var(--type-sm);
852
+ }
853
+
854
+ .comments-thread-body {
855
+ color: var(--ink-1);
856
+ line-height: var(--leading-sm);
857
+ display: -webkit-box;
858
+ -webkit-line-clamp: 3;
859
+ -webkit-box-orient: vertical;
860
+ overflow: hidden;
861
+ overflow-wrap: anywhere;
862
+ }
863
+
864
+ .comments-thread-meta {
865
+ display: flex;
866
+ align-items: center;
867
+ gap: var(--space-4);
868
+ }
869
+
870
+ .comments-thread-assignee {
871
+ display: inline-flex;
872
+ align-items: center;
873
+ gap: var(--space-2);
874
+ }
875
+
876
+ .comments-thread-assignee .comment-avatar {
877
+ }
878
+
879
+ .comments-thread-orphan {
880
+ color: var(--ink-3);
881
+ font-size: var(--type-sm);
882
+ }
883
+
884
+ .comments-today {
885
+ display: flex;
886
+ flex-direction: column;
887
+ gap: var(--space-3);
888
+ margin-top: var(--space-3);
889
+ padding: var(--space-6) var(--space-4);
890
+ border-top: 1px solid var(--line);
891
+ }
892
+
893
+ .comments-today-label {
894
+ color: var(--ink-3);
895
+ font-size: var(--type-sm);
896
+ font-weight: 600;
897
+ letter-spacing: var(--tracking-caps);
898
+ text-transform: uppercase;
899
+ }
900
+
901
+ .comments-today-row {
902
+ display: flex;
903
+ align-items: center;
904
+ gap: var(--space-4);
905
+ padding: var(--space-1) 0;
906
+ border: 0;
907
+ background: none;
908
+ color: var(--ink-2);
909
+ font: inherit;
910
+ text-align: left;
911
+ cursor: pointer;
912
+ }
913
+
914
+ .comments-today-title {
915
+ flex: 1 1 auto;
916
+ min-width: 0;
917
+ overflow: hidden;
918
+ text-overflow: ellipsis;
919
+ white-space: nowrap;
920
+ }
921
+
922
+ .comments-foot {
923
+ flex: none;
924
+ display: flex;
925
+ padding: var(--space-6);
926
+ border-top: 1px solid var(--line);
927
+ }
928
+
929
+ .comments-agent-all {
930
+ flex: 1 1 auto;
931
+ height: 32px;
932
+ border-radius: var(--radius-tab);
933
+ font-weight: 600;
934
+ }
935
+
936
+ /* The Comments tab's open count. */
937
+ .column-tab-count {
938
+ display: inline-flex;
939
+ align-items: center;
940
+ justify-content: center;
941
+ min-width: 16px;
942
+ height: 16px;
943
+ margin-left: var(--space-3);
944
+ padding: 0 var(--space-2);
945
+ border-radius: var(--radius-full);
946
+ background: var(--accent);
947
+ color: var(--on-accent);
948
+ font-size: var(--type-micro);
949
+ font-weight: 600;
950
+ line-height: var(--leading-none);
951
+ }
952
+
953
+ /* ---- the inbox ----------------------------------------------------------- */
954
+ .inbox-button {
955
+ position: relative;
956
+ flex: none;
957
+ display: inline-flex;
958
+ align-items: center;
959
+ justify-content: center;
960
+ width: 30px;
961
+ height: 30px;
962
+ margin-left: var(--space-2);
963
+ padding: 0;
964
+ border: 0;
965
+ border-radius: var(--radius-tab);
966
+ background: none;
967
+ color: var(--ink-1);
968
+ cursor: pointer;
969
+ }
970
+
971
+ .inbox-button:hover,
972
+ .inbox-button[aria-expanded="true"] {
973
+ background: var(--fill-hover);
974
+ }
975
+
976
+ .inbox-badge {
977
+ position: absolute;
978
+ top: -4px;
979
+ right: -4px;
980
+ min-width: 16px;
981
+ height: 16px;
982
+ padding: 0 var(--space-2);
983
+ border: 2px solid var(--surface-sunken);
984
+ border-radius: var(--radius-full);
985
+ background: var(--accent);
986
+ color: var(--on-accent);
987
+ font-size: var(--type-micro);
988
+ font-weight: 700;
989
+ line-height: var(--leading-none);
990
+ box-sizing: border-box;
991
+ }
992
+
993
+ .inbox {
994
+ display: flex;
995
+ flex-direction: column;
996
+ width: 380px;
997
+ max-height: min(560px, calc(100vh - 80px));
998
+ overflow: hidden;
999
+ background: var(--surface-raised);
1000
+ border: 1px solid var(--line-strong);
1001
+ border-radius: var(--radius-md);
1002
+ box-shadow: var(--shadow-popover);
1003
+ font-size: var(--type-md);
1004
+ line-height: var(--leading-sm);
1005
+ }
1006
+
1007
+ .inbox-head {
1008
+ flex: none;
1009
+ display: flex;
1010
+ align-items: center;
1011
+ gap: var(--space-4);
1012
+ padding: var(--space-6) var(--space-6);
1013
+ border-bottom: 1px solid var(--line);
1014
+ }
1015
+
1016
+ .inbox-title {
1017
+ color: var(--ink-1);
1018
+ font-size: var(--type-lg);
1019
+ font-weight: 600;
1020
+ }
1021
+
1022
+ .inbox-toggle {
1023
+ display: flex;
1024
+ gap: var(--space-1);
1025
+ padding: var(--space-1);
1026
+ border-radius: var(--radius-sm);
1027
+ background: var(--surface-sunken);
1028
+ }
1029
+
1030
+ .inbox-toggle > button {
1031
+ padding: var(--space-1) var(--space-4);
1032
+ border: 0;
1033
+ border-radius: var(--radius-xs);
1034
+ background: none;
1035
+ color: var(--ink-3);
1036
+ font: inherit;
1037
+ font-size: var(--type-sm);
1038
+ font-weight: var(--weight-medium);
1039
+ line-height: var(--leading-xs);
1040
+ cursor: pointer;
1041
+ }
1042
+
1043
+ .inbox-toggle > button[aria-checked="true"] {
1044
+ background: var(--fill-state-soft);
1045
+ color: var(--ink-1);
1046
+ font-weight: 600;
1047
+ }
1048
+
1049
+ .inbox-mark-all {
1050
+ padding: 0;
1051
+ border: 0;
1052
+ background: none;
1053
+ color: var(--accent-ink);
1054
+ font: inherit;
1055
+ font-size: var(--type-sm);
1056
+ font-weight: var(--weight-medium);
1057
+ cursor: pointer;
1058
+ }
1059
+
1060
+ .inbox-mark-all:disabled {
1061
+ color: var(--ink-3);
1062
+ cursor: default;
1063
+ }
1064
+
1065
+ .inbox-list {
1066
+ flex: 1 1 auto;
1067
+ min-height: 0;
1068
+ overflow-y: auto;
1069
+ }
1070
+
1071
+ .inbox-empty {
1072
+ margin: 0;
1073
+ padding: var(--space-7) var(--space-6);
1074
+ color: var(--ink-3);
1075
+ }
1076
+
1077
+ .inbox-item {
1078
+ display: flex;
1079
+ gap: var(--space-5);
1080
+ width: 100%;
1081
+ padding: var(--space-6) var(--space-6);
1082
+ border: 0;
1083
+ border-top: 1px solid var(--line);
1084
+ background: none;
1085
+ color: var(--ink-2);
1086
+ font: inherit;
1087
+ text-align: left;
1088
+ cursor: pointer;
1089
+ }
1090
+
1091
+ .inbox-item:first-child {
1092
+ border-top: 0;
1093
+ }
1094
+
1095
+ .inbox-item.is-unread {
1096
+ background: var(--fill-rest);
1097
+ }
1098
+
1099
+ .inbox-item:hover {
1100
+ background: var(--fill-hover);
1101
+ }
1102
+
1103
+ .inbox-item .comment-avatar.is-tailed {
1104
+ border-bottom-left-radius: var(--radius-xs);
1105
+ }
1106
+
1107
+ .inbox-agent {
1108
+ flex: none;
1109
+ display: inline-flex;
1110
+ align-items: center;
1111
+ justify-content: center;
1112
+ width: 26px;
1113
+ height: 26px;
1114
+ border-radius: var(--radius-full);
1115
+ background: var(--accent-soft);
1116
+ }
1117
+
1118
+ .inbox-item-main {
1119
+ flex: 1 1 auto;
1120
+ min-width: 0;
1121
+ display: flex;
1122
+ flex-direction: column;
1123
+ gap: var(--space-2);
1124
+ }
1125
+
1126
+ .inbox-item-title {
1127
+ color: var(--ink-2);
1128
+ }
1129
+
1130
+ .inbox-item.is-unread .inbox-item-title {
1131
+ color: var(--ink-1);
1132
+ }
1133
+
1134
+ .inbox-item-quote {
1135
+ color: var(--ink-2);
1136
+ display: -webkit-box;
1137
+ -webkit-line-clamp: 2;
1138
+ -webkit-box-orient: vertical;
1139
+ overflow: hidden;
1140
+ }
1141
+
1142
+ .inbox-item-where,
1143
+ .inbox-item-time {
1144
+ color: var(--ink-3);
1145
+ font-size: var(--type-sm);
1146
+ }
1147
+
1148
+ .inbox-item-side {
1149
+ flex: none;
1150
+ display: flex;
1151
+ flex-direction: column;
1152
+ align-items: flex-end;
1153
+ gap: var(--space-3);
1154
+ }
1155
+
1156
+ .inbox-foot {
1157
+ flex: none;
1158
+ padding: var(--space-5) var(--space-6);
1159
+ border-top: 1px solid var(--line);
1160
+ color: var(--ink-3);
1161
+ font-size: var(--type-sm);
1162
+ }
1163
+
1164
+ /* ---- the strip and the scrubber ------------------------------------------ */
1165
+ .story-comment-count {
1166
+ flex: none;
1167
+ display: inline-flex;
1168
+ align-items: center;
1169
+ gap: var(--space-1);
1170
+ height: 14px;
1171
+ margin-left: var(--space-2);
1172
+ padding: 0 var(--space-2);
1173
+ border-radius: var(--radius-full);
1174
+ background: var(--accent-soft);
1175
+ color: var(--accent-ink);
1176
+ font-size: var(--type-micro);
1177
+ font-weight: 700;
1178
+ line-height: var(--leading-none);
1179
+ }
1180
+
1181
+ .story-still-comments {
1182
+ position: absolute;
1183
+ /* 3px in from the picture's bottom right: STRIP_STILL is 52px tall. */
1184
+ top: calc(52px - 3px - 13px);
1185
+ right: 3px;
1186
+ display: inline-flex;
1187
+ align-items: center;
1188
+ gap: var(--space-1);
1189
+ height: 13px;
1190
+ padding: 0 var(--space-2);
1191
+ border: 0;
1192
+ border-radius: var(--radius-full);
1193
+ background: var(--surface-secondary);
1194
+ color: var(--ink-1);
1195
+ font: inherit;
1196
+ font-size: var(--type-micro);
1197
+ font-weight: 700;
1198
+ line-height: var(--leading-none);
1199
+ cursor: pointer;
1200
+ }
1201
+
1202
+ .story-still-comments.is-unread {
1203
+ background: var(--accent);
1204
+ color: var(--on-accent);
1205
+ }
1206
+
1207
+ .frame-scrubber-comments {
1208
+ position: absolute;
1209
+ left: 50%;
1210
+ bottom: calc(100% + 3px);
1211
+ width: 6px;
1212
+ height: 6px;
1213
+ translate: -50% 0;
1214
+ border-radius: var(--radius-full);
1215
+ background: var(--ink-3);
1216
+ pointer-events: none;
1217
+ }
1218
+
1219
+ .frame-scrubber-comments.is-unread {
1220
+ background: var(--accent);
1221
+ }
1222
+
1223
+ /* ---- the Viewer's chrome (page 21) --------------------------------------- */
1224
+ .view-only-pill {
1225
+ flex: none;
1226
+ display: inline-flex;
1227
+ align-items: center;
1228
+ gap: var(--space-3);
1229
+ margin-left: var(--space-3);
1230
+ padding: var(--space-2) var(--space-5) var(--space-2) var(--space-4);
1231
+ border: 1px solid var(--line);
1232
+ border-radius: var(--radius-full);
1233
+ background: var(--surface-panel);
1234
+ color: var(--ink-2);
1235
+ font-size: var(--type-md);
1236
+ font-weight: var(--weight-medium);
1237
+ line-height: var(--leading-xs);
1238
+ white-space: nowrap;
1239
+ }
1240
+
1241
+ .view-only-pill svg {
1242
+ color: var(--ink-3);
1243
+ }
1244
+
1245
+ /* ── comments in two places (S5) ─────────────────────────────────────────── */
1246
+
1247
+ /* The place bar: which place's threads the list holds. */
1248
+ .comments-place-bar {
1249
+ flex: none;
1250
+ display: flex;
1251
+ align-items: center;
1252
+ gap: var(--space-3);
1253
+ height: var(--panel-head-h);
1254
+ padding-inline: var(--space-6);
1255
+ background: var(--surface-panel);
1256
+ border-bottom: 1px solid var(--line);
1257
+ }
1258
+ .comments-place-title {
1259
+ flex: none;
1260
+ color: var(--ink-1);
1261
+ font-size: var(--type-lg);
1262
+ line-height: var(--leading-xs);
1263
+ font-weight: 600;
1264
+ }
1265
+ .comments-place-sub {
1266
+ /* The first to give way: it is the place's gloss, the chip its facts. */
1267
+ flex: 0 10 auto;
1268
+ min-width: 0;
1269
+ overflow: hidden;
1270
+ text-overflow: ellipsis;
1271
+ white-space: nowrap;
1272
+ color: var(--ink-3);
1273
+ font: 11px/14px var(--font-mono);
1274
+ }
1275
+ .comments-place-chip {
1276
+ /* It shrinks with the column, the shot's name giving way and the open
1277
+ count never: a long name used to push the whole panel sideways. */
1278
+ flex: 0 1 auto;
1279
+ min-width: 0;
1280
+ display: inline-flex;
1281
+ align-items: center;
1282
+ gap: var(--space-2);
1283
+ height: 24px;
1284
+ padding-inline: var(--space-4);
1285
+ border-radius: var(--radius-sm);
1286
+ background: var(--surface-secondary);
1287
+ color: var(--ink-2);
1288
+ font-size: var(--type-md);
1289
+ line-height: var(--leading-xs);
1290
+ white-space: nowrap;
1291
+ }
1292
+
1293
+ .comments-place-chip-name {
1294
+ min-width: 0;
1295
+ overflow: hidden;
1296
+ text-overflow: ellipsis;
1297
+ }
1298
+ .comments-place-chip-count {
1299
+ flex: none;
1300
+ }
1301
+
1302
+ /* A card's open counts: its own threads, then the Studio's about it. */
1303
+ .card-comment-counts {
1304
+ display: inline-flex;
1305
+ align-items: center;
1306
+ gap: var(--space-3);
1307
+ }
1308
+ .card-comment-chip {
1309
+ padding: var(--space-1) var(--space-4);
1310
+ border-radius: var(--radius-md);
1311
+ font-size: var(--type-sm);
1312
+ line-height: var(--leading-xs);
1313
+ white-space: nowrap;
1314
+ }
1315
+ .card-comment-chip.is-board {
1316
+ background: var(--surface-secondary);
1317
+ color: var(--ink-2);
1318
+ }
1319
+ .card-comment-chip.is-studio {
1320
+ background: var(--accent-quiet);
1321
+ color: var(--accent-ink);
1322
+ }
1323
+ .comments-card-label {
1324
+ min-width: 0;
1325
+ overflow: hidden;
1326
+ text-overflow: ellipsis;
1327
+ white-space: nowrap;
1328
+ font-size: var(--type-md);
1329
+ font-weight: 500;
1330
+ }
1331
+
1332
+ /* A Studio row's lead line: the pin's number, the moment, the layer. */
1333
+ .comments-thread-where {
1334
+ display: flex;
1335
+ align-items: center;
1336
+ gap: var(--space-3);
1337
+ min-width: 0;
1338
+ margin-bottom: var(--space-1);
1339
+ }
1340
+ .comments-studio-pin {
1341
+ flex: none;
1342
+ display: inline-grid;
1343
+ place-items: center;
1344
+ width: 16px;
1345
+ height: 16px;
1346
+ border-radius: var(--radius-tab) var(--radius-tab) var(--radius-tab) var(--radius-2xs);
1347
+ background: var(--accent);
1348
+ color: var(--on-accent);
1349
+ font-size: var(--type-micro);
1350
+ line-height: var(--leading-none);
1351
+ font-weight: 600;
1352
+ }
1353
+ .comments-studio-time,
1354
+ .comment-thread-time,
1355
+ .comment-note-time {
1356
+ flex: none;
1357
+ color: var(--accent-ink);
1358
+ font: 11px/16px Consolas, var(--font-mono);
1359
+ }
1360
+ .comments-thread-where-text {
1361
+ min-width: 0;
1362
+ overflow: hidden;
1363
+ text-overflow: ellipsis;
1364
+ white-space: nowrap;
1365
+ color: var(--ink-2);
1366
+ font-size: var(--type-md);
1367
+ font-weight: 500;
1368
+ }
1369
+
1370
+ /* A thread's head: "On card · 02 Cards gather", or the Studio's
1371
+ "00:01.10 · Layer · Card back". */
1372
+ .comment-thread[data-kind="card"] .comment-thread-where,
1373
+ .comment-thread[data-kind="studio"] .comment-thread-where {
1374
+ color: var(--ink-1);
1375
+ font-size: var(--type-md);
1376
+ line-height: var(--leading-xs);
1377
+ font-weight: 500;
1378
+ }
1379
+ .comment-thread-dot {
1380
+ flex: none;
1381
+ color: var(--ink-3);
1382
+ }
1383
+ .comment-thread[data-kind="card"] .comment-thread-resolve,
1384
+ .comment-thread[data-kind="studio"] .comment-thread-resolve {
1385
+ color: var(--ink-3);
1386
+ font-size: var(--type-md);
1387
+ line-height: var(--leading-xs);
1388
+ }
1389
+
1390
+ /* The other place's note about this thread. */
1391
+ .comment-note {
1392
+ display: flex;
1393
+ align-items: center;
1394
+ gap: var(--space-5);
1395
+ margin: var(--space-3) var(--space-5) 0;
1396
+ padding: var(--space-5) var(--space-6);
1397
+ border: 1px solid var(--accent-soft);
1398
+ border-radius: var(--radius-md);
1399
+ background: var(--accent-quiet);
1400
+ }
1401
+ .comment-note-text {
1402
+ flex: 1 1 auto;
1403
+ min-width: 0;
1404
+ overflow: hidden;
1405
+ text-overflow: ellipsis;
1406
+ white-space: nowrap;
1407
+ color: var(--ink-2);
1408
+ font-size: var(--type-md);
1409
+ line-height: var(--leading-xs);
1410
+ }
1411
+ .comment-note-open {
1412
+ flex: none;
1413
+ padding: 0;
1414
+ border: 0;
1415
+ background: none;
1416
+ color: var(--accent);
1417
+ font: inherit;
1418
+ font-size: var(--type-md);
1419
+ line-height: var(--leading-xs);
1420
+ font-weight: 500;
1421
+ cursor: pointer;
1422
+ }
1423
+ .comment-note-open:hover {
1424
+ text-decoration: underline;
1425
+ }
1426
+ .comment-note-open:focus-visible {
1427
+ outline: 2px solid var(--accent);
1428
+ outline-offset: 2px;
1429
+ border-radius: var(--radius-2xs);
1430
+ }
1431
+
1432
+ /* A card or Studio draft above its place's list. */
1433
+ .comments-draft {
1434
+ margin: 0 var(--space-5) var(--space-5);
1435
+ }