@naviedu/room-platform-react 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/styles.css +2117 -1071
package/styles.css CHANGED
@@ -53,6 +53,107 @@
53
53
  --aspect-video: 16 / 9;
54
54
  --default-transition-duration: 150ms;
55
55
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
56
+ --color-background: #ffffff;
57
+ --color-foreground: oklch(0.145 0 0);
58
+ --color-popover: #ffffff;
59
+ --color-popover-foreground: oklch(0.145 0 0);
60
+ --color-primary: #242f62;
61
+ --color-primary-foreground: #ffffff;
62
+ --color-secondary: #eb6619;
63
+ --color-secondary-foreground: #ffffff;
64
+ --color-muted: oklch(0.97 0 0);
65
+ --color-muted-foreground: oklch(0.556 0 0);
66
+ --color-accent: oklch(0.97 0 0);
67
+ --color-accent-foreground: oklch(0.205 0 0);
68
+ --color-destructive: oklch(0.577 0.245 27.325);
69
+ --color-border: oklch(0.922 0 0);
70
+ --color-input: oklch(0.922 0 0);
71
+ --color-ring: #9dc2f3;
72
+ --color-liveclass-orange: #eb6619;
73
+ }
74
+ @property --tw-animation-delay {
75
+ syntax: "*";
76
+ inherits: false;
77
+ initial-value: 0s;
78
+ }
79
+ @property --tw-animation-direction {
80
+ syntax: "*";
81
+ inherits: false;
82
+ initial-value: normal;
83
+ }
84
+ @property --tw-animation-duration {
85
+ syntax: "*";
86
+ inherits: false;
87
+ }
88
+ @property --tw-animation-fill-mode {
89
+ syntax: "*";
90
+ inherits: false;
91
+ initial-value: none;
92
+ }
93
+ @property --tw-animation-iteration-count {
94
+ syntax: "*";
95
+ inherits: false;
96
+ initial-value: 1;
97
+ }
98
+ @property --tw-enter-blur {
99
+ syntax: "*";
100
+ inherits: false;
101
+ initial-value: 0;
102
+ }
103
+ @property --tw-enter-opacity {
104
+ syntax: "*";
105
+ inherits: false;
106
+ initial-value: 1;
107
+ }
108
+ @property --tw-enter-rotate {
109
+ syntax: "*";
110
+ inherits: false;
111
+ initial-value: 0;
112
+ }
113
+ @property --tw-enter-scale {
114
+ syntax: "*";
115
+ inherits: false;
116
+ initial-value: 1;
117
+ }
118
+ @property --tw-enter-translate-x {
119
+ syntax: "*";
120
+ inherits: false;
121
+ initial-value: 0;
122
+ }
123
+ @property --tw-enter-translate-y {
124
+ syntax: "*";
125
+ inherits: false;
126
+ initial-value: 0;
127
+ }
128
+ @property --tw-exit-blur {
129
+ syntax: "*";
130
+ inherits: false;
131
+ initial-value: 0;
132
+ }
133
+ @property --tw-exit-opacity {
134
+ syntax: "*";
135
+ inherits: false;
136
+ initial-value: 1;
137
+ }
138
+ @property --tw-exit-rotate {
139
+ syntax: "*";
140
+ inherits: false;
141
+ initial-value: 0;
142
+ }
143
+ @property --tw-exit-scale {
144
+ syntax: "*";
145
+ inherits: false;
146
+ initial-value: 1;
147
+ }
148
+ @property --tw-exit-translate-x {
149
+ syntax: "*";
150
+ inherits: false;
151
+ initial-value: 0;
152
+ }
153
+ @property --tw-exit-translate-y {
154
+ syntax: "*";
155
+ inherits: false;
156
+ initial-value: 0;
56
157
  }
57
158
  .room-platform-room .pointer-events-none {
58
159
  pointer-events: none;
@@ -442,6 +543,9 @@
442
543
  .room-platform-room .transform {
443
544
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
444
545
  }
546
+ .room-platform-room .animate-in {
547
+ 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);
548
+ }
445
549
  .room-platform-room .animate-spin {
446
550
  animation: var(--animate-spin);
447
551
  }
@@ -611,9 +715,30 @@
611
715
  .room-platform-room .border-amber-200 {
612
716
  border-color: var(--color-amber-200);
613
717
  }
718
+ .room-platform-room .border-border {
719
+ border-color: var(--color-border);
720
+ }
614
721
  .room-platform-room .border-emerald-200 {
615
722
  border-color: var(--color-emerald-200);
616
723
  }
724
+ .room-platform-room .border-input {
725
+ border-color: var(--color-input);
726
+ }
727
+ .room-platform-room .border-liveclass-orange {
728
+ border-color: var(--color-liveclass-orange);
729
+ }
730
+ .room-platform-room .border-liveclass-orange\/30 {
731
+ border-color: color-mix(in srgb, #eb6619 30%, transparent);
732
+ @supports (color: color-mix(in lab, red, red)) {
733
+ border-color: color-mix(in oklab, var(--color-liveclass-orange) 30%, transparent);
734
+ }
735
+ }
736
+ .room-platform-room .border-primary\/10 {
737
+ border-color: color-mix(in srgb, #242f62 10%, transparent);
738
+ @supports (color: color-mix(in lab, red, red)) {
739
+ border-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
740
+ }
741
+ }
617
742
  .room-platform-room .border-red-300\/40 {
618
743
  border-color: color-mix(in srgb, oklch(80.8% 0.114 19.571) 40%, transparent);
619
744
  @supports (color: color-mix(in lab, red, red)) {
@@ -656,6 +781,9 @@
656
781
  .room-platform-room .bg-amber-50 {
657
782
  background-color: var(--color-amber-50);
658
783
  }
784
+ .room-platform-room .bg-background {
785
+ background-color: var(--color-background);
786
+ }
659
787
  .room-platform-room .bg-black {
660
788
  background-color: var(--color-black);
661
789
  }
@@ -671,9 +799,51 @@
671
799
  background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
672
800
  }
673
801
  }
802
+ .room-platform-room .bg-border {
803
+ background-color: var(--color-border);
804
+ }
805
+ .room-platform-room .bg-destructive\/10 {
806
+ background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 10%, transparent);
807
+ @supports (color: color-mix(in lab, red, red)) {
808
+ background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent);
809
+ }
810
+ }
674
811
  .room-platform-room .bg-emerald-50 {
675
812
  background-color: var(--color-emerald-50);
676
813
  }
814
+ .room-platform-room .bg-liveclass-orange {
815
+ background-color: var(--color-liveclass-orange);
816
+ }
817
+ .room-platform-room .bg-liveclass-orange\/10 {
818
+ background-color: color-mix(in srgb, #eb6619 10%, transparent);
819
+ @supports (color: color-mix(in lab, red, red)) {
820
+ background-color: color-mix(in oklab, var(--color-liveclass-orange) 10%, transparent);
821
+ }
822
+ }
823
+ .room-platform-room .bg-muted {
824
+ background-color: var(--color-muted);
825
+ }
826
+ .room-platform-room .bg-muted\/50 {
827
+ background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);
828
+ @supports (color: color-mix(in lab, red, red)) {
829
+ background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
830
+ }
831
+ }
832
+ .room-platform-room .bg-popover {
833
+ background-color: var(--color-popover);
834
+ }
835
+ .room-platform-room .bg-primary {
836
+ background-color: var(--color-primary);
837
+ }
838
+ .room-platform-room .bg-primary\/10 {
839
+ background-color: color-mix(in srgb, #242f62 10%, transparent);
840
+ @supports (color: color-mix(in lab, red, red)) {
841
+ background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
842
+ }
843
+ }
844
+ .room-platform-room .bg-secondary {
845
+ background-color: var(--color-secondary);
846
+ }
677
847
  .room-platform-room .bg-sky-50 {
678
848
  background-color: var(--color-sky-50);
679
849
  }
@@ -731,6 +901,9 @@
731
901
  .room-platform-room .bg-clip-padding {
732
902
  background-clip: padding-box;
733
903
  }
904
+ .room-platform-room .fill-primary {
905
+ fill: var(--color-primary);
906
+ }
734
907
  .room-platform-room .object-contain {
735
908
  object-fit: contain;
736
909
  }
@@ -865,12 +1038,42 @@
865
1038
  .room-platform-room .text-amber-950 {
866
1039
  color: var(--color-amber-950);
867
1040
  }
1041
+ .room-platform-room .text-destructive {
1042
+ color: var(--color-destructive);
1043
+ }
868
1044
  .room-platform-room .text-emerald-950 {
869
1045
  color: var(--color-emerald-950);
870
1046
  }
1047
+ .room-platform-room .text-foreground {
1048
+ color: var(--color-foreground);
1049
+ }
1050
+ .room-platform-room .text-foreground\/60 {
1051
+ color: color-mix(in srgb, oklch(0.145 0 0) 60%, transparent);
1052
+ @supports (color: color-mix(in lab, red, red)) {
1053
+ color: color-mix(in oklab, var(--color-foreground) 60%, transparent);
1054
+ }
1055
+ }
1056
+ .room-platform-room .text-liveclass-orange {
1057
+ color: var(--color-liveclass-orange);
1058
+ }
1059
+ .room-platform-room .text-muted-foreground {
1060
+ color: var(--color-muted-foreground);
1061
+ }
1062
+ .room-platform-room .text-popover-foreground {
1063
+ color: var(--color-popover-foreground);
1064
+ }
1065
+ .room-platform-room .text-primary {
1066
+ color: var(--color-primary);
1067
+ }
1068
+ .room-platform-room .text-primary-foreground {
1069
+ color: var(--color-primary-foreground);
1070
+ }
871
1071
  .room-platform-room .text-red-100 {
872
1072
  color: var(--color-red-100);
873
1073
  }
1074
+ .room-platform-room .text-secondary-foreground {
1075
+ color: var(--color-secondary-foreground);
1076
+ }
874
1077
  .room-platform-room .text-sky-950 {
875
1078
  color: var(--color-sky-950);
876
1079
  }
@@ -955,6 +1158,12 @@
955
1158
  .room-platform-room .ring-emerald-400 {
956
1159
  --tw-ring-color: var(--color-emerald-400);
957
1160
  }
1161
+ .room-platform-room .ring-foreground\/10 {
1162
+ --tw-ring-color: color-mix(in srgb, oklch(0.145 0 0) 10%, transparent);
1163
+ @supports (color: color-mix(in lab, red, red)) {
1164
+ --tw-ring-color: color-mix(in oklab, var(--color-foreground) 10%, transparent);
1165
+ }
1166
+ }
958
1167
  .room-platform-room .ring-white\/10 {
959
1168
  --tw-ring-color: color-mix(in srgb, #fff 10%, transparent);
960
1169
  @supports (color: color-mix(in lab, red, red)) {
@@ -1038,6 +1247,10 @@
1038
1247
  --tw-ease: var(--ease-out);
1039
1248
  transition-timing-function: var(--ease-out);
1040
1249
  }
1250
+ .room-platform-room .fade-in-0 {
1251
+ --tw-enter-opacity: calc(0/100);
1252
+ --tw-enter-opacity: 0;
1253
+ }
1041
1254
  .room-platform-room .outline-none {
1042
1255
  --tw-outline-style: none;
1043
1256
  outline-style: none;
@@ -1046,9 +1259,19 @@
1046
1259
  -webkit-user-select: none;
1047
1260
  user-select: none;
1048
1261
  }
1262
+ .room-platform-room .zoom-in-95 {
1263
+ --tw-enter-scale: calc(95*1%);
1264
+ --tw-enter-scale: .95;
1265
+ }
1266
+ .room-platform-room .paused {
1267
+ animation-play-state: paused;
1268
+ }
1049
1269
  .room-platform-room .ring-inset {
1050
1270
  --tw-ring-inset: inset;
1051
1271
  }
1272
+ .room-platform-room .running {
1273
+ animation-play-state: running;
1274
+ }
1052
1275
  .room-platform-room .group-data-horizontal\/tabs\:h-8 {
1053
1276
  .room-platform-room &:is(:where(.group\/tabs)[data-horizontal] *) {
1054
1277
  height: calc(var(--spacing) * 8);
@@ -1095,6 +1318,12 @@
1095
1318
  position: absolute;
1096
1319
  }
1097
1320
  }
1321
+ .room-platform-room .after\:bg-foreground {
1322
+ .room-platform-room &::after {
1323
+ content: var(--tw-content);
1324
+ background-color: var(--color-foreground);
1325
+ }
1326
+ }
1098
1327
  .room-platform-room .after\:opacity-0 {
1099
1328
  .room-platform-room &::after {
1100
1329
  content: var(--tw-content);
@@ -1171,6 +1400,33 @@
1171
1400
  }
1172
1401
  }
1173
1402
  }
1403
+ .room-platform-room .hover\:bg-destructive\/20 {
1404
+ .room-platform-room &:hover {
1405
+ @media (hover: hover) {
1406
+ background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);
1407
+ @supports (color: color-mix(in lab, red, red)) {
1408
+ background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
1409
+ }
1410
+ }
1411
+ }
1412
+ }
1413
+ .room-platform-room .hover\:bg-liveclass-orange\/90 {
1414
+ .room-platform-room &:hover {
1415
+ @media (hover: hover) {
1416
+ background-color: color-mix(in srgb, #eb6619 90%, transparent);
1417
+ @supports (color: color-mix(in lab, red, red)) {
1418
+ background-color: color-mix(in oklab, var(--color-liveclass-orange) 90%, transparent);
1419
+ }
1420
+ }
1421
+ }
1422
+ }
1423
+ .room-platform-room .hover\:bg-muted {
1424
+ .room-platform-room &:hover {
1425
+ @media (hover: hover) {
1426
+ background-color: var(--color-muted);
1427
+ }
1428
+ }
1429
+ }
1174
1430
  .room-platform-room .hover\:bg-red-50 {
1175
1431
  .room-platform-room &:hover {
1176
1432
  @media (hover: hover) {
@@ -1188,6 +1444,16 @@
1188
1444
  }
1189
1445
  }
1190
1446
  }
1447
+ .room-platform-room .hover\:bg-secondary\/80 {
1448
+ .room-platform-room &:hover {
1449
+ @media (hover: hover) {
1450
+ background-color: color-mix(in srgb, #eb6619 80%, transparent);
1451
+ @supports (color: color-mix(in lab, red, red)) {
1452
+ background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);
1453
+ }
1454
+ }
1455
+ }
1456
+ }
1191
1457
  .room-platform-room .hover\:bg-slate-100 {
1192
1458
  .room-platform-room &:hover {
1193
1459
  @media (hover: hover) {
@@ -1229,6 +1495,20 @@
1229
1495
  }
1230
1496
  }
1231
1497
  }
1498
+ .room-platform-room .hover\:text-foreground {
1499
+ .room-platform-room &:hover {
1500
+ @media (hover: hover) {
1501
+ color: var(--color-foreground);
1502
+ }
1503
+ }
1504
+ }
1505
+ .room-platform-room .hover\:text-muted-foreground {
1506
+ .room-platform-room &:hover {
1507
+ @media (hover: hover) {
1508
+ color: var(--color-muted-foreground);
1509
+ }
1510
+ }
1511
+ }
1232
1512
  .room-platform-room .hover\:text-red-600 {
1233
1513
  .room-platform-room &:hover {
1234
1514
  @media (hover: hover) {
@@ -1250,6 +1530,38 @@
1250
1530
  }
1251
1531
  }
1252
1532
  }
1533
+ .room-platform-room .focus\:bg-accent {
1534
+ .room-platform-room &:focus {
1535
+ background-color: var(--color-accent);
1536
+ }
1537
+ }
1538
+ .room-platform-room .focus\:text-accent-foreground {
1539
+ .room-platform-room &:focus {
1540
+ color: var(--color-accent-foreground);
1541
+ }
1542
+ }
1543
+ .room-platform-room .not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground {
1544
+ .room-platform-room &:not(*[data-variant="destructive"]) {
1545
+ .room-platform-room &:focus {
1546
+ .room-platform-room :is(& *) {
1547
+ color: var(--color-accent-foreground);
1548
+ }
1549
+ }
1550
+ }
1551
+ }
1552
+ .room-platform-room .focus-visible\:border-destructive\/40 {
1553
+ .room-platform-room &:focus-visible {
1554
+ border-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);
1555
+ @supports (color: color-mix(in lab, red, red)) {
1556
+ border-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
1557
+ }
1558
+ }
1559
+ }
1560
+ .room-platform-room .focus-visible\:border-ring {
1561
+ .room-platform-room &:focus-visible {
1562
+ border-color: var(--color-ring);
1563
+ }
1564
+ }
1253
1565
  .room-platform-room .focus-visible\:ring-3 {
1254
1566
  .room-platform-room &:focus-visible {
1255
1567
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
@@ -1262,12 +1574,33 @@
1262
1574
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1263
1575
  }
1264
1576
  }
1577
+ .room-platform-room .focus-visible\:ring-destructive\/20 {
1578
+ .room-platform-room &:focus-visible {
1579
+ --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);
1580
+ @supports (color: color-mix(in lab, red, red)) {
1581
+ --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
1582
+ }
1583
+ }
1584
+ }
1585
+ .room-platform-room .focus-visible\:ring-ring\/50 {
1586
+ .room-platform-room &:focus-visible {
1587
+ --tw-ring-color: color-mix(in srgb, #9dc2f3 50%, transparent);
1588
+ @supports (color: color-mix(in lab, red, red)) {
1589
+ --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent);
1590
+ }
1591
+ }
1592
+ }
1265
1593
  .room-platform-room .focus-visible\:outline-1 {
1266
1594
  .room-platform-room &:focus-visible {
1267
1595
  outline-style: var(--tw-outline-style);
1268
1596
  outline-width: 1px;
1269
1597
  }
1270
1598
  }
1599
+ .room-platform-room .focus-visible\:outline-ring {
1600
+ .room-platform-room &:focus-visible {
1601
+ outline-color: var(--color-ring);
1602
+ }
1603
+ }
1271
1604
  .room-platform-room .active\:not-aria-\[haspopup\]\:translate-y-px {
1272
1605
  .room-platform-room &:active {
1273
1606
  .room-platform-room &:not(*[aria-haspopup]) {
@@ -1370,12 +1703,55 @@
1370
1703
  column-gap: calc(var(--spacing) * 4);
1371
1704
  }
1372
1705
  }
1706
+ .room-platform-room .aria-expanded\:bg-muted {
1707
+ .room-platform-room &[aria-expanded="true"] {
1708
+ background-color: var(--color-muted);
1709
+ }
1710
+ }
1711
+ .room-platform-room .aria-expanded\:bg-secondary {
1712
+ .room-platform-room &[aria-expanded="true"] {
1713
+ background-color: var(--color-secondary);
1714
+ }
1715
+ }
1716
+ .room-platform-room .aria-expanded\:text-foreground {
1717
+ .room-platform-room &[aria-expanded="true"] {
1718
+ color: var(--color-foreground);
1719
+ }
1720
+ }
1721
+ .room-platform-room .aria-expanded\:text-secondary-foreground {
1722
+ .room-platform-room &[aria-expanded="true"] {
1723
+ color: var(--color-secondary-foreground);
1724
+ }
1725
+ }
1726
+ .room-platform-room .aria-invalid\:border-destructive {
1727
+ .room-platform-room &[aria-invalid="true"] {
1728
+ border-color: var(--color-destructive);
1729
+ }
1730
+ }
1373
1731
  .room-platform-room .aria-invalid\:ring-3 {
1374
1732
  .room-platform-room &[aria-invalid="true"] {
1375
1733
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1376
1734
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1377
1735
  }
1378
1736
  }
1737
+ .room-platform-room .aria-invalid\:ring-destructive\/20 {
1738
+ .room-platform-room &[aria-invalid="true"] {
1739
+ --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);
1740
+ @supports (color: color-mix(in lab, red, red)) {
1741
+ --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
1742
+ }
1743
+ }
1744
+ }
1745
+ .room-platform-room .data-active\:bg-background {
1746
+ .room-platform-room &[data-active] {
1747
+ background-color: var(--color-background);
1748
+ }
1749
+ }
1750
+ .room-platform-room .data-active\:text-foreground {
1751
+ .room-platform-room &[data-active] {
1752
+ color: var(--color-foreground);
1753
+ }
1754
+ }
1379
1755
  .room-platform-room .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm {
1380
1756
  .room-platform-room &:is(:where(.group\/tabs-list)[data-variant="default"] *) {
1381
1757
  .room-platform-room &[data-active] {
@@ -1409,6 +1785,23 @@
1409
1785
  }
1410
1786
  }
1411
1787
  }
1788
+ .room-platform-room .data-closed\:animate-out {
1789
+ .room-platform-room &[data-closed] {
1790
+ 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);
1791
+ }
1792
+ }
1793
+ .room-platform-room .data-closed\:fade-out-0 {
1794
+ .room-platform-room &[data-closed] {
1795
+ --tw-exit-opacity: calc(0/100);
1796
+ --tw-exit-opacity: 0;
1797
+ }
1798
+ }
1799
+ .room-platform-room .data-closed\:zoom-out-95 {
1800
+ .room-platform-room &[data-closed] {
1801
+ --tw-exit-scale: calc(95*1%);
1802
+ --tw-exit-scale: .95;
1803
+ }
1804
+ }
1412
1805
  .room-platform-room .data-disabled\:pointer-events-none {
1413
1806
  .room-platform-room &[data-disabled] {
1414
1807
  pointer-events: none;
@@ -1424,6 +1817,28 @@
1424
1817
  flex-direction: column;
1425
1818
  }
1426
1819
  }
1820
+ .room-platform-room .data-open\:animate-in {
1821
+ .room-platform-room &[data-open] {
1822
+ 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);
1823
+ }
1824
+ }
1825
+ .room-platform-room .data-open\:fade-in-0 {
1826
+ .room-platform-room &[data-open] {
1827
+ --tw-enter-opacity: calc(0/100);
1828
+ --tw-enter-opacity: 0;
1829
+ }
1830
+ }
1831
+ .room-platform-room .data-open\:zoom-in-95 {
1832
+ .room-platform-room &[data-open] {
1833
+ --tw-enter-scale: calc(95*1%);
1834
+ --tw-enter-scale: .95;
1835
+ }
1836
+ }
1837
+ .room-platform-room .data-placeholder\:text-muted-foreground {
1838
+ .room-platform-room &[data-placeholder] {
1839
+ color: var(--color-muted-foreground);
1840
+ }
1841
+ }
1427
1842
  .room-platform-room .data-\[align-trigger\=true\]\:animate-none {
1428
1843
  .room-platform-room &[data-align-trigger="true"] {
1429
1844
  animation: none;
@@ -1474,24 +1889,44 @@
1474
1889
  translate: var(--tw-translate-x) var(--tw-translate-y);
1475
1890
  }
1476
1891
  }
1892
+ .room-platform-room .data-\[side\=bottom\]\:slide-in-from-top-2 {
1893
+ .room-platform-room &[data-side="bottom"] {
1894
+ --tw-enter-translate-y: calc(2*var(--spacing)*-1);
1895
+ }
1896
+ }
1477
1897
  .room-platform-room .data-\[side\=left\]\:-translate-x-1 {
1478
1898
  .room-platform-room &[data-side="left"] {
1479
1899
  --tw-translate-x: calc(var(--spacing) * -1);
1480
1900
  translate: var(--tw-translate-x) var(--tw-translate-y);
1481
1901
  }
1482
1902
  }
1903
+ .room-platform-room .data-\[side\=left\]\:slide-in-from-right-2 {
1904
+ .room-platform-room &[data-side="left"] {
1905
+ --tw-enter-translate-x: calc(2*var(--spacing));
1906
+ }
1907
+ }
1483
1908
  .room-platform-room .data-\[side\=right\]\:translate-x-1 {
1484
1909
  .room-platform-room &[data-side="right"] {
1485
1910
  --tw-translate-x: calc(var(--spacing) * 1);
1486
1911
  translate: var(--tw-translate-x) var(--tw-translate-y);
1487
1912
  }
1488
1913
  }
1914
+ .room-platform-room .data-\[side\=right\]\:slide-in-from-left-2 {
1915
+ .room-platform-room &[data-side="right"] {
1916
+ --tw-enter-translate-x: calc(2*var(--spacing)*-1);
1917
+ }
1918
+ }
1489
1919
  .room-platform-room .data-\[side\=top\]\:-translate-y-1 {
1490
1920
  .room-platform-room &[data-side="top"] {
1491
1921
  --tw-translate-y: calc(var(--spacing) * -1);
1492
1922
  translate: var(--tw-translate-x) var(--tw-translate-y);
1493
1923
  }
1494
1924
  }
1925
+ .room-platform-room .data-\[side\=top\]\:slide-in-from-bottom-2 {
1926
+ .room-platform-room &[data-side="top"] {
1927
+ --tw-enter-translate-y: calc(2*var(--spacing));
1928
+ }
1929
+ }
1495
1930
  .room-platform-room .data-\[size\=default\]\:h-8 {
1496
1931
  .room-platform-room &[data-size="default"] {
1497
1932
  height: calc(var(--spacing) * 8);
@@ -1711,37 +2146,162 @@
1711
2146
  grid-template-columns: repeat(2, minmax(0, 1fr));
1712
2147
  }
1713
2148
  }
1714
- .room-platform-room .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent {
2149
+ .room-platform-room .dark\:border-input {
1715
2150
  @media (prefers-color-scheme: dark) {
1716
- .room-platform-room &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
1717
- .room-platform-room &[data-active] {
1718
- border-color: transparent;
1719
- }
2151
+ border-color: var(--color-input);
2152
+ }
2153
+ }
2154
+ .room-platform-room .dark\:bg-destructive\/20 {
2155
+ @media (prefers-color-scheme: dark) {
2156
+ background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);
2157
+ @supports (color: color-mix(in lab, red, red)) {
2158
+ background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
1720
2159
  }
1721
2160
  }
1722
2161
  }
1723
- .room-platform-room .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent {
2162
+ .room-platform-room .dark\:bg-input\/30 {
1724
2163
  @media (prefers-color-scheme: dark) {
1725
- .room-platform-room &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
1726
- .room-platform-room &[data-active] {
1727
- background-color: transparent;
1728
- }
2164
+ background-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);
2165
+ @supports (color: color-mix(in lab, red, red)) {
2166
+ background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
1729
2167
  }
1730
2168
  }
1731
2169
  }
1732
- .room-platform-room .\[\&_svg\]\:pointer-events-none {
1733
- .room-platform-room & svg {
1734
- pointer-events: none;
2170
+ .room-platform-room .dark\:text-muted-foreground {
2171
+ @media (prefers-color-scheme: dark) {
2172
+ color: var(--color-muted-foreground);
1735
2173
  }
1736
2174
  }
1737
- .room-platform-room .\[\&_svg\]\:shrink-0 {
1738
- .room-platform-room & svg {
1739
- flex-shrink: 0;
2175
+ .room-platform-room .dark\:hover\:bg-destructive\/30 {
2176
+ @media (prefers-color-scheme: dark) {
2177
+ .room-platform-room &:hover {
2178
+ @media (hover: hover) {
2179
+ background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 30%, transparent);
2180
+ @supports (color: color-mix(in lab, red, red)) {
2181
+ background-color: color-mix(in oklab, var(--color-destructive) 30%, transparent);
2182
+ }
2183
+ }
2184
+ }
1740
2185
  }
1741
2186
  }
1742
- .room-platform-room .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 {
1743
- .room-platform-room & svg:not([class*='size-']) {
1744
- width: calc(var(--spacing) * 3);
2187
+ .room-platform-room .dark\:hover\:bg-input\/50 {
2188
+ @media (prefers-color-scheme: dark) {
2189
+ .room-platform-room &:hover {
2190
+ @media (hover: hover) {
2191
+ background-color: color-mix(in srgb, oklch(0.922 0 0) 50%, transparent);
2192
+ @supports (color: color-mix(in lab, red, red)) {
2193
+ background-color: color-mix(in oklab, var(--color-input) 50%, transparent);
2194
+ }
2195
+ }
2196
+ }
2197
+ }
2198
+ }
2199
+ .room-platform-room .dark\:hover\:bg-muted\/50 {
2200
+ @media (prefers-color-scheme: dark) {
2201
+ .room-platform-room &:hover {
2202
+ @media (hover: hover) {
2203
+ background-color: color-mix(in srgb, oklch(0.97 0 0) 50%, transparent);
2204
+ @supports (color: color-mix(in lab, red, red)) {
2205
+ background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
2206
+ }
2207
+ }
2208
+ }
2209
+ }
2210
+ }
2211
+ .room-platform-room .dark\:hover\:text-foreground {
2212
+ @media (prefers-color-scheme: dark) {
2213
+ .room-platform-room &:hover {
2214
+ @media (hover: hover) {
2215
+ color: var(--color-foreground);
2216
+ }
2217
+ }
2218
+ }
2219
+ }
2220
+ .room-platform-room .dark\:focus-visible\:ring-destructive\/40 {
2221
+ @media (prefers-color-scheme: dark) {
2222
+ .room-platform-room &:focus-visible {
2223
+ --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);
2224
+ @supports (color: color-mix(in lab, red, red)) {
2225
+ --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
2226
+ }
2227
+ }
2228
+ }
2229
+ }
2230
+ .room-platform-room .dark\:aria-invalid\:border-destructive\/50 {
2231
+ @media (prefers-color-scheme: dark) {
2232
+ .room-platform-room &[aria-invalid="true"] {
2233
+ border-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 50%, transparent);
2234
+ @supports (color: color-mix(in lab, red, red)) {
2235
+ border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);
2236
+ }
2237
+ }
2238
+ }
2239
+ }
2240
+ .room-platform-room .dark\:aria-invalid\:ring-destructive\/40 {
2241
+ @media (prefers-color-scheme: dark) {
2242
+ .room-platform-room &[aria-invalid="true"] {
2243
+ --tw-ring-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 40%, transparent);
2244
+ @supports (color: color-mix(in lab, red, red)) {
2245
+ --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
2246
+ }
2247
+ }
2248
+ }
2249
+ }
2250
+ .room-platform-room .dark\:data-active\:border-input {
2251
+ @media (prefers-color-scheme: dark) {
2252
+ .room-platform-room &[data-active] {
2253
+ border-color: var(--color-input);
2254
+ }
2255
+ }
2256
+ }
2257
+ .room-platform-room .dark\:data-active\:bg-input\/30 {
2258
+ @media (prefers-color-scheme: dark) {
2259
+ .room-platform-room &[data-active] {
2260
+ background-color: color-mix(in srgb, oklch(0.922 0 0) 30%, transparent);
2261
+ @supports (color: color-mix(in lab, red, red)) {
2262
+ background-color: color-mix(in oklab, var(--color-input) 30%, transparent);
2263
+ }
2264
+ }
2265
+ }
2266
+ }
2267
+ .room-platform-room .dark\:data-active\:text-foreground {
2268
+ @media (prefers-color-scheme: dark) {
2269
+ .room-platform-room &[data-active] {
2270
+ color: var(--color-foreground);
2271
+ }
2272
+ }
2273
+ }
2274
+ .room-platform-room .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent {
2275
+ @media (prefers-color-scheme: dark) {
2276
+ .room-platform-room &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
2277
+ .room-platform-room &[data-active] {
2278
+ border-color: transparent;
2279
+ }
2280
+ }
2281
+ }
2282
+ }
2283
+ .room-platform-room .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent {
2284
+ @media (prefers-color-scheme: dark) {
2285
+ .room-platform-room &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
2286
+ .room-platform-room &[data-active] {
2287
+ background-color: transparent;
2288
+ }
2289
+ }
2290
+ }
2291
+ }
2292
+ .room-platform-room .\[\&_svg\]\:pointer-events-none {
2293
+ .room-platform-room & svg {
2294
+ pointer-events: none;
2295
+ }
2296
+ }
2297
+ .room-platform-room .\[\&_svg\]\:shrink-0 {
2298
+ .room-platform-room & svg {
2299
+ flex-shrink: 0;
2300
+ }
2301
+ }
2302
+ .room-platform-room .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 {
2303
+ .room-platform-room & svg:not([class*='size-']) {
2304
+ width: calc(var(--spacing) * 3);
1745
2305
  height: calc(var(--spacing) * 3);
1746
2306
  }
1747
2307
  }
@@ -1771,6 +2331,71 @@
1771
2331
  }
1772
2332
  }
1773
2333
  }
2334
+ .room-platform-room .\[a\]\:hover\:bg-destructive\/20 {
2335
+ .room-platform-room &:is(a) {
2336
+ .room-platform-room &:hover {
2337
+ @media (hover: hover) {
2338
+ background-color: color-mix(in srgb, oklch(0.577 0.245 27.325) 20%, transparent);
2339
+ @supports (color: color-mix(in lab, red, red)) {
2340
+ background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);
2341
+ }
2342
+ }
2343
+ }
2344
+ }
2345
+ }
2346
+ .room-platform-room .\[a\]\:hover\:bg-muted {
2347
+ .room-platform-room &:is(a) {
2348
+ .room-platform-room &:hover {
2349
+ @media (hover: hover) {
2350
+ background-color: var(--color-muted);
2351
+ }
2352
+ }
2353
+ }
2354
+ }
2355
+ .room-platform-room .\[a\]\:hover\:bg-primary\/80 {
2356
+ .room-platform-room &:is(a) {
2357
+ .room-platform-room &:hover {
2358
+ @media (hover: hover) {
2359
+ background-color: color-mix(in srgb, #242f62 80%, transparent);
2360
+ @supports (color: color-mix(in lab, red, red)) {
2361
+ background-color: color-mix(in oklab, var(--color-primary) 80%, transparent);
2362
+ }
2363
+ }
2364
+ }
2365
+ }
2366
+ }
2367
+ .room-platform-room .\[a\]\:hover\:bg-secondary\/80 {
2368
+ .room-platform-room &:is(a) {
2369
+ .room-platform-room &:hover {
2370
+ @media (hover: hover) {
2371
+ background-color: color-mix(in srgb, #eb6619 80%, transparent);
2372
+ @supports (color: color-mix(in lab, red, red)) {
2373
+ background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);
2374
+ }
2375
+ }
2376
+ }
2377
+ }
2378
+ }
2379
+ .room-platform-room .\[a\]\:hover\:text-muted-foreground {
2380
+ .room-platform-room &:is(a) {
2381
+ .room-platform-room &:hover {
2382
+ @media (hover: hover) {
2383
+ color: var(--color-muted-foreground);
2384
+ }
2385
+ }
2386
+ }
2387
+ }
2388
+ .room-platform-room .\*\:\[a\]\:hover\:text-foreground {
2389
+ .room-platform-room :is(& > *) {
2390
+ .room-platform-room &:is(a) {
2391
+ .room-platform-room &:hover {
2392
+ @media (hover: hover) {
2393
+ color: var(--color-foreground);
2394
+ }
2395
+ }
2396
+ }
2397
+ }
2398
+ }
1774
2399
  .room-platform-room .\*\:\[span\]\:last\:flex {
1775
2400
  .room-platform-room :is(& > *) {
1776
2401
  .room-platform-room &:is(span) {
@@ -1817,176 +2442,1096 @@
1817
2442
  height: calc(var(--spacing) * 3) !important;
1818
2443
  }
1819
2444
  }
1820
- @property --tw-translate-x {
1821
- syntax: "*";
1822
- inherits: false;
1823
- initial-value: 0;
2445
+ .room-platform-room .navi-chat__panel {
2446
+ display: flex;
2447
+ flex-direction: column;
2448
+ width: 100%;
2449
+ height: 100%;
2450
+ min-height: 0;
2451
+ overflow: hidden;
2452
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2453
+ border-radius: var(--navi-chat-radius, 10px);
2454
+ background: var(--navi-chat-color-surface, #ffffff);
2455
+ color: var(--navi-chat-color-text, #111827);
2456
+ font-family: var(--navi-chat-font-family, Inter, ui-sans-serif, system-ui, sans-serif);
1824
2457
  }
1825
- @property --tw-translate-y {
1826
- syntax: "*";
1827
- inherits: false;
1828
- initial-value: 0;
2458
+ .room-platform-room .navi-chat__header {
2459
+ display: flex;
2460
+ align-items: center;
2461
+ justify-content: space-between;
2462
+ gap: 12px;
2463
+ flex: 0 0 auto;
2464
+ padding: 10px 12px;
2465
+ border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);
2466
+ background: #f8fafc;
1829
2467
  }
1830
- @property --tw-translate-z {
1831
- syntax: "*";
1832
- inherits: false;
1833
- initial-value: 0;
2468
+ .room-platform-room .navi-chat__header-main {
2469
+ min-width: 0;
1834
2470
  }
1835
- @property --tw-scale-x {
1836
- syntax: "*";
1837
- inherits: false;
1838
- initial-value: 1;
2471
+ .room-platform-room .navi-chat__title {
2472
+ display: inline-flex;
2473
+ align-items: center;
2474
+ gap: 6px;
2475
+ margin: 0;
2476
+ overflow: hidden;
2477
+ color: var(--navi-chat-color-text, #111827);
2478
+ font-size: 14px;
2479
+ font-weight: 700;
2480
+ line-height: 1.25;
2481
+ text-overflow: ellipsis;
2482
+ white-space: nowrap;
1839
2483
  }
1840
- @property --tw-scale-y {
1841
- syntax: "*";
1842
- inherits: false;
1843
- initial-value: 1;
2484
+ .room-platform-room .navi-chat__online-count {
2485
+ display: inline-flex;
2486
+ align-items: center;
2487
+ justify-content: center;
2488
+ min-width: 20px;
2489
+ height: 20px;
2490
+ border-radius: 999px;
2491
+ background: #eff6ff;
2492
+ color: var(--navi-chat-color-primary, #2563eb);
2493
+ font-size: 12px;
2494
+ font-weight: 700;
2495
+ line-height: 1;
2496
+ padding: 0 6px;
1844
2497
  }
1845
- @property --tw-scale-z {
1846
- syntax: "*";
1847
- inherits: false;
1848
- initial-value: 1;
2498
+ .room-platform-room .navi-chat__header-meta {
2499
+ display: flex;
2500
+ flex: 0 0 auto;
2501
+ align-items: center;
2502
+ gap: 8px;
2503
+ }
2504
+ .room-platform-room .navi-chat__role-badge {
2505
+ border-radius: 999px;
2506
+ background: #eff6ff;
2507
+ color: var(--navi-chat-color-primary, #2563eb);
2508
+ font-size: 12px;
2509
+ font-weight: 600;
2510
+ line-height: 1;
2511
+ padding: 5px 8px;
1849
2512
  }
1850
- @property --tw-rotate-x {
1851
- syntax: "*";
1852
- inherits: false;
2513
+ .room-platform-room .navi-chat__rooms {
2514
+ display: flex;
2515
+ flex: 0 0 auto;
2516
+ gap: 6px;
2517
+ overflow-x: auto;
2518
+ padding: 10px;
2519
+ border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);
1853
2520
  }
1854
- @property --tw-rotate-y {
1855
- syntax: "*";
1856
- inherits: false;
2521
+ .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 {
2522
+ font: inherit;
1857
2523
  }
1858
- @property --tw-rotate-z {
1859
- syntax: "*";
1860
- inherits: false;
2524
+ .room-platform-room .navi-chat__room-tab {
2525
+ display: inline-flex;
2526
+ align-items: center;
2527
+ gap: 6px;
2528
+ min-width: 0;
2529
+ max-width: 160px;
2530
+ border: 0;
2531
+ border-radius: 8px;
2532
+ background: #f1f5f9;
2533
+ color: #475569;
2534
+ cursor: pointer;
2535
+ padding: 7px 10px;
1861
2536
  }
1862
- @property --tw-skew-x {
1863
- syntax: "*";
1864
- inherits: false;
2537
+ .room-platform-room .navi-chat__room-tab--active {
2538
+ background: var(--navi-chat-color-primary, #2563eb);
2539
+ color: #ffffff;
1865
2540
  }
1866
- @property --tw-skew-y {
1867
- syntax: "*";
1868
- inherits: false;
2541
+ .room-platform-room .navi-chat__room-tab-label {
2542
+ display: block;
2543
+ min-width: 0;
2544
+ overflow: hidden;
2545
+ text-overflow: ellipsis;
2546
+ white-space: nowrap;
1869
2547
  }
1870
- @property --tw-border-style {
1871
- syntax: "*";
1872
- inherits: false;
1873
- initial-value: solid;
2548
+ .room-platform-room .navi-chat__unread-badge {
2549
+ flex: 0 0 auto;
2550
+ display: inline-flex;
2551
+ align-items: center;
2552
+ justify-content: center;
2553
+ min-width: 18px;
2554
+ height: 18px;
2555
+ border-radius: 999px;
2556
+ background: #eff6ff;
2557
+ color: var(--navi-chat-color-primary, #2563eb);
2558
+ font-size: 11px;
2559
+ font-weight: 700;
2560
+ line-height: 1;
2561
+ padding: 0 5px;
1874
2562
  }
1875
- @property --tw-leading {
1876
- syntax: "*";
1877
- inherits: false;
2563
+ .room-platform-room .navi-chat__room-tab--active .navi-chat__unread-badge {
2564
+ background: rgba(255, 255, 255, 0.18);
2565
+ color: #ffffff;
1878
2566
  }
1879
- @property --tw-font-weight {
1880
- syntax: "*";
1881
- inherits: false;
2567
+ .room-platform-room .navi-chat__messages {
2568
+ display: flex;
2569
+ flex: 1 1 auto;
2570
+ flex-direction: column;
2571
+ min-height: 0;
2572
+ overflow-y: auto;
2573
+ padding: 14px;
2574
+ background: #fbfdff;
1882
2575
  }
1883
- @property --tw-shadow {
1884
- syntax: "*";
1885
- inherits: false;
1886
- initial-value: 0 0 #0000;
2576
+ .room-platform-room .navi-chat__messages-stack {
2577
+ display: flex;
2578
+ flex-direction: column;
2579
+ gap: 10px;
2580
+ margin-top: auto;
1887
2581
  }
1888
- @property --tw-shadow-color {
1889
- syntax: "*";
1890
- inherits: false;
2582
+ .room-platform-room .navi-chat__empty {
2583
+ display: flex;
2584
+ flex: 1 1 auto;
2585
+ flex-direction: column;
2586
+ align-items: center;
2587
+ justify-content: center;
2588
+ min-height: 0;
2589
+ padding: 24px;
2590
+ background: #fbfdff;
2591
+ color: #64748b;
2592
+ text-align: center;
1891
2593
  }
1892
- @property --tw-shadow-alpha {
1893
- syntax: "<percentage>";
1894
- inherits: false;
1895
- initial-value: 100%;
2594
+ .room-platform-room .navi-chat__empty strong {
2595
+ margin-top: 8px;
2596
+ color: #334155;
2597
+ font-size: 14px;
1896
2598
  }
1897
- @property --tw-inset-shadow {
1898
- syntax: "*";
1899
- inherits: false;
1900
- initial-value: 0 0 #0000;
2599
+ .room-platform-room .navi-chat__empty span {
2600
+ margin-top: 4px;
2601
+ font-size: 13px;
1901
2602
  }
1902
- @property --tw-inset-shadow-color {
1903
- syntax: "*";
1904
- inherits: false;
2603
+ .room-platform-room .navi-chat__empty-icon {
2604
+ color: var(--navi-chat-color-primary, #2563eb);
2605
+ font-size: 22px;
2606
+ line-height: 1;
1905
2607
  }
1906
- @property --tw-inset-shadow-alpha {
1907
- syntax: "<percentage>";
1908
- inherits: false;
1909
- initial-value: 100%;
2608
+ .room-platform-room .navi-chat__message {
2609
+ display: flex;
1910
2610
  }
1911
- @property --tw-ring-color {
1912
- syntax: "*";
1913
- inherits: false;
2611
+ .room-platform-room .navi-chat__message-group {
2612
+ display: flex;
2613
+ flex-direction: column;
2614
+ gap: 4px;
1914
2615
  }
1915
- @property --tw-ring-shadow {
1916
- syntax: "*";
1917
- inherits: false;
1918
- initial-value: 0 0 #0000;
2616
+ .room-platform-room .navi-chat__loading-older {
2617
+ align-self: center;
2618
+ color: #64748b;
2619
+ font-size: 12px;
2620
+ font-weight: 600;
2621
+ padding: 4px 0;
1919
2622
  }
1920
- @property --tw-inset-ring-color {
1921
- syntax: "*";
1922
- inherits: false;
2623
+ .room-platform-room .navi-chat__message--own {
2624
+ justify-content: flex-end;
1923
2625
  }
1924
- @property --tw-inset-ring-shadow {
1925
- syntax: "*";
1926
- inherits: false;
1927
- initial-value: 0 0 #0000;
2626
+ .room-platform-room .navi-chat__message-row {
2627
+ position: relative;
2628
+ display: flex;
2629
+ align-items: flex-end;
2630
+ gap: 6px;
2631
+ min-width: 0;
2632
+ max-width: min(82%, 560px);
1928
2633
  }
1929
- @property --tw-ring-inset {
1930
- syntax: "*";
1931
- inherits: false;
2634
+ .room-platform-room .navi-chat__message-row--own {
2635
+ flex-direction: row-reverse;
1932
2636
  }
1933
- @property --tw-ring-offset-width {
1934
- syntax: "<length>";
1935
- inherits: false;
1936
- initial-value: 0px;
2637
+ .room-platform-room .navi-chat__message-bubble {
2638
+ min-width: 0;
2639
+ max-width: 100%;
2640
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2641
+ border-radius: 10px;
2642
+ background: #ffffff;
2643
+ padding: 9px 11px;
2644
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
1937
2645
  }
1938
- @property --tw-ring-offset-color {
2646
+ .room-platform-room .navi-chat__message--grouped .navi-chat__message-bubble {
2647
+ padding-top: 8px;
2648
+ }
2649
+ .room-platform-room .navi-chat__message--own .navi-chat__message-bubble {
2650
+ border-color: var(--navi-chat-own-message-border, #bfdbfe);
2651
+ background: var(--navi-chat-own-message-background, #eff6ff);
2652
+ }
2653
+ .room-platform-room .navi-chat__message--deleted .navi-chat__message-bubble {
2654
+ background: #f8fafc;
2655
+ color: #64748b;
2656
+ font-style: italic;
2657
+ }
2658
+ .room-platform-room .navi-chat__message-header {
2659
+ display: flex;
2660
+ align-items: center;
2661
+ justify-content: space-between;
2662
+ gap: 10px;
2663
+ margin-bottom: 4px;
2664
+ }
2665
+ .room-platform-room .navi-chat__message-author {
2666
+ overflow: hidden;
2667
+ color: #334155;
2668
+ font-size: 12px;
2669
+ font-weight: 700;
2670
+ text-overflow: ellipsis;
2671
+ white-space: nowrap;
2672
+ }
2673
+ .room-platform-room .navi-chat__message-time {
2674
+ color: #94a3b8;
2675
+ font-size: 11px;
2676
+ white-space: nowrap;
2677
+ }
2678
+ .room-platform-room .navi-chat__message-text {
2679
+ margin: 0;
2680
+ color: var(--navi-chat-color-text, #111827);
2681
+ font-size: 13px;
2682
+ line-height: 1.45;
2683
+ overflow-wrap: anywhere;
2684
+ white-space: pre-wrap;
2685
+ }
2686
+ .room-platform-room .navi-chat__message-action {
2687
+ margin-top: 8px;
2688
+ border: 0;
2689
+ background: transparent;
2690
+ color: var(--navi-chat-color-primary, #2563eb);
2691
+ cursor: pointer;
2692
+ font-size: 12px;
2693
+ font-weight: 600;
2694
+ padding: 0;
2695
+ }
2696
+ .room-platform-room .navi-chat__message-menu {
2697
+ position: absolute;
2698
+ right: -30px;
2699
+ bottom: 2px;
2700
+ z-index: 3;
2701
+ display: inline-flex;
2702
+ flex: 0 0 auto;
2703
+ opacity: 0;
2704
+ pointer-events: none;
2705
+ transition: opacity 120ms ease, transform 120ms ease;
2706
+ transform: translateY(2px);
2707
+ vertical-align: middle;
2708
+ }
2709
+ .room-platform-room .navi-chat__message-row--own .navi-chat__message-menu {
2710
+ right: auto;
2711
+ left: -30px;
2712
+ }
2713
+ .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 {
2714
+ opacity: 1;
2715
+ pointer-events: auto;
2716
+ transform: translateY(0);
2717
+ }
2718
+ .room-platform-room .navi-chat__message-menu-trigger {
2719
+ display: inline-flex;
2720
+ align-items: center;
2721
+ justify-content: center;
2722
+ width: 24px;
2723
+ height: 24px;
2724
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2725
+ border-radius: 999px;
2726
+ background: #ffffff;
2727
+ color: #64748b;
2728
+ cursor: pointer;
2729
+ font-size: 12px;
2730
+ font-weight: 700;
2731
+ line-height: 1;
2732
+ padding: 0;
2733
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
2734
+ }
2735
+ .room-platform-room .navi-chat__message-menu-trigger:hover, .room-platform-room .navi-chat__message-menu-trigger:focus-visible {
2736
+ border-color: #bfdbfe;
2737
+ background: #eff6ff;
2738
+ color: var(--navi-chat-color-primary, #2563eb);
2739
+ }
2740
+ .room-platform-room .navi-chat__message-menu-popover {
2741
+ position: absolute;
2742
+ right: 0;
2743
+ bottom: 32px;
2744
+ z-index: 2;
2745
+ display: flex;
2746
+ min-width: 82px;
2747
+ flex-direction: column;
2748
+ overflow: hidden;
2749
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2750
+ border-radius: 8px;
2751
+ background: #ffffff;
2752
+ box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
2753
+ }
2754
+ .room-platform-room .navi-chat__message-row--own .navi-chat__message-menu-popover {
2755
+ right: auto;
2756
+ left: 0;
2757
+ }
2758
+ .room-platform-room .navi-chat__message-menu-item {
2759
+ border: 0;
2760
+ background: transparent;
2761
+ color: var(--navi-chat-color-text, #111827);
2762
+ cursor: pointer;
2763
+ font-size: 12px;
2764
+ font-weight: 600;
2765
+ line-height: 1;
2766
+ padding: 8px 10px;
2767
+ text-align: left;
2768
+ }
2769
+ .room-platform-room .navi-chat__message-menu-item:hover, .room-platform-room .navi-chat__message-menu-item:focus-visible {
2770
+ background: #f1f5f9;
2771
+ color: var(--navi-chat-color-primary, #2563eb);
2772
+ }
2773
+ .room-platform-room .navi-chat__message-edit {
2774
+ display: flex;
2775
+ flex-direction: column;
2776
+ gap: 6px;
2777
+ }
2778
+ .room-platform-room .navi-chat__message-edit-input {
2779
+ box-sizing: border-box;
2780
+ width: min(280px, 100%);
2781
+ min-height: 64px;
2782
+ resize: vertical;
2783
+ border: 1px solid #cbd5e1;
2784
+ border-radius: 8px;
2785
+ background: #ffffff;
2786
+ color: var(--navi-chat-color-text, #111827);
2787
+ font-size: 13px;
2788
+ line-height: 1.4;
2789
+ padding: 8px 9px;
2790
+ }
2791
+ .room-platform-room .navi-chat__message-edit-actions {
2792
+ display: flex;
2793
+ justify-content: flex-end;
2794
+ gap: 6px;
2795
+ }
2796
+ .room-platform-room .navi-chat__message-edit-button {
2797
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2798
+ border-radius: 7px;
2799
+ background: #ffffff;
2800
+ color: #334155;
2801
+ cursor: pointer;
2802
+ font-size: 12px;
2803
+ font-weight: 700;
2804
+ line-height: 1;
2805
+ padding: 7px 9px;
2806
+ }
2807
+ .room-platform-room .navi-chat__message-edit-button--primary {
2808
+ border-color: var(--navi-chat-color-primary, #2563eb);
2809
+ background: var(--navi-chat-color-primary, #2563eb);
2810
+ color: #ffffff;
2811
+ }
2812
+ .room-platform-room .navi-chat__latest-overlay {
2813
+ position: sticky;
2814
+ bottom: 8px;
2815
+ align-self: stretch;
2816
+ box-sizing: border-box;
2817
+ display: grid;
2818
+ grid-template-columns: 1fr auto 1fr;
2819
+ align-items: center;
2820
+ gap: 8px;
2821
+ margin-top: 8px;
2822
+ pointer-events: none;
2823
+ }
2824
+ .room-platform-room .navi-chat__new-message-notice {
2825
+ grid-column: 2;
2826
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2827
+ border-radius: 999px;
2828
+ background: #ffffff;
2829
+ color: var(--navi-chat-color-primary, #2563eb);
2830
+ font-size: 12px;
2831
+ font-weight: 700;
2832
+ line-height: 1;
2833
+ padding: 8px 12px;
2834
+ box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
2835
+ }
2836
+ .room-platform-room .navi-chat__scroll-latest {
2837
+ grid-column: 3;
2838
+ justify-self: end;
2839
+ box-sizing: border-box;
2840
+ flex: 0 0 auto;
2841
+ display: inline-flex;
2842
+ align-items: center;
2843
+ justify-content: center;
2844
+ width: 34px;
2845
+ height: 34px;
2846
+ margin-right: 4px;
2847
+ border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2848
+ border-radius: 50%;
2849
+ background: #ffffff;
2850
+ color: var(--navi-chat-color-primary, #2563eb);
2851
+ cursor: pointer;
2852
+ padding: 0;
2853
+ pointer-events: auto;
2854
+ box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
2855
+ }
2856
+ .room-platform-room .navi-chat__scroll-latest-icon {
2857
+ width: 18px;
2858
+ height: 18px;
2859
+ fill: currentColor;
2860
+ }
2861
+ .room-platform-room .navi-chat__composer {
2862
+ display: flex;
2863
+ flex: 0 0 auto;
2864
+ align-items: flex-end;
2865
+ gap: 8px;
2866
+ padding: 10px;
2867
+ border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);
2868
+ background: #ffffff;
2869
+ }
2870
+ .room-platform-room .navi-chat__composer-main {
2871
+ display: flex;
2872
+ flex: 1 1 auto;
2873
+ min-width: 0;
2874
+ flex-direction: column;
2875
+ gap: 4px;
2876
+ }
2877
+ .room-platform-room .navi-chat__composer-input {
2878
+ flex: 1 1 auto;
2879
+ min-width: 0;
2880
+ min-height: 38px;
2881
+ max-height: 84px;
2882
+ resize: vertical;
2883
+ border: 1px solid #cbd5e1;
2884
+ border-radius: 8px;
2885
+ color: var(--navi-chat-color-text, #111827);
2886
+ font: inherit;
2887
+ font-size: 13px;
2888
+ line-height: 1.4;
2889
+ padding: 9px 10px;
2890
+ }
2891
+ .room-platform-room .navi-chat__composer-tip {
2892
+ margin: 0;
2893
+ color: #64748b;
2894
+ font-size: 11px;
2895
+ line-height: 1.3;
2896
+ }
2897
+ .room-platform-room .navi-chat__send-button {
2898
+ flex: 0 0 auto;
2899
+ display: inline-flex;
2900
+ align-items: center;
2901
+ justify-content: center;
2902
+ align-self: center;
2903
+ width: 44px;
2904
+ height: 44px;
2905
+ border: 0;
2906
+ border-radius: 999px;
2907
+ background: var(--navi-chat-color-primary, #2563eb);
2908
+ color: #ffffff;
2909
+ cursor: pointer;
2910
+ padding: 0;
2911
+ }
2912
+ .room-platform-room .navi-chat__send-button:disabled {
2913
+ cursor: not-allowed;
2914
+ opacity: 0.45;
2915
+ }
2916
+ .room-platform-room .navi-chat__send-icon {
2917
+ width: 18px;
2918
+ height: 18px;
2919
+ fill: currentColor;
2920
+ }
2921
+ .room-platform-room .navi-chat__readonly {
2922
+ flex: 0 0 auto;
2923
+ border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);
2924
+ background: #f8fafc;
2925
+ color: #64748b;
2926
+ font-size: 13px;
2927
+ padding: 12px 14px;
2928
+ }
2929
+ .room-platform-room .navi-chat__status {
2930
+ display: inline-flex;
2931
+ align-items: center;
2932
+ justify-content: center;
2933
+ width: 18px;
2934
+ height: 18px;
2935
+ }
2936
+ .room-platform-room .navi-chat__status-dot {
2937
+ width: 9px;
2938
+ height: 9px;
2939
+ border-radius: 999px;
2940
+ background: #94a3b8;
2941
+ }
2942
+ .room-platform-room .navi-chat__status--connected .navi-chat__status-dot {
2943
+ background: #16a34a;
2944
+ }
2945
+ .room-platform-room .navi-chat__status--muted .navi-chat__status-dot {
2946
+ background: #94a3b8;
2947
+ }
2948
+ .room-platform-room .navi-chat__status--error .navi-chat__status-dot {
2949
+ background: #dc2626;
2950
+ }
2951
+ .room-platform-room .whiteboard-react-canvas {
2952
+ position: relative;
2953
+ width: 100%;
2954
+ height: 100%;
2955
+ }
2956
+ .room-platform-room .whiteboard-react-canvas__scene {
2957
+ position: relative;
2958
+ height: 100%;
2959
+ min-height: 100%;
2960
+ }
2961
+ .room-platform-room .whiteboard-react-canvas__layer {
2962
+ position: absolute;
2963
+ inset: 0;
2964
+ width: 100%;
2965
+ height: 100%;
2966
+ }
2967
+ .room-platform-room .whiteboard-react-canvas__layer--scene {
2968
+ z-index: 10;
2969
+ pointer-events: none;
2970
+ }
2971
+ .room-platform-room .whiteboard-react-canvas__layer--interaction {
2972
+ z-index: 11;
2973
+ touch-action: none;
2974
+ user-select: none;
2975
+ -webkit-user-select: none;
2976
+ }
2977
+ .room-platform-room .whiteboard-react-trigger, .room-platform-room .whiteboard-react-toolbar, .room-platform-room .whiteboard-react-toolbar__popover {
2978
+ --whiteboard-overlay-bg: rgb(255 255 255 / 0.94);
2979
+ --whiteboard-overlay-border: rgb(148 163 184 / 0.32);
2980
+ --whiteboard-overlay-shadow: 0 18px 40px rgb(15 23 42 / 0.24);
2981
+ --whiteboard-overlay-text: #0f172a;
2982
+ --whiteboard-overlay-muted: #475569;
2983
+ --whiteboard-overlay-accent: #0f766e;
2984
+ --whiteboard-overlay-accent-soft: rgb(15 118 110 / 0.12);
2985
+ --whiteboard-overlay-danger: #dc2626;
2986
+ position: fixed;
2987
+ border: 1px solid var(--whiteboard-overlay-border);
2988
+ border-radius: 1.125rem;
2989
+ background: var(--whiteboard-overlay-bg);
2990
+ color: var(--whiteboard-overlay-text);
2991
+ box-shadow: var(--whiteboard-overlay-shadow);
2992
+ backdrop-filter: blur(16px);
2993
+ }
2994
+ .room-platform-room .whiteboard-react-trigger {
2995
+ z-index: 60;
2996
+ display: inline-flex;
2997
+ align-items: center;
2998
+ justify-content: center;
2999
+ width: 3rem;
3000
+ height: 3rem;
3001
+ padding: 0;
3002
+ border: 0;
3003
+ border-radius: 999px;
3004
+ background: #252627;
3005
+ color: #00ff9d;
3006
+ cursor: pointer;
3007
+ transition: background 140ms ease, color 140ms ease;
3008
+ }
3009
+ .room-platform-room .whiteboard-react-trigger:hover {
3010
+ background: #00ff9d;
3011
+ color: #000;
3012
+ }
3013
+ .room-platform-room .whiteboard-react-toolbar__tooltip-trigger {
3014
+ display: inline-flex;
3015
+ }
3016
+ .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 {
3017
+ outline: 2px solid rgb(15 118 110 / 0.45);
3018
+ outline-offset: 2px;
3019
+ }
3020
+ .room-platform-room .whiteboard-react-trigger__icon {
3021
+ width: 1.5rem;
3022
+ height: 1.5rem;
3023
+ flex: none;
3024
+ }
3025
+ .room-platform-room .whiteboard-react-toolbar__icon {
3026
+ width: 1.35rem;
3027
+ height: 1.35rem;
3028
+ flex: none;
3029
+ }
3030
+ .room-platform-room .whiteboard-react-toolbar__icon.ColorSvg {
3031
+ width: 2rem;
3032
+ }
3033
+ .room-platform-room .whiteboard-react-trigger__label {
3034
+ white-space: nowrap;
3035
+ }
3036
+ .room-platform-room .whiteboard-react-trigger__status-dot, .room-platform-room .whiteboard-react-toolbar__status-dot {
3037
+ width: 0.5rem;
3038
+ height: 0.5rem;
3039
+ border-radius: 999px;
3040
+ background: var(--whiteboard-overlay-accent);
3041
+ box-shadow: 0 0 0 4px rgb(15 118 110 / 0.14);
3042
+ flex: none;
3043
+ }
3044
+ .room-platform-room .whiteboard-react-trigger[data-runtime-state='failed'] .whiteboard-react-trigger__status-dot {
3045
+ background: var(--whiteboard-overlay-danger);
3046
+ box-shadow: 0 0 0 4px rgb(220 38 38 / 0.12);
3047
+ }
3048
+ .room-platform-room .whiteboard-react-toolbar {
3049
+ z-index: 61;
3050
+ border: 0.15rem solid rgb(226 232 240 / 0.72);
3051
+ border-radius: 0.5rem;
3052
+ background: #292a2c;
3053
+ color: #f8fafc;
3054
+ box-shadow: 0 12px 28px rgb(15 23 42 / 0.3);
3055
+ transition: transform 140ms ease, box-shadow 140ms ease;
3056
+ transform-origin: center;
3057
+ animation: whiteboard-toolbar-orientation-vertical 180ms ease-in-out;
3058
+ }
3059
+ @keyframes whiteboard-toolbar-orientation-vertical {
3060
+ from {
3061
+ transform: scaleX(1.2);
3062
+ }
3063
+ to {
3064
+ transform: scale(1);
3065
+ }
3066
+ }
3067
+ @keyframes whiteboard-toolbar-orientation-horizontal {
3068
+ from {
3069
+ transform: scaleX(1.2);
3070
+ }
3071
+ to {
3072
+ transform: scale(1);
3073
+ }
3074
+ }
3075
+ @media (prefers-reduced-motion: reduce) {
3076
+ .room-platform-room .whiteboard-react-toolbar {
3077
+ animation: none;
3078
+ transition: none;
3079
+ }
3080
+ }
3081
+ .room-platform-room .whiteboard-react-toolbar__chrome {
3082
+ display: flex;
3083
+ flex-direction: column;
3084
+ gap: 0.3rem;
3085
+ padding: 0.4rem;
3086
+ }
3087
+ .room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__chrome {
3088
+ flex-direction: row;
3089
+ align-items: center;
3090
+ box-sizing: border-box;
3091
+ padding: 0.4rem;
3092
+ }
3093
+ .room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] {
3094
+ animation-name: whiteboard-toolbar-orientation-horizontal;
3095
+ }
3096
+ .room-platform-room .whiteboard-react-toolbar__drag-handle {
3097
+ position: relative;
3098
+ display: inline-flex;
3099
+ align-items: center;
3100
+ justify-content: center;
3101
+ margin-top: 0.75rem;
3102
+ width: 2rem;
3103
+ height: 2rem;
3104
+ border-radius: 0.65rem;
3105
+ background: transparent;
3106
+ color: rgb(226 232 240 / 0.84);
3107
+ cursor: grab;
3108
+ transition: color 120ms ease, border-color 120ms ease;
3109
+ }
3110
+ .room-platform-room .whiteboard-react-toolbar__drag-handle::before {
3111
+ position: absolute;
3112
+ top: -0.5rem;
3113
+ right: 0;
3114
+ left: 0;
3115
+ height: 1px;
3116
+ content: '';
3117
+ background: rgb(226 232 240 / 0.45);
3118
+ }
3119
+ .room-platform-room .whiteboard-react-toolbar__drag-handle:hover {
3120
+ color: #fff;
3121
+ background: rgb(255 255 255 / 0.1);
3122
+ }
3123
+ .room-platform-room .whiteboard-react-toolbar__drag-handle:active {
3124
+ cursor: grabbing;
3125
+ }
3126
+ .room-platform-room .whiteboard-react-toolbar__status {
3127
+ display: inline-flex;
3128
+ align-items: center;
3129
+ gap: 0.5rem;
3130
+ max-width: 16rem;
3131
+ padding: 0.625rem 0.75rem;
3132
+ border-radius: 0.875rem;
3133
+ background: rgb(248 250 252 / 0.96);
3134
+ color: var(--whiteboard-overlay-muted);
3135
+ font-size: 0.8125rem;
3136
+ font-weight: 500;
3137
+ }
3138
+ .room-platform-room .whiteboard-react-toolbar__status[data-state='failed'] {
3139
+ color: var(--whiteboard-overlay-danger);
3140
+ background: rgb(254 242 242 / 0.96);
3141
+ }
3142
+ .room-platform-room .whiteboard-react-toolbar__status[data-state='busy'] {
3143
+ color: var(--whiteboard-overlay-accent);
3144
+ background: rgb(240 253 250 / 0.96);
3145
+ }
3146
+ .room-platform-room .whiteboard-react-toolbar__status-action {
3147
+ margin-left: 0.25rem;
3148
+ border: 0;
3149
+ background: transparent;
3150
+ color: inherit;
3151
+ font-weight: 700;
3152
+ text-decoration: underline;
3153
+ }
3154
+ .room-platform-room .whiteboard-react-toolbar__rail {
3155
+ display: flex;
3156
+ gap: 0.5rem;
3157
+ }
3158
+ .room-platform-room .whiteboard-react-toolbar[data-orientation='vertical'] .whiteboard-react-toolbar__rail {
3159
+ flex-direction: column;
3160
+ }
3161
+ .room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__rail {
3162
+ flex-direction: row;
3163
+ align-items: center;
3164
+ }
3165
+ .room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] .whiteboard-react-toolbar__drag-handle::before {
3166
+ top: 0;
3167
+ right: auto;
3168
+ bottom: 0;
3169
+ left: -0.15rem;
3170
+ width: 1px;
3171
+ height: auto;
3172
+ }
3173
+ .room-platform-room .whiteboard-react-toolbar__button {
3174
+ position: relative;
3175
+ display: inline-flex;
3176
+ align-items: center;
3177
+ justify-content: center;
3178
+ width: 2rem;
3179
+ height: 2rem;
3180
+ border: 0;
3181
+ border-radius: 0.65rem;
3182
+ margin-top: 0.75rem;
3183
+ background: transparent;
3184
+ color: #f8fafc;
3185
+ transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, color 120ms ease;
3186
+ }
3187
+ .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 {
3188
+ margin-top: 0;
3189
+ margin-bottom: 0;
3190
+ margin-left: 0.75rem;
3191
+ }
3192
+ .room-platform-room .whiteboard-react-toolbar__button:hover:not(:disabled) {
3193
+ cursor: pointer;
3194
+ background: rgb(255 255 255 / 0.1);
3195
+ }
3196
+ .room-platform-room .whiteboard-react-toolbar__button[data-active='true'] {
3197
+ background: #0878f7;
3198
+ color: #fff;
3199
+ }
3200
+ .room-platform-room .whiteboard-react-toolbar__button[data-active='true']:hover:not(:disabled) {
3201
+ background: #0878f7;
3202
+ }
3203
+ .room-platform-room .whiteboard-react-toolbar__button[aria-label='Color'] .whiteboard-react-toolbar__icon {
3204
+ display: none;
3205
+ }
3206
+ .room-platform-room .whiteboard-react-toolbar__button[aria-label='Color'] .whiteboard-react-toolbar__button-swatch {
3207
+ position: static;
3208
+ width: 1.5rem;
3209
+ height: 1.5rem;
3210
+ border: 0;
3211
+ }
3212
+ .room-platform-room .whiteboard-react-toolbar__button[aria-label='Close whiteboard tools'] {
3213
+ margin-bottom: 0.75rem;
3214
+ background: #ef1111;
3215
+ color: #fff;
3216
+ }
3217
+ .room-platform-room .whiteboard-react-toolbar__button[aria-label='Close whiteboard tools']:hover:not(:disabled) {
3218
+ background: #dc0d0d;
3219
+ }
3220
+ .room-platform-room .whiteboard-react-toolbar[data-orientation='horizontal'] span:last-child .whiteboard-react-toolbar__button {
3221
+ margin-bottom: 0;
3222
+ margin-right: 0.75rem;
3223
+ }
3224
+ .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 {
3225
+ cursor: not-allowed;
3226
+ opacity: 0.46;
3227
+ }
3228
+ .room-platform-room .whiteboard-react-toolbar__button-swatch {
3229
+ position: absolute;
3230
+ right: 0.34rem;
3231
+ bottom: 0.34rem;
3232
+ width: 0.6rem;
3233
+ height: 0.6rem;
3234
+ border: 1px solid rgb(255 255 255 / 0.8);
3235
+ border-radius: 999px;
3236
+ background: var(--whiteboard-color);
3237
+ box-shadow: 0 0 0 1px rgb(15 23 42 / 0.12);
3238
+ }
3239
+ .room-platform-room .whiteboard-react-toolbar__popover {
3240
+ z-index: 62;
3241
+ padding: 0.65rem;
3242
+ border: 0.15rem solid rgb(226 232 240 / 0.72);
3243
+ border-radius: 0.5rem;
3244
+ background: #292a2c;
3245
+ color: #f8fafc;
3246
+ box-shadow: 0 12px 28px rgb(15 23 42 / 0.3);
3247
+ }
3248
+ .room-platform-room .whiteboard-react-draw-popover {
3249
+ max-width: 15.5rem;
3250
+ }
3251
+ .room-platform-room .whiteboard-react-color-popover {
3252
+ width: 12.5rem;
3253
+ }
3254
+ .room-platform-room .whiteboard-react-toolbar__popover-section {
3255
+ display: flex;
3256
+ flex-direction: column;
3257
+ gap: 0.35rem;
3258
+ }
3259
+ .room-platform-room .whiteboard-react-toolbar__popover-section + .whiteboard-react-toolbar__popover-section {
3260
+ margin-top: 0.55rem;
3261
+ }
3262
+ .room-platform-room .whiteboard-react-toolbar__popover-label {
3263
+ margin: 0;
3264
+ font-size: 0.75rem;
3265
+ font-weight: 700;
3266
+ letter-spacing: 0.04em;
3267
+ text-transform: uppercase;
3268
+ color: rgb(226 232 240 / 0.82);
3269
+ }
3270
+ .room-platform-room .whiteboard-react-toolbar__option-grid, .room-platform-room .whiteboard-react-toolbar__width-grid {
3271
+ display: grid;
3272
+ gap: 0.35rem;
3273
+ }
3274
+ .room-platform-room .whiteboard-react-toolbar__option-grid {
3275
+ grid-template-columns: repeat(4, minmax(0, 1fr));
3276
+ }
3277
+ .room-platform-room .whiteboard-react-toolbar__option-grid--shapes {
3278
+ grid-template-columns: repeat(4, minmax(0, 1fr));
3279
+ }
3280
+ .room-platform-room .whiteboard-react-toolbar__option-chip, .room-platform-room .whiteboard-react-toolbar__width-chip {
3281
+ display: inline-flex;
3282
+ align-items: center;
3283
+ justify-content: center;
3284
+ width: 2.25rem;
3285
+ height: 2.25rem;
3286
+ border: 1px solid transparent;
3287
+ border-radius: 0.65rem;
3288
+ background: transparent;
3289
+ color: #f8fafc;
3290
+ font-size: 0.75rem;
3291
+ font-weight: 600;
3292
+ line-height: 1;
3293
+ padding: 0;
3294
+ cursor: pointer;
3295
+ }
3296
+ .room-platform-room .whiteboard-react-toolbar__option-chip[data-active='true'], .room-platform-room .whiteboard-react-toolbar__width-chip[data-active='true'] {
3297
+ border-color: transparent;
3298
+ background: #0878f7;
3299
+ color: #fff;
3300
+ }
3301
+ .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']) {
3302
+ color: #fff;
3303
+ }
3304
+ .room-platform-room .whiteboard-react-toolbar__width-grid {
3305
+ grid-template-columns: repeat(4, minmax(0, 1fr));
3306
+ }
3307
+ .room-platform-room .whiteboard-react-toolbar__option-icon {
3308
+ flex: none;
3309
+ }
3310
+ .room-platform-room .whiteboard-react-toolbar__width-sample {
3311
+ display: inline-flex;
3312
+ width: 1.35rem;
3313
+ height: 1.35rem;
3314
+ border-radius: 999px;
3315
+ background: currentColor;
3316
+ flex: none;
3317
+ }
3318
+ .room-platform-room .whiteboard-react-toolbar__width-sample[data-width='xs'] {
3319
+ width: 0.3rem;
3320
+ height: 0.3rem;
3321
+ }
3322
+ .room-platform-room .whiteboard-react-toolbar__width-sample[data-width='sm'] {
3323
+ width: 0.45rem;
3324
+ height: 0.45rem;
3325
+ }
3326
+ .room-platform-room .whiteboard-react-toolbar__width-sample[data-width='md'] {
3327
+ width: 0.65rem;
3328
+ height: 0.65rem;
3329
+ }
3330
+ .room-platform-room .whiteboard-react-toolbar__width-sample[data-width='lg'] {
3331
+ width: 0.9rem;
3332
+ height: 0.9rem;
3333
+ }
3334
+ .room-platform-room .whiteboard-react-color-popover__grid {
3335
+ display: grid;
3336
+ grid-template-columns: repeat(5, minmax(0, 1fr));
3337
+ gap: 0.5rem;
3338
+ }
3339
+ .room-platform-room .whiteboard-react-color-popover__swatch {
3340
+ display: inline-flex;
3341
+ align-items: center;
3342
+ justify-content: center;
3343
+ width: 1.75rem;
3344
+ height: 1.75rem;
3345
+ padding: 0;
3346
+ border: 1px solid rgb(148 163 184 / 0.28);
3347
+ border-radius: 999px;
3348
+ background: rgb(255 255 255 / 0.9);
3349
+ cursor: pointer;
3350
+ }
3351
+ .room-platform-room .whiteboard-react-color-popover__swatch-fill {
3352
+ width: 1.35rem;
3353
+ height: 1.35rem;
3354
+ border-radius: 999px;
3355
+ background: var(--whiteboard-color);
3356
+ box-shadow: inset 0 0 0 1px rgb(15 23 42 / 0.08);
3357
+ }
3358
+ .room-platform-room .whiteboard-react-color-popover__swatch[data-active='true'] {
3359
+ border-color: rgb(15 118 110 / 0.45);
3360
+ box-shadow: 0 0 0 4px rgb(15 118 110 / 0.12);
3361
+ }
3362
+ .room-platform-room .whiteboard-react-color-popover__swatch[data-light='true'] .whiteboard-react-color-popover__swatch-fill {
3363
+ box-shadow: inset 0 0 0 1px rgb(15 23 42 / 0.12), 0 0 0 1px rgb(226 232 240 / 0.8);
3364
+ }
3365
+ @property --tw-translate-x {
1939
3366
  syntax: "*";
1940
3367
  inherits: false;
1941
- initial-value: #fff;
3368
+ initial-value: 0;
1942
3369
  }
1943
- @property --tw-ring-offset-shadow {
3370
+ @property --tw-translate-y {
1944
3371
  syntax: "*";
1945
3372
  inherits: false;
1946
- initial-value: 0 0 #0000;
3373
+ initial-value: 0;
1947
3374
  }
1948
- @property --tw-outline-style {
3375
+ @property --tw-translate-z {
1949
3376
  syntax: "*";
1950
3377
  inherits: false;
1951
- initial-value: solid;
3378
+ initial-value: 0;
1952
3379
  }
1953
- @property --tw-blur {
3380
+ @property --tw-scale-x {
1954
3381
  syntax: "*";
1955
3382
  inherits: false;
3383
+ initial-value: 1;
1956
3384
  }
1957
- @property --tw-brightness {
3385
+ @property --tw-scale-y {
1958
3386
  syntax: "*";
1959
3387
  inherits: false;
3388
+ initial-value: 1;
1960
3389
  }
1961
- @property --tw-contrast {
3390
+ @property --tw-scale-z {
1962
3391
  syntax: "*";
1963
3392
  inherits: false;
3393
+ initial-value: 1;
1964
3394
  }
1965
- @property --tw-grayscale {
3395
+ @property --tw-rotate-x {
1966
3396
  syntax: "*";
1967
3397
  inherits: false;
1968
3398
  }
1969
- @property --tw-hue-rotate {
3399
+ @property --tw-rotate-y {
1970
3400
  syntax: "*";
1971
3401
  inherits: false;
1972
3402
  }
1973
- @property --tw-invert {
3403
+ @property --tw-rotate-z {
1974
3404
  syntax: "*";
1975
3405
  inherits: false;
1976
3406
  }
1977
- @property --tw-opacity {
3407
+ @property --tw-skew-x {
1978
3408
  syntax: "*";
1979
3409
  inherits: false;
1980
3410
  }
1981
- @property --tw-saturate {
3411
+ @property --tw-skew-y {
1982
3412
  syntax: "*";
1983
3413
  inherits: false;
1984
3414
  }
1985
- @property --tw-sepia {
3415
+ @property --tw-border-style {
1986
3416
  syntax: "*";
1987
3417
  inherits: false;
3418
+ initial-value: solid;
1988
3419
  }
1989
- @property --tw-drop-shadow {
3420
+ @property --tw-leading {
3421
+ syntax: "*";
3422
+ inherits: false;
3423
+ }
3424
+ @property --tw-font-weight {
3425
+ syntax: "*";
3426
+ inherits: false;
3427
+ }
3428
+ @property --tw-shadow {
3429
+ syntax: "*";
3430
+ inherits: false;
3431
+ initial-value: 0 0 #0000;
3432
+ }
3433
+ @property --tw-shadow-color {
3434
+ syntax: "*";
3435
+ inherits: false;
3436
+ }
3437
+ @property --tw-shadow-alpha {
3438
+ syntax: "<percentage>";
3439
+ inherits: false;
3440
+ initial-value: 100%;
3441
+ }
3442
+ @property --tw-inset-shadow {
3443
+ syntax: "*";
3444
+ inherits: false;
3445
+ initial-value: 0 0 #0000;
3446
+ }
3447
+ @property --tw-inset-shadow-color {
3448
+ syntax: "*";
3449
+ inherits: false;
3450
+ }
3451
+ @property --tw-inset-shadow-alpha {
3452
+ syntax: "<percentage>";
3453
+ inherits: false;
3454
+ initial-value: 100%;
3455
+ }
3456
+ @property --tw-ring-color {
3457
+ syntax: "*";
3458
+ inherits: false;
3459
+ }
3460
+ @property --tw-ring-shadow {
3461
+ syntax: "*";
3462
+ inherits: false;
3463
+ initial-value: 0 0 #0000;
3464
+ }
3465
+ @property --tw-inset-ring-color {
3466
+ syntax: "*";
3467
+ inherits: false;
3468
+ }
3469
+ @property --tw-inset-ring-shadow {
3470
+ syntax: "*";
3471
+ inherits: false;
3472
+ initial-value: 0 0 #0000;
3473
+ }
3474
+ @property --tw-ring-inset {
3475
+ syntax: "*";
3476
+ inherits: false;
3477
+ }
3478
+ @property --tw-ring-offset-width {
3479
+ syntax: "<length>";
3480
+ inherits: false;
3481
+ initial-value: 0px;
3482
+ }
3483
+ @property --tw-ring-offset-color {
3484
+ syntax: "*";
3485
+ inherits: false;
3486
+ initial-value: #fff;
3487
+ }
3488
+ @property --tw-ring-offset-shadow {
3489
+ syntax: "*";
3490
+ inherits: false;
3491
+ initial-value: 0 0 #0000;
3492
+ }
3493
+ @property --tw-outline-style {
3494
+ syntax: "*";
3495
+ inherits: false;
3496
+ initial-value: solid;
3497
+ }
3498
+ @property --tw-blur {
3499
+ syntax: "*";
3500
+ inherits: false;
3501
+ }
3502
+ @property --tw-brightness {
3503
+ syntax: "*";
3504
+ inherits: false;
3505
+ }
3506
+ @property --tw-contrast {
3507
+ syntax: "*";
3508
+ inherits: false;
3509
+ }
3510
+ @property --tw-grayscale {
3511
+ syntax: "*";
3512
+ inherits: false;
3513
+ }
3514
+ @property --tw-hue-rotate {
3515
+ syntax: "*";
3516
+ inherits: false;
3517
+ }
3518
+ @property --tw-invert {
3519
+ syntax: "*";
3520
+ inherits: false;
3521
+ }
3522
+ @property --tw-opacity {
3523
+ syntax: "*";
3524
+ inherits: false;
3525
+ }
3526
+ @property --tw-saturate {
3527
+ syntax: "*";
3528
+ inherits: false;
3529
+ }
3530
+ @property --tw-sepia {
3531
+ syntax: "*";
3532
+ inherits: false;
3533
+ }
3534
+ @property --tw-drop-shadow {
1990
3535
  syntax: "*";
1991
3536
  inherits: false;
1992
3537
  }
@@ -2057,9 +3602,40 @@
2057
3602
  transform: rotate(360deg);
2058
3603
  }
2059
3604
  }
3605
+ @keyframes enter {
3606
+ from {
3607
+ opacity: var(--tw-enter-opacity,1);
3608
+ 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));
3609
+ filter: blur(var(--tw-enter-blur,0));
3610
+ }
3611
+ }
3612
+ @keyframes exit {
3613
+ to {
3614
+ opacity: var(--tw-exit-opacity,1);
3615
+ 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));
3616
+ filter: blur(var(--tw-exit-blur,0));
3617
+ }
3618
+ }
2060
3619
  @layer properties {
2061
3620
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
2062
3621
  .room-platform-room *, .room-platform-room ::before, .room-platform-room ::after, .room-platform-room ::backdrop {
3622
+ --tw-animation-delay: 0s;
3623
+ --tw-animation-direction: normal;
3624
+ --tw-animation-duration: initial;
3625
+ --tw-animation-fill-mode: none;
3626
+ --tw-animation-iteration-count: 1;
3627
+ --tw-enter-blur: 0;
3628
+ --tw-enter-opacity: 1;
3629
+ --tw-enter-rotate: 0;
3630
+ --tw-enter-scale: 1;
3631
+ --tw-enter-translate-x: 0;
3632
+ --tw-enter-translate-y: 0;
3633
+ --tw-exit-blur: 0;
3634
+ --tw-exit-opacity: 1;
3635
+ --tw-exit-rotate: 0;
3636
+ --tw-exit-scale: 1;
3637
+ --tw-exit-translate-x: 0;
3638
+ --tw-exit-translate-y: 0;
2063
3639
  --tw-translate-x: 0;
2064
3640
  --tw-translate-y: 0;
2065
3641
  --tw-translate-z: 0;
@@ -2200,1103 +3776,573 @@
2200
3776
  }
2201
3777
 
2202
3778
  .room-platform-shell-body {
2203
- display: grid;
2204
- flex: 1;
2205
- grid-template-columns: minmax(0, 1fr);
2206
- min-height: 0;
2207
- position: relative;
2208
- }
2209
-
2210
- .room-platform-shell-body--sidebar {
2211
- grid-template-columns: minmax(0, 1fr) minmax(16.25rem, 18.75rem);
2212
- }
2213
-
2214
- .room-platform-shell-main {
2215
- display: flex;
2216
- min-height: 0;
2217
- min-width: 0;
2218
- overflow: hidden;
2219
- position: relative;
2220
- }
2221
-
2222
- .room-platform-shell-sidebar {
2223
- display: flex;
2224
- min-height: 0;
2225
- position: relative;
2226
- width: 100%;
2227
- }
2228
-
2229
- .room-platform-shell-sidebar-content {
2230
- flex: 1;
2231
- min-height: 0;
2232
- overflow: hidden;
2233
- }
2234
-
2235
- .room-platform-shell-sidebar-open,
2236
- .room-platform-shell-sidebar-close {
2237
- position: absolute;
2238
- z-index: 40;
2239
- }
2240
-
2241
- .room-platform-shell-sidebar-open {
2242
- right: 1rem;
2243
- top: 1rem;
2244
- }
2245
-
2246
- .room-platform-shell-sidebar-close {
2247
- left: 0;
2248
- top: 0.75rem;
2249
- transform: translateX(-100%);
2250
- }
2251
-
2252
- .room-platform-top-bar {
2253
- align-items: center;
2254
- background: #0f172a;
2255
- border-bottom: 1px solid rgb(255 255 255 / 10%);
2256
- color: #fff;
2257
- display: flex;
2258
- flex-wrap: wrap;
2259
- gap: 0.75rem;
2260
- justify-content: space-between;
2261
- min-height: 4.5rem;
2262
- padding: 0.75rem 1rem;
2263
- }
2264
-
2265
- .room-platform-top-bar h1,
2266
- .room-platform-top-bar p {
2267
- margin: 0;
2268
- }
2269
-
2270
- .room-platform-top-bar h1 {
2271
- color: #fff;
2272
- font-size: 1.125rem;
2273
- }
2274
-
2275
- .room-platform-eyebrow {
2276
- color: #cbd5e1;
2277
- font-size: 0.75rem;
2278
- font-weight: 600;
2279
- text-transform: uppercase;
2280
- }
2281
-
2282
- .room-platform-top-bar-heading,
2283
- .room-platform-top-bar-trailing {
2284
- align-items: center;
2285
- display: flex;
2286
- flex-wrap: wrap;
2287
- gap: 0.5rem;
2288
- }
2289
-
2290
- .room-platform-top-bar-trailing {
2291
- justify-content: flex-end;
2292
- }
2293
-
2294
- .room-platform-media-controls {
2295
- align-items: center;
2296
- display: flex;
2297
- flex-wrap: wrap;
2298
- gap: 0.375rem;
2299
- }
2300
-
2301
- .room-platform-media-controls .room-platform-button {
2302
- font-size: 0.8125rem;
2303
- }
2304
-
2305
- .room-platform-status {
2306
- border-radius: 999px;
2307
- font-size: 0.8rem;
2308
- font-weight: 600;
2309
- padding: 0.25rem 0.625rem;
2310
- }
2311
-
2312
- .room-platform-status[data-status='connected'] {
2313
- background: #dcfae6;
2314
- color: #166534;
2315
- }
2316
-
2317
- .room-platform-status[data-status='error'] {
2318
- background: #fee2e2;
2319
- color: #b42318;
2320
- }
2321
-
2322
- .room-platform-status[data-status='connecting'],
2323
- .room-platform-status[data-status='reconnecting'] {
2324
- background: #fff3d6;
2325
- color: #9a4f00;
2326
- }
2327
-
2328
- .room-platform-main {
2329
- display: flex;
2330
- flex: 1;
2331
- gap: 1rem;
2332
- min-height: 0;
2333
- min-width: 0;
2334
- padding: 1rem;
2335
- position: relative;
2336
- }
2337
-
2338
- .room-platform-stage-area {
2339
- flex: 1;
2340
- min-height: 26rem;
2341
- min-width: 0;
2342
- position: relative;
2343
- }
2344
-
2345
- .room-platform-stage {
2346
- align-items: center;
2347
- background: linear-gradient(135deg, #1e2a5b, #3c4b89);
2348
- color: #fff;
2349
- display: flex;
2350
- height: 100%;
2351
- justify-content: center;
2352
- overflow: hidden;
2353
- padding: 1rem;
2354
- position: relative;
2355
- }
2356
-
2357
- .room-platform-stage-title {
2358
- font-size: 1.125rem;
2359
- font-weight: 700;
2360
- }
2361
-
2362
- .room-platform-workspace-overlay {
2363
- align-items: center;
2364
- display: flex;
2365
- height: 100%;
2366
- justify-content: center;
2367
- overflow: auto;
2368
- width: 100%;
2369
- }
2370
-
2371
- .room-platform-workspace-alongside {
2372
- min-width: 18rem;
2373
- width: 35%;
2374
- }
2375
-
2376
- .room-platform-sidebar {
2377
- background: var(--room-platform-surface);
2378
- border: 1px solid var(--room-platform-border);
2379
- border-radius: 8px;
2380
- min-width: 0;
2381
- overflow: hidden;
2382
- width: 100%;
2383
- }
2384
-
2385
- .room-platform-control-anchor {
2386
- align-items: stretch;
2387
- display: flex;
2388
- flex: 1;
2389
- justify-content: center;
2390
- min-height: 0;
2391
- min-width: 0;
2392
- overflow: hidden;
2393
- position: relative;
2394
- }
2395
-
2396
- .room-platform-control-bar {
2397
- bottom: 0;
2398
- display: flex;
2399
- justify-content: center;
2400
- left: 0;
2401
- margin: auto;
2402
- padding: 0 0.75rem 0.75rem;
2403
- position: absolute;
2404
- right: 0;
2405
- transition: transform 200ms ease;
2406
- width: fit-content;
2407
- z-index: 40;
2408
- }
2409
-
2410
- .room-platform-control-bar--hidden {
2411
- transform: translateY(calc(100% - 0.75rem));
2412
- }
2413
-
2414
- .room-platform-control-reveal {
2415
- bottom: 0.25rem;
2416
- left: 50%;
2417
- position: absolute;
2418
- transform: translateX(-50%);
2419
- z-index: 30;
2420
- }
2421
-
2422
- .room-platform-side-media {
2423
- display: grid;
2424
- gap: 0.75rem;
2425
- padding: 0.75rem;
2426
- }
2427
-
2428
- .room-platform-video-tile {
2429
- background: #0f172a;
2430
- border-radius: 8px;
2431
- color: #fff;
2432
- min-height: 0;
2433
- overflow: hidden;
2434
- position: relative;
2435
- width: 100%;
2436
- }
2437
-
2438
- .room-platform-video-tile--preview,
2439
- .room-platform-video-tile--active-speaker {
2440
- aspect-ratio: 16 / 9;
2441
- }
2442
-
2443
- .room-platform-video-tile--stage,
2444
- .room-platform-video-tile--overlay {
2445
- height: 100%;
2446
- }
2447
-
2448
- .room-platform-video-tile-media {
2449
- display: block;
2450
- height: 100%;
2451
- object-fit: cover;
2452
- width: 100%;
2453
- }
2454
-
2455
- .room-platform-video-tile--stage .room-platform-video-tile-media {
2456
- object-fit: contain;
2457
- }
2458
-
2459
- .room-platform-video-tile-media--mirrored {
2460
- transform: scaleX(-1);
2461
- }
2462
-
2463
- .room-platform-video-tile-label {
2464
- background: rgb(15 23 42 / 75%);
2465
- border-radius: 999px;
2466
- bottom: 0.5rem;
2467
- font-size: 0.75rem;
2468
- font-weight: 700;
2469
- left: 0.5rem;
2470
- max-width: calc(100% - 1rem);
2471
- overflow: hidden;
2472
- padding: 0.25rem 0.5rem;
2473
- position: absolute;
2474
- text-overflow: ellipsis;
2475
- white-space: nowrap;
2476
- z-index: 15;
2477
- }
2478
-
2479
- .room-platform-video-tile-empty {
2480
- align-items: center;
2481
- display: flex;
2482
- font-size: 0.8125rem;
2483
- height: 100%;
2484
- justify-content: center;
2485
- margin: 0;
2486
- min-height: 8rem;
2487
- padding: 1rem;
2488
- text-align: center;
2489
- }
2490
-
2491
- .room-platform-tabs {
2492
- border-bottom: 1px solid var(--room-platform-border);
2493
- display: flex;
2494
- gap: 0.25rem;
2495
- overflow-x: auto;
2496
- padding: 0.5rem;
2497
- }
2498
-
2499
- .room-platform-tab {
2500
- background: transparent;
2501
- border: 0;
2502
- border-radius: 6px;
2503
- color: #475569;
2504
- cursor: pointer;
2505
- font: inherit;
2506
- font-size: 0.875rem;
2507
- padding: 0.4rem 0.6rem;
2508
- white-space: nowrap;
2509
- }
2510
-
2511
- .room-platform-tab[aria-selected='true'] {
2512
- background: #e9edf9;
2513
- color: var(--room-platform-navy);
2514
- font-weight: 700;
2515
- }
2516
-
2517
- .room-platform-tab-panel {
2518
- padding: 0.75rem;
2519
- }
2520
-
2521
- .room-platform-participant-list {
2522
- display: grid;
2523
- gap: 0.5rem;
2524
- }
2525
-
2526
- .room-platform-participant-row {
2527
- align-items: center;
2528
- display: flex;
2529
- gap: 0.5rem;
2530
- justify-content: space-between;
2531
- padding: 0.625rem;
2532
- }
2533
-
2534
- .room-platform-participant-name,
2535
- .room-platform-participant-subtitle {
2536
- margin: 0;
2537
- }
2538
-
2539
- .room-platform-participant-name {
2540
- font-size: 0.875rem;
2541
- font-weight: 700;
2542
- }
2543
-
2544
- .room-platform-participant-subtitle {
2545
- color: #64748b;
2546
- font-size: 0.75rem;
2547
- }
2548
-
2549
- .room-platform-participant-row-trailing,
2550
- .room-platform-participant-actions {
2551
- align-items: center;
2552
- display: flex;
2553
- flex-wrap: wrap;
2554
- gap: 0.375rem;
2555
- justify-content: flex-end;
2556
- }
2557
-
2558
- .room-platform-participant-actions .room-platform-button {
2559
- font-size: 0.75rem;
2560
- min-height: 1.75rem;
2561
- padding: 0.25rem 0.5rem;
2562
- }
2563
-
2564
- .room-platform-action-error {
2565
- color: #b42318;
2566
- font-size: 0.8125rem;
2567
- margin: 0.5rem 0 0;
2568
- }
2569
-
2570
- .room-platform-error {
2571
- color: #fca5a5;
2572
- font-size: 0.8125rem;
2573
- margin: 0.5rem 0 0;
2574
- }
2575
-
2576
- .room-platform-empty {
2577
- color: #64748b;
2578
- font-size: 0.875rem;
2579
- margin: 0;
2580
- padding: 1rem 0;
2581
- text-align: center;
2582
- }
2583
-
2584
- .room-platform-whiteboard {
2585
- height: 100%;
2586
- width: 100%;
2587
- }
2588
-
2589
- .room-platform-surface-error {
2590
- align-items: center;
2591
- background: rgb(15 23 42 / 88%);
2592
- color: #fff;
2593
- display: flex;
2594
- height: 100%;
2595
- justify-content: center;
2596
- margin: 0;
2597
- padding: 1rem;
2598
- text-align: center;
2599
- width: 100%;
2600
- }
2601
-
2602
- .room-platform-start-audio {
2603
- background: #242f62;
2604
- border: 0;
2605
- border-radius: 8px;
2606
- color: #fff;
2607
- cursor: pointer;
2608
- left: 50%;
2609
- padding: 0.625rem 1rem;
2610
- position: fixed;
2611
- top: 1rem;
2612
- transform: translateX(-50%);
2613
- z-index: 50;
2614
- }
2615
-
2616
- .room-platform-start-audio:focus-visible {
2617
- outline: 3px solid #eb6619;
2618
- outline-offset: 2px;
2619
- }
2620
-
2621
- .room-platform-stage-frame {
2622
- align-items: center;
2623
- background: #0f172a;
2624
- border-radius: 8px;
2625
- display: flex;
2626
- justify-content: center;
2627
- max-height: 100%;
2628
- max-width: 100%;
2629
- overflow: hidden;
2630
- position: relative;
2631
- width: 100%;
2632
- }
2633
-
2634
- .room-platform-stage-frame > video {
2635
- display: block;
2636
- height: 100%;
2637
- object-fit: contain;
2638
- width: 100%;
2639
- }
2640
-
2641
- .room-platform-stage-content {
2642
- inset: 0;
2643
- position: absolute;
2644
- z-index: 10;
2645
- }
2646
-
2647
- .room-platform-stage-camera-overlay {
2648
- aspect-ratio: 16 / 9;
2649
- left: 1rem;
2650
- max-width: 40%;
2651
- overflow: hidden;
2652
- position: absolute;
2653
- top: 1rem;
2654
- width: 12rem;
2655
- z-index: 20;
2656
- }
2657
-
2658
- .room-platform-stage-camera-overlay video {
2659
- height: 100%;
2660
- object-fit: cover;
2661
- width: 100%;
2662
- }
2663
-
2664
- .room-platform-stage-status {
2665
- background: rgb(15 23 42 / 80%);
2666
- border-radius: 999px;
2667
- color: #dbeafe;
2668
- left: 50%;
2669
- margin: 0;
2670
- padding: 0.375rem 0.75rem;
2671
- position: absolute;
2672
- top: 1.5rem;
2673
- transform: translateX(-50%);
2674
- z-index: 30;
2675
- }
2676
-
2677
- @media (max-width: 900px) {
2678
- .room-platform-stage-area {
2679
- min-height: 20rem;
2680
- }
2681
- }
2682
-
2683
- @media (max-width: 767px) {
2684
- .room-platform-shell-body {
2685
- grid-template-columns: 1fr;
2686
- grid-template-rows: minmax(15rem, 45dvh) minmax(0, 1fr);
2687
- }
2688
-
2689
- .room-platform-shell-body > .room-platform-shell-main:only-child {
2690
- grid-row: 1 / -1;
2691
- }
2692
-
2693
- .room-platform-shell-sidebar {
2694
- max-width: none;
2695
- }
2696
-
2697
- .room-platform-top-bar {
2698
- align-items: flex-start;
2699
- flex-direction: column;
2700
- gap: 0.75rem;
2701
- }
2702
-
2703
- .room-platform-top-bar-heading,
2704
- .room-platform-top-bar-trailing {
2705
- justify-content: flex-start;
2706
- width: 100%;
2707
- }
3779
+ display: grid;
3780
+ flex: 1;
3781
+ grid-template-columns: minmax(0, 1fr);
3782
+ min-height: 0;
3783
+ position: relative;
3784
+ }
2708
3785
 
2709
- .room-platform-main {
2710
- flex-direction: column;
2711
- padding: 0.5rem;
2712
- }
3786
+ .room-platform-shell-body--sidebar {
3787
+ grid-template-columns: minmax(0, 1fr) minmax(16.25rem, 18.75rem);
3788
+ }
2713
3789
 
2714
- .room-platform-workspace-alongside {
2715
- min-width: 0;
2716
- width: 100%;
2717
- }
3790
+ .room-platform-shell-main {
3791
+ display: flex;
3792
+ min-height: 0;
3793
+ min-width: 0;
3794
+ overflow: hidden;
3795
+ position: relative;
2718
3796
  }
2719
- /* @naviedu/room-platform-react bundled chat styles */
2720
- .navi-chat__panel {
3797
+
3798
+ .room-platform-shell-sidebar {
2721
3799
  display: flex;
2722
- flex-direction: column;
3800
+ min-height: 0;
3801
+ position: relative;
2723
3802
  width: 100%;
2724
- height: 100%;
3803
+ }
3804
+
3805
+ .room-platform-shell-sidebar-content {
3806
+ flex: 1;
2725
3807
  min-height: 0;
2726
3808
  overflow: hidden;
2727
- border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2728
- border-radius: var(--navi-chat-radius, 10px);
2729
- background: var(--navi-chat-color-surface, #ffffff);
2730
- color: var(--navi-chat-color-text, #111827);
2731
- font-family: var(--navi-chat-font-family, Inter, ui-sans-serif, system-ui, sans-serif);
2732
3809
  }
2733
3810
 
2734
- .navi-chat__header {
2735
- display: flex;
2736
- align-items: center;
2737
- justify-content: space-between;
2738
- gap: 12px;
2739
- flex: 0 0 auto;
2740
- padding: 10px 12px;
2741
- border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);
2742
- background: #f8fafc;
3811
+ .room-platform-shell-sidebar-open,
3812
+ .room-platform-shell-sidebar-close {
3813
+ position: absolute;
3814
+ z-index: 40;
2743
3815
  }
2744
3816
 
2745
- .navi-chat__header-main {
2746
- min-width: 0;
3817
+ .room-platform-shell-sidebar-open {
3818
+ right: 1rem;
3819
+ top: 1rem;
2747
3820
  }
2748
3821
 
2749
- .navi-chat__title {
2750
- display: inline-flex;
2751
- align-items: center;
2752
- gap: 6px;
2753
- margin: 0;
2754
- overflow: hidden;
2755
- color: var(--navi-chat-color-text, #111827);
2756
- font-size: 14px;
2757
- font-weight: 700;
2758
- line-height: 1.25;
2759
- text-overflow: ellipsis;
2760
- white-space: nowrap;
3822
+ .room-platform-shell-sidebar-close {
3823
+ left: 0;
3824
+ top: 0.75rem;
3825
+ transform: translateX(-100%);
2761
3826
  }
2762
3827
 
2763
- .navi-chat__online-count {
2764
- display: inline-flex;
3828
+ .room-platform-top-bar {
2765
3829
  align-items: center;
2766
- justify-content: center;
2767
- min-width: 20px;
2768
- height: 20px;
2769
- border-radius: 999px;
2770
- background: #eff6ff;
2771
- color: var(--navi-chat-color-primary, #2563eb);
2772
- font-size: 12px;
2773
- font-weight: 700;
2774
- line-height: 1;
2775
- padding: 0 6px;
3830
+ background: #0f172a;
3831
+ border-bottom: 1px solid rgb(255 255 255 / 10%);
3832
+ color: #fff;
3833
+ display: flex;
3834
+ flex-wrap: wrap;
3835
+ gap: 0.75rem;
3836
+ justify-content: space-between;
3837
+ min-height: 4.5rem;
3838
+ padding: 0.75rem 1rem;
2776
3839
  }
2777
3840
 
2778
- .navi-chat__header-meta {
2779
- display: flex;
2780
- flex: 0 0 auto;
2781
- align-items: center;
2782
- gap: 8px;
3841
+ .room-platform-top-bar h1,
3842
+ .room-platform-top-bar p {
3843
+ margin: 0;
2783
3844
  }
2784
3845
 
2785
- .navi-chat__role-badge {
2786
- border-radius: 999px;
2787
- background: #eff6ff;
2788
- color: var(--navi-chat-color-primary, #2563eb);
2789
- font-size: 12px;
3846
+ .room-platform-top-bar h1 {
3847
+ color: #fff;
3848
+ font-size: 1.125rem;
3849
+ }
3850
+
3851
+ .room-platform-eyebrow {
3852
+ color: #cbd5e1;
3853
+ font-size: 0.75rem;
2790
3854
  font-weight: 600;
2791
- line-height: 1;
2792
- padding: 5px 8px;
3855
+ text-transform: uppercase;
2793
3856
  }
2794
3857
 
2795
- .navi-chat__rooms {
3858
+ .room-platform-top-bar-heading,
3859
+ .room-platform-top-bar-trailing {
3860
+ align-items: center;
2796
3861
  display: flex;
2797
- flex: 0 0 auto;
2798
- gap: 6px;
2799
- overflow-x: auto;
2800
- padding: 10px;
2801
- border-bottom: 1px solid var(--navi-chat-color-border, #d8e0ea);
3862
+ flex-wrap: wrap;
3863
+ gap: 0.5rem;
2802
3864
  }
2803
3865
 
2804
- .navi-chat__room-tab,
2805
- .navi-chat__send-button,
2806
- .navi-chat__message-action,
2807
- .navi-chat__message-menu-trigger,
2808
- .navi-chat__message-menu-item,
2809
- .navi-chat__message-edit-button,
2810
- .navi-chat__message-edit-input {
2811
- font: inherit;
3866
+ .room-platform-top-bar-trailing {
3867
+ justify-content: flex-end;
2812
3868
  }
2813
3869
 
2814
- .navi-chat__room-tab {
2815
- display: inline-flex;
3870
+ .room-platform-media-controls {
2816
3871
  align-items: center;
2817
- gap: 6px;
2818
- min-width: 0;
2819
- max-width: 160px;
2820
- border: 0;
2821
- border-radius: 8px;
2822
- background: #f1f5f9;
2823
- color: #475569;
2824
- cursor: pointer;
2825
- padding: 7px 10px;
3872
+ display: flex;
3873
+ flex-wrap: wrap;
3874
+ gap: 0.375rem;
2826
3875
  }
2827
3876
 
2828
- .navi-chat__room-tab--active {
2829
- background: var(--navi-chat-color-primary, #2563eb);
2830
- color: #ffffff;
3877
+ .room-platform-media-controls .room-platform-button {
3878
+ font-size: 0.8125rem;
2831
3879
  }
2832
3880
 
2833
- .navi-chat__room-tab-label {
2834
- display: block;
2835
- min-width: 0;
2836
- overflow: hidden;
2837
- text-overflow: ellipsis;
2838
- white-space: nowrap;
3881
+ .room-platform-status {
3882
+ border-radius: 999px;
3883
+ font-size: 0.8rem;
3884
+ font-weight: 600;
3885
+ padding: 0.25rem 0.625rem;
2839
3886
  }
2840
3887
 
2841
- .navi-chat__unread-badge {
2842
- flex: 0 0 auto;
2843
- display: inline-flex;
2844
- align-items: center;
2845
- justify-content: center;
2846
- min-width: 18px;
2847
- height: 18px;
2848
- border-radius: 999px;
2849
- background: #eff6ff;
2850
- color: var(--navi-chat-color-primary, #2563eb);
2851
- font-size: 11px;
2852
- font-weight: 700;
2853
- line-height: 1;
2854
- padding: 0 5px;
3888
+ .room-platform-status[data-status='connected'] {
3889
+ background: #dcfae6;
3890
+ color: #166534;
3891
+ }
3892
+
3893
+ .room-platform-status[data-status='error'] {
3894
+ background: #fee2e2;
3895
+ color: #b42318;
2855
3896
  }
2856
3897
 
2857
- .navi-chat__room-tab--active .navi-chat__unread-badge {
2858
- background: rgba(255, 255, 255, 0.18);
2859
- color: #ffffff;
3898
+ .room-platform-status[data-status='connecting'],
3899
+ .room-platform-status[data-status='reconnecting'] {
3900
+ background: #fff3d6;
3901
+ color: #9a4f00;
2860
3902
  }
2861
3903
 
2862
- .navi-chat__messages {
3904
+ .room-platform-main {
2863
3905
  display: flex;
2864
- flex: 1 1 auto;
2865
- flex-direction: column;
3906
+ flex: 1;
3907
+ gap: 1rem;
2866
3908
  min-height: 0;
2867
- overflow-y: auto;
2868
- padding: 14px;
2869
- background: #fbfdff;
3909
+ min-width: 0;
3910
+ padding: 1rem;
3911
+ position: relative;
2870
3912
  }
2871
3913
 
2872
- .navi-chat__messages-stack {
2873
- display: flex;
2874
- flex-direction: column;
2875
- gap: 10px;
2876
- margin-top: auto;
3914
+ .room-platform-stage-area {
3915
+ flex: 1;
3916
+ min-height: 26rem;
3917
+ min-width: 0;
3918
+ position: relative;
2877
3919
  }
2878
3920
 
2879
- .navi-chat__empty {
2880
- display: flex;
2881
- flex: 1 1 auto;
2882
- flex-direction: column;
3921
+ .room-platform-stage {
2883
3922
  align-items: center;
3923
+ background: linear-gradient(135deg, #1e2a5b, #3c4b89);
3924
+ color: #fff;
3925
+ display: flex;
3926
+ height: 100%;
2884
3927
  justify-content: center;
2885
- min-height: 0;
2886
- padding: 24px;
2887
- background: #fbfdff;
2888
- color: #64748b;
2889
- text-align: center;
3928
+ overflow: hidden;
3929
+ padding: 1rem;
3930
+ position: relative;
3931
+ }
3932
+
3933
+ .room-platform-stage-title {
3934
+ font-size: 1.125rem;
3935
+ font-weight: 700;
2890
3936
  }
2891
3937
 
2892
- .navi-chat__empty strong {
2893
- margin-top: 8px;
2894
- color: #334155;
2895
- font-size: 14px;
3938
+ .room-platform-workspace-overlay {
3939
+ align-items: center;
3940
+ display: flex;
3941
+ height: 100%;
3942
+ justify-content: center;
3943
+ overflow: auto;
3944
+ width: 100%;
2896
3945
  }
2897
3946
 
2898
- .navi-chat__empty span {
2899
- margin-top: 4px;
2900
- font-size: 13px;
3947
+ .room-platform-workspace-alongside {
3948
+ min-width: 18rem;
3949
+ width: 35%;
2901
3950
  }
2902
3951
 
2903
- .navi-chat__empty-icon {
2904
- color: var(--navi-chat-color-primary, #2563eb);
2905
- font-size: 22px;
2906
- line-height: 1;
3952
+ .room-platform-sidebar {
3953
+ background: var(--room-platform-surface);
3954
+ border: 1px solid var(--room-platform-border);
3955
+ border-radius: 8px;
3956
+ min-width: 0;
3957
+ overflow: hidden;
3958
+ width: 100%;
2907
3959
  }
2908
3960
 
2909
- .navi-chat__message {
3961
+ .room-platform-control-anchor {
3962
+ align-items: stretch;
2910
3963
  display: flex;
3964
+ flex: 1;
3965
+ justify-content: center;
3966
+ min-height: 0;
3967
+ min-width: 0;
3968
+ overflow: hidden;
3969
+ position: relative;
2911
3970
  }
2912
3971
 
2913
- .navi-chat__message-group {
3972
+ .room-platform-control-bar {
3973
+ bottom: 0;
2914
3974
  display: flex;
2915
- flex-direction: column;
2916
- gap: 4px;
3975
+ justify-content: center;
3976
+ left: 0;
3977
+ margin: auto;
3978
+ padding: 0 0.75rem 0.75rem;
3979
+ position: absolute;
3980
+ right: 0;
3981
+ transition: transform 200ms ease;
3982
+ width: fit-content;
3983
+ z-index: 40;
2917
3984
  }
2918
3985
 
2919
- .navi-chat__loading-older {
2920
- align-self: center;
2921
- color: #64748b;
2922
- font-size: 12px;
2923
- font-weight: 600;
2924
- padding: 4px 0;
3986
+ .room-platform-control-bar--hidden {
3987
+ transform: translateY(calc(100% - 0.75rem));
2925
3988
  }
2926
3989
 
2927
- .navi-chat__message--own {
2928
- justify-content: flex-end;
3990
+ .room-platform-control-reveal {
3991
+ bottom: 0.25rem;
3992
+ left: 50%;
3993
+ position: absolute;
3994
+ transform: translateX(-50%);
3995
+ z-index: 30;
2929
3996
  }
2930
3997
 
2931
- .navi-chat__message-row {
2932
- position: relative;
2933
- display: flex;
2934
- align-items: flex-end;
2935
- gap: 6px;
2936
- min-width: 0;
2937
- max-width: min(82%, 560px);
3998
+ .room-platform-side-media {
3999
+ display: grid;
4000
+ gap: 0.75rem;
4001
+ padding: 0.75rem;
2938
4002
  }
2939
4003
 
2940
- .navi-chat__message-row--own {
2941
- flex-direction: row-reverse;
4004
+ .room-platform-video-tile {
4005
+ background: #0f172a;
4006
+ border-radius: 8px;
4007
+ color: #fff;
4008
+ min-height: 0;
4009
+ overflow: hidden;
4010
+ position: relative;
4011
+ width: 100%;
2942
4012
  }
2943
4013
 
2944
- .navi-chat__message-bubble {
2945
- min-width: 0;
2946
- max-width: 100%;
2947
- border: 1px solid var(--navi-chat-color-border, #d8e0ea);
2948
- border-radius: 10px;
2949
- background: #ffffff;
2950
- padding: 9px 11px;
2951
- box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
4014
+ .room-platform-video-tile--preview,
4015
+ .room-platform-video-tile--active-speaker {
4016
+ aspect-ratio: 16 / 9;
2952
4017
  }
2953
4018
 
2954
- .navi-chat__message--grouped .navi-chat__message-bubble {
2955
- padding-top: 8px;
4019
+ .room-platform-video-tile--stage,
4020
+ .room-platform-video-tile--overlay {
4021
+ height: 100%;
2956
4022
  }
2957
4023
 
2958
- .navi-chat__message--own .navi-chat__message-bubble {
2959
- border-color: var(--navi-chat-own-message-border, #bfdbfe);
2960
- background: var(--navi-chat-own-message-background, #eff6ff);
4024
+ .room-platform-video-tile-media {
4025
+ display: block;
4026
+ height: 100%;
4027
+ object-fit: cover;
4028
+ width: 100%;
2961
4029
  }
2962
4030
 
2963
- .navi-chat__message--deleted .navi-chat__message-bubble {
2964
- background: #f8fafc;
2965
- color: #64748b;
2966
- font-style: italic;
4031
+ .room-platform-video-tile--stage .room-platform-video-tile-media {
4032
+ object-fit: contain;
2967
4033
  }
2968
4034
 
2969
- .navi-chat__message-header {
2970
- display: flex;
2971
- align-items: center;
2972
- justify-content: space-between;
2973
- gap: 10px;
2974
- margin-bottom: 4px;
4035
+ .room-platform-video-tile-media--mirrored {
4036
+ transform: scaleX(-1);
2975
4037
  }
2976
4038
 
2977
- .navi-chat__message-author {
4039
+ .room-platform-video-tile-label {
4040
+ background: rgb(15 23 42 / 75%);
4041
+ border-radius: 999px;
4042
+ bottom: 0.5rem;
4043
+ font-size: 0.75rem;
4044
+ font-weight: 700;
4045
+ left: 0.5rem;
4046
+ max-width: calc(100% - 1rem);
2978
4047
  overflow: hidden;
2979
- color: #334155;
2980
- font-size: 12px;
2981
- font-weight: 700;
4048
+ padding: 0.25rem 0.5rem;
4049
+ position: absolute;
2982
4050
  text-overflow: ellipsis;
2983
4051
  white-space: nowrap;
4052
+ z-index: 15;
2984
4053
  }
2985
4054
 
2986
- .navi-chat__message-time {
2987
- color: #94a3b8;
2988
- font-size: 11px;
2989
- white-space: nowrap;
4055
+ .room-platform-video-tile-empty {
4056
+ align-items: center;
4057
+ display: flex;
4058
+ font-size: 0.8125rem;
4059
+ height: 100%;
4060
+ justify-content: center;
4061
+ margin: 0;
4062
+ min-height: 8rem;
4063
+ padding: 1rem;
4064
+ text-align: center;
2990
4065
  }
2991
4066
 
2992
- .navi-chat__message-text {
2993
- margin: 0;
2994
- color: var(--navi-chat-color-text, #111827);
2995
- font-size: 13px;
2996
- line-height: 1.45;
2997
- overflow-wrap: anywhere;
2998
- white-space: pre-wrap;
4067
+ .room-platform-tabs {
4068
+ border-bottom: 1px solid var(--room-platform-border);
4069
+ display: flex;
4070
+ gap: 0.25rem;
4071
+ overflow-x: auto;
4072
+ padding: 0.5rem;
2999
4073
  }
3000
4074
 
3001
- .navi-chat__message-action {
3002
- margin-top: 8px;
3003
- border: 0;
4075
+ .room-platform-tab {
3004
4076
  background: transparent;
3005
- color: var(--navi-chat-color-primary, #2563eb);
4077
+ border: 0;
4078
+ border-radius: 6px;
4079
+ color: #475569;
3006
4080
  cursor: pointer;
3007
- font-size: 12px;
3008
- font-weight: 600;
3009
- padding: 0;
4081
+ font: inherit;
4082
+ font-size: 0.875rem;
4083
+ padding: 0.4rem 0.6rem;
4084
+ white-space: nowrap;
3010
4085
  }
3011
4086
 
3012
- .navi-chat__message-menu {
3013
- position: absolute;
3014
- right: -30px;
3015
- bottom: 2px;
3016
- z-index: 3;
3017
- display: inline-flex;
3018
- flex: 0 0 auto;
3019
- opacity: 0;
3020
- pointer-events: none;
3021
- transition:
3022
- opacity 120ms ease,
3023
- transform 120ms ease;
3024
- transform: translateY(2px);
3025
- vertical-align: middle;
4087
+ .room-platform-tab[aria-selected='true'] {
4088
+ background: #e9edf9;
4089
+ color: var(--room-platform-navy);
4090
+ font-weight: 700;
3026
4091
  }
3027
4092
 
3028
- .navi-chat__message-row--own .navi-chat__message-menu {
3029
- right: auto;
3030
- left: -30px;
4093
+ .room-platform-tab-panel {
4094
+ padding: 0.75rem;
3031
4095
  }
3032
4096
 
3033
- .navi-chat__message:hover .navi-chat__message-menu,
3034
- .navi-chat__message:focus-within .navi-chat__message-menu,
3035
- .navi-chat__message-menu--open {
3036
- opacity: 1;
3037
- pointer-events: auto;
3038
- transform: translateY(0);
4097
+ .room-platform-participant-list {
4098
+ display: grid;
4099
+ gap: 0.5rem;
3039
4100
  }
3040
4101
 
3041
- .navi-chat__message-menu-trigger {
3042
- display: inline-flex;
4102
+ .room-platform-participant-row {
3043
4103
  align-items: center;
3044
- justify-content: center;
3045
- width: 24px;
3046
- height: 24px;
3047
- border: 1px solid var(--navi-chat-color-border, #d8e0ea);
3048
- border-radius: 999px;
3049
- background: #ffffff;
3050
- color: #64748b;
3051
- cursor: pointer;
3052
- font-size: 12px;
3053
- font-weight: 700;
3054
- line-height: 1;
3055
- padding: 0;
3056
- box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
3057
- }
3058
-
3059
- .navi-chat__message-menu-trigger:hover,
3060
- .navi-chat__message-menu-trigger:focus-visible {
3061
- border-color: #bfdbfe;
3062
- background: #eff6ff;
3063
- color: var(--navi-chat-color-primary, #2563eb);
3064
- }
3065
-
3066
- .navi-chat__message-menu-popover {
3067
- position: absolute;
3068
- right: 0;
3069
- bottom: 32px;
3070
- z-index: 2;
3071
4104
  display: flex;
3072
- min-width: 82px;
3073
- flex-direction: column;
3074
- overflow: hidden;
3075
- border: 1px solid var(--navi-chat-color-border, #d8e0ea);
3076
- border-radius: 8px;
3077
- background: #ffffff;
3078
- box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
4105
+ gap: 0.5rem;
4106
+ justify-content: space-between;
4107
+ padding: 0.625rem;
3079
4108
  }
3080
4109
 
3081
- .navi-chat__message-row--own .navi-chat__message-menu-popover {
3082
- right: auto;
3083
- left: 0;
4110
+ .room-platform-participant-name,
4111
+ .room-platform-participant-subtitle {
4112
+ margin: 0;
3084
4113
  }
3085
4114
 
3086
- .navi-chat__message-menu-item {
3087
- border: 0;
3088
- background: transparent;
3089
- color: var(--navi-chat-color-text, #111827);
3090
- cursor: pointer;
3091
- font-size: 12px;
3092
- font-weight: 600;
3093
- line-height: 1;
3094
- padding: 8px 10px;
3095
- text-align: left;
4115
+ .room-platform-participant-name {
4116
+ font-size: 0.875rem;
4117
+ font-weight: 700;
3096
4118
  }
3097
4119
 
3098
- .navi-chat__message-menu-item:hover,
3099
- .navi-chat__message-menu-item:focus-visible {
3100
- background: #f1f5f9;
3101
- color: var(--navi-chat-color-primary, #2563eb);
4120
+ .room-platform-participant-subtitle {
4121
+ color: #64748b;
4122
+ font-size: 0.75rem;
3102
4123
  }
3103
4124
 
3104
- .navi-chat__message-edit {
3105
- display: flex;
3106
- flex-direction: column;
3107
- gap: 6px;
4125
+ .room-platform-participant-presence {
4126
+ color: #64748b;
4127
+ font-size: 0.75rem;
4128
+ font-weight: 500;
4129
+ margin: 0.25rem 0 0;
3108
4130
  }
3109
4131
 
3110
- .navi-chat__message-edit-input {
3111
- box-sizing: border-box;
3112
- width: min(280px, 100%);
3113
- min-height: 64px;
3114
- resize: vertical;
3115
- border: 1px solid #cbd5e1;
3116
- border-radius: 8px;
3117
- background: #ffffff;
3118
- color: var(--navi-chat-color-text, #111827);
3119
- font-size: 13px;
3120
- line-height: 1.4;
3121
- padding: 8px 9px;
4132
+ .room-platform-participant-presence[data-online='true'] {
4133
+ color: #16a34a;
3122
4134
  }
3123
4135
 
3124
- .navi-chat__message-edit-actions {
4136
+ .room-platform-participant-row-trailing,
4137
+ .room-platform-participant-actions {
4138
+ align-items: center;
3125
4139
  display: flex;
4140
+ flex-wrap: wrap;
4141
+ gap: 0.375rem;
3126
4142
  justify-content: flex-end;
3127
- gap: 6px;
3128
4143
  }
3129
4144
 
3130
- .navi-chat__message-edit-button {
3131
- border: 1px solid var(--navi-chat-color-border, #d8e0ea);
3132
- border-radius: 7px;
3133
- background: #ffffff;
3134
- color: #334155;
3135
- cursor: pointer;
3136
- font-size: 12px;
3137
- font-weight: 700;
3138
- line-height: 1;
3139
- padding: 7px 9px;
4145
+ .room-platform-participant-actions .room-platform-button {
4146
+ font-size: 0.75rem;
4147
+ min-height: 1.75rem;
4148
+ padding: 0.25rem 0.5rem;
4149
+ }
4150
+
4151
+ .room-platform-action-error {
4152
+ color: #b42318;
4153
+ font-size: 0.8125rem;
4154
+ margin: 0.5rem 0 0;
3140
4155
  }
3141
4156
 
3142
- .navi-chat__message-edit-button--primary {
3143
- border-color: var(--navi-chat-color-primary, #2563eb);
3144
- background: var(--navi-chat-color-primary, #2563eb);
3145
- color: #ffffff;
4157
+ .room-platform-error {
4158
+ color: #fca5a5;
4159
+ font-size: 0.8125rem;
4160
+ margin: 0.5rem 0 0;
3146
4161
  }
3147
4162
 
3148
- .navi-chat__latest-overlay {
3149
- position: sticky;
3150
- bottom: 8px;
3151
- align-self: stretch;
3152
- box-sizing: border-box;
3153
- display: grid;
3154
- grid-template-columns: 1fr auto 1fr;
3155
- align-items: center;
3156
- gap: 8px;
3157
- margin-top: 8px;
3158
- pointer-events: none;
4163
+ .room-platform-empty {
4164
+ color: #64748b;
4165
+ font-size: 0.875rem;
4166
+ margin: 0;
4167
+ padding: 1rem 0;
4168
+ text-align: center;
3159
4169
  }
3160
4170
 
3161
- .navi-chat__new-message-notice {
3162
- grid-column: 2;
3163
- border: 1px solid var(--navi-chat-color-border, #d8e0ea);
3164
- border-radius: 999px;
3165
- background: #ffffff;
3166
- color: var(--navi-chat-color-primary, #2563eb);
3167
- font-size: 12px;
3168
- font-weight: 700;
3169
- line-height: 1;
3170
- padding: 8px 12px;
3171
- box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
4171
+ .room-platform-whiteboard {
4172
+ height: 100%;
4173
+ width: 100%;
3172
4174
  }
3173
4175
 
3174
- .navi-chat__scroll-latest {
3175
- grid-column: 3;
3176
- justify-self: end;
3177
- box-sizing: border-box;
3178
- flex: 0 0 auto;
3179
- display: inline-flex;
4176
+ .room-platform-surface-error {
3180
4177
  align-items: center;
4178
+ background: rgb(15 23 42 / 88%);
4179
+ color: #fff;
4180
+ display: flex;
4181
+ height: 100%;
3181
4182
  justify-content: center;
3182
- width: 34px;
3183
- height: 34px;
3184
- margin-right: 4px;
3185
- border: 1px solid var(--navi-chat-color-border, #d8e0ea);
3186
- border-radius: 50%;
3187
- background: #ffffff;
3188
- color: var(--navi-chat-color-primary, #2563eb);
3189
- cursor: pointer;
3190
- padding: 0;
3191
- pointer-events: auto;
3192
- box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
4183
+ margin: 0;
4184
+ padding: 1rem;
4185
+ text-align: center;
4186
+ width: 100%;
3193
4187
  }
3194
4188
 
3195
- .navi-chat__scroll-latest-icon {
3196
- width: 18px;
3197
- height: 18px;
3198
- fill: currentColor;
4189
+ .room-platform-start-audio {
4190
+ background: #242f62;
4191
+ border: 0;
4192
+ border-radius: 8px;
4193
+ color: #fff;
4194
+ cursor: pointer;
4195
+ left: 50%;
4196
+ padding: 0.625rem 1rem;
4197
+ position: fixed;
4198
+ top: 1rem;
4199
+ transform: translateX(-50%);
4200
+ z-index: 50;
3199
4201
  }
3200
4202
 
3201
- .navi-chat__composer {
3202
- display: flex;
3203
- flex: 0 0 auto;
3204
- align-items: flex-end;
3205
- gap: 8px;
3206
- padding: 10px;
3207
- border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);
3208
- background: #ffffff;
4203
+ .room-platform-start-audio:focus-visible {
4204
+ outline: 3px solid #eb6619;
4205
+ outline-offset: 2px;
3209
4206
  }
3210
4207
 
3211
- .navi-chat__composer-main {
4208
+ .room-platform-stage-frame {
4209
+ align-items: center;
4210
+ background: #0f172a;
4211
+ border-radius: 8px;
3212
4212
  display: flex;
3213
- flex: 1 1 auto;
3214
- min-width: 0;
3215
- flex-direction: column;
3216
- gap: 4px;
4213
+ justify-content: center;
4214
+ max-height: 100%;
4215
+ max-width: 100%;
4216
+ overflow: hidden;
4217
+ position: relative;
4218
+ width: 100%;
3217
4219
  }
3218
4220
 
3219
- .navi-chat__composer-input {
3220
- flex: 1 1 auto;
3221
- min-width: 0;
3222
- min-height: 38px;
3223
- max-height: 84px;
3224
- resize: vertical;
3225
- border: 1px solid #cbd5e1;
3226
- border-radius: 8px;
3227
- color: var(--navi-chat-color-text, #111827);
3228
- font: inherit;
3229
- font-size: 13px;
3230
- line-height: 1.4;
3231
- padding: 9px 10px;
4221
+ .room-platform-stage-frame > video {
4222
+ display: block;
4223
+ height: 100%;
4224
+ object-fit: contain;
4225
+ width: 100%;
3232
4226
  }
3233
4227
 
3234
- .navi-chat__composer-tip {
3235
- margin: 0;
3236
- color: #64748b;
3237
- font-size: 11px;
3238
- line-height: 1.3;
4228
+ .room-platform-stage-content {
4229
+ inset: 0;
4230
+ position: absolute;
4231
+ z-index: 10;
3239
4232
  }
3240
4233
 
3241
- .navi-chat__send-button {
3242
- flex: 0 0 auto;
3243
- display: inline-flex;
3244
- align-items: center;
3245
- justify-content: center;
3246
- align-self: center;
3247
- width: 44px;
3248
- height: 44px;
3249
- border: 0;
3250
- border-radius: 999px;
3251
- background: var(--navi-chat-color-primary, #2563eb);
3252
- color: #ffffff;
3253
- cursor: pointer;
3254
- padding: 0;
4234
+ .room-platform-stage-camera-overlay {
4235
+ aspect-ratio: 16 / 9;
4236
+ left: 1rem;
4237
+ max-width: 40%;
4238
+ overflow: hidden;
4239
+ position: absolute;
4240
+ top: 1rem;
4241
+ width: 12rem;
4242
+ z-index: 20;
3255
4243
  }
3256
4244
 
3257
- .navi-chat__send-button:disabled {
3258
- cursor: not-allowed;
3259
- opacity: 0.45;
4245
+ .room-platform-stage-camera-overlay video {
4246
+ height: 100%;
4247
+ object-fit: cover;
4248
+ width: 100%;
3260
4249
  }
3261
4250
 
3262
- .navi-chat__send-icon {
3263
- width: 18px;
3264
- height: 18px;
3265
- fill: currentColor;
4251
+ .room-platform-stage-status {
4252
+ background: rgb(15 23 42 / 80%);
4253
+ border-radius: 999px;
4254
+ color: #dbeafe;
4255
+ left: 50%;
4256
+ margin: 0;
4257
+ padding: 0.375rem 0.75rem;
4258
+ position: absolute;
4259
+ top: 1.5rem;
4260
+ transform: translateX(-50%);
4261
+ z-index: 30;
3266
4262
  }
3267
4263
 
3268
- .navi-chat__readonly {
3269
- flex: 0 0 auto;
3270
- border-top: 1px solid var(--navi-chat-color-border, #d8e0ea);
3271
- background: #f8fafc;
3272
- color: #64748b;
3273
- font-size: 13px;
3274
- padding: 12px 14px;
4264
+ @keyframes private-live-room-bell-ring {
4265
+ 0%,
4266
+ 52%,
4267
+ 100% {
4268
+ transform: rotate(0deg);
4269
+ }
4270
+ 6% {
4271
+ transform: rotate(14deg);
4272
+ }
4273
+ 12% {
4274
+ transform: rotate(-14deg);
4275
+ }
4276
+ 18% {
4277
+ transform: rotate(12deg);
4278
+ }
4279
+ 24% {
4280
+ transform: rotate(-10deg);
4281
+ }
4282
+ 30% {
4283
+ transform: rotate(8deg);
4284
+ }
4285
+ 38% {
4286
+ transform: rotate(-5deg);
4287
+ }
4288
+ 46% {
4289
+ transform: rotate(3deg);
4290
+ }
3275
4291
  }
3276
4292
 
3277
- .navi-chat__status {
4293
+ .private-live-room-ringing-bell {
3278
4294
  display: inline-flex;
3279
- align-items: center;
3280
- justify-content: center;
3281
- width: 18px;
3282
- height: 18px;
4295
+ animation: private-live-room-bell-ring 2.2s ease-in-out infinite;
4296
+ transform-box: fill-box;
4297
+ transform-origin: 50% 0%;
4298
+ will-change: transform;
3283
4299
  }
3284
4300
 
3285
- .navi-chat__status-dot {
3286
- width: 9px;
3287
- height: 9px;
3288
- border-radius: 999px;
3289
- background: #94a3b8;
4301
+ @media (prefers-reduced-motion: reduce) {
4302
+ .private-live-room-ringing-bell {
4303
+ animation: none;
4304
+ }
3290
4305
  }
3291
4306
 
3292
- .navi-chat__status--connected .navi-chat__status-dot {
3293
- background: #16a34a;
4307
+ @media (max-width: 900px) {
4308
+ .room-platform-stage-area {
4309
+ min-height: 20rem;
4310
+ }
3294
4311
  }
3295
4312
 
3296
- .navi-chat__status--muted .navi-chat__status-dot {
3297
- background: #94a3b8;
3298
- }
4313
+ @media (max-width: 767px) {
4314
+ .room-platform-shell-body {
4315
+ grid-template-columns: 1fr;
4316
+ grid-template-rows: minmax(15rem, 45dvh) minmax(0, 1fr);
4317
+ }
4318
+
4319
+ .room-platform-shell-body > .room-platform-shell-main:only-child {
4320
+ grid-row: 1 / -1;
4321
+ }
4322
+
4323
+ .room-platform-shell-sidebar {
4324
+ max-width: none;
4325
+ }
4326
+
4327
+ .room-platform-top-bar {
4328
+ align-items: flex-start;
4329
+ flex-direction: column;
4330
+ gap: 0.75rem;
4331
+ }
4332
+
4333
+ .room-platform-top-bar-heading,
4334
+ .room-platform-top-bar-trailing {
4335
+ justify-content: flex-start;
4336
+ width: 100%;
4337
+ }
4338
+
4339
+ .room-platform-main {
4340
+ flex-direction: column;
4341
+ padding: 0.5rem;
4342
+ }
3299
4343
 
3300
- .navi-chat__status--error .navi-chat__status-dot {
3301
- background: #dc2626;
4344
+ .room-platform-workspace-alongside {
4345
+ min-width: 0;
4346
+ width: 100%;
4347
+ }
3302
4348
  }