@naviedu/room-platform-react 0.0.11 → 0.0.13

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.
package/index.esm.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { Component, createContext, useContext, useState, useRef, useCallback, useEffect, useMemo, useId, forwardRef, useLayoutEffect } from 'react';
3
+ import { Component, useContext, createContext, useState, useRef, useCallback, useEffect, useMemo, useId, forwardRef, useLayoutEffect } from 'react';
4
4
  import { Slot, AlertDialog as AlertDialog$1, Dialog as Dialog$1, Select as Select$1, Tabs as Tabs$1, Tooltip as Tooltip$1 } from 'radix-ui';
5
5
  import { Minimize2, Maximize2, XIcon, ChevronDownIcon, CheckIcon, ChevronUpIcon, Loader2Icon, PhoneOff, Bell, PhoneCall, Hand, VideoOff, ChevronUp, SunDim, Images, ImageUp, Plus, Trash2, Settings, ArrowLeftRight, Monitor, LogOut, Mic, Camera, X, ChevronLeft, ChevronRight, PanelRightOpen, PanelRightClose, Check } from 'lucide-react';
6
- import { toast } from 'sonner';
7
6
  import { RoomEvent, Track, createLocalVideoTrack, Room, DataPacket_Kind } from 'livekit-client';
7
+ import { createPortal } from 'react-dom';
8
+ import { toast, Toaster } from 'sonner';
8
9
  import { VideoTrack, RoomContext, RoomAudioRenderer, StartAudio, useTracks, useRoomContext, TrackToggle } from '@livekit/components-react';
9
10
  import { supportsBackgroundProcessors, BackgroundProcessor } from '@livekit/track-processors';
10
- import { createPortal } from 'react-dom';
11
11
  import { io } from 'socket.io-client';
12
12
 
13
13
  function _assert_this_initialized$2(self) {
@@ -260,16 +260,16 @@ function clsx() {
260
260
  return n;
261
261
  }
262
262
 
263
- function _array_like_to_array$B(arr, len) {
263
+ function _array_like_to_array$C(arr, len) {
264
264
  if (len == null || len > arr.length) len = arr.length;
265
265
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
266
266
  return arr2;
267
267
  }
268
- function _array_with_holes$x(arr) {
268
+ function _array_with_holes$y(arr) {
269
269
  if (Array.isArray(arr)) return arr;
270
270
  }
271
271
  function _array_without_holes$f(arr) {
272
- if (Array.isArray(arr)) return _array_like_to_array$B(arr);
272
+ if (Array.isArray(arr)) return _array_like_to_array$C(arr);
273
273
  }
274
274
  function _define_property$x(obj, key, value) {
275
275
  if (key in obj) {
@@ -287,7 +287,7 @@ function _define_property$x(obj, key, value) {
287
287
  function _iterable_to_array$f(iter) {
288
288
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
289
289
  }
290
- function _iterable_to_array_limit$x(arr, i) {
290
+ function _iterable_to_array_limit$y(arr, i) {
291
291
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
292
292
  if (_i == null) return;
293
293
  var _arr = [];
@@ -311,7 +311,7 @@ function _iterable_to_array_limit$x(arr, i) {
311
311
  }
312
312
  return _arr;
313
313
  }
314
- function _non_iterable_rest$x() {
314
+ function _non_iterable_rest$y() {
315
315
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
316
316
  }
317
317
  function _non_iterable_spread$f() {
@@ -332,19 +332,19 @@ function _object_spread$t(target) {
332
332
  }
333
333
  return target;
334
334
  }
335
- function _sliced_to_array$x(arr, i) {
336
- return _array_with_holes$x(arr) || _iterable_to_array_limit$x(arr, i) || _unsupported_iterable_to_array$B(arr, i) || _non_iterable_rest$x();
335
+ function _sliced_to_array$y(arr, i) {
336
+ return _array_with_holes$y(arr) || _iterable_to_array_limit$y(arr, i) || _unsupported_iterable_to_array$C(arr, i) || _non_iterable_rest$y();
337
337
  }
338
338
  function _to_consumable_array$f(arr) {
339
- return _array_without_holes$f(arr) || _iterable_to_array$f(arr) || _unsupported_iterable_to_array$B(arr) || _non_iterable_spread$f();
339
+ return _array_without_holes$f(arr) || _iterable_to_array$f(arr) || _unsupported_iterable_to_array$C(arr) || _non_iterable_spread$f();
340
340
  }
341
- function _unsupported_iterable_to_array$B(o, minLen) {
341
+ function _unsupported_iterable_to_array$C(o, minLen) {
342
342
  if (!o) return;
343
- if (typeof o === "string") return _array_like_to_array$B(o, minLen);
343
+ if (typeof o === "string") return _array_like_to_array$C(o, minLen);
344
344
  var n = Object.prototype.toString.call(o).slice(8, -1);
345
345
  if (n === "Object" && o.constructor) n = o.constructor.name;
346
346
  if (n === "Map" || n === "Set") return Array.from(n);
347
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$B(o, minLen);
347
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$C(o, minLen);
348
348
  }
349
349
  /**
350
350
  * Concatenates two arrays faster than the array spread operator.
@@ -503,7 +503,7 @@ var processObjectDefinition = function(classDefinition, classPartObject, classGr
503
503
  var entries = Object.entries(classDefinition);
504
504
  var len = entries.length;
505
505
  for(var i = 0; i < len; i++){
506
- var _entries_i = _sliced_to_array$x(entries[i], 2), key = _entries_i[0], value = _entries_i[1];
506
+ var _entries_i = _sliced_to_array$y(entries[i], 2), key = _entries_i[0], value = _entries_i[1];
507
507
  processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
508
508
  }
509
509
  };
@@ -5293,16 +5293,16 @@ function cn() {
5293
5293
  return twMerge(clsx(inputs));
5294
5294
  }
5295
5295
 
5296
- function _array_like_to_array$A(arr, len) {
5296
+ function _array_like_to_array$B(arr, len) {
5297
5297
  if (len == null || len > arr.length) len = arr.length;
5298
5298
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5299
5299
  return arr2;
5300
5300
  }
5301
- function _array_with_holes$w(arr) {
5301
+ function _array_with_holes$x(arr) {
5302
5302
  if (Array.isArray(arr)) return arr;
5303
5303
  }
5304
5304
  function _array_without_holes$e(arr) {
5305
- if (Array.isArray(arr)) return _array_like_to_array$A(arr);
5305
+ if (Array.isArray(arr)) return _array_like_to_array$B(arr);
5306
5306
  }
5307
5307
  function _define_property$w(obj, key, value) {
5308
5308
  if (key in obj) {
@@ -5320,7 +5320,7 @@ function _define_property$w(obj, key, value) {
5320
5320
  function _iterable_to_array$e(iter) {
5321
5321
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
5322
5322
  }
5323
- function _iterable_to_array_limit$w(arr, i) {
5323
+ function _iterable_to_array_limit$x(arr, i) {
5324
5324
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
5325
5325
  if (_i == null) return;
5326
5326
  var _arr = [];
@@ -5344,7 +5344,7 @@ function _iterable_to_array_limit$w(arr, i) {
5344
5344
  }
5345
5345
  return _arr;
5346
5346
  }
5347
- function _non_iterable_rest$w() {
5347
+ function _non_iterable_rest$x() {
5348
5348
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5349
5349
  }
5350
5350
  function _non_iterable_spread$e() {
@@ -5401,19 +5401,19 @@ function _object_without_properties_loose$f(source, excluded) {
5401
5401
  }
5402
5402
  return target;
5403
5403
  }
5404
- function _sliced_to_array$w(arr, i) {
5405
- return _array_with_holes$w(arr) || _iterable_to_array_limit$w(arr, i) || _unsupported_iterable_to_array$A(arr, i) || _non_iterable_rest$w();
5404
+ function _sliced_to_array$x(arr, i) {
5405
+ return _array_with_holes$x(arr) || _iterable_to_array_limit$x(arr, i) || _unsupported_iterable_to_array$B(arr, i) || _non_iterable_rest$x();
5406
5406
  }
5407
5407
  function _to_consumable_array$e(arr) {
5408
- return _array_without_holes$e(arr) || _iterable_to_array$e(arr) || _unsupported_iterable_to_array$A(arr) || _non_iterable_spread$e();
5408
+ return _array_without_holes$e(arr) || _iterable_to_array$e(arr) || _unsupported_iterable_to_array$B(arr) || _non_iterable_spread$e();
5409
5409
  }
5410
- function _unsupported_iterable_to_array$A(o, minLen) {
5410
+ function _unsupported_iterable_to_array$B(o, minLen) {
5411
5411
  if (!o) return;
5412
- if (typeof o === "string") return _array_like_to_array$A(o, minLen);
5412
+ if (typeof o === "string") return _array_like_to_array$B(o, minLen);
5413
5413
  var n = Object.prototype.toString.call(o).slice(8, -1);
5414
5414
  if (n === "Object" && o.constructor) n = o.constructor.name;
5415
5415
  if (n === "Map" || n === "Set") return Array.from(n);
5416
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$A(o, minLen);
5416
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$B(o, minLen);
5417
5417
  }
5418
5418
  var falsyToString = function(value) {
5419
5419
  return typeof value === "boolean" ? "".concat(value) : value === 0 ? "0" : value;
@@ -5432,7 +5432,7 @@ var cva = function(base, config) {
5432
5432
  return variants[variant][variantKey];
5433
5433
  });
5434
5434
  var propsWithoutUndefined = props && Object.entries(props).reduce(function(acc, param) {
5435
- var _param = _sliced_to_array$w(param, 2), key = _param[0], value = _param[1];
5435
+ var _param = _sliced_to_array$x(param, 2), key = _param[0], value = _param[1];
5436
5436
  if (value === undefined) {
5437
5437
  return acc;
5438
5438
  }
@@ -5445,7 +5445,7 @@ var cva = function(base, config) {
5445
5445
  "className"
5446
5446
  ]);
5447
5447
  return Object.entries(compoundVariantOptions).every(function(param) {
5448
- var _param = _sliced_to_array$w(param, 2), key = _param[0], value = _param[1];
5448
+ var _param = _sliced_to_array$x(param, 2), key = _param[0], value = _param[1];
5449
5449
  return Array.isArray(value) ? value.includes(_object_spread$s({}, defaultVariants, propsWithoutUndefined)[key]) : _object_spread$s({}, defaultVariants, propsWithoutUndefined)[key] === value;
5450
5450
  }) ? _to_consumable_array$e(acc).concat([
5451
5451
  cvClass,
@@ -5568,6 +5568,18 @@ function Button(_0) {
5568
5568
  }, props));
5569
5569
  }
5570
5570
 
5571
+ var PortalContainerContext = /*#__PURE__*/ createContext(null);
5572
+ function PortalContainerProvider(param) {
5573
+ var children = param.children, container = param.container;
5574
+ return /*#__PURE__*/ jsx(PortalContainerContext.Provider, {
5575
+ value: container,
5576
+ children: children
5577
+ });
5578
+ }
5579
+ function usePortalContainer() {
5580
+ return useContext(PortalContainerContext);
5581
+ }
5582
+
5571
5583
  function _define_property$u(obj, key, value) {
5572
5584
  if (key in obj) {
5573
5585
  Object.defineProperty(obj, key, {
@@ -5614,6 +5626,25 @@ function _object_spread$q(target) {
5614
5626
  }
5615
5627
  return target;
5616
5628
  }
5629
+ function ownKeys$l(object, enumerableOnly) {
5630
+ var keys = Object.keys(object);
5631
+ if (Object.getOwnPropertySymbols) {
5632
+ var symbols = Object.getOwnPropertySymbols(object);
5633
+ keys.push.apply(keys, symbols);
5634
+ }
5635
+ return keys;
5636
+ }
5637
+ function _object_spread_props$l(target, source) {
5638
+ source = source != null ? source : {};
5639
+ if (Object.getOwnPropertyDescriptors) {
5640
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
5641
+ } else {
5642
+ ownKeys$l(Object(source)).forEach(function(key) {
5643
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
5644
+ });
5645
+ }
5646
+ return target;
5647
+ }
5617
5648
  function _object_without_properties$d(source, excluded) {
5618
5649
  if (source == null) return {};
5619
5650
  var target = {}, sourceKeys, key, i;
@@ -5657,10 +5688,16 @@ function AlertDialog(_0) {
5657
5688
  }, props));
5658
5689
  }
5659
5690
  function AlertDialogPortal(_0) {
5660
- _object_destructuring_empty$3(_0); var props = _extends$3({}, _0);
5661
- return /*#__PURE__*/ jsx(AlertDialog$1.Portal, _object_spread$q({
5691
+ var container = _0.container, props = _object_without_properties$d(_0, [
5692
+ "container"
5693
+ ]);
5694
+ var _ref;
5695
+ var inheritedContainer = usePortalContainer();
5696
+ return /*#__PURE__*/ jsx(AlertDialog$1.Portal, _object_spread_props$l(_object_spread$q({
5662
5697
  "data-slot": "alert-dialog-portal"
5663
- }, props));
5698
+ }, props), {
5699
+ container: (_ref = container !== null && container !== void 0 ? container : inheritedContainer) !== null && _ref !== void 0 ? _ref : undefined
5700
+ }));
5664
5701
  }
5665
5702
  function AlertDialogOverlay(_0) {
5666
5703
  var className = _0.className, props = _object_without_properties$d(_0, [
@@ -5851,12 +5888,12 @@ function Badge(_0) {
5851
5888
  }, props));
5852
5889
  }
5853
5890
 
5854
- function _array_like_to_array$z(arr, len) {
5891
+ function _array_like_to_array$A(arr, len) {
5855
5892
  if (len == null || len > arr.length) len = arr.length;
5856
5893
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5857
5894
  return arr2;
5858
5895
  }
5859
- function _array_with_holes$v(arr) {
5896
+ function _array_with_holes$w(arr) {
5860
5897
  if (Array.isArray(arr)) return arr;
5861
5898
  }
5862
5899
  function _define_property$s(obj, key, value) {
@@ -5886,7 +5923,7 @@ function _extends$2() {
5886
5923
  };
5887
5924
  return _extends$2.apply(this, arguments);
5888
5925
  }
5889
- function _iterable_to_array_limit$v(arr, i) {
5926
+ function _iterable_to_array_limit$w(arr, i) {
5890
5927
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
5891
5928
  if (_i == null) return;
5892
5929
  var _arr = [];
@@ -5910,7 +5947,7 @@ function _iterable_to_array_limit$v(arr, i) {
5910
5947
  }
5911
5948
  return _arr;
5912
5949
  }
5913
- function _non_iterable_rest$v() {
5950
+ function _non_iterable_rest$w() {
5914
5951
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5915
5952
  }
5916
5953
  function _object_destructuring_empty$2(o) {
@@ -5987,16 +6024,16 @@ function _object_without_properties_loose$b(source, excluded) {
5987
6024
  }
5988
6025
  return target;
5989
6026
  }
5990
- function _sliced_to_array$v(arr, i) {
5991
- return _array_with_holes$v(arr) || _iterable_to_array_limit$v(arr, i) || _unsupported_iterable_to_array$z(arr, i) || _non_iterable_rest$v();
6027
+ function _sliced_to_array$w(arr, i) {
6028
+ return _array_with_holes$w(arr) || _iterable_to_array_limit$w(arr, i) || _unsupported_iterable_to_array$A(arr, i) || _non_iterable_rest$w();
5992
6029
  }
5993
- function _unsupported_iterable_to_array$z(o, minLen) {
6030
+ function _unsupported_iterable_to_array$A(o, minLen) {
5994
6031
  if (!o) return;
5995
- if (typeof o === "string") return _array_like_to_array$z(o, minLen);
6032
+ if (typeof o === "string") return _array_like_to_array$A(o, minLen);
5996
6033
  var n = Object.prototype.toString.call(o).slice(8, -1);
5997
6034
  if (n === "Object" && o.constructor) n = o.constructor.name;
5998
6035
  if (n === "Map" || n === "Set") return Array.from(n);
5999
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$z(o, minLen);
6036
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$A(o, minLen);
6000
6037
  }
6001
6038
  function Dialog(_0) {
6002
6039
  _object_destructuring_empty$2(_0); var props = _extends$2({}, _0);
@@ -6005,10 +6042,16 @@ function Dialog(_0) {
6005
6042
  }, props));
6006
6043
  }
6007
6044
  function DialogPortal(_0) {
6008
- _object_destructuring_empty$2(_0); var props = _extends$2({}, _0);
6009
- return /*#__PURE__*/ jsx(Dialog$1.Portal, _object_spread$o({
6045
+ var container = _0.container, props = _object_without_properties$b(_0, [
6046
+ "container"
6047
+ ]);
6048
+ var _ref;
6049
+ var inheritedContainer = usePortalContainer();
6050
+ return /*#__PURE__*/ jsx(Dialog$1.Portal, _object_spread_props$k(_object_spread$o({
6010
6051
  "data-slot": "dialog-portal"
6011
- }, props));
6052
+ }, props), {
6053
+ container: (_ref = container !== null && container !== void 0 ? container : inheritedContainer) !== null && _ref !== void 0 ? _ref : undefined
6054
+ }));
6012
6055
  }
6013
6056
  function DialogOverlay(_0) {
6014
6057
  var className = _0.className, props = _object_without_properties$b(_0, [
@@ -6026,7 +6069,7 @@ function DialogContent(_0) {
6026
6069
  "showCloseButton",
6027
6070
  "maximizable"
6028
6071
  ]);
6029
- var _React_useState = _sliced_to_array$v(React.useState(false), 2), isMaximized = _React_useState[0], setIsMaximized = _React_useState[1];
6072
+ var _React_useState = _sliced_to_array$w(React.useState(false), 2), isMaximized = _React_useState[0], setIsMaximized = _React_useState[1];
6030
6073
  return /*#__PURE__*/ jsxs(DialogPortal, {
6031
6074
  children: [
6032
6075
  /*#__PURE__*/ jsx(DialogOverlay, {}),
@@ -6255,13 +6298,17 @@ function SelectTrigger(_0) {
6255
6298
  }));
6256
6299
  }
6257
6300
  function SelectContent(_0) {
6258
- var className = _0.className, children = _0.children, _0_position = _0.position, position = _0_position === void 0 ? 'item-aligned' : _0_position, _0_align = _0.align, align = _0_align === void 0 ? 'center' : _0_align, props = _object_without_properties$a(_0, [
6301
+ var className = _0.className, children = _0.children, _0_position = _0.position, position = _0_position === void 0 ? 'item-aligned' : _0_position, _0_align = _0.align, align = _0_align === void 0 ? 'center' : _0_align, container = _0.container, props = _object_without_properties$a(_0, [
6259
6302
  "className",
6260
6303
  "children",
6261
6304
  "position",
6262
- "align"
6305
+ "align",
6306
+ "container"
6263
6307
  ]);
6308
+ var _ref;
6309
+ var inheritedContainer = usePortalContainer();
6264
6310
  return /*#__PURE__*/ jsx(Select$1.Portal, {
6311
+ container: (_ref = container !== null && container !== void 0 ? container : inheritedContainer) !== null && _ref !== void 0 ? _ref : undefined,
6265
6312
  children: /*#__PURE__*/ jsxs(Select$1.Content, _object_spread_props$j(_object_spread$n({
6266
6313
  "data-slot": "select-content",
6267
6314
  "data-align-trigger": position === 'item-aligned',
@@ -6646,12 +6693,16 @@ function TooltipTrigger(_0) {
6646
6693
  }, props));
6647
6694
  }
6648
6695
  function TooltipContent(_0) {
6649
- var className = _0.className, _0_sideOffset = _0.sideOffset, sideOffset = _0_sideOffset === void 0 ? 4 : _0_sideOffset, children = _0.children, props = _object_without_properties$7(_0, [
6696
+ var className = _0.className, _0_sideOffset = _0.sideOffset, sideOffset = _0_sideOffset === void 0 ? 4 : _0_sideOffset, children = _0.children, container = _0.container, props = _object_without_properties$7(_0, [
6650
6697
  "className",
6651
6698
  "sideOffset",
6652
- "children"
6699
+ "children",
6700
+ "container"
6653
6701
  ]);
6702
+ var _ref;
6703
+ var inheritedContainer = usePortalContainer();
6654
6704
  return /*#__PURE__*/ jsx(Tooltip$1.Portal, {
6705
+ container: (_ref = container !== null && container !== void 0 ? container : inheritedContainer) !== null && _ref !== void 0 ? _ref : undefined,
6655
6706
  children: /*#__PURE__*/ jsxs(Tooltip$1.Content, _object_spread_props$i(_object_spread$k({
6656
6707
  "data-slot": "tooltip-content",
6657
6708
  sideOffset: sideOffset,
@@ -6742,16 +6793,16 @@ var RoomPlatformRuntimeErrorCode = {
6742
6793
  LIVEKIT_TOKEN_EXPIRED: 'LIVEKIT_TOKEN_EXPIRED'
6743
6794
  };
6744
6795
 
6745
- function _array_like_to_array$y(arr, len) {
6796
+ function _array_like_to_array$z(arr, len) {
6746
6797
  if (len == null || len > arr.length) len = arr.length;
6747
6798
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
6748
6799
  return arr2;
6749
6800
  }
6750
- function _array_with_holes$u(arr) {
6801
+ function _array_with_holes$v(arr) {
6751
6802
  if (Array.isArray(arr)) return arr;
6752
6803
  }
6753
6804
  function _array_without_holes$d(arr) {
6754
- if (Array.isArray(arr)) return _array_like_to_array$y(arr);
6805
+ if (Array.isArray(arr)) return _array_like_to_array$z(arr);
6755
6806
  }
6756
6807
  function _assert_this_initialized$1(self) {
6757
6808
  if (self === void 0) {
@@ -6859,7 +6910,7 @@ function _is_native_function$1(fn) {
6859
6910
  function _iterable_to_array$d(iter) {
6860
6911
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
6861
6912
  }
6862
- function _iterable_to_array_limit$u(arr, i) {
6913
+ function _iterable_to_array_limit$v(arr, i) {
6863
6914
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
6864
6915
  if (_i == null) return;
6865
6916
  var _arr = [];
@@ -6883,7 +6934,7 @@ function _iterable_to_array_limit$u(arr, i) {
6883
6934
  }
6884
6935
  return _arr;
6885
6936
  }
6886
- function _non_iterable_rest$u() {
6937
+ function _non_iterable_rest$v() {
6887
6938
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6888
6939
  }
6889
6940
  function _non_iterable_spread$d() {
@@ -6936,23 +6987,23 @@ function _set_prototype_of$1(o, p) {
6936
6987
  };
6937
6988
  return _set_prototype_of$1(o, p);
6938
6989
  }
6939
- function _sliced_to_array$u(arr, i) {
6940
- return _array_with_holes$u(arr) || _iterable_to_array_limit$u(arr, i) || _unsupported_iterable_to_array$y(arr, i) || _non_iterable_rest$u();
6990
+ function _sliced_to_array$v(arr, i) {
6991
+ return _array_with_holes$v(arr) || _iterable_to_array_limit$v(arr, i) || _unsupported_iterable_to_array$z(arr, i) || _non_iterable_rest$v();
6941
6992
  }
6942
6993
  function _to_consumable_array$d(arr) {
6943
- return _array_without_holes$d(arr) || _iterable_to_array$d(arr) || _unsupported_iterable_to_array$y(arr) || _non_iterable_spread$d();
6994
+ return _array_without_holes$d(arr) || _iterable_to_array$d(arr) || _unsupported_iterable_to_array$z(arr) || _non_iterable_spread$d();
6944
6995
  }
6945
6996
  function _type_of$a(obj) {
6946
6997
  "@swc/helpers - typeof";
6947
6998
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
6948
6999
  }
6949
- function _unsupported_iterable_to_array$y(o, minLen) {
7000
+ function _unsupported_iterable_to_array$z(o, minLen) {
6950
7001
  if (!o) return;
6951
- if (typeof o === "string") return _array_like_to_array$y(o, minLen);
7002
+ if (typeof o === "string") return _array_like_to_array$z(o, minLen);
6952
7003
  var n = Object.prototype.toString.call(o).slice(8, -1);
6953
7004
  if (n === "Object" && o.constructor) n = o.constructor.name;
6954
7005
  if (n === "Map" || n === "Set") return Array.from(n);
6955
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$y(o, minLen);
7006
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$z(o, minLen);
6956
7007
  }
6957
7008
  function _wrap_native_super$1(Class) {
6958
7009
  var _cache = typeof Map === "function" ? new Map() : undefined;
@@ -7126,7 +7177,7 @@ var createIdempotencyKey$1 = function() {
7126
7177
  var actionPendingKey = function(name, payload) {
7127
7178
  if (!payload) return name;
7128
7179
  return "".concat(name, ":").concat(JSON.stringify(Object.entries(payload).sort(function(param, param1) {
7129
- var _param = _sliced_to_array$u(param, 1), left = _param[0], _param1 = _sliced_to_array$u(param1, 1), right = _param1[0];
7180
+ var _param = _sliced_to_array$v(param, 1), left = _param[0], _param1 = _sliced_to_array$v(param1, 1), right = _param1[0];
7130
7181
  return left.localeCompare(right);
7131
7182
  })));
7132
7183
  };
@@ -7231,21 +7282,21 @@ var activeDevicesStateOf = function(room) {
7231
7282
  };
7232
7283
  function RoomPlatformProvider(param) {
7233
7284
  var apiBaseUrl = param.apiBaseUrl, children = param.children, launchToken = param.launchToken, onError = param.onError, onLifecycleEvent = param.onLifecycleEvent, onLaunchTicketRequired = param.onLaunchTicketRequired;
7234
- var _useState = _sliced_to_array$u(useState(), 2), access = _useState[0], setAccess = _useState[1];
7235
- var _useState1 = _sliced_to_array$u(useState(emptyActiveDevices), 2), activeDevices = _useState1[0], setActiveDevices = _useState1[1];
7236
- var _useState2 = _sliced_to_array$u(useState(), 2), actionError = _useState2[0], setActionError = _useState2[1];
7237
- var _useState3 = _sliced_to_array$u(useState(), 2), controlState = _useState3[0], setControlState = _useState3[1];
7238
- var _useState4 = _sliced_to_array$u(useState(), 2), error = _useState4[0], setError = _useState4[1];
7239
- var _useState5 = _sliced_to_array$u(useState(null), 2), localCameraTrack = _useState5[0], setLocalCameraTrack = _useState5[1];
7240
- var _useState6 = _sliced_to_array$u(useState(null), 2), localPreviewTrack = _useState6[0], setLocalPreviewTrack = _useState6[1];
7241
- var _useState7 = _sliced_to_array$u(useState(emptyLocalMediaState), 2), localMedia = _useState7[0], setLocalMedia = _useState7[1];
7242
- var _useState8 = _sliced_to_array$u(useState(), 2), privateRoom = _useState8[0], setPrivateRoom = _useState8[1];
7243
- var _useState9 = _sliced_to_array$u(useState(), 2), privateRoomConnection = _useState9[0], setPrivateRoomConnection = _useState9[1];
7244
- var _useState10 = _sliced_to_array$u(useState(false), 2), privateMediaRestorePending = _useState10[0], setPrivateMediaRestorePending = _useState10[1];
7245
- var _useState11 = _sliced_to_array$u(useState([]), 2), pendingActionKeys = _useState11[0], setPendingActionKeys = _useState11[1];
7246
- var _useState12 = _sliced_to_array$u(useState([]), 2), pendingLocalMediaKinds = _useState12[0], setPendingLocalMediaKinds = _useState12[1];
7247
- var _useState13 = _sliced_to_array$u(useState(null), 2), room = _useState13[0], setRoom = _useState13[1];
7248
- var _useState14 = _sliced_to_array$u(useState('connecting'), 2), status = _useState14[0], setStatus = _useState14[1];
7285
+ var _useState = _sliced_to_array$v(useState(), 2), access = _useState[0], setAccess = _useState[1];
7286
+ var _useState1 = _sliced_to_array$v(useState(emptyActiveDevices), 2), activeDevices = _useState1[0], setActiveDevices = _useState1[1];
7287
+ var _useState2 = _sliced_to_array$v(useState(), 2), actionError = _useState2[0], setActionError = _useState2[1];
7288
+ var _useState3 = _sliced_to_array$v(useState(), 2), controlState = _useState3[0], setControlState = _useState3[1];
7289
+ var _useState4 = _sliced_to_array$v(useState(), 2), error = _useState4[0], setError = _useState4[1];
7290
+ var _useState5 = _sliced_to_array$v(useState(null), 2), localCameraTrack = _useState5[0], setLocalCameraTrack = _useState5[1];
7291
+ var _useState6 = _sliced_to_array$v(useState(null), 2), localPreviewTrack = _useState6[0], setLocalPreviewTrack = _useState6[1];
7292
+ var _useState7 = _sliced_to_array$v(useState(emptyLocalMediaState), 2), localMedia = _useState7[0], setLocalMedia = _useState7[1];
7293
+ var _useState8 = _sliced_to_array$v(useState(), 2), privateRoom = _useState8[0], setPrivateRoom = _useState8[1];
7294
+ var _useState9 = _sliced_to_array$v(useState(), 2), privateRoomConnection = _useState9[0], setPrivateRoomConnection = _useState9[1];
7295
+ var _useState10 = _sliced_to_array$v(useState(false), 2), privateMediaRestorePending = _useState10[0], setPrivateMediaRestorePending = _useState10[1];
7296
+ var _useState11 = _sliced_to_array$v(useState([]), 2), pendingActionKeys = _useState11[0], setPendingActionKeys = _useState11[1];
7297
+ var _useState12 = _sliced_to_array$v(useState([]), 2), pendingLocalMediaKinds = _useState12[0], setPendingLocalMediaKinds = _useState12[1];
7298
+ var _useState13 = _sliced_to_array$v(useState(null), 2), room = _useState13[0], setRoom = _useState13[1];
7299
+ var _useState14 = _sliced_to_array$v(useState('connecting'), 2), status = _useState14[0], setStatus = _useState14[1];
7249
7300
  var isMountedRef = useRef(false);
7250
7301
  var accessRef = useRef(undefined);
7251
7302
  var controlStateRef = useRef(undefined);
@@ -8652,12 +8703,46 @@ function useRoomPlatform() {
8652
8703
  return context;
8653
8704
  }
8654
8705
 
8655
- function _array_like_to_array$x(arr, len) {
8706
+ var RoomPlatformToastContext = /*#__PURE__*/ createContext({
8707
+ error: function(message) {
8708
+ return toast.error(message);
8709
+ }
8710
+ });
8711
+ function RoomPlatformToastProvider(param) {
8712
+ var children = param.children;
8713
+ var portalContainer = usePortalContainer();
8714
+ var toasterId = useId();
8715
+ var roomPlatformToast = useMemo(function() {
8716
+ return {
8717
+ error: function(message) {
8718
+ return toast.error(message, {
8719
+ toasterId: toasterId
8720
+ });
8721
+ }
8722
+ };
8723
+ }, [
8724
+ toasterId
8725
+ ]);
8726
+ return /*#__PURE__*/ jsxs(RoomPlatformToastContext.Provider, {
8727
+ value: roomPlatformToast,
8728
+ children: [
8729
+ children,
8730
+ portalContainer ? /*#__PURE__*/ createPortal(/*#__PURE__*/ jsx(Toaster, {
8731
+ id: toasterId
8732
+ }), portalContainer) : null
8733
+ ]
8734
+ });
8735
+ }
8736
+ function useRoomPlatformToast() {
8737
+ return useContext(RoomPlatformToastContext);
8738
+ }
8739
+
8740
+ function _array_like_to_array$y(arr, len) {
8656
8741
  if (len == null || len > arr.length) len = arr.length;
8657
8742
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
8658
8743
  return arr2;
8659
8744
  }
8660
- function _array_with_holes$t(arr) {
8745
+ function _array_with_holes$u(arr) {
8661
8746
  if (Array.isArray(arr)) return arr;
8662
8747
  }
8663
8748
  function asyncGeneratorStep$l(gen, resolve, reject, _next, _throw, key, arg) {
@@ -8689,7 +8774,7 @@ function _async_to_generator$l(fn) {
8689
8774
  });
8690
8775
  };
8691
8776
  }
8692
- function _iterable_to_array_limit$t(arr, i) {
8777
+ function _iterable_to_array_limit$u(arr, i) {
8693
8778
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
8694
8779
  if (_i == null) return;
8695
8780
  var _arr = [];
@@ -8713,19 +8798,19 @@ function _iterable_to_array_limit$t(arr, i) {
8713
8798
  }
8714
8799
  return _arr;
8715
8800
  }
8716
- function _non_iterable_rest$t() {
8801
+ function _non_iterable_rest$u() {
8717
8802
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
8718
8803
  }
8719
- function _sliced_to_array$t(arr, i) {
8720
- return _array_with_holes$t(arr) || _iterable_to_array_limit$t(arr, i) || _unsupported_iterable_to_array$x(arr, i) || _non_iterable_rest$t();
8804
+ function _sliced_to_array$u(arr, i) {
8805
+ return _array_with_holes$u(arr) || _iterable_to_array_limit$u(arr, i) || _unsupported_iterable_to_array$y(arr, i) || _non_iterable_rest$u();
8721
8806
  }
8722
- function _unsupported_iterable_to_array$x(o, minLen) {
8807
+ function _unsupported_iterable_to_array$y(o, minLen) {
8723
8808
  if (!o) return;
8724
- if (typeof o === "string") return _array_like_to_array$x(o, minLen);
8809
+ if (typeof o === "string") return _array_like_to_array$y(o, minLen);
8725
8810
  var n = Object.prototype.toString.call(o).slice(8, -1);
8726
8811
  if (n === "Object" && o.constructor) n = o.constructor.name;
8727
8812
  if (n === "Map" || n === "Set") return Array.from(n);
8728
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$x(o, minLen);
8813
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$y(o, minLen);
8729
8814
  }
8730
8815
  function _ts_generator$l(thisArg, body) {
8731
8816
  var f, y, t, _ = {
@@ -8880,9 +8965,9 @@ function useRoomPlatformPrivateRoom() {
8880
8965
  var _useRoomPlatformPrivateRoomContext = useRoomPlatformPrivateRoomContext(), projectedPrivateRoom = _useRoomPlatformPrivateRoomContext.privateRoom, projectedPrivateRoomConnection = _useRoomPlatformPrivateRoomContext.privateRoomConnection;
8881
8966
  var privateRoom = isValidPrivateRoomProjection(projectedPrivateRoom) ? projectedPrivateRoom : undefined;
8882
8967
  var privateRoomConnection = privateRoom && isValidPrivateRoomConnection(projectedPrivateRoomConnection, privateRoom) ? projectedPrivateRoomConnection : undefined;
8883
- var _useState = _sliced_to_array$t(useState(false), 2), isAcceptingPrivateRoom = _useState[0], setIsAcceptingPrivateRoom = _useState[1];
8884
- var _useState1 = _sliced_to_array$t(useState(false), 2), isEndingPrivateRoom = _useState1[0], setIsEndingPrivateRoom = _useState1[1];
8885
- var _useState2 = _sliced_to_array$t(useState(), 2), privateRoomReturnedNoticeId = _useState2[0], setPrivateRoomReturnedNoticeId = _useState2[1];
8968
+ var _useState = _sliced_to_array$u(useState(false), 2), isAcceptingPrivateRoom = _useState[0], setIsAcceptingPrivateRoom = _useState[1];
8969
+ var _useState1 = _sliced_to_array$u(useState(false), 2), isEndingPrivateRoom = _useState1[0], setIsEndingPrivateRoom = _useState1[1];
8970
+ var _useState2 = _sliced_to_array$u(useState(), 2), privateRoomReturnedNoticeId = _useState2[0], setPrivateRoomReturnedNoticeId = _useState2[1];
8886
8971
  var actorExternalId = externalActorIdFromMetadata$1(room === null || room === void 0 ? void 0 : room.localParticipant.metadata);
8887
8972
  var isCaller = Boolean(actorExternalId && (privateRoom === null || privateRoom === void 0 ? void 0 : privateRoom.callerExternalActorId) === actorExternalId);
8888
8973
  var isStudent = Boolean(actorExternalId && (privateRoom === null || privateRoom === void 0 ? void 0 : privateRoom.studentExternalActorId) === actorExternalId);
@@ -9133,21 +9218,21 @@ function useRoomPlatformPrivateRoomPendingState() {
9133
9218
  };
9134
9219
  }
9135
9220
 
9136
- function _array_like_to_array$w(arr, len) {
9221
+ function _array_like_to_array$x(arr, len) {
9137
9222
  if (len == null || len > arr.length) len = arr.length;
9138
9223
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9139
9224
  return arr2;
9140
9225
  }
9141
- function _array_with_holes$s(arr) {
9226
+ function _array_with_holes$t(arr) {
9142
9227
  if (Array.isArray(arr)) return arr;
9143
9228
  }
9144
9229
  function _array_without_holes$c(arr) {
9145
- if (Array.isArray(arr)) return _array_like_to_array$w(arr);
9230
+ if (Array.isArray(arr)) return _array_like_to_array$x(arr);
9146
9231
  }
9147
9232
  function _iterable_to_array$c(iter) {
9148
9233
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
9149
9234
  }
9150
- function _iterable_to_array_limit$s(arr, i) {
9235
+ function _iterable_to_array_limit$t(arr, i) {
9151
9236
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
9152
9237
  if (_i == null) return;
9153
9238
  var _arr = [];
@@ -9171,29 +9256,29 @@ function _iterable_to_array_limit$s(arr, i) {
9171
9256
  }
9172
9257
  return _arr;
9173
9258
  }
9174
- function _non_iterable_rest$s() {
9259
+ function _non_iterable_rest$t() {
9175
9260
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9176
9261
  }
9177
9262
  function _non_iterable_spread$c() {
9178
9263
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9179
9264
  }
9180
- function _sliced_to_array$s(arr, i) {
9181
- return _array_with_holes$s(arr) || _iterable_to_array_limit$s(arr, i) || _unsupported_iterable_to_array$w(arr, i) || _non_iterable_rest$s();
9265
+ function _sliced_to_array$t(arr, i) {
9266
+ return _array_with_holes$t(arr) || _iterable_to_array_limit$t(arr, i) || _unsupported_iterable_to_array$x(arr, i) || _non_iterable_rest$t();
9182
9267
  }
9183
9268
  function _to_consumable_array$c(arr) {
9184
- return _array_without_holes$c(arr) || _iterable_to_array$c(arr) || _unsupported_iterable_to_array$w(arr) || _non_iterable_spread$c();
9269
+ return _array_without_holes$c(arr) || _iterable_to_array$c(arr) || _unsupported_iterable_to_array$x(arr) || _non_iterable_spread$c();
9185
9270
  }
9186
9271
  function _type_of$9(obj) {
9187
9272
  "@swc/helpers - typeof";
9188
9273
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
9189
9274
  }
9190
- function _unsupported_iterable_to_array$w(o, minLen) {
9275
+ function _unsupported_iterable_to_array$x(o, minLen) {
9191
9276
  if (!o) return;
9192
- if (typeof o === "string") return _array_like_to_array$w(o, minLen);
9277
+ if (typeof o === "string") return _array_like_to_array$x(o, minLen);
9193
9278
  var n = Object.prototype.toString.call(o).slice(8, -1);
9194
9279
  if (n === "Object" && o.constructor) n = o.constructor.name;
9195
9280
  if (n === "Map" || n === "Set") return Array.from(n);
9196
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$w(o, minLen);
9281
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$x(o, minLen);
9197
9282
  }
9198
9283
  var externalActorIdFromMetadata = function(metadata) {
9199
9284
  if (!metadata) return undefined;
@@ -9241,7 +9326,7 @@ var snapshotPresence = function(room, controlState) {
9241
9326
  };
9242
9327
  function useRoomPresence() {
9243
9328
  var _useRoomPlatform = useRoomPlatform(), controlState = _useRoomPlatform.controlState, room = _useRoomPlatform.room;
9244
- var _useState = _sliced_to_array$s(useState(function() {
9329
+ var _useState = _sliced_to_array$t(useState(function() {
9245
9330
  return snapshotPresence(room, controlState);
9246
9331
  }), 2), presence = _useState[0], setPresence = _useState[1];
9247
9332
  useEffect(function() {
@@ -9282,15 +9367,15 @@ function useRoomPresence() {
9282
9367
  return presence;
9283
9368
  }
9284
9369
 
9285
- function _array_like_to_array$v(arr, len) {
9370
+ function _array_like_to_array$w(arr, len) {
9286
9371
  if (len == null || len > arr.length) len = arr.length;
9287
9372
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9288
9373
  return arr2;
9289
9374
  }
9290
- function _array_with_holes$r(arr) {
9375
+ function _array_with_holes$s(arr) {
9291
9376
  if (Array.isArray(arr)) return arr;
9292
9377
  }
9293
- function _iterable_to_array_limit$r(arr, i) {
9378
+ function _iterable_to_array_limit$s(arr, i) {
9294
9379
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
9295
9380
  if (_i == null) return;
9296
9381
  var _arr = [];
@@ -9314,19 +9399,19 @@ function _iterable_to_array_limit$r(arr, i) {
9314
9399
  }
9315
9400
  return _arr;
9316
9401
  }
9317
- function _non_iterable_rest$r() {
9402
+ function _non_iterable_rest$s() {
9318
9403
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9319
9404
  }
9320
- function _sliced_to_array$r(arr, i) {
9321
- return _array_with_holes$r(arr) || _iterable_to_array_limit$r(arr, i) || _unsupported_iterable_to_array$v(arr, i) || _non_iterable_rest$r();
9405
+ function _sliced_to_array$s(arr, i) {
9406
+ return _array_with_holes$s(arr) || _iterable_to_array_limit$s(arr, i) || _unsupported_iterable_to_array$w(arr, i) || _non_iterable_rest$s();
9322
9407
  }
9323
- function _unsupported_iterable_to_array$v(o, minLen) {
9408
+ function _unsupported_iterable_to_array$w(o, minLen) {
9324
9409
  if (!o) return;
9325
- if (typeof o === "string") return _array_like_to_array$v(o, minLen);
9410
+ if (typeof o === "string") return _array_like_to_array$w(o, minLen);
9326
9411
  var n = Object.prototype.toString.call(o).slice(8, -1);
9327
9412
  if (n === "Object" && o.constructor) n = o.constructor.name;
9328
9413
  if (n === "Map" || n === "Set") return Array.from(n);
9329
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$v(o, minLen);
9414
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$w(o, minLen);
9330
9415
  }
9331
9416
  function RoomParticipantActions(param) {
9332
9417
  var _param_isActiveSpeaker = param.isActiveSpeaker, isActiveSpeaker = _param_isActiveSpeaker === void 0 ? false : _param_isActiveSpeaker, isLocal = param.isLocal, isOnline = param.isOnline, participant = param.participant, participantIdentity = param.participantIdentity;
@@ -9340,7 +9425,8 @@ function RoomParticipantActions(param) {
9340
9425
  var resolvedIsLocal = (_ref = isLocal !== null && isLocal !== void 0 ? isLocal : mappedPresence === null || mappedPresence === void 0 ? void 0 : mappedPresence.isLocal) !== null && _ref !== void 0 ? _ref : false;
9341
9426
  var resolvedIsOnline = isOnline !== null && isOnline !== void 0 ? isOnline : Boolean(mappedPresence);
9342
9427
  var _useRoomPlatformPrivateRoom = useRoomPlatformPrivateRoom(), cancelPrivateRoom = _useRoomPlatformPrivateRoom.cancelPrivateRoom, currentPrivateRoomOperation = _useRoomPlatformPrivateRoom.currentPrivateRoomOperation;
9343
- var _useState = _sliced_to_array$r(useState(false), 2), privateCallHovered = _useState[0], setPrivateCallHovered = _useState[1];
9428
+ var roomPlatformToast = useRoomPlatformToast();
9429
+ var _useState = _sliced_to_array$s(useState(false), 2), privateCallHovered = _useState[0], setPrivateCallHovered = _useState[1];
9344
9430
  var actionPayload = resolvedParticipantIdentity ? {
9345
9431
  participantIdentity: resolvedParticipantIdentity
9346
9432
  } : undefined;
@@ -9354,19 +9440,19 @@ function RoomParticipantActions(param) {
9354
9440
  var setActiveSpeaker = function() {
9355
9441
  if (!actionPayload || isSettingActiveSpeakerPending) return;
9356
9442
  void performAction(RoomPlatformAction.SPEAKER_SET, actionPayload).catch(function() {
9357
- toast.error('Không gọi được học sinh phát biểu. Vui lòng thử lại.');
9443
+ roomPlatformToast.error('Không gọi được học sinh phát biểu. Vui lòng thử lại.');
9358
9444
  });
9359
9445
  };
9360
9446
  var startPrivateRoom = function() {
9361
9447
  if (!canInvitePrivateRoom || !actionPayload || isInvitingPrivateRoom) return;
9362
9448
  void performAction(RoomPlatformAction.PRIVATE_ROOM_INVITE, actionPayload).catch(function() {
9363
- toast.error('Không thể gọi riêng học sinh này. Vui lòng thử lại.');
9449
+ roomPlatformToast.error('Không thể gọi riêng học sinh này. Vui lòng thử lại.');
9364
9450
  });
9365
9451
  };
9366
9452
  var cancelPrivateRoomCall = function() {
9367
9453
  if (!canCancelPrivateRoom) return;
9368
9454
  void cancelPrivateRoom().catch(function() {
9369
- toast.error('Không hủy được cuộc gọi riêng. Vui lòng thử lại.');
9455
+ roomPlatformToast.error('Không hủy được cuộc gọi riêng. Vui lòng thử lại.');
9370
9456
  });
9371
9457
  };
9372
9458
  return /*#__PURE__*/ jsxs("div", {
@@ -9734,12 +9820,12 @@ function RoomPlatformActiveSpeaker(param) {
9734
9820
  }) : null;
9735
9821
  }
9736
9822
 
9737
- function _array_like_to_array$u(arr, len) {
9823
+ function _array_like_to_array$v(arr, len) {
9738
9824
  if (len == null || len > arr.length) len = arr.length;
9739
9825
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9740
9826
  return arr2;
9741
9827
  }
9742
- function _array_with_holes$q(arr) {
9828
+ function _array_with_holes$r(arr) {
9743
9829
  if (Array.isArray(arr)) return arr;
9744
9830
  }
9745
9831
  function _instanceof$2(left, right) {
@@ -9749,7 +9835,7 @@ function _instanceof$2(left, right) {
9749
9835
  return left instanceof right;
9750
9836
  }
9751
9837
  }
9752
- function _iterable_to_array_limit$q(arr, i) {
9838
+ function _iterable_to_array_limit$r(arr, i) {
9753
9839
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
9754
9840
  if (_i == null) return;
9755
9841
  var _arr = [];
@@ -9773,19 +9859,19 @@ function _iterable_to_array_limit$q(arr, i) {
9773
9859
  }
9774
9860
  return _arr;
9775
9861
  }
9776
- function _non_iterable_rest$q() {
9862
+ function _non_iterable_rest$r() {
9777
9863
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9778
9864
  }
9779
- function _sliced_to_array$q(arr, i) {
9780
- return _array_with_holes$q(arr) || _iterable_to_array_limit$q(arr, i) || _unsupported_iterable_to_array$u(arr, i) || _non_iterable_rest$q();
9865
+ function _sliced_to_array$r(arr, i) {
9866
+ return _array_with_holes$r(arr) || _iterable_to_array_limit$r(arr, i) || _unsupported_iterable_to_array$v(arr, i) || _non_iterable_rest$r();
9781
9867
  }
9782
- function _unsupported_iterable_to_array$u(o, minLen) {
9868
+ function _unsupported_iterable_to_array$v(o, minLen) {
9783
9869
  if (!o) return;
9784
- if (typeof o === "string") return _array_like_to_array$u(o, minLen);
9870
+ if (typeof o === "string") return _array_like_to_array$v(o, minLen);
9785
9871
  var n = Object.prototype.toString.call(o).slice(8, -1);
9786
9872
  if (n === "Object" && o.constructor) n = o.constructor.name;
9787
9873
  if (n === "Map" || n === "Set") return Array.from(n);
9788
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$u(o, minLen);
9874
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$v(o, minLen);
9789
9875
  }
9790
9876
  var IDLE_TIMEOUT_MS = 15000;
9791
9877
  var ROOM_CONTROL_ACTIVITY_SELECTOR = '[data-room-control-activity]';
@@ -9794,10 +9880,10 @@ var isRoomControlActivityTarget = function(target) {
9794
9880
  };
9795
9881
  function RoomPlatformControlAnchor(param) {
9796
9882
  var _param_anchorKind = param.anchorKind, anchorKind = _param_anchorKind === void 0 ? 'main-panel' : _param_anchorKind, children = param.children, controlBar = param.controlBar, _param_anchorScope = param.anchorScope, anchorScope = _param_anchorScope === void 0 ? 'panel' : _param_anchorScope, className = param.className, style = param.style;
9797
- var _useState = _sliced_to_array$q(useState(true), 2), isVisible = _useState[0], setIsVisible = _useState[1];
9798
- var _useState1 = _sliced_to_array$q(useState(false), 2), isHovered = _useState1[0], setIsHovered = _useState1[1];
9799
- var _useState2 = _sliced_to_array$q(useState(false), 2), isFocusWithin = _useState2[0], setIsFocusWithin = _useState2[1];
9800
- var _useState3 = _sliced_to_array$q(useState(0), 2), activityVersion = _useState3[0], setActivityVersion = _useState3[1];
9883
+ var _useState = _sliced_to_array$r(useState(true), 2), isVisible = _useState[0], setIsVisible = _useState[1];
9884
+ var _useState1 = _sliced_to_array$r(useState(false), 2), isHovered = _useState1[0], setIsHovered = _useState1[1];
9885
+ var _useState2 = _sliced_to_array$r(useState(false), 2), isFocusWithin = _useState2[0], setIsFocusWithin = _useState2[1];
9886
+ var _useState3 = _sliced_to_array$r(useState(0), 2), activityVersion = _useState3[0], setActivityVersion = _useState3[1];
9801
9887
  var anchorRef = useRef(null);
9802
9888
  var timerRef = useRef(null);
9803
9889
  var focusTimerRef = useRef(null);
@@ -9931,15 +10017,15 @@ function RoomPlatformControlAnchor(param) {
9931
10017
  });
9932
10018
  }
9933
10019
 
9934
- function _array_like_to_array$t(arr, len) {
10020
+ function _array_like_to_array$u(arr, len) {
9935
10021
  if (len == null || len > arr.length) len = arr.length;
9936
10022
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9937
10023
  return arr2;
9938
10024
  }
9939
- function _array_with_holes$p(arr) {
10025
+ function _array_with_holes$q(arr) {
9940
10026
  if (Array.isArray(arr)) return arr;
9941
10027
  }
9942
- function _iterable_to_array_limit$p(arr, i) {
10028
+ function _iterable_to_array_limit$q(arr, i) {
9943
10029
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
9944
10030
  if (_i == null) return;
9945
10031
  var _arr = [];
@@ -9963,19 +10049,19 @@ function _iterable_to_array_limit$p(arr, i) {
9963
10049
  }
9964
10050
  return _arr;
9965
10051
  }
9966
- function _non_iterable_rest$p() {
10052
+ function _non_iterable_rest$q() {
9967
10053
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9968
10054
  }
9969
- function _sliced_to_array$p(arr, i) {
9970
- return _array_with_holes$p(arr) || _iterable_to_array_limit$p(arr, i) || _unsupported_iterable_to_array$t(arr, i) || _non_iterable_rest$p();
10055
+ function _sliced_to_array$q(arr, i) {
10056
+ return _array_with_holes$q(arr) || _iterable_to_array_limit$q(arr, i) || _unsupported_iterable_to_array$u(arr, i) || _non_iterable_rest$q();
9971
10057
  }
9972
- function _unsupported_iterable_to_array$t(o, minLen) {
10058
+ function _unsupported_iterable_to_array$u(o, minLen) {
9973
10059
  if (!o) return;
9974
- if (typeof o === "string") return _array_like_to_array$t(o, minLen);
10060
+ if (typeof o === "string") return _array_like_to_array$u(o, minLen);
9975
10061
  var n = Object.prototype.toString.call(o).slice(8, -1);
9976
10062
  if (n === "Object" && o.constructor) n = o.constructor.name;
9977
10063
  if (n === "Map" || n === "Set") return Array.from(n);
9978
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$t(o, minLen);
10064
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$u(o, minLen);
9979
10065
  }
9980
10066
  var ALLOWED_MIME_TYPES = [
9981
10067
  'image/jpeg',
@@ -10000,8 +10086,8 @@ function RoomPlatformBackgroundSettings(param) {
10000
10086
  var state = param.state, presets = param.presets, uploadItems = param.uploadItems, onSelectNoBackground = param.onSelectNoBackground, onSelectBlurLevel = param.onSelectBlurLevel, onSelectPreset = param.onSelectPreset, onSelectUploaded = param.onSelectUploaded, onDeleteUploaded = param.onDeleteUploaded, onUpload = param.onUpload;
10001
10087
  var _ref;
10002
10088
  var _presets_;
10003
- var _useState = _sliced_to_array$p(useState(null), 2), uploadError = _useState[0], setUploadError = _useState[1];
10004
- var _useState1 = _sliced_to_array$p(useState(function() {
10089
+ var _useState = _sliced_to_array$q(useState(null), 2), uploadError = _useState[0], setUploadError = _useState[1];
10090
+ var _useState1 = _sliced_to_array$q(useState(function() {
10005
10091
  return backgroundTabFromState(state.mode);
10006
10092
  }), 2), activeTab = _useState1[0], setActiveTab = _useState1[1];
10007
10093
  var fileInputId = useId();
@@ -10424,12 +10510,12 @@ var getSelectedDevice = function(devices, selectedValue) {
10424
10510
  });
10425
10511
  };
10426
10512
 
10427
- function _array_like_to_array$s(arr, len) {
10513
+ function _array_like_to_array$t(arr, len) {
10428
10514
  if (len == null || len > arr.length) len = arr.length;
10429
10515
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
10430
10516
  return arr2;
10431
10517
  }
10432
- function _array_with_holes$o(arr) {
10518
+ function _array_with_holes$p(arr) {
10433
10519
  if (Array.isArray(arr)) return arr;
10434
10520
  }
10435
10521
  function asyncGeneratorStep$k(gen, resolve, reject, _next, _throw, key, arg) {
@@ -10461,7 +10547,7 @@ function _async_to_generator$k(fn) {
10461
10547
  });
10462
10548
  };
10463
10549
  }
10464
- function _iterable_to_array_limit$o(arr, i) {
10550
+ function _iterable_to_array_limit$p(arr, i) {
10465
10551
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
10466
10552
  if (_i == null) return;
10467
10553
  var _arr = [];
@@ -10485,19 +10571,19 @@ function _iterable_to_array_limit$o(arr, i) {
10485
10571
  }
10486
10572
  return _arr;
10487
10573
  }
10488
- function _non_iterable_rest$o() {
10574
+ function _non_iterable_rest$p() {
10489
10575
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10490
10576
  }
10491
- function _sliced_to_array$o(arr, i) {
10492
- return _array_with_holes$o(arr) || _iterable_to_array_limit$o(arr, i) || _unsupported_iterable_to_array$s(arr, i) || _non_iterable_rest$o();
10577
+ function _sliced_to_array$p(arr, i) {
10578
+ return _array_with_holes$p(arr) || _iterable_to_array_limit$p(arr, i) || _unsupported_iterable_to_array$t(arr, i) || _non_iterable_rest$p();
10493
10579
  }
10494
- function _unsupported_iterable_to_array$s(o, minLen) {
10580
+ function _unsupported_iterable_to_array$t(o, minLen) {
10495
10581
  if (!o) return;
10496
- if (typeof o === "string") return _array_like_to_array$s(o, minLen);
10582
+ if (typeof o === "string") return _array_like_to_array$t(o, minLen);
10497
10583
  var n = Object.prototype.toString.call(o).slice(8, -1);
10498
10584
  if (n === "Object" && o.constructor) n = o.constructor.name;
10499
10585
  if (n === "Map" || n === "Set") return Array.from(n);
10500
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$s(o, minLen);
10586
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$t(o, minLen);
10501
10587
  }
10502
10588
  function _ts_generator$k(thisArg, body) {
10503
10589
  var f, y, t, _ = {
@@ -10653,12 +10739,12 @@ function RoomPlatformDeviceSettings(param) {
10653
10739
  var _useRoomPlatform = useRoomPlatform(), activeDevices = _useRoomPlatform.activeDevices, room = _useRoomPlatform.room, switchActiveDevice = _useRoomPlatform.switchActiveDevice;
10654
10740
  var enumerateDevices = (_navigator_mediaDevices = navigator.mediaDevices) === null || _navigator_mediaDevices === void 0 ? void 0 : _navigator_mediaDevices.enumerateDevices;
10655
10741
  var canEnumerateDevices = typeof enumerateDevices === 'function';
10656
- var _useState = _sliced_to_array$o(useState([]), 2), devices = _useState[0], setDevices = _useState[1];
10657
- var _useState1 = _sliced_to_array$o(useState(canEnumerateDevices ? (_activeDevices_audioinput = activeDevices.audioinput) !== null && _activeDevices_audioinput !== void 0 ? _activeDevices_audioinput : fallbacks.audioinput.value : fallbacks.audioinput.value), 2), selectedMicrophoneId = _useState1[0], setSelectedMicrophoneId = _useState1[1];
10658
- var _useState2 = _sliced_to_array$o(useState(canEnumerateDevices ? (_activeDevices_videoinput = activeDevices.videoinput) !== null && _activeDevices_videoinput !== void 0 ? _activeDevices_videoinput : fallbacks.videoinput.value : fallbacks.videoinput.value), 2), selectedCameraId = _useState2[0], setSelectedCameraId = _useState2[1];
10659
- var _useState3 = _sliced_to_array$o(useState(canEnumerateDevices ? (_activeDevices_audiooutput = activeDevices.audiooutput) !== null && _activeDevices_audiooutput !== void 0 ? _activeDevices_audiooutput : fallbacks.audiooutput.value : fallbacks.audiooutput.value), 2), selectedSpeakerId = _useState3[0], setSelectedSpeakerId = _useState3[1];
10660
- var _useState4 = _sliced_to_array$o(useState(null), 2), deviceApplyError = _useState4[0], setDeviceApplyError = _useState4[1];
10661
- var _useState5 = _sliced_to_array$o(useState(false), 2), isApplyingDevices = _useState5[0], setIsApplyingDevices = _useState5[1];
10742
+ var _useState = _sliced_to_array$p(useState([]), 2), devices = _useState[0], setDevices = _useState[1];
10743
+ var _useState1 = _sliced_to_array$p(useState(canEnumerateDevices ? (_activeDevices_audioinput = activeDevices.audioinput) !== null && _activeDevices_audioinput !== void 0 ? _activeDevices_audioinput : fallbacks.audioinput.value : fallbacks.audioinput.value), 2), selectedMicrophoneId = _useState1[0], setSelectedMicrophoneId = _useState1[1];
10744
+ var _useState2 = _sliced_to_array$p(useState(canEnumerateDevices ? (_activeDevices_videoinput = activeDevices.videoinput) !== null && _activeDevices_videoinput !== void 0 ? _activeDevices_videoinput : fallbacks.videoinput.value : fallbacks.videoinput.value), 2), selectedCameraId = _useState2[0], setSelectedCameraId = _useState2[1];
10745
+ var _useState3 = _sliced_to_array$p(useState(canEnumerateDevices ? (_activeDevices_audiooutput = activeDevices.audiooutput) !== null && _activeDevices_audiooutput !== void 0 ? _activeDevices_audiooutput : fallbacks.audiooutput.value : fallbacks.audiooutput.value), 2), selectedSpeakerId = _useState3[0], setSelectedSpeakerId = _useState3[1];
10746
+ var _useState4 = _sliced_to_array$p(useState(null), 2), deviceApplyError = _useState4[0], setDeviceApplyError = _useState4[1];
10747
+ var _useState5 = _sliced_to_array$p(useState(false), 2), isApplyingDevices = _useState5[0], setIsApplyingDevices = _useState5[1];
10662
10748
  var microphones = useMemo(function() {
10663
10749
  return devices.filter(function(param) {
10664
10750
  var kind = param.kind;
@@ -10918,12 +11004,12 @@ function RoomPlatformDeviceSettings(param) {
10918
11004
  });
10919
11005
  }
10920
11006
 
10921
- function _array_like_to_array$r(arr, len) {
11007
+ function _array_like_to_array$s(arr, len) {
10922
11008
  if (len == null || len > arr.length) len = arr.length;
10923
11009
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
10924
11010
  return arr2;
10925
11011
  }
10926
- function _array_with_holes$n(arr) {
11012
+ function _array_with_holes$o(arr) {
10927
11013
  if (Array.isArray(arr)) return arr;
10928
11014
  }
10929
11015
  function asyncGeneratorStep$j(gen, resolve, reject, _next, _throw, key, arg) {
@@ -10968,7 +11054,7 @@ function _define_property$k(obj, key, value) {
10968
11054
  }
10969
11055
  return obj;
10970
11056
  }
10971
- function _iterable_to_array_limit$n(arr, i) {
11057
+ function _iterable_to_array_limit$o(arr, i) {
10972
11058
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
10973
11059
  if (_i == null) return;
10974
11060
  var _arr = [];
@@ -10992,7 +11078,7 @@ function _iterable_to_array_limit$n(arr, i) {
10992
11078
  }
10993
11079
  return _arr;
10994
11080
  }
10995
- function _non_iterable_rest$n() {
11081
+ function _non_iterable_rest$o() {
10996
11082
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10997
11083
  }
10998
11084
  function _object_spread$g(target) {
@@ -11065,16 +11151,16 @@ function _object_without_properties_loose$5(source, excluded) {
11065
11151
  }
11066
11152
  return target;
11067
11153
  }
11068
- function _sliced_to_array$n(arr, i) {
11069
- return _array_with_holes$n(arr) || _iterable_to_array_limit$n(arr, i) || _unsupported_iterable_to_array$r(arr, i) || _non_iterable_rest$n();
11154
+ function _sliced_to_array$o(arr, i) {
11155
+ return _array_with_holes$o(arr) || _iterable_to_array_limit$o(arr, i) || _unsupported_iterable_to_array$s(arr, i) || _non_iterable_rest$o();
11070
11156
  }
11071
- function _unsupported_iterable_to_array$r(o, minLen) {
11157
+ function _unsupported_iterable_to_array$s(o, minLen) {
11072
11158
  if (!o) return;
11073
- if (typeof o === "string") return _array_like_to_array$r(o, minLen);
11159
+ if (typeof o === "string") return _array_like_to_array$s(o, minLen);
11074
11160
  var n = Object.prototype.toString.call(o).slice(8, -1);
11075
11161
  if (n === "Object" && o.constructor) n = o.constructor.name;
11076
11162
  if (n === "Map" || n === "Set") return Array.from(n);
11077
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$r(o, minLen);
11163
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$s(o, minLen);
11078
11164
  }
11079
11165
  function _ts_generator$j(thisArg, body) {
11080
11166
  var f, y, t, _ = {
@@ -11223,9 +11309,10 @@ function IconTooltipButton$1(_0) {
11223
11309
  function RoomPlatformControlBar(param) {
11224
11310
  var cameraBackground = param.cameraBackground, _param_isFullscreen = param.isFullscreen, isFullscreen = _param_isFullscreen === void 0 ? false : _param_isFullscreen, _param_isTheaterMode = param.isTheaterMode, isTheaterMode = _param_isTheaterMode === void 0 ? false : _param_isTheaterMode, onExit = param.onExit, onToggleFullscreen = param.onToggleFullscreen, onToggleTheaterMode = param.onToggleTheaterMode;
11225
11311
  var _useRoomPlatform = useRoomPlatform(), access = _useRoomPlatform.access, controlState = _useRoomPlatform.controlState, hasCapability = _useRoomPlatform.hasCapability, isLocalMediaPending = _useRoomPlatform.isLocalMediaPending, localMedia = _useRoomPlatform.localMedia, performAction = _useRoomPlatform.performAction, room = _useRoomPlatform.room, setLocalMediaEnabled = _useRoomPlatform.setLocalMediaEnabled;
11226
- var _useState = _sliced_to_array$n(useState(false), 2), settingsOpen = _useState[0], setSettingsOpen = _useState[1];
11227
- var _useState1 = _sliced_to_array$n(useState(false), 2), isRequestSpeakPending = _useState1[0], setIsRequestSpeakPending = _useState1[1];
11228
- var _useState2 = _sliced_to_array$n(useState(false), 2), isCancelSpeakPending = _useState2[0], setIsCancelSpeakPending = _useState2[1];
11312
+ var _useState = _sliced_to_array$o(useState(false), 2), settingsOpen = _useState[0], setSettingsOpen = _useState[1];
11313
+ var _useState1 = _sliced_to_array$o(useState(false), 2), isRequestSpeakPending = _useState1[0], setIsRequestSpeakPending = _useState1[1];
11314
+ var _useState2 = _sliced_to_array$o(useState(false), 2), isCancelSpeakPending = _useState2[0], setIsCancelSpeakPending = _useState2[1];
11315
+ var roomPlatformToast = useRoomPlatformToast();
11229
11316
  var currentParticipant = useRoomPresence().find(function(participant) {
11230
11317
  return participant.isLocal;
11231
11318
  });
@@ -11262,7 +11349,7 @@ function RoomPlatformControlBar(param) {
11262
11349
  ];
11263
11350
  case 3:
11264
11351
  _state.sent();
11265
- toast.error('Không gửi được yêu cầu phát biểu. Vui lòng thử lại.');
11352
+ roomPlatformToast.error('Không gửi được yêu cầu phát biểu. Vui lòng thử lại.');
11266
11353
  return [
11267
11354
  3,
11268
11355
  5
@@ -11309,7 +11396,7 @@ function RoomPlatformControlBar(param) {
11309
11396
  ];
11310
11397
  case 3:
11311
11398
  _state.sent();
11312
- toast.error('Không hủy được yêu cầu phát biểu. Vui lòng thử lại.');
11399
+ roomPlatformToast.error('Không hủy được yêu cầu phát biểu. Vui lòng thử lại.');
11313
11400
  return [
11314
11401
  3,
11315
11402
  5
@@ -11475,12 +11562,12 @@ function RoomPlatformControlBar(param) {
11475
11562
  });
11476
11563
  }
11477
11564
 
11478
- function _array_like_to_array$q(arr, len) {
11565
+ function _array_like_to_array$r(arr, len) {
11479
11566
  if (len == null || len > arr.length) len = arr.length;
11480
11567
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
11481
11568
  return arr2;
11482
11569
  }
11483
- function _array_with_holes$m(arr) {
11570
+ function _array_with_holes$n(arr) {
11484
11571
  if (Array.isArray(arr)) return arr;
11485
11572
  }
11486
11573
  function asyncGeneratorStep$i(gen, resolve, reject, _next, _throw, key, arg) {
@@ -11512,7 +11599,7 @@ function _async_to_generator$i(fn) {
11512
11599
  });
11513
11600
  };
11514
11601
  }
11515
- function _iterable_to_array_limit$m(arr, i) {
11602
+ function _iterable_to_array_limit$n(arr, i) {
11516
11603
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
11517
11604
  if (_i == null) return;
11518
11605
  var _arr = [];
@@ -11536,19 +11623,19 @@ function _iterable_to_array_limit$m(arr, i) {
11536
11623
  }
11537
11624
  return _arr;
11538
11625
  }
11539
- function _non_iterable_rest$m() {
11626
+ function _non_iterable_rest$n() {
11540
11627
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11541
11628
  }
11542
- function _sliced_to_array$m(arr, i) {
11543
- return _array_with_holes$m(arr) || _iterable_to_array_limit$m(arr, i) || _unsupported_iterable_to_array$q(arr, i) || _non_iterable_rest$m();
11629
+ function _sliced_to_array$n(arr, i) {
11630
+ return _array_with_holes$n(arr) || _iterable_to_array_limit$n(arr, i) || _unsupported_iterable_to_array$r(arr, i) || _non_iterable_rest$n();
11544
11631
  }
11545
- function _unsupported_iterable_to_array$q(o, minLen) {
11632
+ function _unsupported_iterable_to_array$r(o, minLen) {
11546
11633
  if (!o) return;
11547
- if (typeof o === "string") return _array_like_to_array$q(o, minLen);
11634
+ if (typeof o === "string") return _array_like_to_array$r(o, minLen);
11548
11635
  var n = Object.prototype.toString.call(o).slice(8, -1);
11549
11636
  if (n === "Object" && o.constructor) n = o.constructor.name;
11550
11637
  if (n === "Map" || n === "Set") return Array.from(n);
11551
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$q(o, minLen);
11638
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$r(o, minLen);
11552
11639
  }
11553
11640
  function _ts_generator$i(thisArg, body) {
11554
11641
  var f, y, t, _ = {
@@ -11652,7 +11739,8 @@ function _ts_generator$i(thisArg, body) {
11652
11739
  function RoomPlatformCurrentOperationStrip(param) {
11653
11740
  var activeSpeakerParticipantIdentity = param.activeSpeakerParticipantIdentity, canClearActiveSpeaker = param.canClearActiveSpeaker, isClearingActiveSpeaker = param.isClearingActiveSpeaker, onClearActiveSpeaker = param.onClearActiveSpeaker, currentPrivateRoomOperation = param.currentPrivateRoomOperation, onCancelPrivateRoom = param.onCancelPrivateRoom, participants = param.participants;
11654
11741
  var _ref, _ref1;
11655
- var _useState = _sliced_to_array$m(useState(false), 2), isCancelingPrivateRoomOperation = _useState[0], setIsCancelingPrivateRoomOperation = _useState[1];
11742
+ var _useState = _sliced_to_array$n(useState(false), 2), isCancelingPrivateRoomOperation = _useState[0], setIsCancelingPrivateRoomOperation = _useState[1];
11743
+ var roomPlatformToast = useRoomPlatformToast();
11656
11744
  var activeSpeaker = activeSpeakerParticipantIdentity ? participants.find(function(participant) {
11657
11745
  return participant.participantIdentity === activeSpeakerParticipantIdentity;
11658
11746
  }) : undefined;
@@ -11690,7 +11778,7 @@ function RoomPlatformCurrentOperationStrip(param) {
11690
11778
  ];
11691
11779
  case 3:
11692
11780
  _state.sent();
11693
- toast.error('Không hủy được cuộc gọi riêng. Vui lòng thử lại.');
11781
+ roomPlatformToast.error('Không hủy được cuộc gọi riêng. Vui lòng thử lại.');
11694
11782
  return [
11695
11783
  3,
11696
11784
  5
@@ -11918,15 +12006,15 @@ function RoomPlatformMonitorSidebarVideoTile(props) {
11918
12006
  return /*#__PURE__*/ jsx(RoomPlatformMonitorVideoTile, _object_spread$f({}, props));
11919
12007
  }
11920
12008
 
11921
- function _array_like_to_array$p(arr, len) {
12009
+ function _array_like_to_array$q(arr, len) {
11922
12010
  if (len == null || len > arr.length) len = arr.length;
11923
12011
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
11924
12012
  return arr2;
11925
12013
  }
11926
- function _array_with_holes$l(arr) {
12014
+ function _array_with_holes$m(arr) {
11927
12015
  if (Array.isArray(arr)) return arr;
11928
12016
  }
11929
- function _iterable_to_array_limit$l(arr, i) {
12017
+ function _iterable_to_array_limit$m(arr, i) {
11930
12018
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
11931
12019
  if (_i == null) return;
11932
12020
  var _arr = [];
@@ -11950,19 +12038,19 @@ function _iterable_to_array_limit$l(arr, i) {
11950
12038
  }
11951
12039
  return _arr;
11952
12040
  }
11953
- function _non_iterable_rest$l() {
12041
+ function _non_iterable_rest$m() {
11954
12042
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11955
12043
  }
11956
- function _sliced_to_array$l(arr, i) {
11957
- return _array_with_holes$l(arr) || _iterable_to_array_limit$l(arr, i) || _unsupported_iterable_to_array$p(arr, i) || _non_iterable_rest$l();
12044
+ function _sliced_to_array$m(arr, i) {
12045
+ return _array_with_holes$m(arr) || _iterable_to_array_limit$m(arr, i) || _unsupported_iterable_to_array$q(arr, i) || _non_iterable_rest$m();
11958
12046
  }
11959
- function _unsupported_iterable_to_array$p(o, minLen) {
12047
+ function _unsupported_iterable_to_array$q(o, minLen) {
11960
12048
  if (!o) return;
11961
- if (typeof o === "string") return _array_like_to_array$p(o, minLen);
12049
+ if (typeof o === "string") return _array_like_to_array$q(o, minLen);
11962
12050
  var n = Object.prototype.toString.call(o).slice(8, -1);
11963
12051
  if (n === "Object" && o.constructor) n = o.constructor.name;
11964
12052
  if (n === "Map" || n === "Set") return Array.from(n);
11965
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$p(o, minLen);
12053
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$q(o, minLen);
11966
12054
  }
11967
12055
  var hasAvailableTrackMedia$1 = function(param) {
11968
12056
  var publication = param.publication;
@@ -11975,7 +12063,7 @@ var hasAvailableTrackMedia$1 = function(param) {
11975
12063
  };
11976
12064
  function RoomPlatformMonitorStage(param) {
11977
12065
  var roster = param.roster, _param_pageSize = param.pageSize, pageSize = _param_pageSize === void 0 ? 12 : _param_pageSize;
11978
- var _useState = _sliced_to_array$l(useState(1), 2), page = _useState[0], setPage = _useState[1];
12066
+ var _useState = _sliced_to_array$m(useState(1), 2), page = _useState[0], setPage = _useState[1];
11979
12067
  var cameraTracks = useTracks([
11980
12068
  Track.Source.Camera
11981
12069
  ]);
@@ -12178,13 +12266,13 @@ function useRoomPlatformMonitorViewer(param) {
12178
12266
  ]);
12179
12267
  }
12180
12268
 
12181
- function _array_like_to_array$o(arr, len) {
12269
+ function _array_like_to_array$p(arr, len) {
12182
12270
  if (len == null || len > arr.length) len = arr.length;
12183
12271
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
12184
12272
  return arr2;
12185
12273
  }
12186
12274
  function _array_without_holes$b(arr) {
12187
- if (Array.isArray(arr)) return _array_like_to_array$o(arr);
12275
+ if (Array.isArray(arr)) return _array_like_to_array$p(arr);
12188
12276
  }
12189
12277
  function asyncGeneratorStep$h(gen, resolve, reject, _next, _throw, key, arg) {
12190
12278
  try {
@@ -12276,19 +12364,19 @@ function _object_spread_props$d(target, source) {
12276
12364
  return target;
12277
12365
  }
12278
12366
  function _to_consumable_array$b(arr) {
12279
- return _array_without_holes$b(arr) || _iterable_to_array$b(arr) || _unsupported_iterable_to_array$o(arr) || _non_iterable_spread$b();
12367
+ return _array_without_holes$b(arr) || _iterable_to_array$b(arr) || _unsupported_iterable_to_array$p(arr) || _non_iterable_spread$b();
12280
12368
  }
12281
12369
  function _type_of$8(obj) {
12282
12370
  "@swc/helpers - typeof";
12283
12371
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
12284
12372
  }
12285
- function _unsupported_iterable_to_array$o(o, minLen) {
12373
+ function _unsupported_iterable_to_array$p(o, minLen) {
12286
12374
  if (!o) return;
12287
- if (typeof o === "string") return _array_like_to_array$o(o, minLen);
12375
+ if (typeof o === "string") return _array_like_to_array$p(o, minLen);
12288
12376
  var n = Object.prototype.toString.call(o).slice(8, -1);
12289
12377
  if (n === "Object" && o.constructor) n = o.constructor.name;
12290
12378
  if (n === "Map" || n === "Set") return Array.from(n);
12291
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$o(o, minLen);
12379
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$p(o, minLen);
12292
12380
  }
12293
12381
  function _ts_generator$h(thisArg, body) {
12294
12382
  var f, y, t, _ = {
@@ -13106,12 +13194,12 @@ var saveRoomPlatformUploadAndSelect = function(file) {
13106
13194
  })();
13107
13195
  };
13108
13196
 
13109
- function _array_like_to_array$n(arr, len) {
13197
+ function _array_like_to_array$o(arr, len) {
13110
13198
  if (len == null || len > arr.length) len = arr.length;
13111
13199
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
13112
13200
  return arr2;
13113
13201
  }
13114
- function _array_with_holes$k(arr) {
13202
+ function _array_with_holes$l(arr) {
13115
13203
  if (Array.isArray(arr)) return arr;
13116
13204
  }
13117
13205
  function asyncGeneratorStep$g(gen, resolve, reject, _next, _throw, key, arg) {
@@ -13156,7 +13244,7 @@ function _define_property$h(obj, key, value) {
13156
13244
  }
13157
13245
  return obj;
13158
13246
  }
13159
- function _iterable_to_array_limit$k(arr, i) {
13247
+ function _iterable_to_array_limit$l(arr, i) {
13160
13248
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
13161
13249
  if (_i == null) return;
13162
13250
  var _arr = [];
@@ -13180,7 +13268,7 @@ function _iterable_to_array_limit$k(arr, i) {
13180
13268
  }
13181
13269
  return _arr;
13182
13270
  }
13183
- function _non_iterable_rest$k() {
13271
+ function _non_iterable_rest$l() {
13184
13272
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
13185
13273
  }
13186
13274
  function _object_spread$d(target) {
@@ -13217,16 +13305,16 @@ function _object_spread_props$c(target, source) {
13217
13305
  }
13218
13306
  return target;
13219
13307
  }
13220
- function _sliced_to_array$k(arr, i) {
13221
- return _array_with_holes$k(arr) || _iterable_to_array_limit$k(arr, i) || _unsupported_iterable_to_array$n(arr, i) || _non_iterable_rest$k();
13308
+ function _sliced_to_array$l(arr, i) {
13309
+ return _array_with_holes$l(arr) || _iterable_to_array_limit$l(arr, i) || _unsupported_iterable_to_array$o(arr, i) || _non_iterable_rest$l();
13222
13310
  }
13223
- function _unsupported_iterable_to_array$n(o, minLen) {
13311
+ function _unsupported_iterable_to_array$o(o, minLen) {
13224
13312
  if (!o) return;
13225
- if (typeof o === "string") return _array_like_to_array$n(o, minLen);
13313
+ if (typeof o === "string") return _array_like_to_array$o(o, minLen);
13226
13314
  var n = Object.prototype.toString.call(o).slice(8, -1);
13227
13315
  if (n === "Object" && o.constructor) n = o.constructor.name;
13228
13316
  if (n === "Map" || n === "Set") return Array.from(n);
13229
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$n(o, minLen);
13317
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$o(o, minLen);
13230
13318
  }
13231
13319
  function _ts_generator$g(thisArg, body) {
13232
13320
  var f, y, t, _ = {
@@ -13349,7 +13437,7 @@ function useRoomPlatformCameraBackground(param) {
13349
13437
  var _ref, _ref1;
13350
13438
  var _uploadItems_find, _uploadItems_;
13351
13439
  var isSupported = typeof window !== 'undefined' && supportsBackgroundProcessors();
13352
- var _useState = _sliced_to_array$k(useState(function() {
13440
+ var _useState = _sliced_to_array$l(useState(function() {
13353
13441
  var saved = loadRoomPlatformCameraBackgroundSettings();
13354
13442
  return mapSettingsToState(saved, isSupported);
13355
13443
  }), 2), state = _useState[0], setState = _useState[1];
@@ -13361,7 +13449,7 @@ function useRoomPlatformCameraBackground(param) {
13361
13449
  var activeObjectUrlRef = useRef(null);
13362
13450
  var uploadPreviewUrlsRef = useRef([]);
13363
13451
  var lastAppliedKeyRef = useRef('');
13364
- var _useState1 = _sliced_to_array$k(useState([]), 2), uploadItems = _useState1[0], setUploadItems = _useState1[1];
13452
+ var _useState1 = _sliced_to_array$l(useState([]), 2), uploadItems = _useState1[0], setUploadItems = _useState1[1];
13365
13453
  var clearActiveObjectUrl = useCallback(function() {
13366
13454
  if (!activeObjectUrlRef.current) return;
13367
13455
  URL.revokeObjectURL(activeObjectUrlRef.current);
@@ -14222,16 +14310,16 @@ function useRoomPlatformCameraBackground(param) {
14222
14310
  };
14223
14311
  }
14224
14312
 
14225
- function _array_like_to_array$m(arr, len) {
14313
+ function _array_like_to_array$n(arr, len) {
14226
14314
  if (len == null || len > arr.length) len = arr.length;
14227
14315
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
14228
14316
  return arr2;
14229
14317
  }
14230
- function _array_with_holes$j(arr) {
14318
+ function _array_with_holes$k(arr) {
14231
14319
  if (Array.isArray(arr)) return arr;
14232
14320
  }
14233
14321
  function _array_without_holes$a(arr) {
14234
- if (Array.isArray(arr)) return _array_like_to_array$m(arr);
14322
+ if (Array.isArray(arr)) return _array_like_to_array$n(arr);
14235
14323
  }
14236
14324
  function asyncGeneratorStep$f(gen, resolve, reject, _next, _throw, key, arg) {
14237
14325
  try {
@@ -14265,7 +14353,7 @@ function _async_to_generator$f(fn) {
14265
14353
  function _iterable_to_array$a(iter) {
14266
14354
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
14267
14355
  }
14268
- function _iterable_to_array_limit$j(arr, i) {
14356
+ function _iterable_to_array_limit$k(arr, i) {
14269
14357
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
14270
14358
  if (_i == null) return;
14271
14359
  var _arr = [];
@@ -14289,25 +14377,25 @@ function _iterable_to_array_limit$j(arr, i) {
14289
14377
  }
14290
14378
  return _arr;
14291
14379
  }
14292
- function _non_iterable_rest$j() {
14380
+ function _non_iterable_rest$k() {
14293
14381
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14294
14382
  }
14295
14383
  function _non_iterable_spread$a() {
14296
14384
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14297
14385
  }
14298
- function _sliced_to_array$j(arr, i) {
14299
- return _array_with_holes$j(arr) || _iterable_to_array_limit$j(arr, i) || _unsupported_iterable_to_array$m(arr, i) || _non_iterable_rest$j();
14386
+ function _sliced_to_array$k(arr, i) {
14387
+ return _array_with_holes$k(arr) || _iterable_to_array_limit$k(arr, i) || _unsupported_iterable_to_array$n(arr, i) || _non_iterable_rest$k();
14300
14388
  }
14301
14389
  function _to_consumable_array$a(arr) {
14302
- return _array_without_holes$a(arr) || _iterable_to_array$a(arr) || _unsupported_iterable_to_array$m(arr) || _non_iterable_spread$a();
14390
+ return _array_without_holes$a(arr) || _iterable_to_array$a(arr) || _unsupported_iterable_to_array$n(arr) || _non_iterable_spread$a();
14303
14391
  }
14304
- function _unsupported_iterable_to_array$m(o, minLen) {
14392
+ function _unsupported_iterable_to_array$n(o, minLen) {
14305
14393
  if (!o) return;
14306
- if (typeof o === "string") return _array_like_to_array$m(o, minLen);
14394
+ if (typeof o === "string") return _array_like_to_array$n(o, minLen);
14307
14395
  var n = Object.prototype.toString.call(o).slice(8, -1);
14308
14396
  if (n === "Object" && o.constructor) n = o.constructor.name;
14309
14397
  if (n === "Map" || n === "Set") return Array.from(n);
14310
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$m(o, minLen);
14398
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$n(o, minLen);
14311
14399
  }
14312
14400
  function _ts_generator$f(thisArg, body) {
14313
14401
  var f, y, t, _ = {
@@ -14437,7 +14525,7 @@ function RoomPlatformPrivateRoomConnection(param) {
14437
14525
  var canShareScreen = connection.permissions.includes('media:share_screen');
14438
14526
  var canPublish = connection.permissions.includes('media:publish');
14439
14527
  var baseScopeKey = isEligible ? "".concat(state.id, ":").concat(currentExternalActorId, ":").concat(scopeOf(connection)) : '';
14440
- var _useState = _sliced_to_array$j(useState(null), 2), room = _useState[0], setRoom = _useState[1];
14528
+ var _useState = _sliced_to_array$k(useState(null), 2), room = _useState[0], setRoom = _useState[1];
14441
14529
  var roomRef = useRef(null);
14442
14530
  var generationRef = useRef(0);
14443
14531
  var scopeRef = useRef(undefined);
@@ -14445,7 +14533,7 @@ function RoomPlatformPrivateRoomConnection(param) {
14445
14533
  var onDisconnectedRef = useRef(onDisconnected);
14446
14534
  var refreshedTokenKeysRef = useRef(new Set());
14447
14535
  var refreshRequestedScopeRef = useRef(undefined);
14448
- var _useState1 = _sliced_to_array$j(useState(0), 2), generationNonce = _useState1[0], setGenerationNonce = _useState1[1];
14536
+ var _useState1 = _sliced_to_array$k(useState(0), 2), generationNonce = _useState1[0], setGenerationNonce = _useState1[1];
14449
14537
  var scopeKey = baseScopeKey ? "".concat(baseScopeKey, ":").concat(generationNonce) : '';
14450
14538
  // A token refresh must not be a generation key. Pin the token to the scope so
14451
14539
  // ordinary actor-scoped refetches keep the existing LiveKit Room instance.
@@ -14646,12 +14734,12 @@ function RoomPlatformPrivateRoomConnection(param) {
14646
14734
  });
14647
14735
  }
14648
14736
 
14649
- function _array_like_to_array$l(arr, len) {
14737
+ function _array_like_to_array$m(arr, len) {
14650
14738
  if (len == null || len > arr.length) len = arr.length;
14651
14739
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
14652
14740
  return arr2;
14653
14741
  }
14654
- function _array_with_holes$i(arr) {
14742
+ function _array_with_holes$j(arr) {
14655
14743
  if (Array.isArray(arr)) return arr;
14656
14744
  }
14657
14745
  function asyncGeneratorStep$e(gen, resolve, reject, _next, _throw, key, arg) {
@@ -14683,7 +14771,7 @@ function _async_to_generator$e(fn) {
14683
14771
  });
14684
14772
  };
14685
14773
  }
14686
- function _iterable_to_array_limit$i(arr, i) {
14774
+ function _iterable_to_array_limit$j(arr, i) {
14687
14775
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
14688
14776
  if (_i == null) return;
14689
14777
  var _arr = [];
@@ -14707,19 +14795,19 @@ function _iterable_to_array_limit$i(arr, i) {
14707
14795
  }
14708
14796
  return _arr;
14709
14797
  }
14710
- function _non_iterable_rest$i() {
14798
+ function _non_iterable_rest$j() {
14711
14799
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14712
14800
  }
14713
- function _sliced_to_array$i(arr, i) {
14714
- return _array_with_holes$i(arr) || _iterable_to_array_limit$i(arr, i) || _unsupported_iterable_to_array$l(arr, i) || _non_iterable_rest$i();
14801
+ function _sliced_to_array$j(arr, i) {
14802
+ return _array_with_holes$j(arr) || _iterable_to_array_limit$j(arr, i) || _unsupported_iterable_to_array$m(arr, i) || _non_iterable_rest$j();
14715
14803
  }
14716
- function _unsupported_iterable_to_array$l(o, minLen) {
14804
+ function _unsupported_iterable_to_array$m(o, minLen) {
14717
14805
  if (!o) return;
14718
- if (typeof o === "string") return _array_like_to_array$l(o, minLen);
14806
+ if (typeof o === "string") return _array_like_to_array$m(o, minLen);
14719
14807
  var n = Object.prototype.toString.call(o).slice(8, -1);
14720
14808
  if (n === "Object" && o.constructor) n = o.constructor.name;
14721
14809
  if (n === "Map" || n === "Set") return Array.from(n);
14722
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$l(o, minLen);
14810
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$m(o, minLen);
14723
14811
  }
14724
14812
  function _ts_generator$e(thisArg, body) {
14725
14813
  var f, y, t, _ = {
@@ -14822,8 +14910,9 @@ function _ts_generator$e(thisArg, body) {
14822
14910
  }
14823
14911
  function useRoomPlatformPrivateRoomControlActions(param) {
14824
14912
  var canShareScreen = param.canShareScreen, isScreenSharing = param.isScreenSharing, onStartScreenShare = param.onStartScreenShare, onStopScreenShare = param.onStopScreenShare, onEnd = param.onEnd, onScreenSharingChange = param.onScreenSharingChange, setLocalScreenShareEnabled = param.setLocalScreenShareEnabled, onEndingChange = param.onEndingChange, onEnded = param.onEnded;
14825
- var _useState = _sliced_to_array$i(useState(false), 2), isScreenSharePending = _useState[0], setIsScreenSharePending = _useState[1];
14826
- var _useState1 = _sliced_to_array$i(useState(false), 2), isEnding = _useState1[0], setIsEnding = _useState1[1];
14913
+ var roomPlatformToast = useRoomPlatformToast();
14914
+ var _useState = _sliced_to_array$j(useState(false), 2), isScreenSharePending = _useState[0], setIsScreenSharePending = _useState[1];
14915
+ var _useState1 = _sliced_to_array$j(useState(false), 2), isEnding = _useState1[0], setIsEnding = _useState1[1];
14827
14916
  var isStartingRef = useRef(false);
14828
14917
  var isStoppingRef = useRef(false);
14829
14918
  var isEndingRef = useRef(false);
@@ -14891,7 +14980,7 @@ function useRoomPlatformPrivateRoomControlActions(param) {
14891
14980
  ];
14892
14981
  case 8:
14893
14982
  _state.sent();
14894
- toast.error('Không thể chia sẻ màn hình trong phòng riêng.');
14983
+ roomPlatformToast.error('Không thể chia sẻ màn hình trong phòng riêng.');
14895
14984
  return [
14896
14985
  3,
14897
14986
  10
@@ -14947,7 +15036,7 @@ function useRoomPlatformPrivateRoomControlActions(param) {
14947
15036
  ];
14948
15037
  case 4:
14949
15038
  _state.sent();
14950
- toast.error('Không thể dừng chia sẻ màn hình trong phòng riêng.');
15039
+ roomPlatformToast.error('Không thể dừng chia sẻ màn hình trong phòng riêng.');
14951
15040
  return [
14952
15041
  3,
14953
15042
  6
@@ -15027,12 +15116,12 @@ function useRoomPlatformPrivateRoomControlActions(param) {
15027
15116
  };
15028
15117
  }
15029
15118
 
15030
- function _array_like_to_array$k(arr, len) {
15119
+ function _array_like_to_array$l(arr, len) {
15031
15120
  if (len == null || len > arr.length) len = arr.length;
15032
15121
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
15033
15122
  return arr2;
15034
15123
  }
15035
- function _array_with_holes$h(arr) {
15124
+ function _array_with_holes$i(arr) {
15036
15125
  if (Array.isArray(arr)) return arr;
15037
15126
  }
15038
15127
  function asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, key, arg) {
@@ -15077,7 +15166,7 @@ function _define_property$g(obj, key, value) {
15077
15166
  }
15078
15167
  return obj;
15079
15168
  }
15080
- function _iterable_to_array_limit$h(arr, i) {
15169
+ function _iterable_to_array_limit$i(arr, i) {
15081
15170
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
15082
15171
  if (_i == null) return;
15083
15172
  var _arr = [];
@@ -15101,7 +15190,7 @@ function _iterable_to_array_limit$h(arr, i) {
15101
15190
  }
15102
15191
  return _arr;
15103
15192
  }
15104
- function _non_iterable_rest$h() {
15193
+ function _non_iterable_rest$i() {
15105
15194
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
15106
15195
  }
15107
15196
  function _object_spread$c(target) {
@@ -15174,16 +15263,16 @@ function _object_without_properties_loose$4(source, excluded) {
15174
15263
  }
15175
15264
  return target;
15176
15265
  }
15177
- function _sliced_to_array$h(arr, i) {
15178
- return _array_with_holes$h(arr) || _iterable_to_array_limit$h(arr, i) || _unsupported_iterable_to_array$k(arr, i) || _non_iterable_rest$h();
15266
+ function _sliced_to_array$i(arr, i) {
15267
+ return _array_with_holes$i(arr) || _iterable_to_array_limit$i(arr, i) || _unsupported_iterable_to_array$l(arr, i) || _non_iterable_rest$i();
15179
15268
  }
15180
- function _unsupported_iterable_to_array$k(o, minLen) {
15269
+ function _unsupported_iterable_to_array$l(o, minLen) {
15181
15270
  if (!o) return;
15182
- if (typeof o === "string") return _array_like_to_array$k(o, minLen);
15271
+ if (typeof o === "string") return _array_like_to_array$l(o, minLen);
15183
15272
  var n = Object.prototype.toString.call(o).slice(8, -1);
15184
15273
  if (n === "Object" && o.constructor) n = o.constructor.name;
15185
15274
  if (n === "Map" || n === "Set") return Array.from(n);
15186
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$k(o, minLen);
15275
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$l(o, minLen);
15187
15276
  }
15188
15277
  function _ts_generator$d(thisArg, body) {
15189
15278
  var f, y, t, _ = {
@@ -15390,7 +15479,7 @@ var runAsyncSafely = function(action) {
15390
15479
  function RoomPlatformPrivateRoomControlBar(param) {
15391
15480
  var publishEnabled = param.publishEnabled, permissions = param.permissions, screenShareDisabled = param.screenShareDisabled, onStartScreenShare = param.onStartScreenShare, onStopScreenShare = param.onStopScreenShare, onEnd = param.onEnd, onEndingChange = param.onEndingChange, onEnded = param.onEnded;
15392
15481
  var room = useRoomContext();
15393
- var _useState = _sliced_to_array$h(useState(false), 2), isScreenSharing = _useState[0], setIsScreenSharing = _useState[1];
15482
+ var _useState = _sliced_to_array$i(useState(false), 2), isScreenSharing = _useState[0], setIsScreenSharing = _useState[1];
15394
15483
  var isScreenSharingRef = useRef(isScreenSharing);
15395
15484
  var isScreenSharePendingRef = useRef(false);
15396
15485
  var isNotifyingExternalStopRef = useRef(false);
@@ -15703,13 +15792,13 @@ var WhiteboardSocketEvent = /*#__PURE__*/ function(WhiteboardSocketEvent) {
15703
15792
  return WhiteboardSocketEvent;
15704
15793
  }({});
15705
15794
 
15706
- function _array_like_to_array$j(arr, len) {
15795
+ function _array_like_to_array$k(arr, len) {
15707
15796
  if (len == null || len > arr.length) len = arr.length;
15708
15797
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
15709
15798
  return arr2;
15710
15799
  }
15711
15800
  function _array_without_holes$9(arr) {
15712
- if (Array.isArray(arr)) return _array_like_to_array$j(arr);
15801
+ if (Array.isArray(arr)) return _array_like_to_array$k(arr);
15713
15802
  }
15714
15803
  function _define_property$f(obj, key, value) {
15715
15804
  if (key in obj) {
@@ -15801,15 +15890,15 @@ function _object_without_properties_loose$3(source, excluded) {
15801
15890
  return target;
15802
15891
  }
15803
15892
  function _to_consumable_array$9(arr) {
15804
- return _array_without_holes$9(arr) || _iterable_to_array$9(arr) || _unsupported_iterable_to_array$j(arr) || _non_iterable_spread$9();
15893
+ return _array_without_holes$9(arr) || _iterable_to_array$9(arr) || _unsupported_iterable_to_array$k(arr) || _non_iterable_spread$9();
15805
15894
  }
15806
- function _unsupported_iterable_to_array$j(o, minLen) {
15895
+ function _unsupported_iterable_to_array$k(o, minLen) {
15807
15896
  if (!o) return;
15808
- if (typeof o === "string") return _array_like_to_array$j(o, minLen);
15897
+ if (typeof o === "string") return _array_like_to_array$k(o, minLen);
15809
15898
  var n = Object.prototype.toString.call(o).slice(8, -1);
15810
15899
  if (n === "Object" && o.constructor) n = o.constructor.name;
15811
15900
  if (n === "Map" || n === "Set") return Array.from(n);
15812
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$j(o, minLen);
15901
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$k(o, minLen);
15813
15902
  }
15814
15903
  function createWhiteboardLocalHistory(createOperationId) {
15815
15904
  var state = {
@@ -15952,13 +16041,13 @@ function omitLatestRevision$1(object) {
15952
16041
  return input;
15953
16042
  }
15954
16043
 
15955
- function _array_like_to_array$i(arr, len) {
16044
+ function _array_like_to_array$j(arr, len) {
15956
16045
  if (len == null || len > arr.length) len = arr.length;
15957
16046
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
15958
16047
  return arr2;
15959
16048
  }
15960
16049
  function _array_without_holes$8(arr) {
15961
- if (Array.isArray(arr)) return _array_like_to_array$i(arr);
16050
+ if (Array.isArray(arr)) return _array_like_to_array$j(arr);
15962
16051
  }
15963
16052
  function _iterable_to_array$8(iter) {
15964
16053
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
@@ -15967,15 +16056,15 @@ function _non_iterable_spread$8() {
15967
16056
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
15968
16057
  }
15969
16058
  function _to_consumable_array$8(arr) {
15970
- return _array_without_holes$8(arr) || _iterable_to_array$8(arr) || _unsupported_iterable_to_array$i(arr) || _non_iterable_spread$8();
16059
+ return _array_without_holes$8(arr) || _iterable_to_array$8(arr) || _unsupported_iterable_to_array$j(arr) || _non_iterable_spread$8();
15971
16060
  }
15972
- function _unsupported_iterable_to_array$i(o, minLen) {
16061
+ function _unsupported_iterable_to_array$j(o, minLen) {
15973
16062
  if (!o) return;
15974
- if (typeof o === "string") return _array_like_to_array$i(o, minLen);
16063
+ if (typeof o === "string") return _array_like_to_array$j(o, minLen);
15975
16064
  var n = Object.prototype.toString.call(o).slice(8, -1);
15976
16065
  if (n === "Object" && o.constructor) n = o.constructor.name;
15977
16066
  if (n === "Map" || n === "Set") return Array.from(n);
15978
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$i(o, minLen);
16067
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$j(o, minLen);
15979
16068
  }
15980
16069
  var STROKE_WIDTHS = {
15981
16070
  xs: 2,
@@ -16318,16 +16407,16 @@ function pointInPolygon(point, polygon) {
16318
16407
  return inside;
16319
16408
  }
16320
16409
 
16321
- function _array_like_to_array$h(arr, len) {
16410
+ function _array_like_to_array$i(arr, len) {
16322
16411
  if (len == null || len > arr.length) len = arr.length;
16323
16412
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
16324
16413
  return arr2;
16325
16414
  }
16326
- function _array_with_holes$g(arr) {
16415
+ function _array_with_holes$h(arr) {
16327
16416
  if (Array.isArray(arr)) return arr;
16328
16417
  }
16329
16418
  function _array_without_holes$7(arr) {
16330
- if (Array.isArray(arr)) return _array_like_to_array$h(arr);
16419
+ if (Array.isArray(arr)) return _array_like_to_array$i(arr);
16331
16420
  }
16332
16421
  function _define_property$e(obj, key, value) {
16333
16422
  if (key in obj) {
@@ -16345,7 +16434,7 @@ function _define_property$e(obj, key, value) {
16345
16434
  function _iterable_to_array$7(iter) {
16346
16435
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
16347
16436
  }
16348
- function _iterable_to_array_limit$g(arr, i) {
16437
+ function _iterable_to_array_limit$h(arr, i) {
16349
16438
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
16350
16439
  if (_i == null) return;
16351
16440
  var _arr = [];
@@ -16369,7 +16458,7 @@ function _iterable_to_array_limit$g(arr, i) {
16369
16458
  }
16370
16459
  return _arr;
16371
16460
  }
16372
- function _non_iterable_rest$g() {
16461
+ function _non_iterable_rest$h() {
16373
16462
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
16374
16463
  }
16375
16464
  function _non_iterable_spread$7() {
@@ -16409,23 +16498,23 @@ function _object_spread_props$9(target, source) {
16409
16498
  }
16410
16499
  return target;
16411
16500
  }
16412
- function _sliced_to_array$g(arr, i) {
16413
- return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$h(arr, i) || _non_iterable_rest$g();
16501
+ function _sliced_to_array$h(arr, i) {
16502
+ return _array_with_holes$h(arr) || _iterable_to_array_limit$h(arr, i) || _unsupported_iterable_to_array$i(arr, i) || _non_iterable_rest$h();
16414
16503
  }
16415
16504
  function _to_consumable_array$7(arr) {
16416
- return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$h(arr) || _non_iterable_spread$7();
16505
+ return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$i(arr) || _non_iterable_spread$7();
16417
16506
  }
16418
16507
  function _type_of$6(obj) {
16419
16508
  "@swc/helpers - typeof";
16420
16509
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
16421
16510
  }
16422
- function _unsupported_iterable_to_array$h(o, minLen) {
16511
+ function _unsupported_iterable_to_array$i(o, minLen) {
16423
16512
  if (!o) return;
16424
- if (typeof o === "string") return _array_like_to_array$h(o, minLen);
16513
+ if (typeof o === "string") return _array_like_to_array$i(o, minLen);
16425
16514
  var n = Object.prototype.toString.call(o).slice(8, -1);
16426
16515
  if (n === "Object" && o.constructor) n = o.constructor.name;
16427
16516
  if (n === "Map" || n === "Set") return Array.from(n);
16428
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$h(o, minLen);
16517
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$i(o, minLen);
16429
16518
  }
16430
16519
  function resetSceneState() {
16431
16520
  return {
@@ -16703,7 +16792,7 @@ function applyOperationToScene(state, operation, revision, optimisticRestoreObje
16703
16792
  }
16704
16793
  function sortRecoveredObjects(state) {
16705
16794
  state.recoveredObjects = new Map(_to_consumable_array$7(state.recoveredObjects.entries()).sort(function(param, param1) {
16706
- var _param = _sliced_to_array$g(param, 2), left = _param[1], _param1 = _sliced_to_array$g(param1, 2), right = _param1[1];
16795
+ var _param = _sliced_to_array$h(param, 2), left = _param[1], _param1 = _sliced_to_array$h(param1, 2), right = _param1[1];
16707
16796
  return left.latestRevision === right.latestRevision ? left.objectId.localeCompare(right.objectId) : left.latestRevision - right.latestRevision;
16708
16797
  }));
16709
16798
  }
@@ -16764,7 +16853,7 @@ function removeExpiredMarkers(state, now) {
16764
16853
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
16765
16854
  try {
16766
16855
  for(var _iterator = state.recoveredObjects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
16767
- var _step_value = _sliced_to_array$g(_step.value, 2), objectId = _step_value[0], object = _step_value[1];
16856
+ var _step_value = _sliced_to_array$h(_step.value, 2), objectId = _step_value[0], object = _step_value[1];
16768
16857
  if (isExpiredMarker(object, now)) state.recoveredObjects.delete(objectId);
16769
16858
  }
16770
16859
  } catch (err) {
@@ -17474,16 +17563,16 @@ function FilledDiamondShapeIcon() {
17474
17563
  });
17475
17564
  }
17476
17565
 
17477
- function _array_like_to_array$g(arr, len) {
17566
+ function _array_like_to_array$h(arr, len) {
17478
17567
  if (len == null || len > arr.length) len = arr.length;
17479
17568
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17480
17569
  return arr2;
17481
17570
  }
17482
- function _array_with_holes$f(arr) {
17571
+ function _array_with_holes$g(arr) {
17483
17572
  if (Array.isArray(arr)) return arr;
17484
17573
  }
17485
17574
  function _array_without_holes$6(arr) {
17486
- if (Array.isArray(arr)) return _array_like_to_array$g(arr);
17575
+ if (Array.isArray(arr)) return _array_like_to_array$h(arr);
17487
17576
  }
17488
17577
  function _define_property$c(obj, key, value) {
17489
17578
  if (key in obj) {
@@ -17501,7 +17590,7 @@ function _define_property$c(obj, key, value) {
17501
17590
  function _iterable_to_array$6(iter) {
17502
17591
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
17503
17592
  }
17504
- function _iterable_to_array_limit$f(arr, i) {
17593
+ function _iterable_to_array_limit$g(arr, i) {
17505
17594
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
17506
17595
  if (_i == null) return;
17507
17596
  var _arr = [];
@@ -17525,7 +17614,7 @@ function _iterable_to_array_limit$f(arr, i) {
17525
17614
  }
17526
17615
  return _arr;
17527
17616
  }
17528
- function _non_iterable_rest$f() {
17617
+ function _non_iterable_rest$g() {
17529
17618
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17530
17619
  }
17531
17620
  function _non_iterable_spread$6() {
@@ -17565,19 +17654,19 @@ function _object_spread_props$8(target, source) {
17565
17654
  }
17566
17655
  return target;
17567
17656
  }
17568
- function _sliced_to_array$f(arr, i) {
17569
- return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$g(arr, i) || _non_iterable_rest$f();
17657
+ function _sliced_to_array$g(arr, i) {
17658
+ return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$h(arr, i) || _non_iterable_rest$g();
17570
17659
  }
17571
17660
  function _to_consumable_array$6(arr) {
17572
- return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$g(arr) || _non_iterable_spread$6();
17661
+ return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$h(arr) || _non_iterable_spread$6();
17573
17662
  }
17574
- function _unsupported_iterable_to_array$g(o, minLen) {
17663
+ function _unsupported_iterable_to_array$h(o, minLen) {
17575
17664
  if (!o) return;
17576
- if (typeof o === "string") return _array_like_to_array$g(o, minLen);
17665
+ if (typeof o === "string") return _array_like_to_array$h(o, minLen);
17577
17666
  var n = Object.prototype.toString.call(o).slice(8, -1);
17578
17667
  if (n === "Object" && o.constructor) n = o.constructor.name;
17579
17668
  if (n === "Map" || n === "Set") return Array.from(n);
17580
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$g(o, minLen);
17669
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$h(o, minLen);
17581
17670
  }
17582
17671
  var WHITEBOARD_VIEWPORT_PADDING = 16;
17583
17672
  var WHITEBOARD_DOCK_SNAP_DISTANCE = 64;
@@ -17608,14 +17697,14 @@ var WHITEBOARD_POPOVER_SIZES = {
17608
17697
  }
17609
17698
  };
17610
17699
  function useWhiteboardToolbarLayout() {
17611
- var _useState = _sliced_to_array$f(useState(function() {
17700
+ var _useState = _sliced_to_array$g(useState(function() {
17612
17701
  return getViewport();
17613
17702
  }), 2), viewport = _useState[0], setViewport = _useState[1];
17614
17703
  var viewportRef = useRef(viewport);
17615
- var _useState1 = _sliced_to_array$f(useState(false), 2), toolbarOpen = _useState1[0], setToolbarOpen = _useState1[1];
17616
- var _useState2 = _sliced_to_array$f(useState(null), 2), activePopover = _useState2[0], setActivePopover = _useState2[1];
17617
- var _useState3 = _sliced_to_array$f(useState(false), 2), hasOpened = _useState3[0], setHasOpened = _useState3[1];
17618
- var _useState4 = _sliced_to_array$f(useState(function() {
17704
+ var _useState1 = _sliced_to_array$g(useState(false), 2), toolbarOpen = _useState1[0], setToolbarOpen = _useState1[1];
17705
+ var _useState2 = _sliced_to_array$g(useState(null), 2), activePopover = _useState2[0], setActivePopover = _useState2[1];
17706
+ var _useState3 = _sliced_to_array$g(useState(false), 2), hasOpened = _useState3[0], setHasOpened = _useState3[1];
17707
+ var _useState4 = _sliced_to_array$g(useState(function() {
17619
17708
  return getToolbarLayout(getDefaultToolbarPosition(getViewport()), getViewport());
17620
17709
  }), 2), layout = _useState4[0], setLayout = _useState4[1];
17621
17710
  var dragOriginRef = useRef(undefined);
@@ -17841,10 +17930,10 @@ function getOutsideDock(position, orientation, viewport) {
17841
17930
  ]
17842
17931
  ];
17843
17932
  return (_candidates_filter_sort_ = candidates.filter(function(param) {
17844
- var _param = _sliced_to_array$f(param, 2), distance = _param[1];
17933
+ var _param = _sliced_to_array$g(param, 2), distance = _param[1];
17845
17934
  return distance > 0;
17846
17935
  }).sort(function(param, param1) {
17847
- var _param = _sliced_to_array$f(param, 2), left = _param[1], _param1 = _sliced_to_array$f(param1, 2), right = _param1[1];
17936
+ var _param = _sliced_to_array$g(param, 2), left = _param[1], _param1 = _sliced_to_array$g(param1, 2), right = _param1[1];
17848
17937
  return left - right;
17849
17938
  })[0]) === null || _candidates_filter_sort_ === void 0 ? void 0 : _candidates_filter_sort_[0];
17850
17939
  }
@@ -18007,12 +18096,12 @@ function TriggerIcon() {
18007
18096
  });
18008
18097
  }
18009
18098
 
18010
- function _array_like_to_array$f(arr, len) {
18099
+ function _array_like_to_array$g(arr, len) {
18011
18100
  if (len == null || len > arr.length) len = arr.length;
18012
18101
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
18013
18102
  return arr2;
18014
18103
  }
18015
- function _array_with_holes$e(arr) {
18104
+ function _array_with_holes$f(arr) {
18016
18105
  if (Array.isArray(arr)) return arr;
18017
18106
  }
18018
18107
  function _define_property$b(obj, key, value) {
@@ -18028,7 +18117,7 @@ function _define_property$b(obj, key, value) {
18028
18117
  }
18029
18118
  return obj;
18030
18119
  }
18031
- function _iterable_to_array_limit$e(arr, i) {
18120
+ function _iterable_to_array_limit$f(arr, i) {
18032
18121
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
18033
18122
  if (_i == null) return;
18034
18123
  var _arr = [];
@@ -18052,19 +18141,19 @@ function _iterable_to_array_limit$e(arr, i) {
18052
18141
  }
18053
18142
  return _arr;
18054
18143
  }
18055
- function _non_iterable_rest$e() {
18144
+ function _non_iterable_rest$f() {
18056
18145
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
18057
18146
  }
18058
- function _sliced_to_array$e(arr, i) {
18059
- return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$f(arr, i) || _non_iterable_rest$e();
18147
+ function _sliced_to_array$f(arr, i) {
18148
+ return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$g(arr, i) || _non_iterable_rest$f();
18060
18149
  }
18061
- function _unsupported_iterable_to_array$f(o, minLen) {
18150
+ function _unsupported_iterable_to_array$g(o, minLen) {
18062
18151
  if (!o) return;
18063
- if (typeof o === "string") return _array_like_to_array$f(o, minLen);
18152
+ if (typeof o === "string") return _array_like_to_array$g(o, minLen);
18064
18153
  var n = Object.prototype.toString.call(o).slice(8, -1);
18065
18154
  if (n === "Object" && o.constructor) n = o.constructor.name;
18066
18155
  if (n === "Map" || n === "Set") return Array.from(n);
18067
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$f(o, minLen);
18156
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$g(o, minLen);
18068
18157
  }
18069
18158
  function WhiteboardToolbar(param) {
18070
18159
  var _param_activeColor = param.activeColor, activeColor = _param_activeColor === void 0 ? DEFAULT_WHITEBOARD_COLOR : _param_activeColor, _param_activeDrawKind = param.activeDrawKind, activeDrawKind = _param_activeDrawKind === void 0 ? DEFAULT_WHITEBOARD_DRAW_KIND : _param_activeDrawKind, _param_activeTool = param.activeTool, activeTool = _param_activeTool === void 0 ? 'draw' : _param_activeTool, _param_activeWidthPreset = param.activeWidthPreset, activeWidthPreset = _param_activeWidthPreset === void 0 ? DEFAULT_WHITEBOARD_WIDTH_PRESET : _param_activeWidthPreset, _param_canRedo = param.canRedo, canRedo = _param_canRedo === void 0 ? false : _param_canRedo, _param_canUndo = param.canUndo, canUndo = _param_canUndo === void 0 ? false : _param_canUndo, onClose = param.onClose, onColorChange = param.onColorChange, onDrawKindChange = param.onDrawKindChange, onOpenChange = param.onOpenChange, onOperation = param.onOperation, onRedo = param.onRedo, onRetry = param.onRetry, onToolChange = param.onToolChange, onUndo = param.onUndo, onWidthPresetChange = param.onWidthPresetChange, permissions = param.permissions, _param_runtimeState = param.runtimeState, runtimeState = _param_runtimeState === void 0 ? 'ready' : _param_runtimeState;
@@ -18077,7 +18166,7 @@ function WhiteboardToolbar(param) {
18077
18166
  var colorButtonRef = useRef(null);
18078
18167
  var drawPopoverRef = useRef(null);
18079
18168
  var colorPopoverRef = useRef(null);
18080
- var _useState = _sliced_to_array$e(useState(undefined), 2), measuredPopoverStyle = _useState[0], setMeasuredPopoverStyle = _useState[1];
18169
+ var _useState = _sliced_to_array$f(useState(undefined), 2), measuredPopoverStyle = _useState[0], setMeasuredPopoverStyle = _useState[1];
18081
18170
  var interactionDisabled = !canWrite || runtimeState !== 'ready';
18082
18171
  var clearDisabled = !canClear || runtimeState !== 'ready';
18083
18172
  var tooltipSide = getToolbarTooltipSide(dock);
@@ -18575,15 +18664,15 @@ function CloseIcon() {
18575
18664
  });
18576
18665
  }
18577
18666
 
18578
- function _array_like_to_array$e(arr, len) {
18667
+ function _array_like_to_array$f(arr, len) {
18579
18668
  if (len == null || len > arr.length) len = arr.length;
18580
18669
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
18581
18670
  return arr2;
18582
18671
  }
18583
- function _array_with_holes$d(arr) {
18672
+ function _array_with_holes$e(arr) {
18584
18673
  if (Array.isArray(arr)) return arr;
18585
18674
  }
18586
- function _iterable_to_array_limit$d(arr, i) {
18675
+ function _iterable_to_array_limit$e(arr, i) {
18587
18676
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
18588
18677
  if (_i == null) return;
18589
18678
  var _arr = [];
@@ -18607,23 +18696,23 @@ function _iterable_to_array_limit$d(arr, i) {
18607
18696
  }
18608
18697
  return _arr;
18609
18698
  }
18610
- function _non_iterable_rest$d() {
18699
+ function _non_iterable_rest$e() {
18611
18700
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
18612
18701
  }
18613
- function _sliced_to_array$d(arr, i) {
18614
- return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$d();
18702
+ function _sliced_to_array$e(arr, i) {
18703
+ return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$f(arr, i) || _non_iterable_rest$e();
18615
18704
  }
18616
- function _unsupported_iterable_to_array$e(o, minLen) {
18705
+ function _unsupported_iterable_to_array$f(o, minLen) {
18617
18706
  if (!o) return;
18618
- if (typeof o === "string") return _array_like_to_array$e(o, minLen);
18707
+ if (typeof o === "string") return _array_like_to_array$f(o, minLen);
18619
18708
  var n = Object.prototype.toString.call(o).slice(8, -1);
18620
18709
  if (n === "Object" && o.constructor) n = o.constructor.name;
18621
18710
  if (n === "Map" || n === "Set") return Array.from(n);
18622
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
18711
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$f(o, minLen);
18623
18712
  }
18624
18713
  function useWhiteboardFrameRect() {
18625
18714
  var frameRef = useRef(null);
18626
- var _useState = _sliced_to_array$d(useState(undefined), 2), frameRect = _useState[0], setFrameRect = _useState[1];
18715
+ var _useState = _sliced_to_array$e(useState(undefined), 2), frameRect = _useState[0], setFrameRect = _useState[1];
18627
18716
  useEffect(function() {
18628
18717
  var element = frameRef.current;
18629
18718
  if (!element) return;
@@ -18658,16 +18747,16 @@ function useWhiteboardFrameRect() {
18658
18747
  };
18659
18748
  }
18660
18749
 
18661
- function _array_like_to_array$d(arr, len) {
18750
+ function _array_like_to_array$e(arr, len) {
18662
18751
  if (len == null || len > arr.length) len = arr.length;
18663
18752
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
18664
18753
  return arr2;
18665
18754
  }
18666
- function _array_with_holes$c(arr) {
18755
+ function _array_with_holes$d(arr) {
18667
18756
  if (Array.isArray(arr)) return arr;
18668
18757
  }
18669
18758
  function _array_without_holes$5(arr) {
18670
- if (Array.isArray(arr)) return _array_like_to_array$d(arr);
18759
+ if (Array.isArray(arr)) return _array_like_to_array$e(arr);
18671
18760
  }
18672
18761
  function asyncGeneratorStep$c(gen, resolve, reject, _next, _throw, key, arg) {
18673
18762
  try {
@@ -18714,7 +18803,7 @@ function _define_property$a(obj, key, value) {
18714
18803
  function _iterable_to_array$5(iter) {
18715
18804
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
18716
18805
  }
18717
- function _iterable_to_array_limit$c(arr, i) {
18806
+ function _iterable_to_array_limit$d(arr, i) {
18718
18807
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
18719
18808
  if (_i == null) return;
18720
18809
  var _arr = [];
@@ -18738,7 +18827,7 @@ function _iterable_to_array_limit$c(arr, i) {
18738
18827
  }
18739
18828
  return _arr;
18740
18829
  }
18741
- function _non_iterable_rest$c() {
18830
+ function _non_iterable_rest$d() {
18742
18831
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
18743
18832
  }
18744
18833
  function _non_iterable_spread$5() {
@@ -18814,23 +18903,23 @@ function _object_without_properties_loose$2(source, excluded) {
18814
18903
  }
18815
18904
  return target;
18816
18905
  }
18817
- function _sliced_to_array$c(arr, i) {
18818
- return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$d(arr, i) || _non_iterable_rest$c();
18906
+ function _sliced_to_array$d(arr, i) {
18907
+ return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$d();
18819
18908
  }
18820
18909
  function _to_consumable_array$5(arr) {
18821
- return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$d(arr) || _non_iterable_spread$5();
18910
+ return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$e(arr) || _non_iterable_spread$5();
18822
18911
  }
18823
18912
  function _type_of$5(obj) {
18824
18913
  "@swc/helpers - typeof";
18825
18914
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
18826
18915
  }
18827
- function _unsupported_iterable_to_array$d(o, minLen) {
18916
+ function _unsupported_iterable_to_array$e(o, minLen) {
18828
18917
  if (!o) return;
18829
- if (typeof o === "string") return _array_like_to_array$d(o, minLen);
18918
+ if (typeof o === "string") return _array_like_to_array$e(o, minLen);
18830
18919
  var n = Object.prototype.toString.call(o).slice(8, -1);
18831
18920
  if (n === "Object" && o.constructor) n = o.constructor.name;
18832
18921
  if (n === "Map" || n === "Set") return Array.from(n);
18833
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
18922
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
18834
18923
  }
18835
18924
  function _ts_generator$c(thisArg, body) {
18836
18925
  var f, y, t, _ = {
@@ -18952,10 +19041,10 @@ function WhiteboardCanvas(param) {
18952
19041
  if (!localHistoryRef.current) localHistoryRef.current = createWhiteboardLocalHistory(function() {
18953
19042
  return createStableId('annotation-history');
18954
19043
  });
18955
- var _useState = _sliced_to_array$c(useState(function() {
19044
+ var _useState = _sliced_to_array$d(useState(function() {
18956
19045
  return resetSceneState();
18957
19046
  }), 2), sceneState = _useState[0], setSceneState = _useState[1];
18958
- var _useState1 = _sliced_to_array$c(useState(function() {
19047
+ var _useState1 = _sliced_to_array$d(useState(function() {
18959
19048
  var _ref;
18960
19049
  var _localHistoryRef_current;
18961
19050
  return (_ref = (_localHistoryRef_current = localHistoryRef.current) === null || _localHistoryRef_current === void 0 ? void 0 : _localHistoryRef_current.getState()) !== null && _ref !== void 0 ? _ref : {
@@ -18963,11 +19052,11 @@ function WhiteboardCanvas(param) {
18963
19052
  undoStack: []
18964
19053
  };
18965
19054
  }), 2), localHistoryState = _useState1[0], setLocalHistoryState = _useState1[1];
18966
- var _useState2 = _sliced_to_array$c(useState(controlledActiveTool !== null && controlledActiveTool !== void 0 ? controlledActiveTool : 'draw'), 2), uncontrolledActiveTool = _useState2[0], setUncontrolledActiveTool = _useState2[1];
18967
- var _useState3 = _sliced_to_array$c(useState(DEFAULT_WHITEBOARD_DRAW_KIND), 2), activeDrawKind = _useState3[0], setActiveDrawKind = _useState3[1];
18968
- var _useState4 = _sliced_to_array$c(useState(DEFAULT_WHITEBOARD_COLOR), 2), activeColor = _useState4[0], setActiveColor = _useState4[1];
18969
- var _useState5 = _sliced_to_array$c(useState(DEFAULT_WHITEBOARD_WIDTH_PRESET), 2), activeWidthPreset = _useState5[0], setActiveWidthPreset = _useState5[1];
18970
- var _useState6 = _sliced_to_array$c(useState(false), 2), toolbarOpen = _useState6[0], setToolbarOpen = _useState6[1];
19055
+ var _useState2 = _sliced_to_array$d(useState(controlledActiveTool !== null && controlledActiveTool !== void 0 ? controlledActiveTool : 'draw'), 2), uncontrolledActiveTool = _useState2[0], setUncontrolledActiveTool = _useState2[1];
19056
+ var _useState3 = _sliced_to_array$d(useState(DEFAULT_WHITEBOARD_DRAW_KIND), 2), activeDrawKind = _useState3[0], setActiveDrawKind = _useState3[1];
19057
+ var _useState4 = _sliced_to_array$d(useState(DEFAULT_WHITEBOARD_COLOR), 2), activeColor = _useState4[0], setActiveColor = _useState4[1];
19058
+ var _useState5 = _sliced_to_array$d(useState(DEFAULT_WHITEBOARD_WIDTH_PRESET), 2), activeWidthPreset = _useState5[0], setActiveWidthPreset = _useState5[1];
19059
+ var _useState6 = _sliced_to_array$d(useState(false), 2), toolbarOpen = _useState6[0], setToolbarOpen = _useState6[1];
18971
19060
  var activeTool = controlledActiveTool !== null && controlledActiveTool !== void 0 ? controlledActiveTool : uncontrolledActiveTool;
18972
19061
  var hasWritePermission = permissions.includes('whiteboard:write');
18973
19062
  var submitState = whiteboard === null || whiteboard === void 0 ? void 0 : (_whiteboard_submitStatus = whiteboard.submitStatus) === null || _whiteboard_submitStatus === void 0 ? void 0 : _whiteboard_submitStatus.state;
@@ -19611,15 +19700,15 @@ function clamp01(value) {
19611
19700
  return Math.max(0, Math.min(1, value));
19612
19701
  }
19613
19702
 
19614
- function _array_like_to_array$c(arr, len) {
19703
+ function _array_like_to_array$d(arr, len) {
19615
19704
  if (len == null || len > arr.length) len = arr.length;
19616
19705
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19617
19706
  return arr2;
19618
19707
  }
19619
- function _array_with_holes$b(arr) {
19708
+ function _array_with_holes$c(arr) {
19620
19709
  if (Array.isArray(arr)) return arr;
19621
19710
  }
19622
- function _iterable_to_array_limit$b(arr, i) {
19711
+ function _iterable_to_array_limit$c(arr, i) {
19623
19712
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
19624
19713
  if (_i == null) return;
19625
19714
  var _arr = [];
@@ -19643,19 +19732,19 @@ function _iterable_to_array_limit$b(arr, i) {
19643
19732
  }
19644
19733
  return _arr;
19645
19734
  }
19646
- function _non_iterable_rest$b() {
19735
+ function _non_iterable_rest$c() {
19647
19736
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
19648
19737
  }
19649
- function _sliced_to_array$b(arr, i) {
19650
- return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$b();
19738
+ function _sliced_to_array$c(arr, i) {
19739
+ return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$d(arr, i) || _non_iterable_rest$c();
19651
19740
  }
19652
- function _unsupported_iterable_to_array$c(o, minLen) {
19741
+ function _unsupported_iterable_to_array$d(o, minLen) {
19653
19742
  if (!o) return;
19654
- if (typeof o === "string") return _array_like_to_array$c(o, minLen);
19743
+ if (typeof o === "string") return _array_like_to_array$d(o, minLen);
19655
19744
  var n = Object.prototype.toString.call(o).slice(8, -1);
19656
19745
  if (n === "Object" && o.constructor) n = o.constructor.name;
19657
19746
  if (n === "Map" || n === "Set") return Array.from(n);
19658
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
19747
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
19659
19748
  }
19660
19749
  function createWhiteboardSubmitQueue(options) {
19661
19750
  var _options_now;
@@ -19777,7 +19866,7 @@ function createWhiteboardSubmitQueue(options) {
19777
19866
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
19778
19867
  try {
19779
19868
  var _loop = function() {
19780
- var _step_value = _sliced_to_array$b(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
19869
+ var _step_value = _sliced_to_array$c(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
19781
19870
  var item = queue.find(function(queuedItem) {
19782
19871
  return queuedItem.operation.operationId === operationId;
19783
19872
  });
@@ -19838,16 +19927,16 @@ function createWhiteboardSubmitQueue(options) {
19838
19927
  };
19839
19928
  }
19840
19929
 
19841
- function _array_like_to_array$b(arr, len) {
19930
+ function _array_like_to_array$c(arr, len) {
19842
19931
  if (len == null || len > arr.length) len = arr.length;
19843
19932
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19844
19933
  return arr2;
19845
19934
  }
19846
- function _array_with_holes$a(arr) {
19935
+ function _array_with_holes$b(arr) {
19847
19936
  if (Array.isArray(arr)) return arr;
19848
19937
  }
19849
19938
  function _array_without_holes$4(arr) {
19850
- if (Array.isArray(arr)) return _array_like_to_array$b(arr);
19939
+ if (Array.isArray(arr)) return _array_like_to_array$c(arr);
19851
19940
  }
19852
19941
  function asyncGeneratorStep$b(gen, resolve, reject, _next, _throw, key, arg) {
19853
19942
  try {
@@ -19894,7 +19983,7 @@ function _define_property$9(obj, key, value) {
19894
19983
  function _iterable_to_array$4(iter) {
19895
19984
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
19896
19985
  }
19897
- function _iterable_to_array_limit$a(arr, i) {
19986
+ function _iterable_to_array_limit$b(arr, i) {
19898
19987
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
19899
19988
  if (_i == null) return;
19900
19989
  var _arr = [];
@@ -19918,7 +20007,7 @@ function _iterable_to_array_limit$a(arr, i) {
19918
20007
  }
19919
20008
  return _arr;
19920
20009
  }
19921
- function _non_iterable_rest$a() {
20010
+ function _non_iterable_rest$b() {
19922
20011
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
19923
20012
  }
19924
20013
  function _non_iterable_spread$4() {
@@ -19958,23 +20047,23 @@ function _object_spread_props$6(target, source) {
19958
20047
  }
19959
20048
  return target;
19960
20049
  }
19961
- function _sliced_to_array$a(arr, i) {
19962
- return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$b(arr, i) || _non_iterable_rest$a();
20050
+ function _sliced_to_array$b(arr, i) {
20051
+ return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$b();
19963
20052
  }
19964
20053
  function _to_consumable_array$4(arr) {
19965
- return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$b(arr) || _non_iterable_spread$4();
20054
+ return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$c(arr) || _non_iterable_spread$4();
19966
20055
  }
19967
20056
  function _type_of$4(obj) {
19968
20057
  "@swc/helpers - typeof";
19969
20058
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
19970
20059
  }
19971
- function _unsupported_iterable_to_array$b(o, minLen) {
20060
+ function _unsupported_iterable_to_array$c(o, minLen) {
19972
20061
  if (!o) return;
19973
- if (typeof o === "string") return _array_like_to_array$b(o, minLen);
20062
+ if (typeof o === "string") return _array_like_to_array$c(o, minLen);
19974
20063
  var n = Object.prototype.toString.call(o).slice(8, -1);
19975
20064
  if (n === "Object" && o.constructor) n = o.constructor.name;
19976
20065
  if (n === "Map" || n === "Set") return Array.from(n);
19977
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
20066
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
19978
20067
  }
19979
20068
  function _ts_generator$b(thisArg, body) {
19980
20069
  var f, y, t, _ = {
@@ -20180,7 +20269,7 @@ function createWhiteboardRuntime() {
20180
20269
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
20181
20270
  try {
20182
20271
  for(var _iterator = bufferedCommittedEvents[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
20183
- var _step_value = _sliced_to_array$a(_step.value, 2), eventRevision = _step_value[0], event = _step_value[1];
20272
+ var _step_value = _sliced_to_array$b(_step.value, 2), eventRevision = _step_value[0], event = _step_value[1];
20184
20273
  if (eventRevision > revision) continue;
20185
20274
  operationIds.set(event.operation.operationId, eventRevision);
20186
20275
  bufferedCommittedEvents.delete(eventRevision);
@@ -20795,7 +20884,7 @@ function createWhiteboardRuntime() {
20795
20884
  _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
20796
20885
  try {
20797
20886
  for(_iterator = reconciliation.recoveredOperationIds[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
20798
- _step_value = _sliced_to_array$a(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
20887
+ _step_value = _sliced_to_array$b(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
20799
20888
  recoveredOperationIds.set(operationId, revision);
20800
20889
  }
20801
20890
  } catch (err) {
@@ -20898,7 +20987,7 @@ function createWhiteboardRuntime() {
20898
20987
  _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
20899
20988
  try {
20900
20989
  for(_iterator = recovery.recoveredOperationIds[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
20901
- _step_value = _sliced_to_array$a(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
20990
+ _step_value = _sliced_to_array$b(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
20902
20991
  recoveredOperationIds.set(operationId, revision);
20903
20992
  }
20904
20993
  } catch (err) {
@@ -21468,16 +21557,16 @@ function sortRecoveryObjects(objects) {
21468
21557
  });
21469
21558
  }
21470
21559
 
21471
- function _array_like_to_array$a(arr, len) {
21560
+ function _array_like_to_array$b(arr, len) {
21472
21561
  if (len == null || len > arr.length) len = arr.length;
21473
21562
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
21474
21563
  return arr2;
21475
21564
  }
21476
- function _array_with_holes$9(arr) {
21565
+ function _array_with_holes$a(arr) {
21477
21566
  if (Array.isArray(arr)) return arr;
21478
21567
  }
21479
21568
  function _array_without_holes$3(arr) {
21480
- if (Array.isArray(arr)) return _array_like_to_array$a(arr);
21569
+ if (Array.isArray(arr)) return _array_like_to_array$b(arr);
21481
21570
  }
21482
21571
  function asyncGeneratorStep$a(gen, resolve, reject, _next, _throw, key, arg) {
21483
21572
  try {
@@ -21524,7 +21613,7 @@ function _define_property$8(obj, key, value) {
21524
21613
  function _iterable_to_array$3(iter) {
21525
21614
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
21526
21615
  }
21527
- function _iterable_to_array_limit$9(arr, i) {
21616
+ function _iterable_to_array_limit$a(arr, i) {
21528
21617
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
21529
21618
  if (_i == null) return;
21530
21619
  var _arr = [];
@@ -21548,7 +21637,7 @@ function _iterable_to_array_limit$9(arr, i) {
21548
21637
  }
21549
21638
  return _arr;
21550
21639
  }
21551
- function _non_iterable_rest$9() {
21640
+ function _non_iterable_rest$a() {
21552
21641
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
21553
21642
  }
21554
21643
  function _non_iterable_spread$3() {
@@ -21588,19 +21677,19 @@ function _object_spread_props$5(target, source) {
21588
21677
  }
21589
21678
  return target;
21590
21679
  }
21591
- function _sliced_to_array$9(arr, i) {
21592
- return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$9();
21680
+ function _sliced_to_array$a(arr, i) {
21681
+ return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$b(arr, i) || _non_iterable_rest$a();
21593
21682
  }
21594
21683
  function _to_consumable_array$3(arr) {
21595
- return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$a(arr) || _non_iterable_spread$3();
21684
+ return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$b(arr) || _non_iterable_spread$3();
21596
21685
  }
21597
- function _unsupported_iterable_to_array$a(o, minLen) {
21686
+ function _unsupported_iterable_to_array$b(o, minLen) {
21598
21687
  if (!o) return;
21599
- if (typeof o === "string") return _array_like_to_array$a(o, minLen);
21688
+ if (typeof o === "string") return _array_like_to_array$b(o, minLen);
21600
21689
  var n = Object.prototype.toString.call(o).slice(8, -1);
21601
21690
  if (n === "Object" && o.constructor) n = o.constructor.name;
21602
21691
  if (n === "Map" || n === "Set") return Array.from(n);
21603
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
21692
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
21604
21693
  }
21605
21694
  function _ts_generator$a(thisArg, body) {
21606
21695
  var f, y, t, _ = {
@@ -21704,20 +21793,20 @@ function _ts_generator$a(thisArg, body) {
21704
21793
  function WhiteboardProvider(param) {
21705
21794
  var controlledAuth = param.auth, children = param.children, _param_createRuntime = param.createRuntime, createRuntime = _param_createRuntime === void 0 ? createWhiteboardRuntime : _param_createRuntime, onDiagnostic = param.onDiagnostic, realtimeEndpoint = param.realtimeEndpoint, recoveryPort = param.recoveryPort, socketFactory = param.socketFactory, controlledShareSessionKey = param.shareSessionKey;
21706
21795
  var _boardState_activeShareSessionKey, _ref;
21707
- var _useState = _sliced_to_array$9(useState(hasValidWhiteboardAuth(controlledAuth) ? controlledAuth : undefined), 2), auth = _useState[0], setAuthState = _useState[1];
21708
- var _useState1 = _sliced_to_array$9(useState(controlledShareSessionKey), 2), shareSessionKey = _useState1[0], setShareSessionKey = _useState1[1];
21709
- var _useState2 = _sliced_to_array$9(useState(hasValidWhiteboardAuth(controlledAuth) ? 'connecting' : 'standby'), 2), status = _useState2[0], setStatus = _useState2[1];
21710
- var _useState3 = _sliced_to_array$9(useState({
21796
+ var _useState = _sliced_to_array$a(useState(hasValidWhiteboardAuth(controlledAuth) ? controlledAuth : undefined), 2), auth = _useState[0], setAuthState = _useState[1];
21797
+ var _useState1 = _sliced_to_array$a(useState(controlledShareSessionKey), 2), shareSessionKey = _useState1[0], setShareSessionKey = _useState1[1];
21798
+ var _useState2 = _sliced_to_array$a(useState(hasValidWhiteboardAuth(controlledAuth) ? 'connecting' : 'standby'), 2), status = _useState2[0], setStatus = _useState2[1];
21799
+ var _useState3 = _sliced_to_array$a(useState({
21711
21800
  activeShareSessionKey: controlledShareSessionKey,
21712
21801
  confirmedRevision: 0,
21713
21802
  headRevision: 0,
21714
21803
  pendingOperationCount: 0
21715
21804
  }), 2), boardState = _useState3[0], setBoardState = _useState3[1];
21716
- var _useState4 = _sliced_to_array$9(useState('idle'), 2), recoveryStatus = _useState4[0], setRecoveryStatus = _useState4[1];
21717
- var _useState5 = _sliced_to_array$9(useState(undefined), 2), recovery = _useState5[0], setRecovery = _useState5[1];
21718
- var _useState6 = _sliced_to_array$9(useState(undefined), 2), committedEvent = _useState6[0], setCommittedEvent = _useState6[1];
21719
- var _useState7 = _sliced_to_array$9(useState([]), 2), committedEvents = _useState7[0], setCommittedEvents = _useState7[1];
21720
- var _useState8 = _sliced_to_array$9(useState({
21805
+ var _useState4 = _sliced_to_array$a(useState('idle'), 2), recoveryStatus = _useState4[0], setRecoveryStatus = _useState4[1];
21806
+ var _useState5 = _sliced_to_array$a(useState(undefined), 2), recovery = _useState5[0], setRecovery = _useState5[1];
21807
+ var _useState6 = _sliced_to_array$a(useState(undefined), 2), committedEvent = _useState6[0], setCommittedEvent = _useState6[1];
21808
+ var _useState7 = _sliced_to_array$a(useState([]), 2), committedEvents = _useState7[0], setCommittedEvents = _useState7[1];
21809
+ var _useState8 = _sliced_to_array$a(useState({
21721
21810
  state: 'idle'
21722
21811
  }), 2), submitStatus = _useState8[0], setSubmitStatus = _useState8[1];
21723
21812
  var authRef = useRef(auth);
@@ -22099,12 +22188,12 @@ function WhiteboardProvider(param) {
22099
22188
  });
22100
22189
  }
22101
22190
 
22102
- function _array_like_to_array$9(arr, len) {
22191
+ function _array_like_to_array$a(arr, len) {
22103
22192
  if (len == null || len > arr.length) len = arr.length;
22104
22193
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
22105
22194
  return arr2;
22106
22195
  }
22107
- function _array_with_holes$8(arr) {
22196
+ function _array_with_holes$9(arr) {
22108
22197
  if (Array.isArray(arr)) return arr;
22109
22198
  }
22110
22199
  function _define_property$7(obj, key, value) {
@@ -22120,7 +22209,7 @@ function _define_property$7(obj, key, value) {
22120
22209
  }
22121
22210
  return obj;
22122
22211
  }
22123
- function _iterable_to_array_limit$8(arr, i) {
22212
+ function _iterable_to_array_limit$9(arr, i) {
22124
22213
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
22125
22214
  if (_i == null) return;
22126
22215
  var _arr = [];
@@ -22144,7 +22233,7 @@ function _iterable_to_array_limit$8(arr, i) {
22144
22233
  }
22145
22234
  return _arr;
22146
22235
  }
22147
- function _non_iterable_rest$8() {
22236
+ function _non_iterable_rest$9() {
22148
22237
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
22149
22238
  }
22150
22239
  function _object_spread$5(target) {
@@ -22181,16 +22270,16 @@ function _object_spread_props$4(target, source) {
22181
22270
  }
22182
22271
  return target;
22183
22272
  }
22184
- function _sliced_to_array$8(arr, i) {
22185
- return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$8();
22273
+ function _sliced_to_array$9(arr, i) {
22274
+ return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$9();
22186
22275
  }
22187
- function _unsupported_iterable_to_array$9(o, minLen) {
22276
+ function _unsupported_iterable_to_array$a(o, minLen) {
22188
22277
  if (!o) return;
22189
- if (typeof o === "string") return _array_like_to_array$9(o, minLen);
22278
+ if (typeof o === "string") return _array_like_to_array$a(o, minLen);
22190
22279
  var n = Object.prototype.toString.call(o).slice(8, -1);
22191
22280
  if (n === "Object" && o.constructor) n = o.constructor.name;
22192
22281
  if (n === "Map" || n === "Set") return Array.from(n);
22193
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
22282
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
22194
22283
  }
22195
22284
  var cameraVideoClassName = 'h-full w-full object-cover -scale-x-100';
22196
22285
  var getTrackSource = function(trackRef) {
@@ -22257,7 +22346,7 @@ function useScreenShareAspectRatio(trackRef) {
22257
22346
  var _trackRef_publication;
22258
22347
  var trackSid = trackRef === null || trackRef === void 0 ? void 0 : (_trackRef_publication = trackRef.publication) === null || _trackRef_publication === void 0 ? void 0 : _trackRef_publication.trackSid;
22259
22348
  var fallbackAspectRatio = getAspectRatio(trackRef);
22260
- var _useState = _sliced_to_array$8(useState(), 2), intrinsicRatio = _useState[0], setIntrinsicRatio = _useState[1];
22349
+ var _useState = _sliced_to_array$9(useState(), 2), intrinsicRatio = _useState[0], setIntrinsicRatio = _useState[1];
22261
22350
  var aspectRatio = intrinsicRatio && (trackSid !== undefined ? intrinsicRatio.trackSid === trackSid : intrinsicRatio.trackSid === undefined && intrinsicRatio.trackRef === trackRef) ? intrinsicRatio.aspectRatio : fallbackAspectRatio;
22262
22351
  var updateFromVideo = useCallback(function(event) {
22263
22352
  var _event_currentTarget = event.currentTarget, videoWidth = _event_currentTarget.videoWidth, videoHeight = _event_currentTarget.videoHeight;
@@ -22281,12 +22370,12 @@ function useScreenShareAspectRatio(trackRef) {
22281
22370
  function ScreenShareFrame(param) {
22282
22371
  var trackRef = param.trackRef, aspectRatio = param.aspectRatio, onLoadedMetadata = param.onLoadedMetadata, onResize = param.onResize, whiteboard = param.whiteboard;
22283
22372
  var frameRef = useRef(null);
22284
- var _useState = _sliced_to_array$8(useState(), 2), frameSize = _useState[0], setFrameSize = _useState[1];
22373
+ var _useState = _sliced_to_array$9(useState(), 2), frameSize = _useState[0], setFrameSize = _useState[1];
22285
22374
  useLayoutEffect(function() {
22286
22375
  var _frameRef_current;
22287
22376
  var container = (_frameRef_current = frameRef.current) === null || _frameRef_current === void 0 ? void 0 : _frameRef_current.parentElement;
22288
22377
  if (!container) return;
22289
- var _aspectRatio_split_map = _sliced_to_array$8(aspectRatio.split('/').map(Number), 2), sourceWidth = _aspectRatio_split_map[0], sourceHeight = _aspectRatio_split_map[1];
22378
+ var _aspectRatio_split_map = _sliced_to_array$9(aspectRatio.split('/').map(Number), 2), sourceWidth = _aspectRatio_split_map[0], sourceHeight = _aspectRatio_split_map[1];
22290
22379
  var ratio = sourceWidth / sourceHeight;
22291
22380
  var updateSize = function() {
22292
22381
  var clientWidth = container.clientWidth, clientHeight = container.clientHeight;
@@ -22339,7 +22428,7 @@ function ScreenShareFrame(param) {
22339
22428
  }
22340
22429
  function RoomPlatformPrivateRoomStage(param) {
22341
22430
  var callerExternalActorId = param.callerExternalActorId, studentExternalActorId = param.studentExternalActorId, activeScreenShareExternalActorId = param.activeScreenShareExternalActorId, controlBar = param.controlBar, whiteboard = param.whiteboard;
22342
- var _useState = _sliced_to_array$8(useState(true), 2), sidebarOpen = _useState[0], setSidebarOpen = _useState[1];
22431
+ var _useState = _sliced_to_array$9(useState(true), 2), sidebarOpen = _useState[0], setSidebarOpen = _useState[1];
22343
22432
  var previousScreenShareExternalActorIdRef = useRef(activeScreenShareExternalActorId);
22344
22433
  var previousShareSessionKeyRef = useRef(undefined);
22345
22434
  var whiteboardContext = useContext(WhiteboardContext);
@@ -23061,13 +23150,13 @@ var WebSocketRealtimeTransport = /*#__PURE__*/ function() {
23061
23150
  return WebSocketRealtimeTransport;
23062
23151
  }();
23063
23152
 
23064
- function _array_like_to_array$8(arr, len) {
23153
+ function _array_like_to_array$9(arr, len) {
23065
23154
  if (len == null || len > arr.length) len = arr.length;
23066
23155
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
23067
23156
  return arr2;
23068
23157
  }
23069
23158
  function _array_without_holes$2(arr) {
23070
- if (Array.isArray(arr)) return _array_like_to_array$8(arr);
23159
+ if (Array.isArray(arr)) return _array_like_to_array$9(arr);
23071
23160
  }
23072
23161
  function _class_call_check$1(instance, Constructor) {
23073
23162
  if (!(instance instanceof Constructor)) {
@@ -23107,15 +23196,15 @@ function _non_iterable_spread$2() {
23107
23196
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
23108
23197
  }
23109
23198
  function _to_consumable_array$2(arr) {
23110
- return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$8(arr) || _non_iterable_spread$2();
23199
+ return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$9(arr) || _non_iterable_spread$2();
23111
23200
  }
23112
- function _unsupported_iterable_to_array$8(o, minLen) {
23201
+ function _unsupported_iterable_to_array$9(o, minLen) {
23113
23202
  if (!o) return;
23114
- if (typeof o === "string") return _array_like_to_array$8(o, minLen);
23203
+ if (typeof o === "string") return _array_like_to_array$9(o, minLen);
23115
23204
  var n = Object.prototype.toString.call(o).slice(8, -1);
23116
23205
  if (n === "Object" && o.constructor) n = o.constructor.name;
23117
23206
  if (n === "Map" || n === "Set") return Array.from(n);
23118
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
23207
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
23119
23208
  }
23120
23209
  var ChatClientState = /*#__PURE__*/ function() {
23121
23210
  function ChatClientState() {
@@ -24404,12 +24493,12 @@ function ForwardMessageDialog(param) {
24404
24493
  });
24405
24494
  }
24406
24495
 
24407
- function _array_like_to_array$7(arr, len) {
24496
+ function _array_like_to_array$8(arr, len) {
24408
24497
  if (len == null || len > arr.length) len = arr.length;
24409
24498
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
24410
24499
  return arr2;
24411
24500
  }
24412
- function _array_with_holes$7(arr) {
24501
+ function _array_with_holes$8(arr) {
24413
24502
  if (Array.isArray(arr)) return arr;
24414
24503
  }
24415
24504
  function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
@@ -24441,7 +24530,7 @@ function _async_to_generator$5(fn) {
24441
24530
  });
24442
24531
  };
24443
24532
  }
24444
- function _iterable_to_array_limit$7(arr, i) {
24533
+ function _iterable_to_array_limit$8(arr, i) {
24445
24534
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
24446
24535
  if (_i == null) return;
24447
24536
  var _arr = [];
@@ -24465,19 +24554,19 @@ function _iterable_to_array_limit$7(arr, i) {
24465
24554
  }
24466
24555
  return _arr;
24467
24556
  }
24468
- function _non_iterable_rest$7() {
24557
+ function _non_iterable_rest$8() {
24469
24558
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
24470
24559
  }
24471
- function _sliced_to_array$7(arr, i) {
24472
- return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
24560
+ function _sliced_to_array$8(arr, i) {
24561
+ return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
24473
24562
  }
24474
- function _unsupported_iterable_to_array$7(o, minLen) {
24563
+ function _unsupported_iterable_to_array$8(o, minLen) {
24475
24564
  if (!o) return;
24476
- if (typeof o === "string") return _array_like_to_array$7(o, minLen);
24565
+ if (typeof o === "string") return _array_like_to_array$8(o, minLen);
24477
24566
  var n = Object.prototype.toString.call(o).slice(8, -1);
24478
24567
  if (n === "Object" && o.constructor) n = o.constructor.name;
24479
24568
  if (n === "Map" || n === "Set") return Array.from(n);
24480
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
24569
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
24481
24570
  }
24482
24571
  function _ts_generator$5(thisArg, body) {
24483
24572
  var f, y, t, _ = {
@@ -24580,7 +24669,7 @@ function _ts_generator$5(thisArg, body) {
24580
24669
  }
24581
24670
  function MessageComposer(param) {
24582
24671
  var canSend = param.canSend, className = param.className, onSend = param.onSend;
24583
- var _useState = _sliced_to_array$7(useState(''), 2), text = _useState[0], setText = _useState[1];
24672
+ var _useState = _sliced_to_array$8(useState(''), 2), text = _useState[0], setText = _useState[1];
24584
24673
  if (!canSend) {
24585
24674
  return /*#__PURE__*/ jsx("div", {
24586
24675
  className: cx('navi-chat__readonly', className),
@@ -24696,16 +24785,16 @@ function MessageComposer(param) {
24696
24785
  });
24697
24786
  }
24698
24787
 
24699
- function _array_like_to_array$6(arr, len) {
24788
+ function _array_like_to_array$7(arr, len) {
24700
24789
  if (len == null || len > arr.length) len = arr.length;
24701
24790
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
24702
24791
  return arr2;
24703
24792
  }
24704
- function _array_with_holes$6(arr) {
24793
+ function _array_with_holes$7(arr) {
24705
24794
  if (Array.isArray(arr)) return arr;
24706
24795
  }
24707
24796
  function _array_without_holes$1(arr) {
24708
- if (Array.isArray(arr)) return _array_like_to_array$6(arr);
24797
+ if (Array.isArray(arr)) return _array_like_to_array$7(arr);
24709
24798
  }
24710
24799
  function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
24711
24800
  try {
@@ -24746,7 +24835,7 @@ function _instanceof(left, right) {
24746
24835
  function _iterable_to_array$1(iter) {
24747
24836
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
24748
24837
  }
24749
- function _iterable_to_array_limit$6(arr, i) {
24838
+ function _iterable_to_array_limit$7(arr, i) {
24750
24839
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
24751
24840
  if (_i == null) return;
24752
24841
  var _arr = [];
@@ -24770,25 +24859,25 @@ function _iterable_to_array_limit$6(arr, i) {
24770
24859
  }
24771
24860
  return _arr;
24772
24861
  }
24773
- function _non_iterable_rest$6() {
24862
+ function _non_iterable_rest$7() {
24774
24863
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
24775
24864
  }
24776
24865
  function _non_iterable_spread$1() {
24777
24866
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
24778
24867
  }
24779
- function _sliced_to_array$6(arr, i) {
24780
- return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
24868
+ function _sliced_to_array$7(arr, i) {
24869
+ return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
24781
24870
  }
24782
24871
  function _to_consumable_array$1(arr) {
24783
- return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$6(arr) || _non_iterable_spread$1();
24872
+ return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$7(arr) || _non_iterable_spread$1();
24784
24873
  }
24785
- function _unsupported_iterable_to_array$6(o, minLen) {
24874
+ function _unsupported_iterable_to_array$7(o, minLen) {
24786
24875
  if (!o) return;
24787
- if (typeof o === "string") return _array_like_to_array$6(o, minLen);
24876
+ if (typeof o === "string") return _array_like_to_array$7(o, minLen);
24788
24877
  var n = Object.prototype.toString.call(o).slice(8, -1);
24789
24878
  if (n === "Object" && o.constructor) n = o.constructor.name;
24790
24879
  if (n === "Map" || n === "Set") return Array.from(n);
24791
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
24880
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
24792
24881
  }
24793
24882
  function _ts_generator$4(thisArg, body) {
24794
24883
  var f, y, t, _ = {
@@ -24897,15 +24986,15 @@ function MessageList(param) {
24897
24986
  var restoreScrollSnapshotRef = useRef(undefined);
24898
24987
  var previousMessageCountRef = useRef(messages.length);
24899
24988
  var previousMessagesRef = useRef(messages);
24900
- var _useState = _sliced_to_array$6(useState(''), 2), draftText = _useState[0], setDraftText = _useState[1];
24901
- var _useState1 = _sliced_to_array$6(useState(), 2), editingMessageId = _useState1[0], setEditingMessageId = _useState1[1];
24902
- var _useState2 = _sliced_to_array$6(useState(), 2), openMenuMessageId = _useState2[0], setOpenMenuMessageId = _useState2[1];
24989
+ var _useState = _sliced_to_array$7(useState(''), 2), draftText = _useState[0], setDraftText = _useState[1];
24990
+ var _useState1 = _sliced_to_array$7(useState(), 2), editingMessageId = _useState1[0], setEditingMessageId = _useState1[1];
24991
+ var _useState2 = _sliced_to_array$7(useState(), 2), openMenuMessageId = _useState2[0], setOpenMenuMessageId = _useState2[1];
24903
24992
  var openMenuRef = useRef(null);
24904
- var _useState3 = _sliced_to_array$6(useState(function() {
24993
+ var _useState3 = _sliced_to_array$7(useState(function() {
24905
24994
  return now().getTime();
24906
24995
  }), 2), currentTimeMs = _useState3[0], setCurrentTimeMs = _useState3[1];
24907
- var _useState4 = _sliced_to_array$6(useState(true), 2), isAtLatest = _useState4[0], setIsAtLatest = _useState4[1];
24908
- var _useState5 = _sliced_to_array$6(useState(false), 2), hasNewMessages = _useState5[0], setHasNewMessages = _useState5[1];
24996
+ var _useState4 = _sliced_to_array$7(useState(true), 2), isAtLatest = _useState4[0], setIsAtLatest = _useState4[1];
24997
+ var _useState5 = _sliced_to_array$7(useState(false), 2), hasNewMessages = _useState5[0], setHasNewMessages = _useState5[1];
24909
24998
  var orderedMessages = useMemo(function() {
24910
24999
  return _to_consumable_array$1(messages).sort(compareMessagesByCreatedAt);
24911
25000
  }, [
@@ -25328,12 +25417,12 @@ var formatTime = function(value) {
25328
25417
  }).format(new Date(value));
25329
25418
  };
25330
25419
 
25331
- function _array_like_to_array$5(arr, len) {
25420
+ function _array_like_to_array$6(arr, len) {
25332
25421
  if (len == null || len > arr.length) len = arr.length;
25333
25422
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
25334
25423
  return arr2;
25335
25424
  }
25336
- function _array_with_holes$5(arr) {
25425
+ function _array_with_holes$6(arr) {
25337
25426
  if (Array.isArray(arr)) return arr;
25338
25427
  }
25339
25428
  function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
@@ -25365,7 +25454,7 @@ function _async_to_generator$3(fn) {
25365
25454
  });
25366
25455
  };
25367
25456
  }
25368
- function _iterable_to_array_limit$5(arr, i) {
25457
+ function _iterable_to_array_limit$6(arr, i) {
25369
25458
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
25370
25459
  if (_i == null) return;
25371
25460
  var _arr = [];
@@ -25389,19 +25478,19 @@ function _iterable_to_array_limit$5(arr, i) {
25389
25478
  }
25390
25479
  return _arr;
25391
25480
  }
25392
- function _non_iterable_rest$5() {
25481
+ function _non_iterable_rest$6() {
25393
25482
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
25394
25483
  }
25395
- function _sliced_to_array$5(arr, i) {
25396
- return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
25484
+ function _sliced_to_array$6(arr, i) {
25485
+ return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
25397
25486
  }
25398
- function _unsupported_iterable_to_array$5(o, minLen) {
25487
+ function _unsupported_iterable_to_array$6(o, minLen) {
25399
25488
  if (!o) return;
25400
- if (typeof o === "string") return _array_like_to_array$5(o, minLen);
25489
+ if (typeof o === "string") return _array_like_to_array$6(o, minLen);
25401
25490
  var n = Object.prototype.toString.call(o).slice(8, -1);
25402
25491
  if (n === "Object" && o.constructor) n = o.constructor.name;
25403
25492
  if (n === "Map" || n === "Set") return Array.from(n);
25404
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
25493
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
25405
25494
  }
25406
25495
  function _ts_generator$3(thisArg, body) {
25407
25496
  var f, y, t, _ = {
@@ -25506,7 +25595,7 @@ function ChatPanel(param) {
25506
25595
  var className = param.className;
25507
25596
  var _messagesByRoom_activeRoom_roomId, _ref, _ref1, _ref2;
25508
25597
  var _useChatContext = useChatContext(), activeRoomId = _useChatContext.activeRoomId, classNames = _useChatContext.classNames, client = _useChatContext.client, currentSubject = _useChatContext.currentSubject, hasMoreByRoom = _useChatContext.hasMoreByRoom, isLoadingOlderByRoom = _useChatContext.isLoadingOlderByRoom, loadOlderMessages = _useChatContext.loadOlderMessages, messagesByRoom = _useChatContext.messagesByRoom, messageActionWindowMs = _useChatContext.messageActionWindowMs, now = _useChatContext.now, onlineCountsByRoom = _useChatContext.onlineCountsByRoom, rooms = _useChatContext.rooms, sendMessage = _useChatContext.sendMessage, deleteMessage = _useChatContext.deleteMessage, editMessage = _useChatContext.editMessage, setActiveRoomId = _useChatContext.setActiveRoomId, setRoomAtLatest = _useChatContext.setRoomAtLatest, status = _useChatContext.status, unreadCountsByRoom = _useChatContext.unreadCountsByRoom;
25509
- var _useState = _sliced_to_array$5(useState(), 2), forwardingMessage = _useState[0], setForwardingMessage = _useState[1];
25598
+ var _useState = _sliced_to_array$6(useState(), 2), forwardingMessage = _useState[0], setForwardingMessage = _useState[1];
25510
25599
  var activeRoom = findActiveRoom(rooms, activeRoomId);
25511
25600
  var canRead = hasRoomPermission(activeRoom, 'read');
25512
25601
  var canSend = hasRoomPermission(activeRoom, 'send');
@@ -25649,16 +25738,16 @@ var getRoomDisplayRole = function(room) {
25649
25738
  return hasRoomPermission(room, 'forward') ? 'Quản trị' : 'Thành viên';
25650
25739
  };
25651
25740
 
25652
- function _array_like_to_array$4(arr, len) {
25741
+ function _array_like_to_array$5(arr, len) {
25653
25742
  if (len == null || len > arr.length) len = arr.length;
25654
25743
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
25655
25744
  return arr2;
25656
25745
  }
25657
- function _array_with_holes$4(arr) {
25746
+ function _array_with_holes$5(arr) {
25658
25747
  if (Array.isArray(arr)) return arr;
25659
25748
  }
25660
25749
  function _array_without_holes(arr) {
25661
- if (Array.isArray(arr)) return _array_like_to_array$4(arr);
25750
+ if (Array.isArray(arr)) return _array_like_to_array$5(arr);
25662
25751
  }
25663
25752
  function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
25664
25753
  try {
@@ -25705,7 +25794,7 @@ function _define_property$1(obj, key, value) {
25705
25794
  function _iterable_to_array(iter) {
25706
25795
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
25707
25796
  }
25708
- function _iterable_to_array_limit$4(arr, i) {
25797
+ function _iterable_to_array_limit$5(arr, i) {
25709
25798
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
25710
25799
  if (_i == null) return;
25711
25800
  var _arr = [];
@@ -25729,7 +25818,7 @@ function _iterable_to_array_limit$4(arr, i) {
25729
25818
  }
25730
25819
  return _arr;
25731
25820
  }
25732
- function _non_iterable_rest$4() {
25821
+ function _non_iterable_rest$5() {
25733
25822
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
25734
25823
  }
25735
25824
  function _non_iterable_spread() {
@@ -25769,23 +25858,23 @@ function _object_spread_props$1(target, source) {
25769
25858
  }
25770
25859
  return target;
25771
25860
  }
25772
- function _sliced_to_array$4(arr, i) {
25773
- return _array_with_holes$4(arr) || _iterable_to_array_limit$4(arr, i) || _unsupported_iterable_to_array$4(arr, i) || _non_iterable_rest$4();
25861
+ function _sliced_to_array$5(arr, i) {
25862
+ return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
25774
25863
  }
25775
25864
  function _to_consumable_array(arr) {
25776
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$4(arr) || _non_iterable_spread();
25865
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$5(arr) || _non_iterable_spread();
25777
25866
  }
25778
25867
  function _type_of(obj) {
25779
25868
  "@swc/helpers - typeof";
25780
25869
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
25781
25870
  }
25782
- function _unsupported_iterable_to_array$4(o, minLen) {
25871
+ function _unsupported_iterable_to_array$5(o, minLen) {
25783
25872
  if (!o) return;
25784
- if (typeof o === "string") return _array_like_to_array$4(o, minLen);
25873
+ if (typeof o === "string") return _array_like_to_array$5(o, minLen);
25785
25874
  var n = Object.prototype.toString.call(o).slice(8, -1);
25786
25875
  if (n === "Object" && o.constructor) n = o.constructor.name;
25787
25876
  if (n === "Map" || n === "Set") return Array.from(n);
25788
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$4(o, minLen);
25877
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
25789
25878
  }
25790
25879
  function _ts_generator$2(thisArg, body) {
25791
25880
  var f, y, t, _ = {
@@ -25893,15 +25982,15 @@ function ChatProvider(param) {
25893
25982
  return new Date();
25894
25983
  } : _param_now, onError = param.onError, refreshToken = param.refreshToken, refreshTokenExpiresAt = param.refreshTokenExpiresAt, realtimeEndpoint = param.realtimeEndpoint, rooms = param.rooms, token = param.token, tokenExpiresAt = param.tokenExpiresAt, tokens = param.tokens;
25895
25984
  var _rooms_;
25896
- var _useState = _sliced_to_array$4(useState(currentRoomId !== null && currentRoomId !== void 0 ? currentRoomId : (_rooms_ = rooms[0]) === null || _rooms_ === void 0 ? void 0 : _rooms_.roomId), 2), activeRoomId = _useState[0], setActiveRoomId = _useState[1];
25897
- var _useState1 = _sliced_to_array$4(useState({}), 2), hasMoreByRoom = _useState1[0], setHasMoreByRoom = _useState1[1];
25898
- var _useState2 = _sliced_to_array$4(useState({}), 2), historyCursorsByRoom = _useState2[0], setHistoryCursorsByRoom = _useState2[1];
25899
- var _useState3 = _sliced_to_array$4(useState({}), 2), isLoadingOlderByRoom = _useState3[0], setIsLoadingOlderByRoom = _useState3[1];
25900
- var _useState4 = _sliced_to_array$4(useState(initialMessages), 2), messagesByRoom = _useState4[0], setMessagesByRoom = _useState4[1];
25901
- var _useState5 = _sliced_to_array$4(useState({}), 2), onlineCountsByRoom = _useState5[0], setOnlineCountsByRoom = _useState5[1];
25902
- var _useState6 = _sliced_to_array$4(useState({}), 2), roomLatestStateByRoom = _useState6[0], setRoomLatestStateByRoom = _useState6[1];
25903
- var _useState7 = _sliced_to_array$4(useState('connecting'), 2), status = _useState7[0], setStatus = _useState7[1];
25904
- var _useState8 = _sliced_to_array$4(useState({}), 2), unreadCountsByRoom = _useState8[0], setUnreadCountsByRoom = _useState8[1];
25985
+ var _useState = _sliced_to_array$5(useState(currentRoomId !== null && currentRoomId !== void 0 ? currentRoomId : (_rooms_ = rooms[0]) === null || _rooms_ === void 0 ? void 0 : _rooms_.roomId), 2), activeRoomId = _useState[0], setActiveRoomId = _useState[1];
25986
+ var _useState1 = _sliced_to_array$5(useState({}), 2), hasMoreByRoom = _useState1[0], setHasMoreByRoom = _useState1[1];
25987
+ var _useState2 = _sliced_to_array$5(useState({}), 2), historyCursorsByRoom = _useState2[0], setHistoryCursorsByRoom = _useState2[1];
25988
+ var _useState3 = _sliced_to_array$5(useState({}), 2), isLoadingOlderByRoom = _useState3[0], setIsLoadingOlderByRoom = _useState3[1];
25989
+ var _useState4 = _sliced_to_array$5(useState(initialMessages), 2), messagesByRoom = _useState4[0], setMessagesByRoom = _useState4[1];
25990
+ var _useState5 = _sliced_to_array$5(useState({}), 2), onlineCountsByRoom = _useState5[0], setOnlineCountsByRoom = _useState5[1];
25991
+ var _useState6 = _sliced_to_array$5(useState({}), 2), roomLatestStateByRoom = _useState6[0], setRoomLatestStateByRoom = _useState6[1];
25992
+ var _useState7 = _sliced_to_array$5(useState('connecting'), 2), status = _useState7[0], setStatus = _useState7[1];
25993
+ var _useState8 = _sliced_to_array$5(useState({}), 2), unreadCountsByRoom = _useState8[0], setUnreadCountsByRoom = _useState8[1];
25905
25994
  var currentSubject = useMemo(function() {
25906
25995
  return subjectFromToken(token);
25907
25996
  }, [
@@ -26328,7 +26417,7 @@ var isChatRoomPresenceDto = function(event) {
26328
26417
  return Boolean(event && (typeof event === "undefined" ? "undefined" : _type_of(event)) === 'object' && 'roomId' in event && typeof event.roomId === 'string' && 'onlineCount' in event && typeof event.onlineCount === 'number');
26329
26418
  };
26330
26419
  var subjectFromToken = function(token) {
26331
- var _token_split = _sliced_to_array$4(token.split('.'), 2), payload = _token_split[1];
26420
+ var _token_split = _sliced_to_array$5(token.split('.'), 2), payload = _token_split[1];
26332
26421
  if (!payload) return undefined;
26333
26422
  try {
26334
26423
  var normalized = payload.replace(/-/g, '+').replace(/_/g, '/');
@@ -26340,6 +26429,96 @@ var subjectFromToken = function(token) {
26340
26429
  }
26341
26430
  };
26342
26431
 
26432
+ var roomPlatformGeneratedStyles = "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n .room-platform-room {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-400: oklch(76.5% 0.177 163.223);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n --color-sky-50: oklch(97.7% 0.013 236.62);\n --color-sky-200: oklch(90.1% 0.058 230.902);\n --color-sky-950: oklch(29.3% 0.066 243.157);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-2xl: 42rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-widest: 0.1em;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-4xl: 2rem;\n --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --blur-xs: 4px;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-background: #ffffff;\n --color-foreground: oklch(0.145 0 0);\n --color-card: #ffffff;\n --color-card-foreground: oklch(0.145 0 0);\n --color-popover: #ffffff;\n --color-popover-foreground: oklch(0.145 0 0);\n --color-primary: #242f62;\n --color-primary-foreground: #ffffff;\n --color-secondary: #eb6619;\n --color-secondary-foreground: #ffffff;\n --color-muted: oklch(0.97 0 0);\n --color-muted-foreground: oklch(0.556 0 0);\n --color-accent: oklch(0.97 0 0);\n --color-accent-foreground: oklch(0.205 0 0);\n --color-destructive: oklch(0.577 0.245 27.325);\n --color-border: oklch(0.922 0 0);\n --color-input: oklch(0.922 0 0);\n --color-ring: #9dc2f3;\n --color-liveclass-orange: #eb6619;\n }\n}\n@layer base {\n .room-platform-room *, .room-platform-room ::after, .room-platform-room ::before, .room-platform-room ::backdrop, .room-platform-room ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n .room-platform-room html, .room-platform-room {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n .room-platform-room hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n .room-platform-room abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n .room-platform-room h1, .room-platform-room h2, .room-platform-room h3, .room-platform-room h4, .room-platform-room h5, .room-platform-room h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n .room-platform-room a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n .room-platform-room b, .room-platform-room strong {\n font-weight: bolder;\n }\n .room-platform-room code, .room-platform-room kbd, .room-platform-room samp, .room-platform-room pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n .room-platform-room small {\n font-size: 80%;\n }\n .room-platform-room sub, .room-platform-room sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n .room-platform-room sub {\n bottom: -0.25em;\n }\n .room-platform-room sup {\n top: -0.5em;\n }\n .room-platform-room table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n .room-platform-room :-moz-focusring {\n outline: auto;\n }\n .room-platform-room progress {\n vertical-align: baseline;\n }\n .room-platform-room summary {\n display: list-item;\n }\n .room-platform-room ol, .room-platform-room ul, .room-platform-room menu {\n list-style: none;\n }\n .room-platform-room img, .room-platform-room svg, .room-platform-room video, .room-platform-room canvas, .room-platform-room audio, .room-platform-room iframe, .room-platform-room embed, .room-platform-room object {\n display: block;\n vertical-align: middle;\n }\n .room-platform-room img, .room-platform-room video {\n max-width: 100%;\n height: auto;\n }\n .room-platform-room button, .room-platform-room input, .room-platform-room select, .room-platform-room optgroup, .room-platform-room textarea, .room-platform-room ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n .room-platform-room :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n .room-platform-room :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n .room-platform-room ::file-selector-button {\n margin-inline-end: 4px;\n }\n .room-platform-room ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n .room-platform-room ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n .room-platform-room textarea {\n resize: vertical;\n }\n .room-platform-room ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n .room-platform-room ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n .room-platform-room ::-webkit-datetime-edit {\n display: inline-flex;\n }\n .room-platform-room ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n .room-platform-room ::-webkit-datetime-edit, .room-platform-room ::-webkit-datetime-edit-year-field, .room-platform-room ::-webkit-datetime-edit-month-field, .room-platform-room ::-webkit-datetime-edit-day-field, .room-platform-room ::-webkit-datetime-edit-hour-field, .room-platform-room ::-webkit-datetime-edit-minute-field, .room-platform-room ::-webkit-datetime-edit-second-field, .room-platform-room ::-webkit-datetime-edit-millisecond-field, .room-platform-room ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n .room-platform-room ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n .room-platform-room :-moz-ui-invalid {\n box-shadow: none;\n }\n .room-platform-room button, .room-platform-room input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), .room-platform-room ::file-selector-button {\n appearance: button;\n }\n .room-platform-room ::-webkit-inner-spin-button, .room-platform-room ::-webkit-outer-spin-button {\n height: auto;\n }\n .room-platform-room [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .room-platform-room .\\@container\\/card-header {\n container-type: inline-size;\n container-name: card-header;\n }\n .room-platform-room .\\@container\\/field-group {\n container-type: inline-size;\n container-name: field-group;\n }\n .room-platform-room .pointer-events-auto {\n pointer-events: auto;\n }\n .room-platform-room .pointer-events-none {\n pointer-events: none;\n }\n .room-platform-room .invisible {\n visibility: hidden;\n }\n .room-platform-room .visible {\n visibility: visible;\n }\n .room-platform-room .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n }\n .room-platform-room .absolute {\n position: absolute;\n }\n .room-platform-room .fixed {\n position: fixed;\n }\n .room-platform-room .relative {\n position: relative;\n }\n .room-platform-room .static {\n position: static;\n }\n .room-platform-room .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .room-platform-room .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n .room-platform-room .inset-x-3 {\n inset-inline: calc(var(--spacing) * 3);\n }\n .room-platform-room .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n .room-platform-room .start {\n inset-inline-start: var(--spacing);\n }\n .room-platform-room .end {\n inset-inline-end: var(--spacing);\n }\n .room-platform-room .-top-12 {\n top: calc(var(--spacing) * -12);\n }\n .room-platform-room .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .room-platform-room .top-1\\.5 {\n top: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .room-platform-room .top-2 {\n top: calc(var(--spacing) * 2);\n }\n .room-platform-room .top-3 {\n top: calc(var(--spacing) * 3);\n }\n .room-platform-room .top-3\\.5 {\n top: calc(var(--spacing) * 3.5);\n }\n .room-platform-room .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .room-platform-room .top-7 {\n top: calc(var(--spacing) * 7);\n }\n .room-platform-room .-right-12 {\n right: calc(var(--spacing) * -12);\n }\n .room-platform-room .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .room-platform-room .right-1 {\n right: calc(var(--spacing) * 1);\n }\n .room-platform-room .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .room-platform-room .right-3 {\n right: calc(var(--spacing) * 3);\n }\n .room-platform-room .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .room-platform-room .right-7 {\n right: calc(var(--spacing) * 7);\n }\n .room-platform-room .-bottom-12 {\n bottom: calc(var(--spacing) * -12);\n }\n .room-platform-room .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .room-platform-room .bottom-1 {\n bottom: calc(var(--spacing) * 1);\n }\n .room-platform-room .bottom-2 {\n bottom: calc(var(--spacing) * 2);\n }\n .room-platform-room .bottom-3 {\n bottom: calc(var(--spacing) * 3);\n }\n .room-platform-room .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .room-platform-room .-left-12 {\n left: calc(var(--spacing) * -12);\n }\n .room-platform-room .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .room-platform-room .left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .room-platform-room .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .room-platform-room .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .room-platform-room .left-4 {\n left: calc(var(--spacing) * 4);\n }\n .room-platform-room .isolate {\n isolation: isolate;\n }\n .room-platform-room .z-0 {\n z-index: 0;\n }\n .room-platform-room .z-10 {\n z-index: 10;\n }\n .room-platform-room .z-20 {\n z-index: 20;\n }\n .room-platform-room .z-30 {\n z-index: 30;\n }\n .room-platform-room .z-40 {\n z-index: 40;\n }\n .room-platform-room .z-50 {\n z-index: 50;\n }\n .room-platform-room .z-\\[70\\] {\n z-index: 70;\n }\n .room-platform-room .order-first {\n order: -9999;\n }\n .room-platform-room .order-last {\n order: 9999;\n }\n .room-platform-room .col-start-2 {\n grid-column-start: 2;\n }\n .room-platform-room .row-span-2 {\n grid-row: span 2 / span 2;\n }\n .room-platform-room .row-start-1 {\n grid-row-start: 1;\n }\n .room-platform-room .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .room-platform-room .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .room-platform-room .m-auto {\n margin: auto;\n }\n .room-platform-room .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n .room-platform-room .-mx-4 {\n margin-inline: calc(var(--spacing) * -4);\n }\n .room-platform-room .mx-2 {\n margin-inline: calc(var(--spacing) * 2);\n }\n .room-platform-room .mx-3\\.5 {\n margin-inline: calc(var(--spacing) * 3.5);\n }\n .room-platform-room .mx-auto {\n margin-inline: auto;\n }\n .room-platform-room .-my-2 {\n margin-block: calc(var(--spacing) * -2);\n }\n .room-platform-room .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n .room-platform-room .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n .room-platform-room .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .room-platform-room .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .room-platform-room .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .room-platform-room .mt-auto {\n margin-top: auto;\n }\n .room-platform-room .-mb-4 {\n margin-bottom: calc(var(--spacing) * -4);\n }\n .room-platform-room .mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .room-platform-room .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n .room-platform-room .-ml-1 {\n margin-left: calc(var(--spacing) * -1);\n }\n .room-platform-room .-ml-4 {\n margin-left: calc(var(--spacing) * -4);\n }\n .room-platform-room .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .room-platform-room .ml-auto {\n margin-left: auto;\n }\n .room-platform-room .no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n .room-platform-room &::-webkit-scrollbar {\n display: none;\n }\n }\n .room-platform-room .block {\n display: block;\n }\n .room-platform-room .flex {\n display: flex;\n }\n .room-platform-room .grid {\n display: grid;\n }\n .room-platform-room .hidden {\n display: none;\n }\n .room-platform-room .inline {\n display: inline;\n }\n .room-platform-room .inline-flex {\n display: inline-flex;\n }\n .room-platform-room .inline-grid {\n display: inline-grid;\n }\n .room-platform-room .table {\n display: table;\n }\n .room-platform-room .table-caption {\n display: table-caption;\n }\n .room-platform-room .table-cell {\n display: table-cell;\n }\n .room-platform-room .table-row {\n display: table-row;\n }\n .room-platform-room .field-sizing-content {\n field-sizing: content;\n }\n .room-platform-room .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .room-platform-room .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .room-platform-room .size-\\(--cell-size\\) {\n width: var(--cell-size);\n height: var(--cell-size);\n }\n .room-platform-room .size-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .size-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n .room-platform-room .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .room-platform-room .size-5 {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n .room-platform-room .size-6 {\n width: calc(var(--spacing) * 6);\n height: calc(var(--spacing) * 6);\n }\n .room-platform-room .size-7 {\n width: calc(var(--spacing) * 7);\n height: calc(var(--spacing) * 7);\n }\n .room-platform-room .size-8 {\n width: calc(var(--spacing) * 8);\n height: calc(var(--spacing) * 8);\n }\n .room-platform-room .size-9 {\n width: calc(var(--spacing) * 9);\n height: calc(var(--spacing) * 9);\n }\n .room-platform-room .size-10 {\n width: calc(var(--spacing) * 10);\n height: calc(var(--spacing) * 10);\n }\n .room-platform-room .size-12 {\n width: calc(var(--spacing) * 12);\n height: calc(var(--spacing) * 12);\n }\n .room-platform-room .size-auto {\n width: auto;\n height: auto;\n }\n .room-platform-room .size-full {\n width: 100%;\n height: 100%;\n }\n .room-platform-room .h-\\(--cell-size\\) {\n height: var(--cell-size);\n }\n .room-platform-room .h-1 {\n height: calc(var(--spacing) * 1);\n }\n .room-platform-room .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .room-platform-room .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .room-platform-room .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .room-platform-room .h-7 {\n height: calc(var(--spacing) * 7);\n }\n .room-platform-room .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .room-platform-room .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .room-platform-room .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .room-platform-room .h-10\\! {\n height: calc(var(--spacing) * 10) !important;\n }\n .room-platform-room .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .room-platform-room .h-\\[calc\\(--spacing\\(5\\.25\\)\\)\\] {\n height: calc(calc(var(--spacing) * 5.25));\n }\n .room-platform-room .h-\\[calc\\(100\\%-1px\\)\\] {\n height: calc(100% - 1px);\n }\n .room-platform-room .h-auto {\n height: auto;\n }\n .room-platform-room .h-dvh {\n height: 100dvh;\n }\n .room-platform-room .h-full {\n height: 100%;\n }\n .room-platform-room .h-px {\n height: 1px;\n }\n .room-platform-room .h-screen {\n height: 100vh;\n }\n .room-platform-room .h-svh {\n height: 100svh;\n }\n .room-platform-room .max-h-\\(--available-height\\) {\n max-height: var(--available-height);\n }\n .room-platform-room .max-h-\\(--radix-dropdown-menu-content-available-height\\) {\n max-height: var(--radix-dropdown-menu-content-available-height);\n }\n .room-platform-room .max-h-\\(--radix-select-content-available-height\\) {\n max-height: var(--radix-select-content-available-height);\n }\n .room-platform-room .max-h-\\[85vh\\] {\n max-height: 85vh;\n }\n .room-platform-room .max-h-\\[min\\(calc\\(--spacing\\(72\\)---spacing\\(9\\)\\)\\,calc\\(var\\(--available-height\\)---spacing\\(9\\)\\)\\)\\] {\n max-height: min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)));\n }\n .room-platform-room .max-h-full {\n max-height: 100%;\n }\n .room-platform-room .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .room-platform-room .min-h-8 {\n min-height: calc(var(--spacing) * 8);\n }\n .room-platform-room .min-h-10 {\n min-height: calc(var(--spacing) * 10);\n }\n .room-platform-room .min-h-16 {\n min-height: calc(var(--spacing) * 16);\n }\n .room-platform-room .min-h-18 {\n min-height: calc(var(--spacing) * 18);\n }\n .room-platform-room .min-h-\\[320px\\] {\n min-height: 320px;\n }\n .room-platform-room .min-h-dvh {\n min-height: 100dvh;\n }\n .room-platform-room .min-h-svh {\n min-height: 100svh;\n }\n .room-platform-room .w-\\(--anchor-width\\) {\n width: var(--anchor-width);\n }\n .room-platform-room .w-\\(--cell-size\\) {\n width: var(--cell-size);\n }\n .room-platform-room .w-\\(--radix-dropdown-menu-trigger-width\\) {\n width: var(--radix-dropdown-menu-trigger-width);\n }\n .room-platform-room .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .room-platform-room .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .room-platform-room .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .room-platform-room .w-48 {\n width: calc(var(--spacing) * 48);\n }\n .room-platform-room .w-72 {\n width: calc(var(--spacing) * 72);\n }\n .room-platform-room .w-\\[var\\(--sidebar-width\\)\\] {\n width: var(--sidebar-width);\n }\n .room-platform-room .w-auto {\n width: auto;\n }\n .room-platform-room .w-dvw {\n width: 100dvw;\n }\n .room-platform-room .w-fit {\n width: fit-content;\n }\n .room-platform-room .w-full {\n width: 100%;\n }\n .room-platform-room .w-full\\! {\n width: 100% !important;\n }\n .room-platform-room .w-screen {\n width: 100vw;\n }\n .room-platform-room .max-w-\\(--available-width\\) {\n max-width: var(--available-width);\n }\n .room-platform-room .max-w-\\[40\\%\\] {\n max-width: 40%;\n }\n .room-platform-room .max-w-\\[calc\\(100\\%-1\\.5rem\\)\\] {\n max-width: calc(100% - 1.5rem);\n }\n .room-platform-room .max-w-\\[calc\\(100\\%-1rem\\)\\] {\n max-width: calc(100% - 1rem);\n }\n .room-platform-room .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n }\n .room-platform-room .max-w-\\[var\\(--skeleton-width\\)\\] {\n max-width: var(--skeleton-width);\n }\n .room-platform-room .max-w-full {\n max-width: 100%;\n }\n .room-platform-room .max-w-none {\n max-width: none;\n }\n .room-platform-room .max-w-xs {\n max-width: var(--container-xs);\n }\n .room-platform-room .min-w-\\(--cell-size\\) {\n min-width: var(--cell-size);\n }\n .room-platform-room .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .room-platform-room .min-w-5 {\n min-width: calc(var(--spacing) * 5);\n }\n .room-platform-room .min-w-7 {\n min-width: calc(var(--spacing) * 7);\n }\n .room-platform-room .min-w-8 {\n min-width: calc(var(--spacing) * 8);\n }\n .room-platform-room .min-w-9 {\n min-width: calc(var(--spacing) * 9);\n }\n .room-platform-room .min-w-16 {\n min-width: calc(var(--spacing) * 16);\n }\n .room-platform-room .min-w-32 {\n min-width: calc(var(--spacing) * 32);\n }\n .room-platform-room .min-w-36 {\n min-width: calc(var(--spacing) * 36);\n }\n .room-platform-room .min-w-\\[96px\\] {\n min-width: 96px;\n }\n .room-platform-room .min-w-\\[calc\\(var\\(--anchor-width\\)\\+--spacing\\(7\\)\\)\\] {\n min-width: calc(var(--anchor-width) + calc(var(--spacing) * 7));\n }\n .room-platform-room .flex-1 {\n flex: 1;\n }\n .room-platform-room .flex-none {\n flex: none;\n }\n .room-platform-room .shrink-0 {\n flex-shrink: 0;\n }\n .room-platform-room .grow-0 {\n flex-grow: 0;\n }\n .room-platform-room .basis-full {\n flex-basis: 100%;\n }\n .room-platform-room .caption-bottom {\n caption-side: bottom;\n }\n .room-platform-room .origin-\\(--radix-dropdown-menu-content-transform-origin\\) {\n transform-origin: var(--radix-dropdown-menu-content-transform-origin);\n }\n .room-platform-room .origin-\\(--radix-popover-content-transform-origin\\) {\n transform-origin: var(--radix-popover-content-transform-origin);\n }\n .room-platform-room .origin-\\(--radix-select-content-transform-origin\\) {\n transform-origin: var(--radix-select-content-transform-origin);\n }\n .room-platform-room .origin-\\(--transform-origin\\) {\n transform-origin: var(--transform-origin);\n }\n .room-platform-room .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .-translate-x-full {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .-translate-x-px {\n --tw-translate-x: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .translate-x-px {\n --tw-translate-x: 1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .translate-y-\\[calc\\(-50\\%_-_2px\\)\\] {\n --tw-translate-y: calc(-50% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .translate-y-\\[calc\\(100\\%-0\\.75rem\\)\\] {\n --tw-translate-y: calc(100% - 0.75rem);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .room-platform-room .-scale-x-100 {\n --tw-scale-x: calc(100% * -1);\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .room-platform-room .rotate-45 {\n rotate: 45deg;\n }\n .room-platform-room .rotate-90 {\n rotate: 90deg;\n }\n .room-platform-room .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .room-platform-room .animate-in {\n animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);\n }\n .room-platform-room .animate-pulse {\n animation: var(--animate-pulse);\n }\n .room-platform-room .animate-spin {\n animation: var(--animate-spin);\n }\n .room-platform-room .cursor-default {\n cursor: default;\n }\n .room-platform-room .cursor-not-allowed {\n cursor: not-allowed;\n }\n .room-platform-room .cursor-pointer {\n cursor: pointer;\n }\n .room-platform-room .cursor-text {\n cursor: text;\n }\n .room-platform-room .touch-manipulation {\n touch-action: manipulation;\n }\n .room-platform-room .resize {\n resize: both;\n }\n .room-platform-room .resize-none {\n resize: none;\n }\n .room-platform-room .scroll-my-1 {\n scroll-margin-block: calc(var(--spacing) * 1);\n }\n .room-platform-room .scroll-py-1 {\n scroll-padding-block: calc(var(--spacing) * 1);\n }\n .room-platform-room .list-disc {\n list-style-type: disc;\n }\n .room-platform-room .auto-rows-min {\n grid-auto-rows: min-content;\n }\n .room-platform-room .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .room-platform-room .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .room-platform-room .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .room-platform-room .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .room-platform-room .grid-rows-\\[auto_1fr\\] {\n grid-template-rows: auto 1fr;\n }\n .room-platform-room .grid-rows-\\[auto_minmax\\(0\\,1fr\\)\\] {\n grid-template-rows: auto minmax(0,1fr);\n }\n .room-platform-room .grid-rows-\\[minmax\\(240px\\,45dvh\\)_minmax\\(0\\,1fr\\)\\] {\n grid-template-rows: minmax(240px,45dvh) minmax(0,1fr);\n }\n .room-platform-room .flex-col {\n flex-direction: column;\n }\n .room-platform-room .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .room-platform-room .flex-row {\n flex-direction: row;\n }\n .room-platform-room .flex-wrap {\n flex-wrap: wrap;\n }\n .room-platform-room .place-content-center {\n place-content: center;\n }\n .room-platform-room .place-items-center {\n place-items: center;\n }\n .room-platform-room .content-start {\n align-content: flex-start;\n }\n .room-platform-room .items-center {\n align-items: center;\n }\n .room-platform-room .items-start {\n align-items: flex-start;\n }\n .room-platform-room .items-stretch {\n align-items: stretch;\n }\n .room-platform-room .justify-between {\n justify-content: space-between;\n }\n .room-platform-room .justify-center {\n justify-content: center;\n }\n .room-platform-room .justify-end {\n justify-content: flex-end;\n }\n .room-platform-room .justify-start {\n justify-content: flex-start;\n }\n .room-platform-room .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .room-platform-room .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5);\n }\n .room-platform-room .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .room-platform-room .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .room-platform-room .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .room-platform-room .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .room-platform-room .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .room-platform-room .gap-\\[--spacing\\(var\\(--gap\\)\\)\\] {\n gap: calc(var(--spacing) * var(--gap));\n }\n .room-platform-room .self-start {\n align-self: flex-start;\n }\n .room-platform-room .self-stretch {\n align-self: stretch;\n }\n .room-platform-room .justify-self-end {\n justify-self: flex-end;\n }\n .room-platform-room .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .room-platform-room .overflow-auto {\n overflow: auto;\n }\n .room-platform-room .overflow-hidden {\n overflow: hidden;\n }\n .room-platform-room .overflow-x-auto {\n overflow-x: auto;\n }\n .room-platform-room .overflow-x-hidden {\n overflow-x: hidden;\n }\n .room-platform-room .overflow-y-auto {\n overflow-y: auto;\n }\n .room-platform-room .overscroll-contain {\n overscroll-behavior: contain;\n }\n .room-platform-room .rounded-\\(--cell-radius\\) {\n border-radius: var(--cell-radius);\n }\n .room-platform-room .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n .room-platform-room .rounded-4xl {\n border-radius: var(--radius-4xl);\n }\n .room-platform-room .rounded-\\[2px\\] {\n border-radius: 2px;\n }\n .room-platform-room .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n .room-platform-room .rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\] {\n border-radius: calc(var(--radius) - 3px);\n }\n .room-platform-room .rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\] {\n border-radius: min(var(--radius-md), 10px);\n }\n .room-platform-room .rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\] {\n border-radius: min(var(--radius-md), 12px);\n }\n .room-platform-room .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .room-platform-room .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .room-platform-room .rounded-md {\n border-radius: var(--radius-md);\n }\n .room-platform-room .rounded-none {\n border-radius: 0;\n }\n .room-platform-room .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .room-platform-room .rounded-xl {\n border-radius: var(--radius-xl);\n }\n .room-platform-room .rounded-t-xl {\n border-top-left-radius: var(--radius-xl);\n border-top-right-radius: var(--radius-xl);\n }\n .room-platform-room .rounded-l-\\(--cell-radius\\) {\n border-top-left-radius: var(--cell-radius);\n border-bottom-left-radius: var(--cell-radius);\n }\n .room-platform-room .rounded-l-lg {\n border-top-left-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n .room-platform-room .rounded-r-\\(--cell-radius\\) {\n border-top-right-radius: var(--cell-radius);\n border-bottom-right-radius: var(--cell-radius);\n }\n .room-platform-room .rounded-b-xl {\n border-bottom-right-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n .room-platform-room .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .room-platform-room .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .room-platform-room .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .room-platform-room .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .room-platform-room .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n .room-platform-room .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .room-platform-room .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .room-platform-room .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .room-platform-room .border-\\[\\#2563EB\\] {\n border-color: #2563EB;\n }\n .room-platform-room .border-amber-200 {\n border-color: var(--color-amber-200);\n }\n .room-platform-room .border-border {\n border-color: var(--color-border);\n }\n .room-platform-room .border-emerald-200 {\n border-color: var(--color-emerald-200);\n }\n .room-platform-room .border-input {\n border-color: var(--color-input);\n }\n .room-platform-room .border-liveclass-orange {\n border-color: var(--color-liveclass-orange);\n }\n .room-platform-room .border-liveclass-orange\\/30 {\n border-color: color-mix(in srgb, #eb6619 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-liveclass-orange) 30%, transparent);\n }\n }\n .room-platform-room .border-primary\\/10 {\n border-color: color-mix(in srgb, #242f62 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .room-platform-room .border-red-200 {\n border-color: var(--color-red-200);\n }\n .room-platform-room .border-red-300\\/40 {\n border-color: color-mix(in srgb, oklch(80.8% 0.114 19.571) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-red-300) 40%, transparent);\n }\n }\n .room-platform-room .border-sky-200 {\n border-color: var(--color-sky-200);\n }\n .room-platform-room .border-slate-200 {\n border-color: var(--color-slate-200);\n }\n .room-platform-room .border-slate-300 {\n border-color: var(--color-slate-300);\n }\n .room-platform-room .border-transparent {\n border-color: transparent;\n }\n .room-platform-room .border-white {\n border-color: var(--color-white);\n }\n .room-platform-room .border-white\\/10 {\n border-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n .room-platform-room .border-white\\/20 {\n border-color: color-mix(in srgb, #fff 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n .room-platform-room .border-white\\/30 {\n border-color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n }\n .room-platform-room .bg-amber-50 {\n background-color: var(--color-amber-50);\n }\n .room-platform-room .bg-background {\n background-color: var(--color-background);\n }\n .room-platform-room .bg-black {\n background-color: var(--color-black);\n }\n .room-platform-room .bg-black\\/10 {\n background-color: color-mix(in srgb, #000 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n .room-platform-room .bg-black\\/20 {\n background-color: color-mix(in srgb, #000 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 20%, transparent);\n }\n }\n .room-platform-room .bg-border {\n background-color: var(--color-border);\n }\n .room-platform-room .bg-card {\n background-color: var(--color-card);\n }\n .room-platform-room .bg-destructive\\/10 {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n .room-platform-room .bg-emerald-50 {\n background-color: var(--color-emerald-50);\n }\n .room-platform-room .bg-input {\n background-color: var(--color-input);\n }\n .room-platform-room .bg-liveclass-orange {\n background-color: var(--color-liveclass-orange);\n }\n .room-platform-room .bg-liveclass-orange\\/10 {\n background-color: color-mix(in srgb, #eb6619 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-liveclass-orange) 10%, transparent);\n }\n }\n .room-platform-room .bg-muted {\n background-color: var(--color-muted);\n }\n .room-platform-room .bg-muted\\/50 {\n background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n .room-platform-room .bg-popover {\n background-color: var(--color-popover);\n }\n .room-platform-room .bg-primary {\n background-color: var(--color-primary);\n }\n .room-platform-room .bg-primary\\/10 {\n background-color: color-mix(in srgb, #242f62 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .room-platform-room .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .room-platform-room .bg-secondary {\n background-color: var(--color-secondary);\n }\n .room-platform-room .bg-sky-50 {\n background-color: var(--color-sky-50);\n }\n .room-platform-room .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .room-platform-room .bg-slate-900 {\n background-color: var(--color-slate-900);\n }\n .room-platform-room .bg-slate-900\\/45 {\n background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 45%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-900) 45%, transparent);\n }\n }\n .room-platform-room .bg-slate-950 {\n background-color: var(--color-slate-950);\n }\n .room-platform-room .bg-slate-950\\/40 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 40%, transparent);\n }\n }\n .room-platform-room .bg-slate-950\\/75 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 75%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 75%, transparent);\n }\n }\n .room-platform-room .bg-slate-950\\/80 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 80%, transparent);\n }\n }\n .room-platform-room .bg-slate-950\\/90 {\n background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-950) 90%, transparent);\n }\n }\n .room-platform-room .bg-transparent {\n background-color: transparent;\n }\n .room-platform-room .bg-white {\n background-color: var(--color-white);\n }\n .room-platform-room .bg-white\\/90 {\n background-color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n .room-platform-room .bg-clip-padding {\n background-clip: padding-box;\n }\n .room-platform-room .fill-primary {\n fill: var(--color-primary);\n }\n .room-platform-room .object-contain {\n object-fit: contain;\n }\n .room-platform-room .object-cover {\n object-fit: cover;\n }\n .room-platform-room .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .room-platform-room .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .room-platform-room .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .room-platform-room .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .room-platform-room .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .room-platform-room .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .room-platform-room .p-\\[3px\\] {\n padding: 3px;\n }\n .room-platform-room .px-\\(--cell-size\\) {\n padding-inline: var(--cell-size);\n }\n .room-platform-room .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .room-platform-room .px-1\\.5 {\n padding-inline: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .room-platform-room .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .room-platform-room .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n .room-platform-room .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .room-platform-room .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .room-platform-room .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .room-platform-room .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .room-platform-room .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .room-platform-room .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .room-platform-room .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .room-platform-room .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .room-platform-room .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n .room-platform-room .pr-8 {\n padding-right: calc(var(--spacing) * 8);\n }\n .room-platform-room .pr-10 {\n padding-right: calc(var(--spacing) * 10);\n }\n .room-platform-room .pr-20 {\n padding-right: calc(var(--spacing) * 20);\n }\n .room-platform-room .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .room-platform-room .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .room-platform-room .pl-1\\.5 {\n padding-left: calc(var(--spacing) * 1.5);\n }\n .room-platform-room .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .room-platform-room .pl-2\\.5 {\n padding-left: calc(var(--spacing) * 2.5);\n }\n .room-platform-room .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .room-platform-room .text-center {\n text-align: center;\n }\n .room-platform-room .text-left {\n text-align: left;\n }\n .room-platform-room .align-middle {\n vertical-align: middle;\n }\n .room-platform-room .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .room-platform-room .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .room-platform-room .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .room-platform-room .text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n }\n .room-platform-room .leading-5 {\n --tw-leading: calc(var(--spacing) * 5);\n line-height: calc(var(--spacing) * 5);\n }\n .room-platform-room .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .room-platform-room .leading-normal {\n --tw-leading: var(--leading-normal);\n line-height: var(--leading-normal);\n }\n .room-platform-room .leading-snug {\n --tw-leading: var(--leading-snug);\n line-height: var(--leading-snug);\n }\n .room-platform-room .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .room-platform-room .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .room-platform-room .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n .room-platform-room .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .room-platform-room .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .room-platform-room .text-balance {\n text-wrap: balance;\n }\n .room-platform-room .whitespace-nowrap {\n white-space: nowrap;\n }\n .room-platform-room .text-\\[\\#2563EB\\] {\n color: #2563EB;\n }\n .room-platform-room .text-amber-700 {\n color: var(--color-amber-700);\n }\n .room-platform-room .text-amber-950 {\n color: var(--color-amber-950);\n }\n .room-platform-room .text-card-foreground {\n color: var(--color-card-foreground);\n }\n .room-platform-room .text-current {\n color: currentcolor;\n }\n .room-platform-room .text-destructive {\n color: var(--color-destructive);\n }\n .room-platform-room .text-emerald-950 {\n color: var(--color-emerald-950);\n }\n .room-platform-room .text-foreground {\n color: var(--color-foreground);\n }\n .room-platform-room .text-foreground\\/60 {\n color: color-mix(in srgb, oklch(0.145 0 0) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-foreground) 60%, transparent);\n }\n }\n .room-platform-room .text-liveclass-orange {\n color: var(--color-liveclass-orange);\n }\n .room-platform-room .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .room-platform-room .text-popover-foreground {\n color: var(--color-popover-foreground);\n }\n .room-platform-room .text-primary {\n color: var(--color-primary);\n }\n .room-platform-room .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .room-platform-room .text-red-100 {\n color: var(--color-red-100);\n }\n .room-platform-room .text-secondary-foreground {\n color: var(--color-secondary-foreground);\n }\n .room-platform-room .text-sky-950 {\n color: var(--color-sky-950);\n }\n .room-platform-room .text-slate-200 {\n color: var(--color-slate-200);\n }\n .room-platform-room .text-slate-300 {\n color: var(--color-slate-300);\n }\n .room-platform-room .text-slate-400 {\n color: var(--color-slate-400);\n }\n .room-platform-room .text-slate-500 {\n color: var(--color-slate-500);\n }\n .room-platform-room .text-slate-700 {\n color: var(--color-slate-700);\n }\n .room-platform-room .text-slate-950 {\n color: var(--color-slate-950);\n }\n .room-platform-room .text-white {\n color: var(--color-white);\n }\n .room-platform-room .text-white\\/55 {\n color: color-mix(in srgb, #fff 55%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 55%, transparent);\n }\n }\n .room-platform-room .text-white\\/60 {\n color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n .room-platform-room .text-white\\/70 {\n color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n }\n .room-platform-room .uppercase {\n text-transform: uppercase;\n }\n .room-platform-room .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .room-platform-room .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .room-platform-room .opacity-0 {\n opacity: 0%;\n }\n .room-platform-room .opacity-50 {\n opacity: 50%;\n }\n .room-platform-room .opacity-70 {\n opacity: 70%;\n }\n .room-platform-room .opacity-80 {\n opacity: 80%;\n }\n .room-platform-room .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\] {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-none {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring-0 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .room-platform-room .ring-\\[\\#2563EB\\]\\/15 {\n --tw-ring-color: color-mix(in oklab, #2563EB 15%, transparent);\n }\n .room-platform-room .ring-emerald-400 {\n --tw-ring-color: var(--color-emerald-400);\n }\n .room-platform-room .ring-foreground\\/10 {\n --tw-ring-color: color-mix(in srgb, oklch(0.145 0 0) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-foreground) 10%, transparent);\n }\n }\n .room-platform-room .ring-white\\/10 {\n --tw-ring-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n .room-platform-room .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .room-platform-room .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .room-platform-room .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .room-platform-room .blur-\\[3px\\] {\n --tw-blur: blur(3px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .room-platform-room .blur-\\[6px\\] {\n --tw-blur: blur(6px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .room-platform-room .drop-shadow-sm {\n --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));\n --tw-drop-shadow: drop-shadow(var(--drop-shadow-sm));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .room-platform-room .backdrop-blur-\\[1px\\] {\n --tw-backdrop-blur: blur(1px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .room-platform-room .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[left\\,right\\,width\\] {\n transition-property: left,right,width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[margin\\,opacity\\] {\n transition-property: margin,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[width\\,height\\,padding\\] {\n transition-property: width,height,padding;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[width\\,transform\\,opacity\\] {\n transition-property: width,transform,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-\\[width\\] {\n transition-property: width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .room-platform-room .transition-none {\n transition-property: none;\n }\n .room-platform-room .duration-100 {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n .room-platform-room .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .room-platform-room .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .room-platform-room .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n .room-platform-room .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .room-platform-room .fade-in-0 {\n --tw-enter-opacity: calc(0/100);\n --tw-enter-opacity: 0;\n }\n .room-platform-room .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .room-platform-room .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .room-platform-room .zoom-in-95 {\n --tw-enter-scale: calc(95*1%);\n --tw-enter-scale: .95;\n }\n .room-platform-room .\\[--cell-radius\\:var\\(--radius-md\\)\\] {\n --cell-radius: var(--radius-md);\n }\n .room-platform-room .\\[--cell-size\\:--spacing\\(7\\)\\] {\n --cell-size: calc(var(--spacing) * 7);\n }\n .room-platform-room .paused {\n animation-play-state: paused;\n }\n .room-platform-room .ring-inset {\n --tw-ring-inset: inset;\n }\n .room-platform-room .running {\n animation-play-state: running;\n }\n .room-platform-room .\\*\\:w-full {\n .room-platform-room :is(& > *) {\n width: 100%;\n }\n }\n .room-platform-room .group-focus-within\\/menu-item\\:opacity-100 {\n .room-platform-room &:is(:where(.group\\/menu-item):focus-within *) {\n opacity: 100%;\n }\n }\n .room-platform-room .group-hover\\/menu-item\\:opacity-100 {\n .room-platform-room &:is(:where(.group\\/menu-item):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .room-platform-room .group-focus\\/dropdown-menu-item\\:text-accent-foreground {\n .room-platform-room &:is(:where(.group\\/dropdown-menu-item):focus *) {\n color: var(--color-accent-foreground);\n }\n }\n .room-platform-room .group-has-disabled\\/field\\:opacity-50 {\n .room-platform-room &:is(:where(.group\\/field):has(*:disabled) *) {\n opacity: 50%;\n }\n }\n .room-platform-room .group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pr-8 {\n .room-platform-room &:is(:where(.group\\/menu-item):has(*[data-sidebar=\"menu-action\"]) *) {\n padding-right: calc(var(--spacing) * 8);\n }\n }\n .room-platform-room .group-has-data-\\[slot\\=combobox-clear\\]\\/input-group\\:hidden {\n .room-platform-room &:is(:where(.group\\/input-group):has(*[data-slot=\"combobox-clear\"]) *) {\n display: none;\n }\n }\n .room-platform-room .group-has-data-horizontal\\/field\\:text-balance {\n .room-platform-room &:is(:where(.group\\/field):has(*:where([data-orientation=\"horizontal\"])) *) {\n text-wrap: balance;\n }\n }\n .room-platform-room .group-has-\\[\\>input\\]\\/input-group\\:pt-2 {\n .room-platform-room &:is(:where(.group\\/input-group):has(>input) *) {\n padding-top: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .group-has-\\[\\>input\\]\\/input-group\\:pb-2 {\n .room-platform-room &:is(:where(.group\\/input-group):has(>input) *) {\n padding-bottom: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .group-has-\\[\\>svg\\]\\/alert\\:col-start-2 {\n .room-platform-room &:is(:where(.group\\/alert):has(>svg) *) {\n grid-column-start: 2;\n }\n }\n .room-platform-room .group-data-empty\\/combobox-content\\:flex {\n .room-platform-room &:is(:where(.group\\/combobox-content)[data-empty] *) {\n display: flex;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:-mt-8 {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n margin-top: calc(var(--spacing) * -8);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:hidden {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n display: none;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:size-8\\! {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--spacing) * 8) !important;\n height: calc(var(--spacing) * 8) !important;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+1rem\\)\\] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + 1rem);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+1rem\\+2px\\)\\] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + 1rem + 2px);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:w-\\[var\\(--sidebar-width-icon\\)\\] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: var(--sidebar-width-icon);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n overflow: hidden;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:p-0\\! {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 0) !important;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:p-2\\! {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 2) !important;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=icon\\]\\:opacity-0 {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n opacity: 0%;\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:w-0 {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n width: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0 {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .group-data-\\[disabled\\=true\\]\\:pointer-events-none {\n .room-platform-room &:is(:where(.group)[data-disabled=\"true\"] *) {\n pointer-events: none;\n }\n }\n .room-platform-room .group-data-\\[disabled\\=true\\]\\:opacity-50 {\n .room-platform-room &:is(:where(.group)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n .room-platform-room .group-data-\\[disabled\\=true\\]\\/field\\:opacity-50 {\n .room-platform-room &:is(:where(.group\\/field)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n .room-platform-room .group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50 {\n .room-platform-room &:is(:where(.group\\/input-group)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:relative {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n position: relative;\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:z-10 {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n z-index: 10;\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:border-ring {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n border-color: var(--color-ring);\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-\\[3px\\] {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50 {\n .room-platform-room &:is(:where(.group\\/day)[data-focused=\"true\"] *) {\n --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n }\n .room-platform-room .group-data-\\[side\\=left\\]\\:-right-4 {\n .room-platform-room &:is(:where(.group)[data-side=\"left\"] *) {\n right: calc(var(--spacing) * -4);\n }\n }\n .room-platform-room .group-data-\\[side\\=left\\]\\:border-r {\n .room-platform-room &:is(:where(.group)[data-side=\"left\"] *) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .room-platform-room .group-data-\\[side\\=right\\]\\:left-0 {\n .room-platform-room &:is(:where(.group)[data-side=\"right\"] *) {\n left: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .group-data-\\[side\\=right\\]\\:rotate-180 {\n .room-platform-room &:is(:where(.group)[data-side=\"right\"] *) {\n rotate: 180deg;\n }\n }\n .room-platform-room .group-data-\\[side\\=right\\]\\:border-l {\n .room-platform-room &:is(:where(.group)[data-side=\"right\"] *) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/alert-dialog-content\\:grid {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"sm\"] *) {\n display: grid;\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/alert-dialog-content\\:grid-cols-2 {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"sm\"] *) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:p-3 {\n .room-platform-room &:is(:where(.group\\/card)[data-size=\"sm\"] *) {\n padding: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:px-3 {\n .room-platform-room &:is(:where(.group\\/card)[data-size=\"sm\"] *) {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:text-sm {\n .room-platform-room &:is(:where(.group\\/card)[data-size=\"sm\"] *) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none {\n .room-platform-room &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n border-radius: 0;\n }\n }\n .room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2 {\n .room-platform-room &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n padding-inline: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .group-data-\\[variant\\=floating\\]\\:rounded-lg {\n .room-platform-room &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-radius: var(--radius-lg);\n }\n }\n .room-platform-room .group-data-\\[variant\\=floating\\]\\:shadow-sm {\n .room-platform-room &:is(:where(.group)[data-variant=\"floating\"] *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .group-data-\\[variant\\=floating\\]\\:ring-1 {\n .room-platform-room &:is(:where(.group)[data-variant=\"floating\"] *) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n background-color: transparent;\n }\n }\n .room-platform-room .group-data-\\[variant\\=outline\\]\\/field-group\\:-mb-2 {\n .room-platform-room &:is(:where(.group\\/field-group)[data-variant=\"outline\"] *) {\n margin-bottom: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .group-data-horizontal\\/tabs\\:h-8 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"horizontal\"]) *) {\n height: calc(var(--spacing) * 8);\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:h-fit {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n height: fit-content;\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:w-full {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n width: 100%;\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:flex-col {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n flex-direction: column;\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:justify-start {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n justify-content: flex-start;\n }\n }\n .room-platform-room .peer-disabled\\:cursor-not-allowed {\n .room-platform-room &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n .room-platform-room .peer-disabled\\:opacity-50 {\n .room-platform-room &:is(:where(.peer):disabled ~ *) {\n opacity: 50%;\n }\n }\n .room-platform-room .peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5 {\n .room-platform-room &:is(:where(.peer\\/menu-button)[data-size=\"default\"] ~ *) {\n top: calc(var(--spacing) * 1.5);\n }\n }\n .room-platform-room .peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5 {\n .room-platform-room &:is(:where(.peer\\/menu-button)[data-size=\"lg\"] ~ *) {\n top: calc(var(--spacing) * 2.5);\n }\n }\n .room-platform-room .peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1 {\n .room-platform-room &:is(:where(.peer\\/menu-button)[data-size=\"sm\"] ~ *) {\n top: calc(var(--spacing) * 1);\n }\n }\n .room-platform-room .file\\:inline-flex {\n .room-platform-room &::file-selector-button {\n display: inline-flex;\n }\n }\n .room-platform-room .file\\:h-6 {\n .room-platform-room &::file-selector-button {\n height: calc(var(--spacing) * 6);\n }\n }\n .room-platform-room .file\\:border-0 {\n .room-platform-room &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .room-platform-room .file\\:bg-transparent {\n .room-platform-room &::file-selector-button {\n background-color: transparent;\n }\n }\n .room-platform-room .file\\:text-sm {\n .room-platform-room &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .file\\:font-medium {\n .room-platform-room &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .room-platform-room .file\\:text-foreground {\n .room-platform-room &::file-selector-button {\n color: var(--color-foreground);\n }\n }\n .room-platform-room .placeholder\\:text-muted-foreground {\n .room-platform-room &::placeholder {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .after\\:absolute {\n .room-platform-room &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .room-platform-room .after\\:-inset-2 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .after\\:-inset-x-3 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-inline: calc(var(--spacing) * -3);\n }\n }\n .room-platform-room .after\\:-inset-y-2 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .after\\:inset-y-0 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .after\\:start-1\\/2 {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-inline-start: calc(1/2 * 100%);\n }\n }\n .room-platform-room .after\\:right-0 {\n .room-platform-room &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .after\\:left-0 {\n .room-platform-room &::after {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .after\\:w-4 {\n .room-platform-room &::after {\n content: var(--tw-content);\n width: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .after\\:w-\\[2px\\] {\n .room-platform-room &::after {\n content: var(--tw-content);\n width: 2px;\n }\n }\n .room-platform-room .after\\:bg-foreground {\n .room-platform-room &::after {\n content: var(--tw-content);\n background-color: var(--color-foreground);\n }\n }\n .room-platform-room .after\\:bg-muted {\n .room-platform-room &::after {\n content: var(--tw-content);\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .after\\:opacity-0 {\n .room-platform-room &::after {\n content: var(--tw-content);\n opacity: 0%;\n }\n }\n .room-platform-room .after\\:transition-opacity {\n .room-platform-room &::after {\n content: var(--tw-content);\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n }\n .room-platform-room .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n left: 100%;\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/tabs\\:after\\:inset-x-0 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-inline: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\] {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n bottom: -5px;\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/tabs\\:after\\:h-0\\.5 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n height: calc(var(--spacing) * 0.5);\n }\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:after\\:inset-y-0 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:after\\:-right-1 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * -1);\n }\n }\n }\n .room-platform-room .group-data-vertical\\/tabs\\:after\\:w-0\\.5 {\n .room-platform-room &:is(:where(.group\\/tabs):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &::after {\n content: var(--tw-content);\n width: calc(var(--spacing) * 0.5);\n }\n }\n }\n .room-platform-room .last\\:mt-0 {\n .room-platform-room &:last-child {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .focus-within\\:border-ring {\n .room-platform-room &:focus-within {\n border-color: var(--color-ring);\n }\n }\n .room-platform-room .focus-within\\:ring-3 {\n .room-platform-room &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-within\\:ring-ring\\/50 {\n .room-platform-room &:focus-within {\n --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n }\n .room-platform-room .hover\\:border-slate-300 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-300);\n }\n }\n }\n .room-platform-room .hover\\:border-slate-400 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-400);\n }\n }\n }\n .room-platform-room .hover\\:bg-destructive\\/20 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-liveclass-orange\\/90 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #eb6619 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-liveclass-orange) 90%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-muted {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .room-platform-room .hover\\:bg-muted\\/50 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-red-50 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-50);\n }\n }\n }\n .room-platform-room .hover\\:bg-red-500\\/15 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-red-500) 15%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-secondary\\/80 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #eb6619 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-slate-100 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-100);\n }\n }\n }\n .room-platform-room .hover\\:bg-slate-900 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-900);\n }\n }\n }\n .room-platform-room .hover\\:bg-transparent {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: transparent;\n }\n }\n }\n .room-platform-room .hover\\:bg-white {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n .room-platform-room .hover\\:bg-white\\/10 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:bg-white\\/15 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 15%, transparent);\n }\n }\n }\n }\n .room-platform-room .hover\\:text-foreground {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n .room-platform-room .hover\\:text-muted-foreground {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-muted-foreground);\n }\n }\n }\n .room-platform-room .hover\\:text-red-600 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-red-600);\n }\n }\n }\n .room-platform-room .hover\\:text-white {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-white);\n }\n }\n }\n .room-platform-room .hover\\:underline {\n .room-platform-room &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .room-platform-room .hover\\:opacity-100 {\n .room-platform-room &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .room-platform-room .hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\] {\n .room-platform-room &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .focus\\:z-10 {\n .room-platform-room &:focus {\n z-index: 10;\n }\n }\n .room-platform-room .focus\\:bg-accent {\n .room-platform-room &:focus {\n background-color: var(--color-accent);\n }\n }\n .room-platform-room .focus\\:text-accent-foreground {\n .room-platform-room &:focus {\n color: var(--color-accent-foreground);\n }\n }\n .room-platform-room .focus\\:\\*\\*\\:text-accent-foreground {\n .room-platform-room &:focus {\n .room-platform-room :is(& *) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .room-platform-room .not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground {\n .room-platform-room &:not(*[data-variant=\"destructive\"]) {\n .room-platform-room &:focus {\n .room-platform-room :is(& *) {\n color: var(--color-accent-foreground);\n }\n }\n }\n }\n .room-platform-room .focus-visible\\:z-10 {\n .room-platform-room &:focus-visible {\n z-index: 10;\n }\n }\n .room-platform-room .focus-visible\\:border-destructive\\/40 {\n .room-platform-room &:focus-visible {\n border-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n .room-platform-room .focus-visible\\:border-ring {\n .room-platform-room &:focus-visible {\n border-color: var(--color-ring);\n }\n }\n .room-platform-room .focus-visible\\:ring-0 {\n .room-platform-room &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-visible\\:ring-2 {\n .room-platform-room &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-visible\\:ring-3 {\n .room-platform-room &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-visible\\:ring-\\[3px\\] {\n .room-platform-room &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .focus-visible\\:ring-destructive\\/20 {\n .room-platform-room &:focus-visible {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .focus-visible\\:ring-ring\\/50 {\n .room-platform-room &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n }\n .room-platform-room .focus-visible\\:outline-1 {\n .room-platform-room &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n }\n .room-platform-room .focus-visible\\:outline-ring {\n .room-platform-room &:focus-visible {\n outline-color: var(--color-ring);\n }\n }\n .room-platform-room .\\*\\:focus-visible\\:relative {\n .room-platform-room :is(& > *) {\n .room-platform-room &:focus-visible {\n position: relative;\n }\n }\n }\n .room-platform-room .\\*\\:focus-visible\\:z-10 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:focus-visible {\n z-index: 10;\n }\n }\n }\n .room-platform-room .active\\:not-aria-\\[haspopup\\]\\:translate-y-px {\n .room-platform-room &:active {\n .room-platform-room &:not(*[aria-haspopup]) {\n --tw-translate-y: 1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .room-platform-room .disabled\\:pointer-events-none {\n .room-platform-room &:disabled {\n pointer-events: none;\n }\n }\n .room-platform-room .disabled\\:cursor-not-allowed {\n .room-platform-room &:disabled {\n cursor: not-allowed;\n }\n }\n .room-platform-room .disabled\\:border-white\\/35 {\n .room-platform-room &:disabled {\n border-color: color-mix(in srgb, #fff 35%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 35%, transparent);\n }\n }\n }\n .room-platform-room .disabled\\:bg-input\\/50 {\n .room-platform-room &:disabled {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n .room-platform-room .disabled\\:bg-transparent {\n .room-platform-room &:disabled {\n background-color: transparent;\n }\n }\n .room-platform-room .disabled\\:bg-white\\/5 {\n .room-platform-room &:disabled {\n background-color: color-mix(in srgb, #fff 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 5%, transparent);\n }\n }\n }\n .room-platform-room .disabled\\:text-white\\/65 {\n .room-platform-room &:disabled {\n color: color-mix(in srgb, #fff 65%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-white) 65%, transparent);\n }\n }\n }\n .room-platform-room .disabled\\:opacity-50 {\n .room-platform-room &:disabled {\n opacity: 50%;\n }\n }\n .room-platform-room .in-data-\\[side\\=left\\]\\:cursor-w-resize {\n .room-platform-room :where(*[data-side=\"left\"]) & {\n cursor: w-resize;\n }\n }\n .room-platform-room .in-data-\\[side\\=right\\]\\:cursor-e-resize {\n .room-platform-room :where(*[data-side=\"right\"]) & {\n cursor: e-resize;\n }\n }\n .room-platform-room .in-data-\\[slot\\=button-group\\]\\:rounded-lg {\n .room-platform-room :where(*[data-slot=\"button-group\"]) & {\n border-radius: var(--radius-lg);\n }\n }\n .room-platform-room .in-data-\\[slot\\=card-content\\]\\:bg-transparent {\n .room-platform-room :where(*[data-slot=\"card-content\"]) & {\n background-color: transparent;\n }\n }\n .room-platform-room .in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit {\n .room-platform-room :where(*[data-slot=\"combobox-content\"]) & {\n .room-platform-room &:focus-within {\n border-color: inherit;\n }\n }\n }\n .room-platform-room .in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0 {\n .room-platform-room :where(*[data-slot=\"combobox-content\"]) & {\n .room-platform-room &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .in-data-\\[slot\\=popover-content\\]\\:bg-transparent {\n .room-platform-room :where(*[data-slot=\"popover-content\"]) & {\n background-color: transparent;\n }\n }\n .room-platform-room .has-disabled\\:pointer-events-none {\n .room-platform-room &:has(*:disabled) {\n pointer-events: none;\n }\n }\n .room-platform-room .has-disabled\\:cursor-not-allowed {\n .room-platform-room &:has(*:disabled) {\n cursor: not-allowed;\n }\n }\n .room-platform-room .has-disabled\\:bg-input\\/50 {\n .room-platform-room &:has(*:disabled) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n .room-platform-room .has-disabled\\:opacity-50 {\n .room-platform-room &:has(*:disabled) {\n opacity: 50%;\n }\n }\n .room-platform-room .has-aria-expanded\\:bg-muted\\/50 {\n .room-platform-room &:has(*[aria-expanded=\"true\"]) {\n background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n .room-platform-room .has-aria-invalid\\:border-destructive {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n border-color: var(--color-destructive);\n }\n }\n .room-platform-room .has-aria-invalid\\:ring-3 {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .has-aria-invalid\\:ring-destructive\\/20 {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-1 {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 1);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5 {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 1.5);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-2 {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-end\\]\\:pr-3 {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5 {\n .room-platform-room &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n .room-platform-room &:has(*[data-icon=\"inline-end\"]) {\n padding-right: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-1 {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 1);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5 {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 1.5);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-2 {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .has-data-\\[icon\\=inline-start\\]\\:pl-3 {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5 {\n .room-platform-room &:is(:where(.group\\/toggle-group)[data-spacing=\"0\"] *) {\n .room-platform-room &:has(*[data-icon=\"inline-start\"]) {\n padding-left: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .has-data-\\[slot\\=alert-action\\]\\:relative {\n .room-platform-room &:has(*[data-slot=\"alert-action\"]) {\n position: relative;\n }\n }\n .room-platform-room .has-data-\\[slot\\=alert-action\\]\\:pr-18 {\n .room-platform-room &:has(*[data-slot=\"alert-action\"]) {\n padding-right: calc(var(--spacing) * 18);\n }\n }\n .room-platform-room .has-data-\\[slot\\=alert-dialog-media\\]\\:grid-rows-\\[auto_auto_1fr\\] {\n .room-platform-room &:has(*[data-slot=\"alert-dialog-media\"]) {\n grid-template-rows: auto auto 1fr;\n }\n }\n .room-platform-room .has-data-\\[slot\\=alert-dialog-media\\]\\:gap-x-4 {\n .room-platform-room &:has(*[data-slot=\"alert-dialog-media\"]) {\n column-gap: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\] {\n .room-platform-room &:has(*[data-slot=\"card-action\"]) {\n grid-template-columns: 1fr auto;\n }\n }\n .room-platform-room .has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\] {\n .room-platform-room &:has(*[data-slot=\"card-description\"]) {\n grid-template-rows: auto auto;\n }\n }\n .room-platform-room .has-data-\\[slot\\=card-footer\\]\\:pb-0 {\n .room-platform-room &:has(*[data-slot=\"card-footer\"]) {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .has-data-\\[slot\\=combobox-chip\\]\\:px-1 {\n .room-platform-room &:has(*[data-slot=\"combobox-chip\"]) {\n padding-inline: calc(var(--spacing) * 1);\n }\n }\n .room-platform-room .has-data-\\[slot\\=combobox-chip-remove\\]\\:pr-0 {\n .room-platform-room &:has(*[data-slot=\"combobox-chip-remove\"]) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .has-data-checked\\:border-primary\\/30 {\n .room-platform-room &:has(*:where([data-state=\"checked\"]), *:where([data-checked]:not([data-checked=\"false\"]))) {\n border-color: color-mix(in srgb, #242f62 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);\n }\n }\n }\n .room-platform-room .has-data-checked\\:bg-primary\\/5 {\n .room-platform-room &:has(*:where([data-state=\"checked\"]), *:where([data-checked]:not([data-checked=\"false\"]))) {\n background-color: color-mix(in srgb, #242f62 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 5%, transparent);\n }\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring {\n .room-platform-room &:has(*:is([data-slot=input-group-control]:focus-visible)) {\n border-color: var(--color-ring);\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3 {\n .room-platform-room &:has(*:is([data-slot=input-group-control]:focus-visible)) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50 {\n .room-platform-room &:has(*:is([data-slot=input-group-control]:focus-visible)) {\n --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);\n }\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive {\n .room-platform-room &:has(*:is([data-slot][aria-invalid=true])) {\n border-color: var(--color-destructive);\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3 {\n .room-platform-room &:has(*:is([data-slot][aria-invalid=true])) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20 {\n .room-platform-room &:has(*:is([data-slot][aria-invalid=true])) {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto {\n .room-platform-room &:has(>[data-align=block-end]) {\n height: auto;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col {\n .room-platform-room &:has(>[data-align=block-end]) {\n flex-direction: column;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto {\n .room-platform-room &:has(>[data-align=block-start]) {\n height: auto;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col {\n .room-platform-room &:has(>[data-align=block-start]) {\n flex-direction: column;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2 {\n .room-platform-room &:has(>[data-slot=button-group]) {\n gap: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=checkbox-group\\]\\]\\:gap-3 {\n .room-platform-room &:has(>[data-slot=checkbox-group]) {\n gap: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start {\n .room-platform-room &:has(>[data-slot=field-content]) {\n align-items: flex-start;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:w-full {\n .room-platform-room &:has(>[data-slot=field]) {\n width: 100%;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:flex-col {\n .room-platform-room &:has(>[data-slot=field]) {\n flex-direction: column;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:rounded-lg {\n .room-platform-room &:has(>[data-slot=field]) {\n border-radius: var(--radius-lg);\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field\\]\\]\\:border {\n .room-platform-room &:has(>[data-slot=field]) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=radio-group\\]\\]\\:gap-3 {\n .room-platform-room &:has(>[data-slot=radio-group]) {\n gap: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .has-\\[\\>button\\]\\:mr-\\[-0\\.3rem\\] {\n .room-platform-room &:has(>button) {\n margin-right: -0.3rem;\n }\n }\n .room-platform-room .has-\\[\\>button\\]\\:ml-\\[-0\\.3rem\\] {\n .room-platform-room &:has(>button) {\n margin-left: -0.3rem;\n }\n }\n .room-platform-room .has-\\[\\>img\\:first-child\\]\\:pt-0 {\n .room-platform-room &:has(>img:first-child) {\n padding-top: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .has-\\[\\>kbd\\]\\:mr-\\[-0\\.15rem\\] {\n .room-platform-room &:has(>kbd) {\n margin-right: -0.15rem;\n }\n }\n .room-platform-room .has-\\[\\>kbd\\]\\:ml-\\[-0\\.15rem\\] {\n .room-platform-room &:has(>kbd) {\n margin-left: -0.15rem;\n }\n }\n .room-platform-room .has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\] {\n .room-platform-room &:has(>svg) {\n grid-template-columns: auto 1fr;\n }\n }\n .room-platform-room .has-\\[\\>svg\\]\\:gap-x-2 {\n .room-platform-room &:has(>svg) {\n column-gap: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .has-\\[\\>svg\\]\\:p-0 {\n .room-platform-room &:has(>svg) {\n padding: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .has-\\[\\>textarea\\]\\:h-auto {\n .room-platform-room &:has(>textarea) {\n height: auto;\n }\n }\n .room-platform-room .aria-disabled\\:pointer-events-none {\n .room-platform-room &[aria-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .room-platform-room .aria-disabled\\:opacity-50 {\n .room-platform-room &[aria-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .room-platform-room .aria-expanded\\:bg-muted {\n .room-platform-room &[aria-expanded=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .aria-expanded\\:bg-secondary {\n .room-platform-room &[aria-expanded=\"true\"] {\n background-color: var(--color-secondary);\n }\n }\n .room-platform-room .aria-expanded\\:text-foreground {\n .room-platform-room &[aria-expanded=\"true\"] {\n color: var(--color-foreground);\n }\n }\n .room-platform-room .aria-expanded\\:text-secondary-foreground {\n .room-platform-room &[aria-expanded=\"true\"] {\n color: var(--color-secondary-foreground);\n }\n }\n .room-platform-room .aria-expanded\\:opacity-100 {\n .room-platform-room &[aria-expanded=\"true\"] {\n opacity: 100%;\n }\n }\n .room-platform-room .aria-invalid\\:border-destructive {\n .room-platform-room &[aria-invalid=\"true\"] {\n border-color: var(--color-destructive);\n }\n }\n .room-platform-room .aria-invalid\\:ring-0 {\n .room-platform-room &[aria-invalid=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .aria-invalid\\:ring-3 {\n .room-platform-room &[aria-invalid=\"true\"] {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .room-platform-room .aria-invalid\\:ring-destructive\\/20 {\n .room-platform-room &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .aria-invalid\\:aria-checked\\:border-primary {\n .room-platform-room &[aria-invalid=\"true\"] {\n .room-platform-room &[aria-checked=\"true\"] {\n border-color: var(--color-primary);\n }\n }\n }\n .room-platform-room .aria-pressed\\:bg-muted {\n .room-platform-room &[aria-pressed=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .aria-selected\\:text-muted-foreground {\n .room-platform-room &[aria-selected=\"true\"] {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .data-empty\\:p-0 {\n .room-platform-room &[data-empty] {\n padding: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-highlighted\\:bg-accent {\n .room-platform-room &[data-highlighted] {\n background-color: var(--color-accent);\n }\n }\n .room-platform-room .data-highlighted\\:text-accent-foreground {\n .room-platform-room &[data-highlighted] {\n color: var(--color-accent-foreground);\n }\n }\n .room-platform-room .not-data-\\[variant\\=destructive\\]\\:data-highlighted\\:\\*\\*\\:text-accent-foreground {\n .room-platform-room &:not(*[data-variant=\"destructive\"]) {\n .room-platform-room &[data-highlighted] {\n .room-platform-room :is(& *) {\n color: var(--color-accent-foreground);\n }\n }\n }\n }\n .room-platform-room .data-inset\\:pl-7 {\n .room-platform-room &[data-inset] {\n padding-left: calc(var(--spacing) * 7);\n }\n }\n .room-platform-room .data-placeholder\\:text-muted-foreground {\n .room-platform-room &[data-placeholder] {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .data-pressed\\:bg-transparent {\n .room-platform-room &[data-pressed] {\n background-color: transparent;\n }\n }\n .room-platform-room .data-\\[align-trigger\\=true\\]\\:animate-none {\n .room-platform-room &[data-align-trigger=\"true\"] {\n animation: none;\n }\n }\n .room-platform-room .data-\\[chips\\=true\\]\\:min-w-\\(--anchor-width\\) {\n .room-platform-room &[data-chips=\"true\"] {\n min-width: var(--anchor-width);\n }\n }\n .room-platform-room .data-\\[invalid\\=true\\]\\:text-destructive {\n .room-platform-room &[data-invalid=\"true\"] {\n color: var(--color-destructive);\n }\n }\n .room-platform-room .data-\\[lk-enabled\\=true\\]\\:border-white {\n .room-platform-room &[data-lk-enabled=\"true\"] {\n border-color: var(--color-white);\n }\n }\n .room-platform-room .data-\\[lk-enabled\\=true\\]\\:bg-white {\n .room-platform-room &[data-lk-enabled=\"true\"] {\n background-color: var(--color-white);\n }\n }\n .room-platform-room .data-\\[lk-enabled\\=true\\]\\:text-slate-950 {\n .room-platform-room &[data-lk-enabled=\"true\"] {\n color: var(--color-slate-950);\n }\n }\n .room-platform-room .data-\\[lk-enabled\\=true\\]\\:hover\\:bg-white {\n .room-platform-room &[data-lk-enabled=\"true\"] {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n }\n .room-platform-room .data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\) {\n .room-platform-room &[data-position=\"popper\"] {\n height: var(--radix-select-trigger-height);\n }\n }\n .room-platform-room .data-\\[position\\=popper\\]\\:w-full {\n .room-platform-room &[data-position=\"popper\"] {\n width: 100%;\n }\n }\n .room-platform-room .data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\) {\n .room-platform-room &[data-position=\"popper\"] {\n min-width: var(--radix-select-trigger-width);\n }\n }\n .room-platform-room .data-\\[range-end\\=true\\]\\:rounded-\\(--cell-radius\\) {\n .room-platform-room &[data-range-end=\"true\"] {\n border-radius: var(--cell-radius);\n }\n }\n .room-platform-room .data-\\[range-end\\=true\\]\\:rounded-r-\\(--cell-radius\\) {\n .room-platform-room &[data-range-end=\"true\"] {\n border-top-right-radius: var(--cell-radius);\n border-bottom-right-radius: var(--cell-radius);\n }\n }\n .room-platform-room .data-\\[range-end\\=true\\]\\:bg-primary {\n .room-platform-room &[data-range-end=\"true\"] {\n background-color: var(--color-primary);\n }\n }\n .room-platform-room .data-\\[range-end\\=true\\]\\:text-primary-foreground {\n .room-platform-room &[data-range-end=\"true\"] {\n color: var(--color-primary-foreground);\n }\n }\n .room-platform-room .data-\\[range-middle\\=true\\]\\:rounded-none {\n .room-platform-room &[data-range-middle=\"true\"] {\n border-radius: 0;\n }\n }\n .room-platform-room .data-\\[range-middle\\=true\\]\\:bg-muted {\n .room-platform-room &[data-range-middle=\"true\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .data-\\[range-middle\\=true\\]\\:text-foreground {\n .room-platform-room &[data-range-middle=\"true\"] {\n color: var(--color-foreground);\n }\n }\n .room-platform-room .data-\\[range-start\\=true\\]\\:rounded-\\(--cell-radius\\) {\n .room-platform-room &[data-range-start=\"true\"] {\n border-radius: var(--cell-radius);\n }\n }\n .room-platform-room .data-\\[range-start\\=true\\]\\:rounded-l-\\(--cell-radius\\) {\n .room-platform-room &[data-range-start=\"true\"] {\n border-top-left-radius: var(--cell-radius);\n border-bottom-left-radius: var(--cell-radius);\n }\n }\n .room-platform-room .data-\\[range-start\\=true\\]\\:bg-primary {\n .room-platform-room &[data-range-start=\"true\"] {\n background-color: var(--color-primary);\n }\n }\n .room-platform-room .data-\\[range-start\\=true\\]\\:text-primary-foreground {\n .room-platform-room &[data-range-start=\"true\"] {\n color: var(--color-primary-foreground);\n }\n }\n .room-platform-room .data-\\[selected-single\\=true\\]\\:bg-primary {\n .room-platform-room &[data-selected-single=\"true\"] {\n background-color: var(--color-primary);\n }\n }\n .room-platform-room .data-\\[selected-single\\=true\\]\\:text-primary-foreground {\n .room-platform-room &[data-selected-single=\"true\"] {\n color: var(--color-primary-foreground);\n }\n }\n .room-platform-room .data-\\[selected\\=true\\]\\:rounded-none {\n .room-platform-room &[data-selected=\"true\"] {\n border-radius: 0;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:inset-x-0 {\n .room-platform-room &[data-side=\"bottom\"] {\n inset-inline: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:bottom-0 {\n .room-platform-room &[data-side=\"bottom\"] {\n bottom: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:h-auto {\n .room-platform-room &[data-side=\"bottom\"] {\n height: auto;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:translate-y-1 {\n .room-platform-room &[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:border-t {\n .room-platform-room &[data-side=\"bottom\"] {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:slide-in-from-top-2 {\n .room-platform-room &[data-side=\"bottom\"] {\n --tw-enter-translate-y: calc(2*var(--spacing)*-1);\n }\n }\n .room-platform-room .data-\\[side\\=inline-end\\]\\:slide-in-from-left-2 {\n .room-platform-room &[data-side=\"inline-end\"] {\n --tw-enter-translate-x: calc(2*var(--spacing)*-1);\n }\n }\n .room-platform-room .data-\\[side\\=inline-start\\]\\:slide-in-from-right-2 {\n .room-platform-room &[data-side=\"inline-start\"] {\n --tw-enter-translate-x: calc(2*var(--spacing));\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:inset-y-0 {\n .room-platform-room &[data-side=\"left\"] {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:left-0 {\n .room-platform-room &[data-side=\"left\"] {\n left: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:h-full {\n .room-platform-room &[data-side=\"left\"] {\n height: 100%;\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:w-3\\/4 {\n .room-platform-room &[data-side=\"left\"] {\n width: calc(3 / 4 * 100%);\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:-translate-x-1 {\n .room-platform-room &[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:border-r {\n .room-platform-room &[data-side=\"left\"] {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:slide-in-from-right-2 {\n .room-platform-room &[data-side=\"left\"] {\n --tw-enter-translate-x: calc(2*var(--spacing));\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n .room-platform-room &[data-side=\"left\"] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n left: calc(var(--sidebar-width) * -1);\n }\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:inset-y-0 {\n .room-platform-room &[data-side=\"right\"] {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:right-0 {\n .room-platform-room &[data-side=\"right\"] {\n right: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:h-full {\n .room-platform-room &[data-side=\"right\"] {\n height: 100%;\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:w-3\\/4 {\n .room-platform-room &[data-side=\"right\"] {\n width: calc(3 / 4 * 100%);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:translate-x-1 {\n .room-platform-room &[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:border-l {\n .room-platform-room &[data-side=\"right\"] {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:slide-in-from-left-2 {\n .room-platform-room &[data-side=\"right\"] {\n --tw-enter-translate-x: calc(2*var(--spacing)*-1);\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n .room-platform-room &[data-side=\"right\"] {\n .room-platform-room &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n right: calc(var(--sidebar-width) * -1);\n }\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:inset-x-0 {\n .room-platform-room &[data-side=\"top\"] {\n inset-inline: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:top-0 {\n .room-platform-room &[data-side=\"top\"] {\n top: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:h-auto {\n .room-platform-room &[data-side=\"top\"] {\n height: auto;\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:-translate-y-1 {\n .room-platform-room &[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:border-b {\n .room-platform-room &[data-side=\"top\"] {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:slide-in-from-bottom-2 {\n .room-platform-room &[data-side=\"top\"] {\n --tw-enter-translate-y: calc(2*var(--spacing));\n }\n }\n .room-platform-room .data-\\[size\\=default\\]\\:h-8 {\n .room-platform-room &[data-size=\"default\"] {\n height: calc(var(--spacing) * 8);\n }\n }\n .room-platform-room .data-\\[size\\=default\\]\\:max-w-xs {\n .room-platform-room &[data-size=\"default\"] {\n max-width: var(--container-xs);\n }\n }\n .room-platform-room .data-\\[size\\=md\\]\\:text-sm {\n .room-platform-room &[data-size=\"md\"] {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:h-7 {\n .room-platform-room &[data-size=\"sm\"] {\n height: calc(var(--spacing) * 7);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:max-w-xs {\n .room-platform-room &[data-size=\"sm\"] {\n max-width: var(--container-xs);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:gap-3 {\n .room-platform-room &[data-size=\"sm\"] {\n gap: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\] {\n .room-platform-room &[data-size=\"sm\"] {\n border-radius: min(var(--radius-md), 10px);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:py-3 {\n .room-platform-room &[data-size=\"sm\"] {\n padding-block: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:text-xs {\n .room-platform-room &[data-size=\"sm\"] {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .room-platform-room .data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0 {\n .room-platform-room &[data-size=\"sm\"] {\n .room-platform-room &:has(*[data-slot=\"card-footer\"]) {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"alert-description\"] {\n color: color-mix(in srgb, oklch(0.577 0.245 27.325) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .room-platform-room .data-\\[slot\\=checkbox-group\\]\\:gap-3 {\n .room-platform-room &[data-slot=\"checkbox-group\"] {\n gap: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=field\\]\\:p-2\\.5 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"field\"] {\n padding: calc(var(--spacing) * 2.5);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=field-group\\]\\:gap-4 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"field-group\"] {\n gap: calc(var(--spacing) * 4);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=field-label\\]\\:flex-auto {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"field-label\"] {\n flex: auto;\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:m-1 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n margin: calc(var(--spacing) * 1);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:mb-0 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n margin-bottom: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:h-8 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n height: calc(var(--spacing) * 8);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:border-input\\/30 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n border-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:bg-input\\/30 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=input-group\\]\\:shadow-none {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"input-group\"] {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"select-value\"] {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=select-value\\]\\:flex {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"select-value\"] {\n display: flex;\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=select-value\\]\\:items-center {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"select-value\"] {\n align-items: center;\n }\n }\n }\n .room-platform-room .\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5 {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"select-value\"] {\n gap: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-l-lg {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &:first-child {\n border-top-left-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n }\n }\n .room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &:first-child {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n }\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-r-lg {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &:last-child {\n border-top-right-radius: var(--radius-lg);\n border-bottom-right-radius: var(--radius-lg);\n }\n }\n }\n }\n .room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &:last-child {\n border-bottom-right-radius: var(--radius-lg);\n border-bottom-left-radius: var(--radius-lg);\n }\n }\n }\n }\n .room-platform-room .data-\\[state\\=closed\\]\\:overflow-hidden {\n .room-platform-room &[data-state=\"closed\"] {\n overflow: hidden;\n }\n }\n .room-platform-room .data-\\[state\\=on\\]\\:bg-muted {\n .room-platform-room &[data-state=\"on\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .data-\\[state\\=selected\\]\\:bg-muted {\n .room-platform-room &[data-state=\"selected\"] {\n background-color: var(--color-muted);\n }\n }\n .room-platform-room .data-\\[variant\\=destructive\\]\\:text-destructive {\n .room-platform-room &[data-variant=\"destructive\"] {\n color: var(--color-destructive);\n }\n }\n .room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10 {\n .room-platform-room &[data-variant=\"destructive\"] {\n .room-platform-room &:focus {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);\n }\n }\n }\n }\n .room-platform-room .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive {\n .room-platform-room &[data-variant=\"destructive\"] {\n .room-platform-room &:focus {\n color: var(--color-destructive);\n }\n }\n }\n .room-platform-room .data-\\[variant\\=label\\]\\:text-sm {\n .room-platform-room &[data-variant=\"label\"] {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .data-\\[variant\\=legend\\]\\:text-base {\n .room-platform-room &[data-variant=\"legend\"] {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n }\n .room-platform-room .data-\\[variant\\=line\\]\\:rounded-none {\n .room-platform-room &[data-variant=\"line\"] {\n border-radius: 0;\n }\n }\n .room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-l-0 {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &[data-variant=\"outline\"] {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n }\n }\n .room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0 {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &[data-variant=\"outline\"] {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n }\n }\n .room-platform-room .group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-l {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"horizontal\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &[data-variant=\"outline\"] {\n .room-platform-room &:first-child {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n }\n }\n }\n .room-platform-room .group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t {\n .room-platform-room &:is(:where(.group\\/toggle-group):where([data-orientation=\"vertical\"]) *) {\n .room-platform-room &[data-spacing=\"0\"] {\n .room-platform-room &[data-variant=\"outline\"] {\n .room-platform-room &:first-child {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n }\n }\n }\n }\n .room-platform-room .nth-last-2\\:-mt-1 {\n .room-platform-room &:nth-last-child(2) {\n margin-top: calc(var(--spacing) * -1);\n }\n }\n .room-platform-room .supports-backdrop-filter\\:backdrop-blur-xs {\n @supports (backdrop-filter: var(--tw)) {\n --tw-backdrop-blur: blur(var(--blur-xs));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n }\n .room-platform-room .sm\\:flex {\n @media (width >= 40rem) {\n display: flex;\n }\n }\n .room-platform-room .sm\\:max-w-2xl {\n @media (width >= 40rem) {\n max-width: var(--container-2xl);\n }\n }\n .room-platform-room .sm\\:max-w-none {\n @media (width >= 40rem) {\n max-width: none;\n }\n }\n .room-platform-room .sm\\:max-w-sm {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n .room-platform-room .sm\\:grid-cols-3 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .room-platform-room .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .room-platform-room .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .room-platform-room .sm\\:p-4 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .sm\\:text-sm {\n @media (width >= 40rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:row-span-2 {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n grid-row: span 2 / span 2;\n }\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:place-items-start {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n place-items: start;\n }\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:text-left {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n text-align: left;\n }\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:group-has-data-\\[slot\\=alert-dialog-media\\]\\/alert-dialog-content\\:col-start-2 {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content):has(*[data-slot=\"alert-dialog-media\"]) *) {\n grid-column-start: 2;\n }\n }\n }\n }\n .room-platform-room .sm\\:group-data-\\[size\\=default\\]\\/alert-dialog-content\\:has-data-\\[slot\\=alert-dialog-media\\]\\:grid-rows-\\[auto_1fr\\] {\n @media (width >= 40rem) {\n .room-platform-room &:is(:where(.group\\/alert-dialog-content)[data-size=\"default\"] *) {\n .room-platform-room &:has(*[data-slot=\"alert-dialog-media\"]) {\n grid-template-rows: auto 1fr;\n }\n }\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:sm\\:max-w-sm {\n .room-platform-room &[data-side=\"left\"] {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:sm\\:max-w-sm {\n .room-platform-room &[data-side=\"right\"] {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n }\n .room-platform-room .data-\\[size\\=default\\]\\:sm\\:max-w-sm {\n .room-platform-room &[data-size=\"default\"] {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n }\n .room-platform-room .md\\:block {\n @media (width >= 48rem) {\n display: block;\n }\n }\n .room-platform-room .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .room-platform-room .md\\:inline-flex {\n @media (width >= 48rem) {\n display: inline-flex;\n }\n }\n .room-platform-room .md\\:max-w-\\[300px\\] {\n @media (width >= 48rem) {\n max-width: 300px;\n }\n }\n .room-platform-room .md\\:grid-cols-1 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .room-platform-room .md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(12rem\\,16rem\\)\\] {\n @media (width >= 48rem) {\n grid-template-columns: minmax(0,1fr) minmax(12rem,16rem);\n }\n }\n .room-platform-room .md\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(260px\\,300px\\)\\] {\n @media (width >= 48rem) {\n grid-template-columns: minmax(0,1fr) minmax(260px,300px);\n }\n }\n .room-platform-room .md\\:grid-rows-1 {\n @media (width >= 48rem) {\n grid-template-rows: repeat(1, minmax(0, 1fr));\n }\n }\n .room-platform-room .md\\:flex-row {\n @media (width >= 48rem) {\n flex-direction: row;\n }\n }\n .room-platform-room .md\\:justify-self-end {\n @media (width >= 48rem) {\n justify-self: flex-end;\n }\n }\n .room-platform-room .md\\:border-l {\n @media (width >= 48rem) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .room-platform-room .md\\:border-white\\/10 {\n @media (width >= 48rem) {\n border-color: color-mix(in srgb, #fff 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n }\n .room-platform-room .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .room-platform-room .md\\:text-pretty {\n @media (width >= 48rem) {\n text-wrap: pretty;\n }\n }\n .room-platform-room .md\\:opacity-0 {\n @media (width >= 48rem) {\n opacity: 0%;\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:m-2 {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin: calc(var(--spacing) * 2);\n }\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:ml-0 {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin-left: calc(var(--spacing) * 0);\n }\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n border-radius: var(--radius-xl);\n }\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2 {\n @media (width >= 48rem) {\n .room-platform-room &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n .room-platform-room &:is(:where(.peer)[data-state=\"collapsed\"] ~ *) {\n margin-left: calc(var(--spacing) * 2);\n }\n }\n }\n }\n .room-platform-room .md\\:after\\:hidden {\n @media (width >= 48rem) {\n .room-platform-room &::after {\n content: var(--tw-content);\n display: none;\n }\n }\n }\n .room-platform-room .lg\\:grid-cols-2 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .room-platform-room .\\@md\\/field-group\\:flex-row {\n @container field-group (width >= 28rem) {\n flex-direction: row;\n }\n }\n .room-platform-room .\\@md\\/field-group\\:items-center {\n @container field-group (width >= 28rem) {\n align-items: center;\n }\n }\n .room-platform-room .\\@md\\/field-group\\:\\*\\:w-auto {\n @container field-group (width >= 28rem) {\n .room-platform-room :is(& > *) {\n width: auto;\n }\n }\n }\n .room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start {\n @container field-group (width >= 28rem) {\n .room-platform-room &:has(>[data-slot=field-content]) {\n align-items: flex-start;\n }\n }\n }\n .room-platform-room .\\@md\\/field-group\\:\\*\\:data-\\[slot\\=field-label\\]\\:flex-auto {\n @container field-group (width >= 28rem) {\n .room-platform-room :is(& > *) {\n .room-platform-room &[data-slot=\"field-label\"] {\n flex: auto;\n }\n }\n }\n }\n .room-platform-room .ltr\\:-translate-x-1\\/2 {\n .room-platform-room &:where(:dir(ltr), [dir=\"ltr\"], [dir=\"ltr\"] *) {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .rtl\\:-translate-x-1\\/2 {\n .room-platform-room &:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *) {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .room-platform-room .dark\\:border-input {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-input);\n }\n }\n .room-platform-room .dark\\:bg-destructive\\/20 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .room-platform-room .dark\\:bg-input\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n .room-platform-room .dark\\:bg-transparent {\n @media (prefers-color-scheme: dark) {\n background-color: transparent;\n }\n }\n .room-platform-room .dark\\:text-muted-foreground {\n @media (prefers-color-scheme: dark) {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .dark\\:hover\\:bg-destructive\\/30 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 30%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .dark\\:hover\\:bg-input\\/50 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .dark\\:hover\\:bg-muted\\/50 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .dark\\:hover\\:text-foreground {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n }\n .room-platform-room .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:focus-visible {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:disabled\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:disabled {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:disabled\\:bg-transparent {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:disabled {\n background-color: transparent;\n }\n }\n }\n .room-platform-room .dark\\:has-disabled\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*:disabled) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-aria-invalid\\:border-destructive\\/50 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n border-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*[aria-invalid=\"true\"]) {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-data-checked\\:border-primary\\/20 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*:where([data-state=\"checked\"]), *:where([data-checked]:not([data-checked=\"false\"]))) {\n border-color: color-mix(in srgb, #242f62 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 20%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-data-checked\\:bg-primary\\/10 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*:where([data-state=\"checked\"]), *:where([data-checked]:not([data-checked=\"false\"]))) {\n background-color: color-mix(in srgb, #242f62 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:has(*:is([data-slot][aria-invalid=true])) {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:aria-invalid\\:border-destructive\\/50 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &[aria-invalid=\"true\"] {\n border-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &[data-variant=\"destructive\"] {\n .room-platform-room &:focus {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .data-open\\:animate-in {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);\n }\n }\n .room-platform-room .data-open\\:bg-accent {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n background-color: var(--color-accent);\n }\n }\n .room-platform-room .data-open\\:text-accent-foreground {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n color: var(--color-accent-foreground);\n }\n }\n .room-platform-room .data-open\\:fade-in-0 {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-opacity: calc(0/100);\n --tw-enter-opacity: 0;\n }\n }\n .room-platform-room .data-open\\:zoom-in-95 {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-scale: calc(95*1%);\n --tw-enter-scale: .95;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10 {\n .room-platform-room &[data-side=\"bottom\"] {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-translate-y: calc(10*var(--spacing));\n --tw-enter-translate-y: calc(.1*100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10 {\n .room-platform-room &[data-side=\"left\"] {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-translate-x: calc(10*var(--spacing)*-1);\n --tw-enter-translate-x: calc(.1*-100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10 {\n .room-platform-room &[data-side=\"right\"] {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-translate-x: calc(10*var(--spacing));\n --tw-enter-translate-x: calc(.1*100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10 {\n .room-platform-room &[data-side=\"top\"] {\n .room-platform-room &:where([data-state=\"open\"]), .room-platform-room &:where([data-open]:not([data-open=\"false\"])) {\n --tw-enter-translate-y: calc(10*var(--spacing)*-1);\n --tw-enter-translate-y: calc(.1*-100%);\n }\n }\n }\n .room-platform-room .data-closed\\:animate-out {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);\n }\n }\n .room-platform-room .data-closed\\:fade-out-0 {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-opacity: calc(0/100);\n --tw-exit-opacity: 0;\n }\n }\n .room-platform-room .data-closed\\:zoom-out-95 {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-scale: calc(95*1%);\n --tw-exit-scale: .95;\n }\n }\n .room-platform-room .data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10 {\n .room-platform-room &[data-side=\"bottom\"] {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-translate-y: calc(10*var(--spacing));\n --tw-exit-translate-y: calc(.1*100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10 {\n .room-platform-room &[data-side=\"left\"] {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-translate-x: calc(10*var(--spacing)*-1);\n --tw-exit-translate-x: calc(.1*-100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10 {\n .room-platform-room &[data-side=\"right\"] {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-translate-x: calc(10*var(--spacing));\n --tw-exit-translate-x: calc(.1*100%);\n }\n }\n }\n .room-platform-room .data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10 {\n .room-platform-room &[data-side=\"top\"] {\n .room-platform-room &:where([data-state=\"closed\"]), .room-platform-room &:where([data-closed]:not([data-closed=\"false\"])) {\n --tw-exit-translate-y: calc(10*var(--spacing)*-1);\n --tw-exit-translate-y: calc(.1*-100%);\n }\n }\n }\n .room-platform-room .data-checked\\:border-primary {\n .room-platform-room &:where([data-state=\"checked\"]), .room-platform-room &:where([data-checked]:not([data-checked=\"false\"])) {\n border-color: var(--color-primary);\n }\n }\n .room-platform-room .data-checked\\:bg-primary {\n .room-platform-room &:where([data-state=\"checked\"]), .room-platform-room &:where([data-checked]:not([data-checked=\"false\"])) {\n background-color: var(--color-primary);\n }\n }\n .room-platform-room .data-checked\\:text-primary-foreground {\n .room-platform-room &:where([data-state=\"checked\"]), .room-platform-room &:where([data-checked]:not([data-checked=\"false\"])) {\n color: var(--color-primary-foreground);\n }\n }\n .room-platform-room .dark\\:data-checked\\:bg-primary {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:where([data-state=\"checked\"]), .room-platform-room &:where([data-checked]:not([data-checked=\"false\"])) {\n background-color: var(--color-primary);\n }\n }\n }\n .room-platform-room .data-disabled\\:pointer-events-none {\n .room-platform-room &:where([data-disabled=\"true\"]), .room-platform-room &:where([data-disabled]:not([data-disabled=\"false\"])) {\n pointer-events: none;\n }\n }\n .room-platform-room .data-disabled\\:opacity-50 {\n .room-platform-room &:where([data-disabled=\"true\"]), .room-platform-room &:where([data-disabled]:not([data-disabled=\"false\"])) {\n opacity: 50%;\n }\n }\n .room-platform-room .data-active\\:bg-background {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n background-color: var(--color-background);\n }\n }\n .room-platform-room .data-active\\:font-medium {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .room-platform-room .data-active\\:text-foreground {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n color: var(--color-foreground);\n }\n }\n .room-platform-room .group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"default\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n background-color: transparent;\n }\n }\n }\n .room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .room-platform-room .group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100 {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n .room-platform-room &::after {\n content: var(--tw-content);\n opacity: 100%;\n }\n }\n }\n }\n .room-platform-room .dark\\:data-active\\:border-input {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n border-color: var(--color-input);\n }\n }\n }\n .room-platform-room .dark\\:data-active\\:bg-input\\/30 {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n background-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n }\n .room-platform-room .dark\\:data-active\\:text-foreground {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n color: var(--color-foreground);\n }\n }\n }\n .room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n border-color: transparent;\n }\n }\n }\n }\n .room-platform-room .dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent {\n @media (prefers-color-scheme: dark) {\n .room-platform-room &:is(:where(.group\\/tabs-list)[data-variant=\"line\"] *) {\n .room-platform-room &:where([data-state=\"active\"]), .room-platform-room &:where([data-active]:not([data-active=\"false\"])) {\n background-color: transparent;\n }\n }\n }\n }\n .room-platform-room .data-horizontal\\:mx-px {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n margin-inline: 1px;\n }\n }\n .room-platform-room .data-horizontal\\:h-px {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n height: 1px;\n }\n }\n .room-platform-room .data-horizontal\\:w-auto {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n width: auto;\n }\n }\n .room-platform-room .data-horizontal\\:w-full {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n width: 100%;\n }\n }\n .room-platform-room .data-horizontal\\:flex-col {\n .room-platform-room &:where([data-orientation=\"horizontal\"]) {\n flex-direction: column;\n }\n }\n .room-platform-room .data-vertical\\:my-px {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n margin-block: 1px;\n }\n }\n .room-platform-room .data-vertical\\:h-auto {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n height: auto;\n }\n }\n .room-platform-room .data-vertical\\:w-px {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n width: 1px;\n }\n }\n .room-platform-room .data-vertical\\:flex-col {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n flex-direction: column;\n }\n }\n .room-platform-room .data-vertical\\:items-stretch {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n align-items: stretch;\n }\n }\n .room-platform-room .data-vertical\\:self-stretch {\n .room-platform-room &:where([data-orientation=\"vertical\"]) {\n align-self: stretch;\n }\n }\n .room-platform-room .\\[\\&_a\\]\\:underline {\n .room-platform-room & a {\n text-decoration-line: underline;\n }\n }\n .room-platform-room .\\[\\&_a\\]\\:underline-offset-3 {\n .room-platform-room & a {\n text-underline-offset: 3px;\n }\n }\n .room-platform-room .\\[\\&_a\\]\\:hover\\:text-foreground {\n .room-platform-room & a {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n }\n .room-platform-room .\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 {\n .room-platform-room & p:not(:last-child) {\n margin-bottom: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&_svg\\]\\:pointer-events-none {\n .room-platform-room & svg {\n pointer-events: none;\n }\n }\n .room-platform-room .\\[\\&_svg\\]\\:size-4 {\n .room-platform-room & svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&_svg\\]\\:shrink-0 {\n .room-platform-room & svg {\n flex-shrink: 0;\n }\n }\n .room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3 {\n .room-platform-room & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n .room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 {\n .room-platform-room & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n }\n .room-platform-room .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n .room-platform-room & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&_tr\\]\\:border-b {\n .room-platform-room & tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .room-platform-room .\\[\\&_tr\\:last-child\\]\\:border-0 {\n .room-platform-room & tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .room-platform-room .\\[\\&\\:first-child\\[data-selected\\=true\\]_button\\]\\:rounded-l-\\(--cell-radius\\) {\n .room-platform-room &:first-child[data-selected=true] button {\n border-top-left-radius: var(--cell-radius);\n border-bottom-left-radius: var(--cell-radius);\n }\n }\n .room-platform-room .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0 {\n .room-platform-room &:has([role=checkbox]) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .room-platform-room .\\[\\.border-b\\]\\:pb-2 {\n .room-platform-room &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .\\[\\.border-b\\]\\:pb-4 {\n .room-platform-room &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3 {\n .room-platform-room &:is(:where(.group\\/card)[data-size=\"sm\"] *) {\n .room-platform-room &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 3);\n }\n }\n }\n .room-platform-room .\\[\\.border-t\\]\\:pt-2 {\n .room-platform-room &:is(.border-t) {\n padding-top: calc(var(--spacing) * 2);\n }\n }\n .room-platform-room .rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_next\\>svg\\]\\:rotate-180 {\n .room-platform-room &:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *) {\n .room-platform-room :is(& *) {\n .room-platform-room &:is(.rdp-button_next>svg) {\n rotate: 180deg;\n }\n }\n }\n }\n .room-platform-room .rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_previous\\>svg\\]\\:rotate-180 {\n .room-platform-room &:where(:dir(rtl), [dir=\"rtl\"], [dir=\"rtl\"] *) {\n .room-platform-room :is(& *) {\n .room-platform-room &:is(.rdp-button_previous>svg) {\n rotate: 180deg;\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[a\\]\\:underline {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(a) {\n text-decoration-line: underline;\n }\n }\n }\n .room-platform-room .\\*\\:\\[a\\]\\:underline-offset-3 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(a) {\n text-underline-offset: 3px;\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:bg-destructive\\/20 {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:bg-muted {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:bg-primary\\/80 {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #242f62 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 80%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:bg-secondary\\/80 {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #eb6619 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n }\n .room-platform-room .\\[a\\]\\:hover\\:text-muted-foreground {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-muted-foreground);\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[a\\]\\:hover\\:text-foreground {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(a) {\n .room-platform-room &:hover {\n @media (hover: hover) {\n color: var(--color-foreground);\n }\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(img:first-child) {\n border-top-left-radius: var(--radius-xl);\n border-top-right-radius: var(--radius-xl);\n }\n }\n }\n .room-platform-room .\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(img:last-child) {\n border-bottom-right-radius: var(--radius-xl);\n border-bottom-left-radius: var(--radius-xl);\n }\n }\n }\n .room-platform-room .\\*\\:\\[span\\]\\:last\\:flex {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(span) {\n .room-platform-room &:last-child {\n display: flex;\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[span\\]\\:last\\:items-center {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(span) {\n .room-platform-room &:last-child {\n align-items: center;\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[span\\]\\:last\\:gap-2 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(span) {\n .room-platform-room &:last-child {\n gap: calc(var(--spacing) * 2);\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\]\\:row-span-2 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg) {\n grid-row: span 2 / span 2;\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\]\\:translate-y-0\\.5 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg) {\n --tw-translate-y: calc(var(--spacing) * 0.5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\]\\:text-current {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg) {\n color: currentcolor;\n }\n }\n }\n .room-platform-room .data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive {\n .room-platform-room &[data-variant=\"destructive\"] {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg) {\n color: var(--color-destructive);\n }\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg:not([class*='size-'])) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n }\n .room-platform-room .\\*\\:\\[svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-6 {\n .room-platform-room :is(& > *) {\n .room-platform-room &:is(svg:not([class*='size-'])) {\n width: calc(var(--spacing) * 6);\n height: calc(var(--spacing) * 6);\n }\n }\n }\n .room-platform-room .\\[\\&\\:last-child\\[data-selected\\=true\\]_button\\]\\:rounded-r-\\(--cell-radius\\) {\n .room-platform-room &:last-child[data-selected=true] button {\n border-top-right-radius: var(--cell-radius);\n border-bottom-right-radius: var(--cell-radius);\n }\n }\n .room-platform-room .\\[\\&\\:nth-child\\(2\\)\\[data-selected\\=true\\]_button\\]\\:rounded-l-\\(--cell-radius\\) {\n .room-platform-room &:nth-child(2)[data-selected=true] button {\n border-top-left-radius: var(--cell-radius);\n border-bottom-left-radius: var(--cell-radius);\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none {\n .room-platform-room &>*:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-l-none {\n .room-platform-room &>*:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0 {\n .room-platform-room &>*:not(:first-child) {\n border-top-style: var(--tw-border-style);\n border-top-width: 0px;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-l-0 {\n .room-platform-room &>*:not(:first-child) {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-r-none {\n .room-platform-room &>*:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n .room-platform-room .\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none {\n .room-platform-room &>*:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n .room-platform-room .\\[\\&\\>\\.sr-only\\]\\:w-auto {\n .room-platform-room &>.sr-only {\n width: auto;\n }\n }\n .room-platform-room .has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-r-lg {\n .room-platform-room &:has(*:is(select[aria-hidden=true]:last-child)) {\n .room-platform-room &>[data-slot=select-trigger]:last-of-type {\n border-top-right-radius: var(--radius-lg);\n border-bottom-right-radius: var(--radius-lg);\n }\n }\n }\n .room-platform-room .\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=\\'w-\\'\\]\\)\\]\\:w-fit {\n .room-platform-room &>[data-slot=select-trigger]:not([class*='w-']) {\n width: fit-content;\n }\n }\n .room-platform-room .\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-r-lg\\! {\n .room-platform-room &>[data-slot]:not(:has(~[data-slot])) {\n border-top-right-radius: var(--radius-lg) !important;\n border-bottom-right-radius: var(--radius-lg) !important;\n }\n }\n .room-platform-room .\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\! {\n .room-platform-room &>[data-slot]:not(:has(~[data-slot])) {\n border-bottom-right-radius: var(--radius-lg) !important;\n border-bottom-left-radius: var(--radius-lg) !important;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px {\n .room-platform-room &:has(>[data-slot=field-content]) {\n .room-platform-room &>[role=checkbox],.room-platform-room [role=radio] {\n margin-top: 1px;\n }\n }\n }\n .room-platform-room .\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px {\n @container field-group (width >= 28rem) {\n .room-platform-room &:has(>[data-slot=field-content]) {\n .room-platform-room &>[role=checkbox],.room-platform-room [role=radio] {\n margin-top: 1px;\n }\n }\n }\n }\n .room-platform-room .\\[\\&\\>a\\]\\:underline {\n .room-platform-room &>a {\n text-decoration-line: underline;\n }\n }\n .room-platform-room .\\[\\&\\>a\\]\\:underline-offset-4 {\n .room-platform-room &>a {\n text-underline-offset: 4px;\n }\n }\n .room-platform-room .\\[\\&\\>a\\:hover\\]\\:text-primary {\n .room-platform-room &>a:hover {\n color: var(--color-primary);\n }\n }\n .room-platform-room .\\[\\&\\>button\\]\\:hidden {\n .room-platform-room &>button {\n display: none;\n }\n }\n .room-platform-room .\\[\\&\\>input\\]\\:flex-1 {\n .room-platform-room &>input {\n flex: 1;\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3 {\n .room-platform-room &:has(>[data-align=block-end]) {\n .room-platform-room &>input {\n padding-top: calc(var(--spacing) * 3);\n }\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3 {\n .room-platform-room &:has(>[data-align=block-start]) {\n .room-platform-room &>input {\n padding-bottom: calc(var(--spacing) * 3);\n }\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pr-1\\.5 {\n .room-platform-room &:has(>[data-align=inline-end]) {\n .room-platform-room &>input {\n padding-right: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:pl-1\\.5 {\n .room-platform-room &:has(>[data-align=inline-start]) {\n .room-platform-room &>input {\n padding-left: calc(var(--spacing) * 1.5);\n }\n }\n }\n .room-platform-room .\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\] {\n .room-platform-room &>kbd {\n border-radius: calc(var(--radius) - 5px);\n }\n }\n .room-platform-room .\\[\\&\\>span\\]\\:text-xs {\n .room-platform-room &>span {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .room-platform-room .\\[\\&\\>span\\]\\:opacity-70 {\n .room-platform-room &>span {\n opacity: 70%;\n }\n }\n .room-platform-room .\\[\\&\\>span\\:last-child\\]\\:truncate {\n .room-platform-room &>span:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:pointer-events-none {\n .room-platform-room &>svg {\n pointer-events: none;\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:size-3\\! {\n .room-platform-room &>svg {\n width: calc(var(--spacing) * 3) !important;\n height: calc(var(--spacing) * 3) !important;\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:size-3\\.5 {\n .room-platform-room &>svg {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:size-4 {\n .room-platform-room &>svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:shrink-0 {\n .room-platform-room &>svg {\n flex-shrink: 0;\n }\n }\n .room-platform-room .\\[\\&\\>svg\\]\\:text-muted-foreground {\n .room-platform-room &>svg {\n color: var(--color-muted-foreground);\n }\n }\n .room-platform-room .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 {\n .room-platform-room &>svg:not([class*='size-']) {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n }\n .room-platform-room .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n .room-platform-room &>svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .room-platform-room .\\[\\&\\>tr\\]\\:last\\:border-b-0 {\n .room-platform-room &>tr {\n .room-platform-room &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n .room-platform-room .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2 {\n .room-platform-room [data-side=left][data-collapsible=offcanvas] & {\n right: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize {\n .room-platform-room [data-side=left][data-state=collapsed] & {\n cursor: e-resize;\n }\n }\n .room-platform-room .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2 {\n .room-platform-room [data-side=right][data-collapsible=offcanvas] & {\n left: calc(var(--spacing) * -2);\n }\n }\n .room-platform-room .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize {\n .room-platform-room [data-side=right][data-state=collapsed] & {\n cursor: w-resize;\n }\n }\n .room-platform-room .\\[\\[data-variant\\=legend\\]\\+\\&\\]\\:-mt-1\\.5 {\n .room-platform-room [data-variant=legend]+& {\n margin-top: calc(var(--spacing) * -1.5);\n }\n }\n}\n@property --tw-animation-delay {\n syntax: \"*\";\n inherits: false;\n initial-value: 0s;\n}\n@property --tw-animation-direction {\n syntax: \"*\";\n inherits: false;\n initial-value: normal;\n}\n@property --tw-animation-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-animation-fill-mode {\n syntax: \"*\";\n inherits: false;\n initial-value: none;\n}\n@property --tw-animation-iteration-count {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-enter-blur {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-enter-opacity {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-enter-rotate {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-enter-scale {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-enter-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-enter-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-exit-blur {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-exit-opacity {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-exit-rotate {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-exit-scale {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-exit-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-exit-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n.room-platform-room .navi-chat__panel {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: var(--navi-chat-radius, 10px);\n background: var(--navi-chat-color-surface, #ffffff);\n color: var(--navi-chat-color-text, #111827);\n font-family: var(--navi-chat-font-family, Inter, ui-sans-serif, system-ui, sans-serif);\n}\n.room-platform-room .navi-chat__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n flex: 0 0 auto;\n padding: 10px 12px;\n border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);\n background: #f8fafc;\n}\n.room-platform-room .navi-chat__header-main {\n min-width: 0;\n}\n.room-platform-room .navi-chat__title {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin: 0;\n overflow: hidden;\n color: var(--navi-chat-color-text, #111827);\n font-size: 14px;\n font-weight: 700;\n line-height: 1.25;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.room-platform-room .navi-chat__online-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n border-radius: 999px;\n background: #eff6ff;\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n padding: 0 6px;\n}\n.room-platform-room .navi-chat__header-meta {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n gap: 8px;\n}\n.room-platform-room .navi-chat__role-badge {\n border-radius: 999px;\n background: #eff6ff;\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 12px;\n font-weight: 600;\n line-height: 1;\n padding: 5px 8px;\n}\n.room-platform-room .navi-chat__rooms {\n display: flex;\n flex: 0 0 auto;\n gap: 6px;\n overflow-x: auto;\n padding: 10px;\n border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);\n}\n.room-platform-room .navi-chat__room-tab, .room-platform-room .navi-chat__send-button, .room-platform-room .navi-chat__message-action, .room-platform-room .navi-chat__message-menu-trigger, .room-platform-room .navi-chat__message-menu-item, .room-platform-room .navi-chat__message-edit-button, .room-platform-room .navi-chat__message-edit-input {\n font: inherit;\n}\n.room-platform-room .navi-chat__room-tab {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n max-width: 160px;\n border: 0;\n border-radius: 8px;\n background: #f1f5f9;\n color: #475569;\n cursor: pointer;\n padding: 7px 10px;\n}\n.room-platform-room .navi-chat__room-tab--active {\n background: var(--navi-chat-color-primary, #2563eb);\n color: #ffffff;\n}\n.room-platform-room .navi-chat__room-tab-label {\n display: block;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.room-platform-room .navi-chat__unread-badge {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n border-radius: 999px;\n background: #eff6ff;\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 11px;\n font-weight: 700;\n line-height: 1;\n padding: 0 5px;\n}\n.room-platform-room .navi-chat__room-tab--active .navi-chat__unread-badge {\n background: rgba(255, 255, 255, 0.18);\n color: #ffffff;\n}\n.room-platform-room .navi-chat__messages {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n min-height: 0;\n overflow-y: auto;\n padding: 14px;\n background: #fbfdff;\n}\n.room-platform-room .navi-chat__messages-stack {\n display: flex;\n flex-direction: column;\n gap: 10px;\n margin-top: auto;\n}\n.room-platform-room .navi-chat__empty {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 0;\n padding: 24px;\n background: #fbfdff;\n color: #64748b;\n text-align: center;\n}\n.room-platform-room .navi-chat__empty strong {\n margin-top: 8px;\n color: #334155;\n font-size: 14px;\n}\n.room-platform-room .navi-chat__empty span {\n margin-top: 4px;\n font-size: 13px;\n}\n.room-platform-room .navi-chat__empty-icon {\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 22px;\n line-height: 1;\n}\n.room-platform-room .navi-chat__message {\n display: flex;\n}\n.room-platform-room .navi-chat__message-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.room-platform-room .navi-chat__loading-older {\n align-self: center;\n color: #64748b;\n font-size: 12px;\n font-weight: 600;\n padding: 4px 0;\n}\n.room-platform-room .navi-chat__message--own {\n justify-content: flex-end;\n}\n.room-platform-room .navi-chat__message-row {\n position: relative;\n display: flex;\n align-items: flex-end;\n gap: 6px;\n min-width: 0;\n max-width: min(82%, 560px);\n}\n.room-platform-room .navi-chat__message-row--own {\n flex-direction: row-reverse;\n}\n.room-platform-room .navi-chat__message-bubble {\n min-width: 0;\n max-width: 100%;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 10px;\n background: #ffffff;\n padding: 9px 11px;\n box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);\n}\n.room-platform-room .navi-chat__message--grouped .navi-chat__message-bubble {\n padding-top: 8px;\n}\n.room-platform-room .navi-chat__message--own .navi-chat__message-bubble {\n border-color: var(--navi-chat-own-message-border, #bfdbfe);\n background: var(--navi-chat-own-message-background, #eff6ff);\n}\n.room-platform-room .navi-chat__message--deleted .navi-chat__message-bubble {\n background: #f8fafc;\n color: #64748b;\n font-style: italic;\n}\n.room-platform-room .navi-chat__message-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n margin-bottom: 4px;\n}\n.room-platform-room .navi-chat__message-author {\n overflow: hidden;\n color: #334155;\n font-size: 12px;\n font-weight: 700;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.room-platform-room .navi-chat__message-time {\n color: #94a3b8;\n font-size: 11px;\n white-space: nowrap;\n}\n.room-platform-room .navi-chat__message-text {\n margin: 0;\n color: var(--navi-chat-color-text, #111827);\n font-size: 13px;\n line-height: 1.45;\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n.room-platform-room .navi-chat__message-action {\n margin-top: 8px;\n border: 0;\n background: transparent;\n color: var(--navi-chat-color-primary, #2563eb);\n cursor: pointer;\n font-size: 12px;\n font-weight: 600;\n padding: 0;\n}\n.room-platform-room .navi-chat__message-menu {\n position: absolute;\n right: -30px;\n bottom: 2px;\n z-index: 3;\n display: inline-flex;\n flex: 0 0 auto;\n opacity: 0;\n pointer-events: none;\n transition: opacity 120ms ease, transform 120ms ease;\n transform: translateY(2px);\n vertical-align: middle;\n}\n.room-platform-room .navi-chat__message-row--own .navi-chat__message-menu {\n right: auto;\n left: -30px;\n}\n.room-platform-room .navi-chat__message:hover .navi-chat__message-menu, .room-platform-room .navi-chat__message:focus-within .navi-chat__message-menu, .room-platform-room .navi-chat__message-menu--open {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n}\n.room-platform-room .navi-chat__message-menu-trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 999px;\n background: #ffffff;\n color: #64748b;\n cursor: pointer;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n padding: 0;\n box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);\n}\n.room-platform-room .navi-chat__message-menu-trigger:hover, .room-platform-room .navi-chat__message-menu-trigger:focus-visible {\n border-color: #bfdbfe;\n background: #eff6ff;\n color: var(--navi-chat-color-primary, #2563eb);\n}\n.room-platform-room .navi-chat__message-menu-popover {\n position: absolute;\n right: 0;\n bottom: 32px;\n z-index: 2;\n display: flex;\n min-width: 82px;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 8px;\n background: #ffffff;\n box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);\n}\n.room-platform-room .navi-chat__message-row--own .navi-chat__message-menu-popover {\n right: auto;\n left: 0;\n}\n.room-platform-room .navi-chat__message-menu-item {\n border: 0;\n background: transparent;\n color: var(--navi-chat-color-text, #111827);\n cursor: pointer;\n font-size: 12px;\n font-weight: 600;\n line-height: 1;\n padding: 8px 10px;\n text-align: left;\n}\n.room-platform-room .navi-chat__message-menu-item:hover, .room-platform-room .navi-chat__message-menu-item:focus-visible {\n background: #f1f5f9;\n color: var(--navi-chat-color-primary, #2563eb);\n}\n.room-platform-room .navi-chat__message-edit {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.room-platform-room .navi-chat__message-edit-input {\n box-sizing: border-box;\n width: min(280px, 100%);\n min-height: 64px;\n resize: vertical;\n border: 1px solid #cbd5e1;\n border-radius: 8px;\n background: #ffffff;\n color: var(--navi-chat-color-text, #111827);\n font-size: 13px;\n line-height: 1.4;\n padding: 8px 9px;\n}\n.room-platform-room .navi-chat__message-edit-actions {\n display: flex;\n justify-content: flex-end;\n gap: 6px;\n}\n.room-platform-room .navi-chat__message-edit-button {\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 7px;\n background: #ffffff;\n color: #334155;\n cursor: pointer;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n padding: 7px 9px;\n}\n.room-platform-room .navi-chat__message-edit-button--primary {\n border-color: var(--navi-chat-color-primary, #2563eb);\n background: var(--navi-chat-color-primary, #2563eb);\n color: #ffffff;\n}\n.room-platform-room .navi-chat__latest-overlay {\n position: sticky;\n bottom: 8px;\n align-self: stretch;\n box-sizing: border-box;\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n gap: 8px;\n margin-top: 8px;\n pointer-events: none;\n}\n.room-platform-room .navi-chat__new-message-notice {\n grid-column: 2;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 999px;\n background: #ffffff;\n color: var(--navi-chat-color-primary, #2563eb);\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n padding: 8px 12px;\n box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);\n}\n.room-platform-room .navi-chat__scroll-latest {\n grid-column: 3;\n justify-self: end;\n box-sizing: border-box;\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n height: 34px;\n margin-right: 4px;\n border: 1px solid var(--navi-chat-color-border, #d8e0ea);\n border-radius: 50%;\n background: #ffffff;\n color: var(--navi-chat-color-primary, #2563eb);\n cursor: pointer;\n padding: 0;\n pointer-events: auto;\n box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);\n}\n.room-platform-room .navi-chat__scroll-latest-icon {\n width: 18px;\n height: 18px;\n fill: currentColor;\n}\n.room-platform-room .navi-chat__composer {\n display: flex;\n flex: 0 0 auto;\n align-items: flex-end;\n gap: 8px;\n padding: 10px;\n border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);\n background: #ffffff;\n}\n.room-platform-room .navi-chat__composer-main {\n display: flex;\n flex: 1 1 auto;\n min-width: 0;\n flex-direction: column;\n gap: 4px;\n}\n.room-platform-room .navi-chat__composer-input {\n flex: 1 1 auto;\n min-width: 0;\n min-height: 38px;\n max-height: 84px;\n resize: vertical;\n border: 1px solid #cbd5e1;\n border-radius: 8px;\n color: var(--navi-chat-color-text, #111827);\n font: inherit;\n font-size: 13px;\n line-height: 1.4;\n padding: 9px 10px;\n}\n.room-platform-room .navi-chat__composer-tip {\n margin: 0;\n color: #64748b;\n font-size: 11px;\n line-height: 1.3;\n}\n.room-platform-room .navi-chat__send-button {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n align-self: center;\n width: 44px;\n height: 44px;\n border: 0;\n border-radius: 999px;\n background: var(--navi-chat-color-primary, #2563eb);\n color: #ffffff;\n cursor: pointer;\n padding: 0;\n}\n.room-platform-room .navi-chat__send-button:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n.room-platform-room .navi-chat__send-icon {\n width: 18px;\n height: 18px;\n fill: currentColor;\n}\n.room-platform-room .navi-chat__readonly {\n flex: 0 0 auto;\n border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);\n background: #f8fafc;\n color: #64748b;\n font-size: 13px;\n padding: 12px 14px;\n}\n.room-platform-room .navi-chat__status {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n}\n.room-platform-room .navi-chat__status-dot {\n width: 9px;\n height: 9px;\n border-radius: 999px;\n background: #94a3b8;\n}\n.room-platform-room .navi-chat__status--connected .navi-chat__status-dot {\n background: #16a34a;\n}\n.room-platform-room .navi-chat__status--muted .navi-chat__status-dot {\n background: #94a3b8;\n}\n.room-platform-room .navi-chat__status--error .navi-chat__status-dot {\n background: #dc2626;\n}\n.room-platform-room .whiteboard-react-canvas {\n position: relative;\n width: 100%;\n height: 100%;\n}\n.room-platform-room .whiteboard-react-canvas__scene {\n position: relative;\n height: 100%;\n min-height: 100%;\n}\n.room-platform-room .whiteboard-react-canvas__layer {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n}\n.room-platform-room .whiteboard-react-canvas__layer--scene {\n z-index: 10;\n pointer-events: none;\n}\n.room-platform-room .whiteboard-react-canvas__layer--interaction {\n z-index: 11;\n touch-action: none;\n user-select: none;\n -webkit-user-select: none;\n}\n.room-platform-room .whiteboard-react-trigger, .room-platform-room .whiteboard-react-toolbar, .room-platform-room .whiteboard-react-toolbar__popover {\n --whiteboard-overlay-bg: rgb(255 255 255 / 0.94);\n --whiteboard-overlay-border: rgb(148 163 184 / 0.32);\n --whiteboard-overlay-shadow: 0 18px 40px rgb(15 23 42 / 0.24);\n --whiteboard-overlay-text: #0f172a;\n --whiteboard-overlay-muted: #475569;\n --whiteboard-overlay-accent: #0f766e;\n --whiteboard-overlay-accent-soft: rgb(15 118 110 / 0.12);\n --whiteboard-overlay-danger: #dc2626;\n position: fixed;\n border: 1px solid var(--whiteboard-overlay-border);\n border-radius: 1.125rem;\n background: var(--whiteboard-overlay-bg);\n color: var(--whiteboard-overlay-text);\n box-shadow: var(--whiteboard-overlay-shadow);\n backdrop-filter: blur(16px);\n}\n.room-platform-room .whiteboard-react-trigger {\n z-index: 60;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n padding: 0;\n border: 0;\n border-radius: 999px;\n background: #252627;\n color: #00ff9d;\n cursor: pointer;\n transition: background 140ms ease, color 140ms ease;\n}\n.room-platform-room .whiteboard-react-trigger:hover {\n background: #00ff9d;\n color: #000;\n}\n.room-platform-room .whiteboard-react-toolbar__tooltip-trigger {\n display: inline-flex;\n}\n.room-platform-room .whiteboard-react-trigger:focus-visible, .room-platform-room .whiteboard-react-toolbar__button:focus-visible, .room-platform-room .whiteboard-react-toolbar__drag-handle:focus-visible, .room-platform-room .whiteboard-react-toolbar__option-chip:focus-visible, .room-platform-room .whiteboard-react-toolbar__width-chip:focus-visible, .room-platform-room .whiteboard-react-color-popover__swatch:focus-visible, .room-platform-room .whiteboard-react-toolbar__status-action:focus-visible {\n outline: 2px solid rgb(15 118 110 / 0.45);\n outline-offset: 2px;\n}\n.room-platform-room .whiteboard-react-trigger__icon {\n width: 1.5rem;\n height: 1.5rem;\n flex: none;\n}\n.room-platform-room .whiteboard-react-toolbar__icon {\n width: 1.35rem;\n height: 1.35rem;\n flex: none;\n}\n.room-platform-room .whiteboard-react-toolbar__icon.ColorSvg {\n width: 2rem;\n}\n.room-platform-room .whiteboard-react-trigger__label {\n white-space: nowrap;\n}\n.room-platform-room .whiteboard-react-trigger__status-dot, .room-platform-room .whiteboard-react-toolbar__status-dot {\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 999px;\n background: var(--whiteboard-overlay-accent);\n box-shadow: 0 0 0 4px rgb(15 118 110 / 0.14);\n flex: none;\n}\n.room-platform-room .whiteboard-react-trigger[data-runtime-state='failed'] .whiteboard-react-trigger__status-dot {\n background: var(--whiteboard-overlay-danger);\n box-shadow: 0 0 0 4px rgb(220 38 38 / 0.12);\n}\n.room-platform-room .whiteboard-react-toolbar {\n z-index: 61;\n border: 0.15rem solid rgb(226 232 240 / 0.72);\n border-radius: 0.5rem;\n background: #292a2c;\n color: #f8fafc;\n box-shadow: 0 12px 28px rgb(15 23 42 / 0.3);\n transition: transform 140ms ease, box-shadow 140ms ease;\n transform-origin: center;\n animation: whiteboard-toolbar-orientation-vertical 180ms ease-in-out;\n}\n@keyframes whiteboard-toolbar-orientation-vertical {\n from {\n transform: scaleX(1.2);\n }\n to {\n transform: scale(1);\n }\n}\n@keyframes whiteboard-toolbar-orientation-horizontal {\n from {\n transform: scaleX(1.2);\n }\n to {\n transform: scale(1);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .room-platform-room .whiteboard-react-toolbar {\n animation: none;\n transition: none;\n }\n}\n.room-platform-room .whiteboard-react-toolbar__chrome {\n display: flex;\n flex-direction: column;\n gap: 0.3rem;\n padding: 0.4rem;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__chrome {\n flex-direction: row;\n align-items: center;\n box-sizing: border-box;\n padding: 0.4rem;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] {\n animation-name: whiteboard-toolbar-orientation-horizontal;\n}\n.room-platform-room .whiteboard-react-toolbar__drag-handle {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-top: 0.75rem;\n width: 2rem;\n height: 2rem;\n border-radius: 0.65rem;\n background: transparent;\n color: rgb(226 232 240 / 0.84);\n cursor: grab;\n transition: color 120ms ease, border-color 120ms ease;\n}\n.room-platform-room .whiteboard-react-toolbar__drag-handle::before {\n position: absolute;\n top: -0.5rem;\n right: 0;\n left: 0;\n height: 1px;\n content: '';\n background: rgb(226 232 240 / 0.45);\n}\n.room-platform-room .whiteboard-react-toolbar__drag-handle:hover {\n color: #fff;\n background: rgb(255 255 255 / 0.1);\n}\n.room-platform-room .whiteboard-react-toolbar__drag-handle:active {\n cursor: grabbing;\n}\n.room-platform-room .whiteboard-react-toolbar__status {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n max-width: 16rem;\n padding: 0.625rem 0.75rem;\n border-radius: 0.875rem;\n background: rgb(248 250 252 / 0.96);\n color: var(--whiteboard-overlay-muted);\n font-size: 0.8125rem;\n font-weight: 500;\n}\n.room-platform-room .whiteboard-react-toolbar__status[data-state='failed'] {\n color: var(--whiteboard-overlay-danger);\n background: rgb(254 242 242 / 0.96);\n}\n.room-platform-room .whiteboard-react-toolbar__status[data-state='busy'] {\n color: var(--whiteboard-overlay-accent);\n background: rgb(240 253 250 / 0.96);\n}\n.room-platform-room .whiteboard-react-toolbar__status-action {\n margin-left: 0.25rem;\n border: 0;\n background: transparent;\n color: inherit;\n font-weight: 700;\n text-decoration: underline;\n}\n.room-platform-room .whiteboard-react-toolbar__rail {\n display: flex;\n gap: 0.5rem;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='vertical'] .whiteboard-react-toolbar__rail {\n flex-direction: column;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__rail {\n flex-direction: row;\n align-items: center;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__drag-handle::before {\n top: 0;\n right: auto;\n bottom: 0;\n left: -0.15rem;\n width: 1px;\n height: auto;\n}\n.room-platform-room .whiteboard-react-toolbar__button {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border: 0;\n border-radius: 0.65rem;\n margin-top: 0.75rem;\n background: transparent;\n color: #f8fafc;\n transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, color 120ms ease;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__button, .room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__drag-handle {\n margin-top: 0;\n margin-bottom: 0;\n margin-left: 0.75rem;\n}\n.room-platform-room .whiteboard-react-toolbar__button:hover:not(:disabled) {\n cursor: pointer;\n background: rgb(255 255 255 / 0.1);\n}\n.room-platform-room .whiteboard-react-toolbar__button[data-active='true'] {\n background: #0878f7;\n color: #fff;\n}\n.room-platform-room .whiteboard-react-toolbar__button[data-active='true']:hover:not(:disabled) {\n background: #0878f7;\n}\n.room-platform-room .whiteboard-react-toolbar__button[aria-label='Color'] .whiteboard-react-toolbar__icon {\n display: none;\n}\n.room-platform-room .whiteboard-react-toolbar__button[aria-label='Color'] .whiteboard-react-toolbar__button-swatch {\n position: static;\n width: 1.5rem;\n height: 1.5rem;\n border: 0;\n}\n.room-platform-room .whiteboard-react-toolbar__button[aria-label='Close whiteboard tools'] {\n margin-bottom: 0.75rem;\n background: #ef1111;\n color: #fff;\n}\n.room-platform-room .whiteboard-react-toolbar__button[aria-label='Close whiteboard tools']:hover:not(:disabled) {\n background: #dc0d0d;\n}\n.room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] span:last-child .whiteboard-react-toolbar__button {\n margin-bottom: 0;\n margin-right: 0.75rem;\n}\n.room-platform-room .whiteboard-react-toolbar__button:disabled, .room-platform-room .whiteboard-react-toolbar__option-chip:disabled, .room-platform-room .whiteboard-react-toolbar__width-chip:disabled, .room-platform-room .whiteboard-react-color-popover__swatch:disabled {\n cursor: not-allowed;\n opacity: 0.46;\n}\n.room-platform-room .whiteboard-react-toolbar__button-swatch {\n position: absolute;\n right: 0.34rem;\n bottom: 0.34rem;\n width: 0.6rem;\n height: 0.6rem;\n border: 1px solid rgb(255 255 255 / 0.8);\n border-radius: 999px;\n background: var(--whiteboard-color);\n box-shadow: 0 0 0 1px rgb(15 23 42 / 0.12);\n}\n.room-platform-room .whiteboard-react-toolbar__popover {\n z-index: 62;\n padding: 0.65rem;\n border: 0.15rem solid rgb(226 232 240 / 0.72);\n border-radius: 0.5rem;\n background: #292a2c;\n color: #f8fafc;\n box-shadow: 0 12px 28px rgb(15 23 42 / 0.3);\n}\n.room-platform-room .whiteboard-react-draw-popover {\n max-width: 15.5rem;\n}\n.room-platform-room .whiteboard-react-color-popover {\n width: 12.5rem;\n}\n.room-platform-room .whiteboard-react-toolbar__popover-section {\n display: flex;\n flex-direction: column;\n gap: 0.35rem;\n}\n.room-platform-room .whiteboard-react-toolbar__popover-section + .whiteboard-react-toolbar__popover-section {\n margin-top: 0.55rem;\n}\n.room-platform-room .whiteboard-react-toolbar__popover-label {\n margin: 0;\n font-size: 0.75rem;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: rgb(226 232 240 / 0.82);\n}\n.room-platform-room .whiteboard-react-toolbar__option-grid, .room-platform-room .whiteboard-react-toolbar__width-grid {\n display: grid;\n gap: 0.35rem;\n}\n.room-platform-room .whiteboard-react-toolbar__option-grid {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.room-platform-room .whiteboard-react-toolbar__option-grid--shapes {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.room-platform-room .whiteboard-react-toolbar__option-chip, .room-platform-room .whiteboard-react-toolbar__width-chip {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2.25rem;\n height: 2.25rem;\n border: 1px solid transparent;\n border-radius: 0.65rem;\n background: transparent;\n color: #f8fafc;\n font-size: 0.75rem;\n font-weight: 600;\n line-height: 1;\n padding: 0;\n cursor: pointer;\n}\n.room-platform-room .whiteboard-react-toolbar__option-chip[data-active='true'], .room-platform-room .whiteboard-react-toolbar__width-chip[data-active='true'] {\n border-color: transparent;\n background: #0878f7;\n color: #fff;\n}\n.room-platform-room .whiteboard-react-toolbar__option-chip:hover:not(:disabled):not([data-active='true']), .room-platform-room .whiteboard-react-toolbar__width-chip:hover:not(:disabled):not([data-active='true']) {\n color: #fff;\n}\n.room-platform-room .whiteboard-react-toolbar__width-grid {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.room-platform-room .whiteboard-react-toolbar__option-icon {\n flex: none;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample {\n display: inline-flex;\n width: 1.35rem;\n height: 1.35rem;\n border-radius: 999px;\n background: currentColor;\n flex: none;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample[data-width='xs'] {\n width: 0.3rem;\n height: 0.3rem;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample[data-width='sm'] {\n width: 0.45rem;\n height: 0.45rem;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample[data-width='md'] {\n width: 0.65rem;\n height: 0.65rem;\n}\n.room-platform-room .whiteboard-react-toolbar__width-sample[data-width='lg'] {\n width: 0.9rem;\n height: 0.9rem;\n}\n.room-platform-room .whiteboard-react-color-popover__grid {\n display: grid;\n grid-template-columns: repeat(5, minmax(0, 1fr));\n gap: 0.5rem;\n}\n.room-platform-room .whiteboard-react-color-popover__swatch {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: 1px solid rgb(148 163 184 / 0.28);\n border-radius: 999px;\n background: rgb(255 255 255 / 0.9);\n cursor: pointer;\n}\n.room-platform-room .whiteboard-react-color-popover__swatch-fill {\n width: 1.35rem;\n height: 1.35rem;\n border-radius: 999px;\n background: var(--whiteboard-color);\n box-shadow: inset 0 0 0 1px rgb(15 23 42 / 0.08);\n}\n.room-platform-room .whiteboard-react-color-popover__swatch[data-active='true'] {\n border-color: rgb(15 118 110 / 0.45);\n box-shadow: 0 0 0 4px rgb(15 118 110 / 0.12);\n}\n.room-platform-room .whiteboard-react-color-popover__swatch[data-light='true'] .whiteboard-react-color-popover__swatch-fill {\n box-shadow: inset 0 0 0 1px rgb(15 23 42 / 0.12), 0 0 0 1px rgb(226 232 240 / 0.8);\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity,1);\n transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));\n filter: blur(var(--tw-enter-blur,0));\n }\n}\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity,1);\n transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));\n filter: blur(var(--tw-exit-blur,0));\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n .room-platform-room *, .room-platform-room ::before, .room-platform-room ::after, .room-platform-room ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: \"\";\n --tw-animation-delay: 0s;\n --tw-animation-direction: normal;\n --tw-animation-duration: initial;\n --tw-animation-fill-mode: none;\n --tw-animation-iteration-count: 1;\n --tw-enter-blur: 0;\n --tw-enter-opacity: 1;\n --tw-enter-rotate: 0;\n --tw-enter-scale: 1;\n --tw-enter-translate-x: 0;\n --tw-enter-translate-y: 0;\n --tw-exit-blur: 0;\n --tw-exit-opacity: 1;\n --tw-exit-rotate: 0;\n --tw-exit-scale: 1;\n --tw-exit-translate-x: 0;\n --tw-exit-translate-y: 0;\n }\n }\n}\n/* @naviedu/room-platform-react bundled tailwind utilities */\n.room-platform-host {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n}\n\n:host(.room-platform-host) {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n}\n\n[data-room-platform-app-root] {\n box-sizing: border-box;\n display: block;\n height: 100%;\n min-height: 0;\n min-width: 0;\n}\n\n.room-platform-room {\n --room-platform-navy: #242f62;\n --room-platform-orange: #eb6619;\n --room-platform-border: #dbe3ef;\n --room-platform-surface: #ffffff;\n --room-platform-muted: #f8fafc;\n background: var(--room-platform-muted);\n color: #172033;\n display: flex;\n flex-direction: column;\n min-width: 0;\n overflow: hidden;\n width: 100%;\n}\n\n.room-platform-room[data-sizing='viewport'] {\n height: 100dvh;\n min-height: 100dvh;\n}\n\n.room-platform-room[data-sizing='container'] {\n height: 100%;\n min-height: 0;\n width: 100%;\n}\n\n.room-platform-room.room-platform-portal-root {\n background: transparent;\n display: block;\n height: auto;\n min-height: 0;\n overflow: visible;\n width: auto;\n}\n\n.room-platform-surface {\n box-sizing: border-box;\n}\n\n.room-platform-panel {\n background: var(--room-platform-surface);\n border: 1px solid var(--room-platform-border);\n border-radius: 8px;\n}\n\n.room-platform-button {\n align-items: center;\n border: 1px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n display: inline-flex;\n font: inherit;\n gap: 0.375rem;\n justify-content: center;\n min-height: 2rem;\n padding: 0.375rem 0.75rem;\n}\n\n.room-platform-button:focus-visible,\n.room-platform-tab:focus-visible {\n outline: 3px solid color-mix(in srgb, var(--room-platform-orange), transparent 65%);\n outline-offset: 2px;\n}\n\n.room-platform-button:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.room-platform-button--default {\n background: var(--room-platform-navy);\n color: #fff;\n}\n\n.room-platform-button--quiet {\n background: #edf2f7;\n color: var(--room-platform-navy);\n}\n\n.room-platform-button--danger {\n background: #fff1f2;\n color: #b42318;\n}\n\n.room-platform-shell {\n background: #020617;\n color: #fff;\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n}\n\n.room-platform-shell-top-bar--hidden {\n display: none;\n}\n\n.room-platform-shell-body {\n display: grid;\n flex: 1;\n grid-template-columns: minmax(0, 1fr);\n min-height: 0;\n position: relative;\n}\n\n.room-platform-shell-body--sidebar {\n grid-template-columns: minmax(0, 1fr) minmax(16.25rem, 18.75rem);\n}\n\n.room-platform-shell-main {\n display: flex;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n}\n\n.room-platform-shell-sidebar {\n display: flex;\n min-height: 0;\n position: relative;\n width: 100%;\n}\n\n.room-platform-shell-sidebar-content {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n\n.room-platform-shell-sidebar-open,\n.room-platform-shell-sidebar-close {\n position: absolute;\n z-index: 40;\n}\n\n.room-platform-shell-sidebar-open {\n right: 1rem;\n top: 1rem;\n}\n\n.room-platform-shell-sidebar-close {\n left: 0;\n top: 0.75rem;\n transform: translateX(-100%);\n}\n\n.room-platform-top-bar {\n align-items: center;\n background: #0f172a;\n border-bottom: 1px solid rgb(255 255 255 / 10%);\n color: #fff;\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n justify-content: space-between;\n min-height: 4.5rem;\n padding: 0.75rem 1rem;\n}\n\n.room-platform-top-bar h1,\n.room-platform-top-bar p {\n margin: 0;\n}\n\n.room-platform-top-bar h1 {\n color: #fff;\n font-size: 1.125rem;\n}\n\n.room-platform-eyebrow {\n color: #cbd5e1;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.room-platform-top-bar-heading,\n.room-platform-top-bar-trailing {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n\n.room-platform-top-bar-trailing {\n justify-content: flex-end;\n}\n\n.room-platform-media-controls {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n}\n\n.room-platform-media-controls .room-platform-button {\n font-size: 0.8125rem;\n}\n\n.room-platform-status {\n border-radius: 999px;\n font-size: 0.8rem;\n font-weight: 600;\n padding: 0.25rem 0.625rem;\n}\n\n.room-platform-status[data-status='connected'] {\n background: #dcfae6;\n color: #166534;\n}\n\n.room-platform-status[data-status='error'] {\n background: #fee2e2;\n color: #b42318;\n}\n\n.room-platform-status[data-status='connecting'],\n.room-platform-status[data-status='reconnecting'] {\n background: #fff3d6;\n color: #9a4f00;\n}\n\n.room-platform-main {\n display: flex;\n flex: 1;\n gap: 1rem;\n min-height: 0;\n min-width: 0;\n padding: 1rem;\n position: relative;\n}\n\n.room-platform-stage-area {\n flex: 1;\n min-height: 26rem;\n min-width: 0;\n position: relative;\n}\n\n.room-platform-stage {\n align-items: center;\n background: linear-gradient(135deg, #1e2a5b, #3c4b89);\n color: #fff;\n display: flex;\n height: 100%;\n justify-content: center;\n overflow: hidden;\n padding: 1rem;\n position: relative;\n}\n\n.room-platform-stage-title {\n font-size: 1.125rem;\n font-weight: 700;\n}\n\n.room-platform-workspace-overlay {\n align-items: center;\n display: flex;\n height: 100%;\n justify-content: center;\n overflow: auto;\n width: 100%;\n}\n\n.room-platform-workspace-alongside {\n min-width: 18rem;\n width: 35%;\n}\n\n.room-platform-sidebar {\n background: var(--room-platform-surface);\n border: 1px solid var(--room-platform-border);\n border-radius: 8px;\n min-width: 0;\n overflow: hidden;\n width: 100%;\n}\n\n.room-platform-control-anchor {\n align-items: stretch;\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n}\n\n.room-platform-control-bar {\n bottom: 0;\n display: flex;\n justify-content: center;\n left: 0;\n margin: auto;\n padding: 0 0.75rem 0.75rem;\n position: absolute;\n right: 0;\n transition: transform 200ms ease;\n width: fit-content;\n z-index: 40;\n}\n\n.room-platform-control-bar--hidden {\n transform: translateY(calc(100% - 0.75rem));\n}\n\n.room-platform-control-reveal {\n bottom: 0.25rem;\n left: 50%;\n position: absolute;\n transform: translateX(-50%);\n z-index: 30;\n}\n\n.room-platform-side-media {\n display: grid;\n gap: 0.75rem;\n padding: 0.75rem;\n}\n\n.room-platform-video-tile {\n background: #0f172a;\n border-radius: 8px;\n color: #fff;\n min-height: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n\n.room-platform-video-tile--preview,\n.room-platform-video-tile--active-speaker {\n aspect-ratio: 16 / 9;\n}\n\n.room-platform-video-tile--stage,\n.room-platform-video-tile--overlay {\n height: 100%;\n}\n\n.room-platform-video-tile-media {\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n}\n\n.room-platform-video-tile--stage .room-platform-video-tile-media {\n object-fit: contain;\n}\n\n.room-platform-video-tile-media--mirrored {\n transform: scaleX(-1);\n}\n\n.room-platform-video-tile-label {\n background: rgb(15 23 42 / 75%);\n border-radius: 999px;\n bottom: 0.5rem;\n font-size: 0.75rem;\n font-weight: 700;\n left: 0.5rem;\n max-width: calc(100% - 1rem);\n overflow: hidden;\n padding: 0.25rem 0.5rem;\n position: absolute;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: 15;\n}\n\n.room-platform-video-tile-empty {\n align-items: center;\n display: flex;\n font-size: 0.8125rem;\n height: 100%;\n justify-content: center;\n margin: 0;\n min-height: 8rem;\n padding: 1rem;\n text-align: center;\n}\n\n.room-platform-tabs {\n border-bottom: 1px solid var(--room-platform-border);\n display: flex;\n gap: 0.25rem;\n overflow-x: auto;\n padding: 0.5rem;\n}\n\n.room-platform-tab {\n background: transparent;\n border: 0;\n border-radius: 6px;\n color: #475569;\n cursor: pointer;\n font: inherit;\n font-size: 0.875rem;\n padding: 0.4rem 0.6rem;\n white-space: nowrap;\n}\n\n.room-platform-tab[aria-selected='true'] {\n background: #e9edf9;\n color: var(--room-platform-navy);\n font-weight: 700;\n}\n\n.room-platform-tab-panel {\n padding: 0.75rem;\n}\n\n.room-platform-participant-list {\n display: grid;\n gap: 0.5rem;\n}\n\n.room-platform-participant-row {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n padding: 0.625rem;\n}\n\n.room-platform-participant-name,\n.room-platform-participant-subtitle {\n margin: 0;\n}\n\n.room-platform-participant-name {\n font-size: 0.875rem;\n font-weight: 700;\n}\n\n.room-platform-participant-subtitle {\n color: #64748b;\n font-size: 0.75rem;\n}\n\n.room-platform-participant-presence {\n color: #64748b;\n font-size: 0.75rem;\n font-weight: 500;\n margin: 0.25rem 0 0;\n}\n\n.room-platform-participant-presence[data-online='true'] {\n color: #16a34a;\n}\n\n.room-platform-participant-row-trailing,\n.room-platform-participant-actions {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n justify-content: flex-end;\n}\n\n.room-platform-participant-actions .room-platform-button {\n font-size: 0.75rem;\n min-height: 1.75rem;\n padding: 0.25rem 0.5rem;\n}\n\n.room-platform-action-error {\n color: #b42318;\n font-size: 0.8125rem;\n margin: 0.5rem 0 0;\n}\n\n.room-platform-error {\n color: #fca5a5;\n font-size: 0.8125rem;\n margin: 0.5rem 0 0;\n}\n\n.room-platform-empty {\n color: #64748b;\n font-size: 0.875rem;\n margin: 0;\n padding: 1rem 0;\n text-align: center;\n}\n\n.room-platform-whiteboard {\n height: 100%;\n width: 100%;\n}\n\n.room-platform-surface-error {\n align-items: center;\n background: rgb(15 23 42 / 88%);\n color: #fff;\n display: flex;\n height: 100%;\n justify-content: center;\n margin: 0;\n padding: 1rem;\n text-align: center;\n width: 100%;\n}\n\n.room-platform-start-audio {\n background: #242f62;\n border: 0;\n border-radius: 8px;\n color: #fff;\n cursor: pointer;\n left: 50%;\n padding: 0.625rem 1rem;\n position: fixed;\n top: 1rem;\n transform: translateX(-50%);\n z-index: 50;\n}\n\n.room-platform-start-audio:focus-visible {\n outline: 3px solid #eb6619;\n outline-offset: 2px;\n}\n\n.room-platform-stage-frame {\n align-items: center;\n background: #0f172a;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n max-height: 100%;\n max-width: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n\n.room-platform-stage-frame > video {\n display: block;\n height: 100%;\n object-fit: contain;\n width: 100%;\n}\n\n.room-platform-stage-content {\n inset: 0;\n position: absolute;\n z-index: 10;\n}\n\n.room-platform-stage-camera-overlay {\n aspect-ratio: 16 / 9;\n left: 1rem;\n max-width: 40%;\n overflow: hidden;\n position: absolute;\n top: 1rem;\n width: 12rem;\n z-index: 20;\n}\n\n.room-platform-stage-camera-overlay video {\n height: 100%;\n object-fit: cover;\n width: 100%;\n}\n\n.room-platform-stage-status {\n background: rgb(15 23 42 / 80%);\n border-radius: 999px;\n color: #dbeafe;\n left: 50%;\n margin: 0;\n padding: 0.375rem 0.75rem;\n position: absolute;\n top: 1.5rem;\n transform: translateX(-50%);\n z-index: 30;\n}\n\n@keyframes private-live-room-bell-ring {\n 0%,\n 52%,\n 100% {\n transform: rotate(0deg);\n }\n 6% {\n transform: rotate(14deg);\n }\n 12% {\n transform: rotate(-14deg);\n }\n 18% {\n transform: rotate(12deg);\n }\n 24% {\n transform: rotate(-10deg);\n }\n 30% {\n transform: rotate(8deg);\n }\n 38% {\n transform: rotate(-5deg);\n }\n 46% {\n transform: rotate(3deg);\n }\n}\n\n.private-live-room-ringing-bell {\n display: inline-flex;\n animation: private-live-room-bell-ring 2.2s ease-in-out infinite;\n transform-box: fill-box;\n transform-origin: 50% 0%;\n will-change: transform;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .private-live-room-ringing-bell {\n animation: none;\n }\n}\n\n@media (max-width: 900px) {\n .room-platform-stage-area {\n min-height: 20rem;\n }\n}\n\n@media (max-width: 767px) {\n .room-platform-shell-body {\n grid-template-columns: 1fr;\n grid-template-rows: minmax(15rem, 45dvh) minmax(0, 1fr);\n }\n\n .room-platform-shell-body > .room-platform-shell-main:only-child {\n grid-row: 1 / -1;\n }\n\n .room-platform-shell-sidebar {\n max-width: none;\n }\n\n .room-platform-top-bar {\n align-items: flex-start;\n flex-direction: column;\n gap: 0.75rem;\n }\n\n .room-platform-top-bar-heading,\n .room-platform-top-bar-trailing {\n justify-content: flex-start;\n width: 100%;\n }\n\n .room-platform-main {\n flex-direction: column;\n padding: 0.5rem;\n }\n\n .room-platform-workspace-alongside {\n min-width: 0;\n width: 100%;\n }\n}\n";
26433
+
26434
+ function _array_like_to_array$4(arr, len) {
26435
+ if (len == null || len > arr.length) len = arr.length;
26436
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
26437
+ return arr2;
26438
+ }
26439
+ function _array_with_holes$4(arr) {
26440
+ if (Array.isArray(arr)) return arr;
26441
+ }
26442
+ function _iterable_to_array_limit$4(arr, i) {
26443
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
26444
+ if (_i == null) return;
26445
+ var _arr = [];
26446
+ var _n = true;
26447
+ var _d = false;
26448
+ var _s, _e;
26449
+ try {
26450
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
26451
+ _arr.push(_s.value);
26452
+ if (i && _arr.length === i) break;
26453
+ }
26454
+ } catch (err) {
26455
+ _d = true;
26456
+ _e = err;
26457
+ } finally{
26458
+ try {
26459
+ if (!_n && _i["return"] != null) _i["return"]();
26460
+ } finally{
26461
+ if (_d) throw _e;
26462
+ }
26463
+ }
26464
+ return _arr;
26465
+ }
26466
+ function _non_iterable_rest$4() {
26467
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
26468
+ }
26469
+ function _sliced_to_array$4(arr, i) {
26470
+ return _array_with_holes$4(arr) || _iterable_to_array_limit$4(arr, i) || _unsupported_iterable_to_array$4(arr, i) || _non_iterable_rest$4();
26471
+ }
26472
+ function _unsupported_iterable_to_array$4(o, minLen) {
26473
+ if (!o) return;
26474
+ if (typeof o === "string") return _array_like_to_array$4(o, minLen);
26475
+ var n = Object.prototype.toString.call(o).slice(8, -1);
26476
+ if (n === "Object" && o.constructor) n = o.constructor.name;
26477
+ if (n === "Map" || n === "Set") return Array.from(n);
26478
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$4(o, minLen);
26479
+ }
26480
+ function RoomPlatformShadowHost(param) {
26481
+ var children = param.children;
26482
+ var hostRef = useRef(null);
26483
+ var _useState = _sliced_to_array$4(useState(null), 2), surface = _useState[0], setSurface = _useState[1];
26484
+ useLayoutEffect(function() {
26485
+ var _host_shadowRoot;
26486
+ var host = hostRef.current;
26487
+ if (!host) return;
26488
+ var shadowRoot = (_host_shadowRoot = host.shadowRoot) !== null && _host_shadowRoot !== void 0 ? _host_shadowRoot : host.attachShadow({
26489
+ mode: 'open'
26490
+ });
26491
+ var style = host.ownerDocument.createElement('style');
26492
+ var appRoot = host.ownerDocument.createElement('div');
26493
+ var portalRoot = host.ownerDocument.createElement('div');
26494
+ style.setAttribute('data-room-platform-style', '');
26495
+ style.textContent = roomPlatformGeneratedStyles;
26496
+ appRoot.setAttribute('data-room-platform-app-root', '');
26497
+ portalRoot.className = 'room-platform-room room-platform-portal-root';
26498
+ portalRoot.setAttribute('data-room-platform-portal-root', '');
26499
+ shadowRoot.append(style, appRoot, portalRoot);
26500
+ setSurface({
26501
+ appRoot: appRoot,
26502
+ portalRoot: portalRoot
26503
+ });
26504
+ return function() {
26505
+ setSurface(null);
26506
+ style.remove();
26507
+ appRoot.remove();
26508
+ portalRoot.remove();
26509
+ };
26510
+ }, []);
26511
+ return /*#__PURE__*/ jsx("div", {
26512
+ ref: hostRef,
26513
+ "data-room-platform-host": true,
26514
+ className: "room-platform-host",
26515
+ children: surface ? /*#__PURE__*/ createPortal(/*#__PURE__*/ jsx(PortalContainerProvider, {
26516
+ container: surface.portalRoot,
26517
+ children: children
26518
+ }), surface.appRoot) : null
26519
+ });
26520
+ }
26521
+
26343
26522
  function _array_like_to_array$3(arr, len) {
26344
26523
  if (len == null || len > arr.length) len = arr.length;
26345
26524
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -26703,6 +26882,7 @@ function RoomPlatformSpeakQueue(param) {
26703
26882
  var canShowApprove = canApproveSpeak && onApproveSpeakRequest;
26704
26883
  var canShowReject = canRejectSpeak && onRejectSpeakRequest;
26705
26884
  var _useState = _sliced_to_array$2(useState(null), 2), pendingSpeakAction = _useState[0], setPendingSpeakAction = _useState[1];
26885
+ var roomPlatformToast = useRoomPlatformToast();
26706
26886
  var runSpeakAction = function(participantIdentity, action) {
26707
26887
  return _async_to_generator$1(function() {
26708
26888
  var handler;
@@ -26737,7 +26917,7 @@ function RoomPlatformSpeakQueue(param) {
26737
26917
  ];
26738
26918
  case 3:
26739
26919
  _state.sent();
26740
- toast.error(action === 'approve' ? 'Không duyệt được học sinh phát biểu.' : 'Không từ chối được yêu cầu phát biểu.');
26920
+ roomPlatformToast.error(action === 'approve' ? 'Không duyệt được học sinh phát biểu.' : 'Không từ chối được yêu cầu phát biểu.');
26741
26921
  return [
26742
26922
  3,
26743
26923
  5
@@ -27554,10 +27734,13 @@ var RoomPlatformWorkspaceContent = function(param) {
27554
27734
  var participantTab = extensions === null || extensions === void 0 ? void 0 : extensions.participantTab;
27555
27735
  var monitor = extensions === null || extensions === void 0 ? void 0 : extensions.monitor;
27556
27736
  var canUseMonitor = hasCapability('monitor:manage');
27737
+ var roomPlatformToast = useRoomPlatformToast();
27557
27738
  var handleMonitorStartError = useCallback(function() {
27558
27739
  setStageView('teaching');
27559
- toast.error('Không thể bật Monitor. Vui lòng thử lại.');
27560
- }, []);
27740
+ roomPlatformToast.error('Không thể bật Monitor. Vui lòng thử lại.');
27741
+ }, [
27742
+ roomPlatformToast
27743
+ ]);
27561
27744
  useEffect(function() {
27562
27745
  if (!canUseMonitor) setStageView('teaching');
27563
27746
  }, [
@@ -27913,6 +28096,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
27913
28096
  privateRoomId: privateRoomState.privateRoom.id
27914
28097
  }));
27915
28098
  var pending = acceptPending || declinePending || privateRoomState.isAcceptingPrivateRoom;
28099
+ var roomPlatformToast = useRoomPlatformToast();
27916
28100
  var whiteboard = integrations === null || integrations === void 0 ? void 0 : integrations.whiteboard;
27917
28101
  var whiteboardAuth = (whiteboard === null || whiteboard === void 0 ? void 0 : whiteboard.joinState.available) ? whiteboard.joinState.auth : undefined;
27918
28102
  return /*#__PURE__*/ jsxs(Fragment, {
@@ -27945,7 +28129,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
27945
28129
  disabled: pending,
27946
28130
  onClick: function() {
27947
28131
  return void privateRoomState.declinePrivateRoom().catch(function() {
27948
- toast.error('Không thể từ chối phòng riêng. Vui lòng thử lại.');
28132
+ roomPlatformToast.error('Không thể từ chối phòng riêng. Vui lòng thử lại.');
27949
28133
  });
27950
28134
  },
27951
28135
  children: [
@@ -27984,7 +28168,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
27984
28168
  ];
27985
28169
  case 3:
27986
28170
  _state.sent();
27987
- toast.error('Không thể vào phòng riêng. Vui lòng thử lại.');
28171
+ roomPlatformToast.error('Không thể vào phòng riêng. Vui lòng thử lại.');
27988
28172
  return [
27989
28173
  3,
27990
28174
  5
@@ -28054,7 +28238,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
28054
28238
  ]
28055
28239
  });
28056
28240
  }
28057
- function RoomPlatformRoom(_0) {
28241
+ function RoomPlatformRuntime(_0) {
28058
28242
  var children = _0.children, extensions = _0.extensions, integrations = _0.integrations, isPracticeMode = _0.isPracticeMode, onExit = _0.onExit, _0_sizing = _0.sizing, sizing = _0_sizing === void 0 ? 'viewport' : _0_sizing, providerProps = _object_without_properties(_0, [
28059
28243
  "children",
28060
28244
  "extensions",
@@ -28083,6 +28267,13 @@ function RoomPlatformRoom(_0) {
28083
28267
  ]
28084
28268
  }));
28085
28269
  }
28270
+ function RoomPlatformRoom(props) {
28271
+ return /*#__PURE__*/ jsx(RoomPlatformShadowHost, {
28272
+ children: /*#__PURE__*/ jsx(RoomPlatformToastProvider, {
28273
+ children: /*#__PURE__*/ jsx(RoomPlatformRuntime, _object_spread({}, props))
28274
+ })
28275
+ });
28276
+ }
28086
28277
 
28087
28278
  function RoomPlatformVideoTracks(param) {
28088
28279
  var _param_status = param.status, status = _param_status === void 0 ? 'connected' : _param_status;