@kjun-ui/native 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/styles.css CHANGED
@@ -1042,785 +1042,6 @@
1042
1042
  letter-spacing: var(--_kjun-type-body-tracking);
1043
1043
  }
1044
1044
 
1045
- .kjun-scope :where(:is([class^="kjun-"], [class*=" kjun-"]):not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where(:is([class^="kjun-"], [class*=" kjun-"]):not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *, .kjun-scope :where(:is([class^="kjun-"], [class*=" kjun-"]):not(.kjun-scope), .kjun-scope[class*=" kjun-"])::before, .kjun-scope :where(:is([class^="kjun-"], [class*=" kjun-"]):not(.kjun-scope), .kjun-scope[class*=" kjun-"])::after, .kjun-scope :where(:is([class^="kjun-"], [class*=" kjun-"]):not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *::before, .kjun-scope :where(:is([class^="kjun-"], [class*=" kjun-"]):not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *::after, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)), :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *))::before, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *))::after, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *::before, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *::after {
1046
- --tw-border-spacing-x: 0;
1047
- --tw-border-spacing-y: 0;
1048
- --tw-translate-x: 0;
1049
- --tw-translate-y: 0;
1050
- --tw-rotate: 0;
1051
- --tw-skew-x: 0;
1052
- --tw-skew-y: 0;
1053
- --tw-scale-x: 1;
1054
- --tw-scale-y: 1;
1055
- --tw-pan-x: ;
1056
- --tw-pan-y: ;
1057
- --tw-pinch-zoom: ;
1058
- --tw-scroll-snap-strictness: proximity;
1059
- --tw-gradient-from-position: ;
1060
- --tw-gradient-via-position: ;
1061
- --tw-gradient-to-position: ;
1062
- --tw-ordinal: ;
1063
- --tw-slashed-zero: ;
1064
- --tw-numeric-figure: ;
1065
- --tw-numeric-spacing: ;
1066
- --tw-numeric-fraction: ;
1067
- --tw-ring-inset: ;
1068
- --tw-ring-offset-width: 0px;
1069
- --tw-ring-offset-color: var(--kjun-surface);
1070
- --tw-ring-color: var(--kjun-focus-ring);
1071
- --tw-ring-offset-shadow: 0 0 #0000;
1072
- --tw-ring-shadow: 0 0 #0000;
1073
- --tw-shadow: 0 0 #0000;
1074
- --tw-shadow-colored: 0 0 #0000;
1075
- --tw-blur: ;
1076
- --tw-brightness: ;
1077
- --tw-contrast: ;
1078
- --tw-grayscale: ;
1079
- --tw-hue-rotate: ;
1080
- --tw-invert: ;
1081
- --tw-saturate: ;
1082
- --tw-sepia: ;
1083
- --tw-drop-shadow: ;
1084
- --tw-backdrop-blur: ;
1085
- --tw-backdrop-brightness: ;
1086
- --tw-backdrop-contrast: ;
1087
- --tw-backdrop-grayscale: ;
1088
- --tw-backdrop-hue-rotate: ;
1089
- --tw-backdrop-invert: ;
1090
- --tw-backdrop-opacity: ;
1091
- --tw-backdrop-saturate: ;
1092
- --tw-backdrop-sepia: ;
1093
- --tw-contain-size: ;
1094
- --tw-contain-layout: ;
1095
- --tw-contain-paint: ;
1096
- --tw-contain-style:
1097
- }
1098
- .kjun-scope :where(:is([class^="kjun-"], [class*=" kjun-"]):not(.kjun-scope), .kjun-scope[class*=" kjun-"])::backdrop, .kjun-scope :where(:is([class^="kjun-"], [class*=" kjun-"]):not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *::backdrop, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *))::backdrop, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *::backdrop {
1099
- --tw-border-spacing-x: 0;
1100
- --tw-border-spacing-y: 0;
1101
- --tw-translate-x: 0;
1102
- --tw-translate-y: 0;
1103
- --tw-rotate: 0;
1104
- --tw-skew-x: 0;
1105
- --tw-skew-y: 0;
1106
- --tw-scale-x: 1;
1107
- --tw-scale-y: 1;
1108
- --tw-pan-x: ;
1109
- --tw-pan-y: ;
1110
- --tw-pinch-zoom: ;
1111
- --tw-scroll-snap-strictness: proximity;
1112
- --tw-gradient-from-position: ;
1113
- --tw-gradient-via-position: ;
1114
- --tw-gradient-to-position: ;
1115
- --tw-ordinal: ;
1116
- --tw-slashed-zero: ;
1117
- --tw-numeric-figure: ;
1118
- --tw-numeric-spacing: ;
1119
- --tw-numeric-fraction: ;
1120
- --tw-ring-inset: ;
1121
- --tw-ring-offset-width: 0px;
1122
- --tw-ring-offset-color: var(--kjun-surface);
1123
- --tw-ring-color: var(--kjun-focus-ring);
1124
- --tw-ring-offset-shadow: 0 0 #0000;
1125
- --tw-ring-shadow: 0 0 #0000;
1126
- --tw-shadow: 0 0 #0000;
1127
- --tw-shadow-colored: 0 0 #0000;
1128
- --tw-blur: ;
1129
- --tw-brightness: ;
1130
- --tw-contrast: ;
1131
- --tw-grayscale: ;
1132
- --tw-hue-rotate: ;
1133
- --tw-invert: ;
1134
- --tw-saturate: ;
1135
- --tw-sepia: ;
1136
- --tw-drop-shadow: ;
1137
- --tw-backdrop-blur: ;
1138
- --tw-backdrop-brightness: ;
1139
- --tw-backdrop-contrast: ;
1140
- --tw-backdrop-grayscale: ;
1141
- --tw-backdrop-hue-rotate: ;
1142
- --tw-backdrop-invert: ;
1143
- --tw-backdrop-opacity: ;
1144
- --tw-backdrop-saturate: ;
1145
- --tw-backdrop-sepia: ;
1146
- --tw-contain-size: ;
1147
- --tw-contain-layout: ;
1148
- --tw-contain-paint: ;
1149
- --tw-contain-style:
1150
- }
1151
- .kjun-scope .kj-sr-only {
1152
- position: absolute;
1153
- width: 1px;
1154
- height: 1px;
1155
- padding: 0;
1156
- margin: -1px;
1157
- overflow: hidden;
1158
- clip: rect(0, 0, 0, 0);
1159
- white-space: nowrap;
1160
- border-width: 0
1161
- }
1162
- .kjun-scope .kj-pointer-events-none {
1163
- pointer-events: none
1164
- }
1165
- .kjun-scope .kj-invisible {
1166
- visibility: hidden
1167
- }
1168
- .kjun-scope .kj-fixed {
1169
- position: fixed
1170
- }
1171
- .kjun-scope .kj-absolute {
1172
- position: absolute
1173
- }
1174
- .kjun-scope .kj-relative {
1175
- position: relative
1176
- }
1177
- .kjun-scope .kj-sticky {
1178
- position: sticky
1179
- }
1180
- .kjun-scope .kj-inset-y-0 {
1181
- top: 0px;
1182
- bottom: 0px
1183
- }
1184
- .kjun-scope .kj-top-0 {
1185
- top: 0px
1186
- }
1187
- .kjun-scope .kj-z-10 {
1188
- z-index: 10
1189
- }
1190
- .kjun-scope .kj-z-50 {
1191
- z-index: 50
1192
- }
1193
- .kjun-scope .kj-mx-2 {
1194
- margin-left: 8px;
1195
- margin-right: 8px
1196
- }
1197
- .kjun-scope .kj-mb-3 {
1198
- margin-bottom: 12px
1199
- }
1200
- .kjun-scope .kj-ml-0\.5 {
1201
- margin-left: 2px
1202
- }
1203
- .kjun-scope .kj-ml-1 {
1204
- margin-left: 4px
1205
- }
1206
- .kjun-scope .kj-ml-2 {
1207
- margin-left: 8px
1208
- }
1209
- .kjun-scope .kj-ml-3 {
1210
- margin-left: 12px
1211
- }
1212
- .kjun-scope .kj-ml-financial-affix-gap {
1213
- margin-left: 4px
1214
- }
1215
- .kjun-scope .kj-mr-1 {
1216
- margin-right: 4px
1217
- }
1218
- .kjun-scope .kj-mr-1\.5 {
1219
- margin-right: 6px
1220
- }
1221
- .kjun-scope .kj-mr-2 {
1222
- margin-right: 8px
1223
- }
1224
- .kjun-scope .kj-mt-0\.5 {
1225
- margin-top: 2px
1226
- }
1227
- .kjun-scope .kj-mt-1 {
1228
- margin-top: 4px
1229
- }
1230
- .kjun-scope .kj-mt-4 {
1231
- margin-top: 16px
1232
- }
1233
- .kjun-scope .kj-mt-form-label-gap {
1234
- margin-top: 8px
1235
- }
1236
- .kjun-scope .kj-block {
1237
- display: block
1238
- }
1239
- .kjun-scope .kj-inline-block {
1240
- display: inline-block
1241
- }
1242
- .kjun-scope .kj-flex {
1243
- display: flex
1244
- }
1245
- .kjun-scope .kj-inline-flex {
1246
- display: inline-flex
1247
- }
1248
- .kjun-scope .kj-grid {
1249
- display: grid
1250
- }
1251
- .kjun-scope .kj-hidden {
1252
- display: none
1253
- }
1254
- .kjun-scope .kj-h-button-heights-lg {
1255
- height: 48px
1256
- }
1257
- .kjun-scope .kj-h-button-heights-md {
1258
- height: 40px
1259
- }
1260
- .kjun-scope .kj-h-button-heights-sm {
1261
- height: 32px
1262
- }
1263
- .kjun-scope .kj-h-button-heights-xl {
1264
- height: 56px
1265
- }
1266
- .kjun-scope .kj-h-button-heights-xs {
1267
- height: 24px
1268
- }
1269
- .kjun-scope .kj-h-full {
1270
- height: 100%
1271
- }
1272
- .kjun-scope .kj-h-menu-icon-size {
1273
- height: 16px
1274
- }
1275
- .kjun-scope .kj-h-progress-heights-lg {
1276
- height: 12px
1277
- }
1278
- .kjun-scope .kj-h-progress-heights-md {
1279
- height: 8px
1280
- }
1281
- .kjun-scope .kj-h-progress-heights-sm {
1282
- height: 4px
1283
- }
1284
- .kjun-scope .kj-h-selection-dot-size {
1285
- height: 8px
1286
- }
1287
- .kjun-scope .kj-h-spinner-sizes-lg {
1288
- height: 32px
1289
- }
1290
- .kjun-scope .kj-h-spinner-sizes-md {
1291
- height: 24px
1292
- }
1293
- .kjun-scope .kj-h-spinner-sizes-sm {
1294
- height: 16px
1295
- }
1296
- .kjun-scope .kj-h-spinner-sizes-xl {
1297
- height: 48px
1298
- }
1299
- .kjun-scope .kj-h-spinner-sizes-xs {
1300
- height: 12px
1301
- }
1302
- .kjun-scope .kj-h-tooltip-arrow-size {
1303
- height: 8px
1304
- }
1305
- .kjun-scope .kj-max-h-menu-list-max-height {
1306
- max-height: 240px
1307
- }
1308
- .kjun-scope .kj-min-h-0 {
1309
- min-height: 0px
1310
- }
1311
- .kjun-scope .kj-w-fit {
1312
- width: fit-content
1313
- }
1314
- .kjun-scope .kj-w-full {
1315
- width: 100%
1316
- }
1317
- .kjun-scope .kj-w-menu-icon-size {
1318
- width: 16px
1319
- }
1320
- .kjun-scope .kj-w-selection-dot-size {
1321
- width: 8px
1322
- }
1323
- .kjun-scope .kj-w-spinner-sizes-lg {
1324
- width: 32px
1325
- }
1326
- .kjun-scope .kj-w-spinner-sizes-md {
1327
- width: 24px
1328
- }
1329
- .kjun-scope .kj-w-spinner-sizes-sm {
1330
- width: 16px
1331
- }
1332
- .kjun-scope .kj-w-spinner-sizes-xl {
1333
- width: 48px
1334
- }
1335
- .kjun-scope .kj-w-spinner-sizes-xs {
1336
- width: 12px
1337
- }
1338
- .kjun-scope .kj-w-table-search-width {
1339
- width: 200px
1340
- }
1341
- .kjun-scope .kj-w-tooltip-arrow-size {
1342
- width: 8px
1343
- }
1344
- .kjun-scope .kj-min-w-0 {
1345
- min-width: 0px
1346
- }
1347
- .kjun-scope .kj-min-w-menu-minimum-width {
1348
- min-width: 160px
1349
- }
1350
- .kjun-scope .kj-max-w-full {
1351
- max-width: 100%
1352
- }
1353
- .kjun-scope .kj-max-w-tooltip-max-width {
1354
- max-width: 256px
1355
- }
1356
- .kjun-scope .kj-flex-1 {
1357
- flex: 1 1 0%
1358
- }
1359
- .kjun-scope .kj-flex-shrink-0 {
1360
- flex-shrink: 0
1361
- }
1362
- .kjun-scope .kj-shrink-0 {
1363
- flex-shrink: 0
1364
- }
1365
- .kjun-scope .kj-rotate-180 {
1366
- --tw-rotate: 180deg;
1367
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
1368
- }
1369
- .kjun-scope .kj-rotate-45 {
1370
- --tw-rotate: 45deg;
1371
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
1372
- }
1373
- @keyframes kj-spin {
1374
- to {
1375
- transform: rotate(360deg)
1376
- }
1377
- 0% {
1378
- transform: rotate(0deg)
1379
- }
1380
- 100% {
1381
- transform: rotate(360deg)
1382
- }
1383
- }
1384
- .kjun-scope .kj-animate-spin {
1385
- animation: kj-spin 1s linear infinite
1386
- }
1387
- .kjun-scope .kj-cursor-not-allowed {
1388
- cursor: not-allowed
1389
- }
1390
- .kjun-scope .kj-cursor-pointer {
1391
- cursor: pointer
1392
- }
1393
- .kjun-scope .kj-select-none {
1394
- user-select: none
1395
- }
1396
- .kjun-scope .kj-resize-none {
1397
- resize: none
1398
- }
1399
- .kjun-scope .kj-resize-y {
1400
- resize: vertical
1401
- }
1402
- .kjun-scope .kj-resize-x {
1403
- resize: horizontal
1404
- }
1405
- .kjun-scope .kj-resize {
1406
- resize: both
1407
- }
1408
- .kjun-scope .kj-grid-cols-1 {
1409
- grid-template-columns: repeat(1, minmax(0, 1fr))
1410
- }
1411
- .kjun-scope .kj-flex-col {
1412
- flex-direction: column
1413
- }
1414
- .kjun-scope .kj-flex-wrap {
1415
- flex-wrap: wrap
1416
- }
1417
- .kjun-scope .kj-flex-nowrap {
1418
- flex-wrap: nowrap
1419
- }
1420
- .kjun-scope .kj-items-center {
1421
- align-items: center
1422
- }
1423
- .kjun-scope .kj-justify-end {
1424
- justify-content: flex-end
1425
- }
1426
- .kjun-scope .kj-justify-center {
1427
- justify-content: center
1428
- }
1429
- .kjun-scope .kj-justify-between {
1430
- justify-content: space-between
1431
- }
1432
- .kjun-scope .kj-gap-1 {
1433
- gap: 4px
1434
- }
1435
- .kjun-scope .kj-gap-1\.5 {
1436
- gap: 6px
1437
- }
1438
- .kjun-scope .kj-gap-2 {
1439
- gap: 8px
1440
- }
1441
- .kjun-scope .kj-gap-2\.5 {
1442
- gap: 10px
1443
- }
1444
- .kjun-scope .kj-gap-4 {
1445
- gap: 16px
1446
- }
1447
- .kjun-scope .kj-gap-pagination-gap {
1448
- gap: 12px
1449
- }
1450
- .kjun-scope .kj-gap-pagination-item-gap {
1451
- gap: 4px
1452
- }
1453
- .kjun-scope :is(.kj-space-y-3 > :not([hidden]) ~ :not([hidden])) {
1454
- --tw-space-y-reverse: 0;
1455
- margin-top: calc(12px * calc(1 - var(--tw-space-y-reverse)));
1456
- margin-bottom: calc(12px * var(--tw-space-y-reverse))
1457
- }
1458
- .kjun-scope :is(.kj-divide-y > :not([hidden]) ~ :not([hidden])) {
1459
- --tw-divide-y-reverse: 0;
1460
- border-top-width: calc(var(--_kjun-border-default-width) * calc(1 - var(--tw-divide-y-reverse)));
1461
- border-bottom-width: calc(var(--_kjun-border-default-width) * var(--tw-divide-y-reverse))
1462
- }
1463
- .kjun-scope :is(.kj-divide-border > :not([hidden]) ~ :not([hidden])) {
1464
- border-color: var(--_kjun-border-primary)
1465
- }
1466
- .kjun-scope :is(.kj-divide-border-primary > :not([hidden]) ~ :not([hidden])) {
1467
- border-color: var(--_kjun-border-primary)
1468
- }
1469
- .kjun-scope .kj-overflow-hidden {
1470
- overflow: hidden
1471
- }
1472
- .kjun-scope .kj-overflow-x-auto {
1473
- overflow-x: auto
1474
- }
1475
- .kjun-scope .kj-overflow-y-auto {
1476
- overflow-y: auto
1477
- }
1478
- .kjun-scope .kj-truncate {
1479
- overflow: hidden;
1480
- text-overflow: ellipsis;
1481
- white-space: nowrap
1482
- }
1483
- .kjun-scope .kj-whitespace-normal {
1484
- white-space: normal
1485
- }
1486
- .kjun-scope .kj-whitespace-nowrap {
1487
- white-space: nowrap
1488
- }
1489
- .kjun-scope .kj-break-words {
1490
- overflow-wrap: break-word
1491
- }
1492
- .kjun-scope .kj-rounded {
1493
- border-radius: 6px
1494
- }
1495
- .kjun-scope .kj-rounded-badge {
1496
- border-radius: 6px
1497
- }
1498
- .kjun-scope .kj-rounded-card {
1499
- border-radius: 12px
1500
- }
1501
- .kjun-scope .kj-rounded-financial-pill-radius {
1502
- border-radius: 6px
1503
- }
1504
- .kjun-scope .kj-rounded-full {
1505
- border-radius: 9999px
1506
- }
1507
- .kjun-scope .kj-rounded-pagination-radius {
1508
- border-radius: 6px
1509
- }
1510
- .kjun-scope .kj-border-b {
1511
- border-bottom-width: var(--_kjun-border-default-width)
1512
- }
1513
- .kjun-scope .kj-border-t {
1514
- border-top-width: var(--_kjun-border-default-width)
1515
- }
1516
- .kjun-scope .kj-border-border {
1517
- border-color: var(--_kjun-border-primary)
1518
- }
1519
- .kjun-scope .kj-border-border-primary {
1520
- border-color: var(--_kjun-border-primary)
1521
- }
1522
- .kjun-scope .kj-bg-bg-secondary {
1523
- background-color: var(--_kjun-bg-secondary)
1524
- }
1525
- .kjun-scope .kj-bg-brand {
1526
- background-color: var(--_kjun-brand)
1527
- }
1528
- .kjun-scope .kj-bg-brand-subtle-bg {
1529
- background-color: var(--_kjun-brand-subtle-bg)
1530
- }
1531
- .kjun-scope .kj-bg-card-bg {
1532
- background-color: var(--_kjun-card-bg)
1533
- }
1534
- .kjun-scope .kj-bg-chart-tooltip-bg {
1535
- background-color: var(--_kjun-chart-tooltip-bg)
1536
- }
1537
- .kjun-scope .kj-bg-danger {
1538
- background-color: var(--_kjun-danger)
1539
- }
1540
- .kjun-scope .kj-bg-danger-bg {
1541
- background-color: var(--_kjun-danger-bg)
1542
- }
1543
- .kjun-scope .kj-bg-info {
1544
- background-color: var(--_kjun-info)
1545
- }
1546
- .kjun-scope .kj-bg-info-bg {
1547
- background-color: var(--_kjun-info-bg)
1548
- }
1549
- .kjun-scope .kj-bg-price-down {
1550
- background-color: var(--_kjun-price-down)
1551
- }
1552
- .kjun-scope .kj-bg-price-down-bg {
1553
- background-color: var(--_kjun-price-down-bg)
1554
- }
1555
- .kjun-scope .kj-bg-price-up {
1556
- background-color: var(--_kjun-price-up)
1557
- }
1558
- .kjun-scope .kj-bg-price-up-bg {
1559
- background-color: var(--_kjun-price-up-bg)
1560
- }
1561
- .kjun-scope .kj-bg-selected-bg {
1562
- background-color: var(--_kjun-selected-bg)
1563
- }
1564
- .kjun-scope .kj-bg-success {
1565
- background-color: var(--_kjun-success)
1566
- }
1567
- .kjun-scope .kj-bg-success-bg {
1568
- background-color: var(--_kjun-success-bg)
1569
- }
1570
- .kjun-scope .kj-bg-surface-card {
1571
- background-color: var(--_kjun-card-bg)
1572
- }
1573
- .kjun-scope .kj-bg-transparent {
1574
- background-color: transparent
1575
- }
1576
- .kjun-scope .kj-bg-warning {
1577
- background-color: var(--_kjun-warning)
1578
- }
1579
- .kjun-scope .kj-bg-warning-bg {
1580
- background-color: var(--_kjun-warning-bg)
1581
- }
1582
- .kjun-scope .kj-p-2 {
1583
- padding: 8px
1584
- }
1585
- .kjun-scope .kj-px-2 {
1586
- padding-left: 8px;
1587
- padding-right: 8px
1588
- }
1589
- .kjun-scope .kj-px-3 {
1590
- padding-left: 12px;
1591
- padding-right: 12px
1592
- }
1593
- .kjun-scope .kj-px-3\.5 {
1594
- padding-left: 14px;
1595
- padding-right: 14px
1596
- }
1597
- .kjun-scope .kj-px-4 {
1598
- padding-left: 16px;
1599
- padding-right: 16px
1600
- }
1601
- .kjun-scope .kj-px-financial-pill-padding-x {
1602
- padding-left: 8px;
1603
- padding-right: 8px
1604
- }
1605
- .kjun-scope .kj-px-pagination-label-padding-x {
1606
- padding-left: 12px;
1607
- padding-right: 12px
1608
- }
1609
- .kjun-scope .kj-px-pagination-padding {
1610
- padding-left: 16px;
1611
- padding-right: 16px
1612
- }
1613
- .kjun-scope .kj-px-tooltip-padding-x {
1614
- padding-left: 8px;
1615
- padding-right: 8px
1616
- }
1617
- .kjun-scope .kj-py-0\.5 {
1618
- padding-top: 2px;
1619
- padding-bottom: 2px
1620
- }
1621
- .kjun-scope .kj-py-2 {
1622
- padding-top: 8px;
1623
- padding-bottom: 8px
1624
- }
1625
- .kjun-scope .kj-py-2\.5 {
1626
- padding-top: 10px;
1627
- padding-bottom: 10px
1628
- }
1629
- .kjun-scope .kj-py-3 {
1630
- padding-top: 12px;
1631
- padding-bottom: 12px
1632
- }
1633
- .kjun-scope .kj-py-3\.5 {
1634
- padding-top: 14px;
1635
- padding-bottom: 14px
1636
- }
1637
- .kjun-scope .kj-py-4 {
1638
- padding-top: 16px;
1639
- padding-bottom: 16px
1640
- }
1641
- .kjun-scope .kj-py-financial-pill-padding-y {
1642
- padding-top: 2px;
1643
- padding-bottom: 2px
1644
- }
1645
- .kjun-scope .kj-py-pagination-padding {
1646
- padding-top: 16px;
1647
- padding-bottom: 16px
1648
- }
1649
- .kjun-scope .kj-py-state-padding-lg {
1650
- padding-top: 80px;
1651
- padding-bottom: 80px
1652
- }
1653
- .kjun-scope .kj-py-state-padding-md {
1654
- padding-top: 48px;
1655
- padding-bottom: 48px
1656
- }
1657
- .kjun-scope .kj-py-state-padding-sm {
1658
- padding-top: 24px;
1659
- padding-bottom: 24px
1660
- }
1661
- .kjun-scope .kj-py-tooltip-padding-y {
1662
- padding-top: 4px;
1663
- padding-bottom: 4px
1664
- }
1665
- .kjun-scope .kj-text-left {
1666
- text-align: left
1667
- }
1668
- .kjun-scope .kj-text-center {
1669
- text-align: center
1670
- }
1671
- .kjun-scope .kj-text-right {
1672
- text-align: right
1673
- }
1674
- .kjun-scope .kj-align-top {
1675
- vertical-align: top
1676
- }
1677
- .kjun-scope .kj-align-middle {
1678
- vertical-align: middle
1679
- }
1680
- .kjun-scope .kj-text-base {
1681
- font-size: 1rem;
1682
- line-height: 1.5rem;
1683
- letter-spacing: 0em
1684
- }
1685
- .kjun-scope .kj-text-lg {
1686
- font-size: 1.25rem;
1687
- line-height: 1.75rem;
1688
- letter-spacing: 0em
1689
- }
1690
- .kjun-scope .kj-text-sm {
1691
- font-size: 0.875rem;
1692
- line-height: 1.25rem;
1693
- letter-spacing: 0em
1694
- }
1695
- .kjun-scope .kj-text-xs {
1696
- font-size: 0.75rem;
1697
- line-height: 1rem;
1698
- letter-spacing: 0em
1699
- }
1700
- .kjun-scope .kj-font-medium {
1701
- font-weight: var(--_kjun-type-label-weight)
1702
- }
1703
- .kjun-scope .kj-font-semibold {
1704
- font-weight: var(--_kjun-type-control-weight)
1705
- }
1706
- .kjun-scope .kj-tabular-nums {
1707
- --tw-numeric-spacing: tabular-nums;
1708
- font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)
1709
- }
1710
- .kjun-scope .kj-leading-relaxed {
1711
- line-height: 1.625
1712
- }
1713
- .kjun-scope .kj-text-brand {
1714
- color: var(--_kjun-brand)
1715
- }
1716
- .kjun-scope .kj-text-brand-hover {
1717
- color: var(--_kjun-brand-hover)
1718
- }
1719
- .kjun-scope .kj-text-chart-tooltip-text {
1720
- color: var(--_kjun-chart-tooltip-text)
1721
- }
1722
- .kjun-scope .kj-text-danger {
1723
- color: var(--_kjun-danger)
1724
- }
1725
- .kjun-scope .kj-text-danger-accent {
1726
- color: var(--_kjun-danger-accent)
1727
- }
1728
- .kjun-scope .kj-text-favorite {
1729
- color: var(--_kjun-favorite)
1730
- }
1731
- .kjun-scope .kj-text-info {
1732
- color: var(--_kjun-info)
1733
- }
1734
- .kjun-scope .kj-text-info-accent {
1735
- color: var(--_kjun-info-accent)
1736
- }
1737
- .kjun-scope .kj-text-interest {
1738
- color: var(--_kjun-interest)
1739
- }
1740
- .kjun-scope .kj-text-on-brand {
1741
- color: var(--_kjun-on-brand)
1742
- }
1743
- .kjun-scope .kj-text-price-down {
1744
- color: var(--_kjun-price-down)
1745
- }
1746
- .kjun-scope .kj-text-price-up {
1747
- color: var(--_kjun-price-up)
1748
- }
1749
- .kjun-scope .kj-text-success {
1750
- color: var(--_kjun-success)
1751
- }
1752
- .kjun-scope .kj-text-text-disabled {
1753
- color: var(--_kjun-text-disabled)
1754
- }
1755
- .kjun-scope .kj-text-text-primary {
1756
- color: var(--_kjun-text-primary)
1757
- }
1758
- .kjun-scope .kj-text-text-secondary {
1759
- color: var(--_kjun-text-secondary)
1760
- }
1761
- .kjun-scope .kj-text-text-tertiary {
1762
- color: var(--_kjun-text-tertiary)
1763
- }
1764
- .kjun-scope .kj-text-warning {
1765
- color: var(--_kjun-warning)
1766
- }
1767
- .kjun-scope .kj-text-warning-accent {
1768
- color: var(--_kjun-warning-accent)
1769
- }
1770
- .kjun-scope .kj-opacity-disabled {
1771
- opacity: var(--_kjun-state-opacity-disabled)
1772
- }
1773
- .kjun-scope .kj-transition-colors {
1774
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
1775
- transition-timing-function: var(--_kjun-ease-out);
1776
- transition-duration: var(--_kjun-motion-control)
1777
- }
1778
- .kjun-scope .kj-transition-transform {
1779
- transition-property: transform;
1780
- transition-timing-function: var(--_kjun-ease-out);
1781
- transition-duration: var(--_kjun-motion-control)
1782
- }
1783
- .kjun-scope .hover\:kj-bg-bg-hover:hover {
1784
- background-color: var(--_kjun-bg-hover)
1785
- }
1786
- .kjun-scope .hover\:kj-text-brand:hover {
1787
- color: var(--_kjun-brand)
1788
- }
1789
- .kjun-scope .hover\:kj-text-text-primary:hover {
1790
- color: var(--_kjun-text-primary)
1791
- }
1792
- .kjun-scope .disabled\:kj-cursor-not-allowed:disabled {
1793
- cursor: not-allowed
1794
- }
1795
- .kjun-scope .disabled\:kj-opacity-disabled:disabled {
1796
- opacity: var(--_kjun-state-opacity-disabled)
1797
- }
1798
- @media (min-width: 640px) {
1799
- .kjun-scope .pagination\:kj-block {
1800
- display: block
1801
- }
1802
- .kjun-scope .pagination\:kj-flex {
1803
- display: flex
1804
- }
1805
- .kjun-scope .pagination\:kj-hidden {
1806
- display: none
1807
- }
1808
- .kjun-scope .pagination\:kj-flex-row {
1809
- flex-direction: row
1810
- }
1811
- .kjun-scope .pagination\:kj-items-center {
1812
- align-items: center
1813
- }
1814
- .kjun-scope .pagination\:kj-justify-between {
1815
- justify-content: space-between
1816
- }
1817
- }
1818
- @media (min-width: 1024px) {
1819
- .kjun-scope .pagination-wide\:kj-px-6 {
1820
- padding-left: 24px;
1821
- padding-right: 24px
1822
- }
1823
- }
1824
1045
  /* KJUN-owned field geometry and interaction styles. */
1825
1046
  /* 입력의 표면·상태는 한 곳에서 관리한다. 모든 크기는 같은 size의 버튼 높이와 정렬한다. */
1826
1047
  .kjun-scope .kjun-field--sm {
@@ -2079,1806 +1300,6 @@
2079
1300
  .kjun-scope .kjun-field { transition: none; }
2080
1301
  }
2081
1302
 
2082
-
2083
- .kjun-scope .kjun-animated-number[data-v-kjun-9a600196] { font-variant-numeric: tabular-nums; font-family: var(--_kjun-font-numeric);
2084
- }
2085
- .kjun-scope .kjun-animated-number__affix[data-v-kjun-9a600196]:first-child { margin-right: var(--_kjun-geometry-dimension-value4);
2086
- }
2087
- .kjun-scope .kjun-animated-number__affix[data-v-kjun-9a600196]:last-child { margin-left: var(--_kjun-geometry-dimension-value4);
2088
- }
2089
-
2090
-
2091
- .kjun-scope .kjun-chart-skeleton[data-v-kjun-933fce1f] { position:relative; display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; animation: kjun-chart-pulse-data-v-kjun-933fce1f var(--_kjun-motion-shimmer) ease-in-out infinite;
2092
- }
2093
- .kjun-scope .kjun-chart-skeleton__plot[data-v-kjun-933fce1f] { width: 100%; height: 100%;
2094
- }
2095
- .kjun-scope .kjun-chart-skeleton__grid[data-v-kjun-933fce1f] { fill: none; stroke: var(--_kjun-border); stroke-width: 1;
2096
- }
2097
- .kjun-scope .kjun-chart-skeleton__wick[data-v-kjun-933fce1f] { fill: none; stroke: var(--_kjun-skeleton); stroke-width: 4;
2098
- }
2099
- .kjun-scope .kjun-chart-skeleton__line[data-v-kjun-933fce1f] { fill: none; stroke: var(--_kjun-skeleton); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round;
2100
- }
2101
- .kjun-scope .kjun-chart-skeleton__bar[data-v-kjun-933fce1f] { fill: var(--_kjun-skeleton);
2102
- }
2103
- .kjun-scope .kjun-chart-skeleton__donut[data-v-kjun-933fce1f] { height: 80%; aspect-ratio: 1; border: var(--_kjun-extension-chart-skeleton-donut-thickness) solid var(--_kjun-skeleton); border-radius: 50%; display: flex; justify-content: center; align-items: center;
2104
- }
2105
- @keyframes kjun-chart-pulse-data-v-kjun-933fce1f {
2106
- 50% { opacity: 0.55;
2107
- }
2108
- }
2109
- @media (prefers-reduced-motion: reduce) {
2110
- .kjun-scope .kjun-chart-skeleton[data-v-kjun-933fce1f] { animation: none;
2111
- }
2112
- }
2113
-
2114
-
2115
- .kjun-scope .kjun-deviation-badge[data-v-kjun-41054b57] {
2116
- display: inline-flex;
2117
- align-items: center;
2118
- justify-content: flex-end;
2119
- gap: var(--_kjun-extension-financial-badge-gap);
2120
- }
2121
- .kjun-scope .kjun-deviation-pill[data-v-kjun-41054b57] {
2122
- display: inline-flex;
2123
- align-items: center;
2124
- padding: var(--_kjun-extension-financial-pill-padding-y) var(--_kjun-extension-financial-pill-padding-x);
2125
- border-radius: var(--_kjun-extension-financial-cell-radius);
2126
- font-size: var(--_kjun-type-control-size);
2127
- line-height: var(--_kjun-type-control-line);
2128
- font-weight: var(--_kjun-type-control-weight);
2129
- letter-spacing: var(--_kjun-type-control-tracking);
2130
- }
2131
- .kjun-scope .kjun-deviation-pill--neutral[data-v-kjun-41054b57] { background: var(--_kjun-bg-secondary); color: var(--_kjun-text-secondary);
2132
- }
2133
- .kjun-scope .kjun-deviation-pill--up-soft[data-v-kjun-41054b57] { background: color-mix(in srgb, var(--_kjun-price-up) 8%, transparent); color: var(--_kjun-price-up);
2134
- }
2135
- .kjun-scope .kjun-deviation-pill--up-mid[data-v-kjun-41054b57] { background: color-mix(in srgb, var(--_kjun-price-up) 14%, transparent); color: var(--_kjun-price-up);
2136
- }
2137
- .kjun-scope .kjun-deviation-pill--up-strong[data-v-kjun-41054b57] { background: color-mix(in srgb, var(--_kjun-price-up) 22%, transparent); color: var(--_kjun-price-up); font-weight: var(--_kjun-type-number-lg-weight);
2138
- }
2139
- .kjun-scope .kjun-deviation-pill--down-soft[data-v-kjun-41054b57] { background: color-mix(in srgb, var(--_kjun-price-down) 8%, transparent); color: var(--_kjun-price-down);
2140
- }
2141
- .kjun-scope .kjun-deviation-pill--down-mid[data-v-kjun-41054b57] { background: color-mix(in srgb, var(--_kjun-price-down) 14%, transparent); color: var(--_kjun-price-down);
2142
- }
2143
- .kjun-scope .kjun-deviation-pill--down-strong[data-v-kjun-41054b57] { background: color-mix(in srgb, var(--_kjun-price-down) 22%, transparent); color: var(--_kjun-price-down); font-weight: var(--_kjun-type-number-lg-weight);
2144
- }
2145
-
2146
-
2147
- .kjun-scope .kjun-heatmap-cell[data-v-kjun-41f7199a]{position:relative;display:inline-block;padding:var(--_kjun-extension-financial-pill-padding-y) var(--_kjun-extension-financial-pill-padding-x);border-radius:var(--_kjun-extension-financial-cell-radius);color:var(--_kjun-text-primary);font-variant-numeric:tabular-nums}
2148
- .kjun-scope .kjun-heatmap-cell__fill[data-v-kjun-41f7199a]{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
2149
- .kjun-scope .kjun-heatmap-cell__content[data-v-kjun-41f7199a]{position:relative}
2150
-
2151
-
2152
- .kjun-scope .kjun-kpi-hero[data-v-kjun-fff3594b] {
2153
- padding: var(--_kjun-extension-kpi-hero-md-padding-y) var(--_kjun-extension-kpi-hero-md-padding-x);
2154
- background: var(--_kjun-card-bg);
2155
- border-radius: var(--_kjun-extension-kpi-hero-radius);
2156
- }
2157
- .kjun-scope .kjun-kpi-hero__layout[data-v-kjun-fff3594b] {
2158
- display: flex;
2159
- align-items: center;
2160
- justify-content: space-between;
2161
- gap: var(--_kjun-extension-kpi-hero-layout-gap);
2162
- }
2163
- .kjun-scope .kjun-kpi-hero__main[data-v-kjun-fff3594b] { min-width: 0;
2164
- }
2165
- .kjun-scope .kjun-kpi-hero__aside[data-v-kjun-fff3594b] { flex-shrink: 0;
2166
- }
2167
- .kjun-scope .kjun-kpi-hero__label[data-v-kjun-fff3594b] { color: var(--_kjun-text-secondary); margin-bottom: var(--_kjun-extension-kpi-hero-md-label-gap);
2168
- }
2169
- .kjun-scope .kjun-kpi-hero__value[data-v-kjun-fff3594b] {
2170
- color: var(--_kjun-text-primary);
2171
- font-family: var(--_kjun-font-numeric);
2172
- font-variant-numeric: tabular-nums;
2173
- }
2174
- .kjun-scope .kjun-kpi-hero__affix[data-v-kjun-fff3594b] { color: var(--_kjun-text-primary);
2175
- }
2176
- /* prefix는 전 소비처가 통화 기호(₩/$)라 숫자에 붙여 읽히는 게 맞다. 4px은 큰 폰트에서
2177
- "$ 8,798.69"처럼 기호가 떨어져 보였다. 보조 지표(sec-affix)와 같은 2px로 맞춘다. */
2178
- .kjun-scope .kjun-kpi-hero__affix[data-v-kjun-fff3594b]:first-child { margin-right: var(--_kjun-extension-kpi-hero-prefix-gap);
2179
- }
2180
- .kjun-scope .kjun-kpi-hero__affix[data-v-kjun-fff3594b]:last-child { margin-left: var(--_kjun-extension-kpi-hero-suffix-gap);
2181
- }
2182
- .kjun-scope .kjun-kpi-hero__delta-line[data-v-kjun-fff3594b] {
2183
- margin-top: var(--_kjun-extension-kpi-hero-md-delta-margin);
2184
- display: flex;
2185
- flex-wrap: wrap;
2186
- align-items: baseline;
2187
- gap: var(--_kjun-extension-kpi-hero-md-delta-gap);
2188
- font-family: var(--_kjun-font-numeric);
2189
- font-variant-numeric: tabular-nums;
2190
- }
2191
- .kjun-scope .kjun-kpi-hero__delta-abs[data-v-kjun-fff3594b] {
2192
- }
2193
- .kjun-scope .kjun-kpi-hero__delta-pct[data-v-kjun-fff3594b] { opacity: 0.9;
2194
- }
2195
- .kjun-scope .kjun-kpi-hero__delta-desc[data-v-kjun-fff3594b] { color: var(--_kjun-text-tertiary);
2196
- }
2197
- .kjun-scope .kjun-kpi-hero__secondary[data-v-kjun-fff3594b] {
2198
- display: flex;
2199
- flex-wrap: wrap;
2200
- gap: var(--_kjun-extension-kpi-hero-md-secondary-gap);
2201
- margin-top: var(--_kjun-extension-kpi-hero-md-secondary-margin);
2202
- padding-top: var(--_kjun-extension-kpi-hero-md-secondary-padding);
2203
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2204
- }
2205
- .kjun-scope .kjun-kpi-hero__sec-label[data-v-kjun-fff3594b] {
2206
- color: var(--_kjun-text-tertiary);
2207
- text-transform: uppercase;
2208
- margin-bottom: var(--_kjun-extension-kpi-hero-md-secondary-label-gap);
2209
- }
2210
- .kjun-scope .kjun-kpi-hero__sec-value[data-v-kjun-fff3594b] {
2211
- font-family: var(--_kjun-font-numeric);
2212
- font-variant-numeric: tabular-nums;
2213
- }
2214
- /* Like the delta percent and Native, a unit takes its value's colour at the caption weight. */
2215
- .kjun-scope .kjun-kpi-hero__sec-affix[data-v-kjun-fff3594b] { font-weight: var(--_kjun-type-caption-weight);
2216
- }
2217
- .kjun-scope .kjun-kpi-hero__sec-affix[data-v-kjun-fff3594b]:first-child { margin-right: var(--_kjun-extension-kpi-hero-secondary-affix-gap);
2218
- }
2219
- .kjun-scope .kjun-kpi-hero__sec-affix[data-v-kjun-fff3594b]:last-child { margin-left: var(--_kjun-extension-kpi-hero-secondary-affix-gap);
2220
- }
2221
- .kjun-scope .kjun-kpi-hero__sec-desc[data-v-kjun-fff3594b] { margin-top: var(--_kjun-extension-kpi-hero-md-description-gap);
2222
- }
2223
- @media (width <= 640px) {
2224
- /* 페이지 hero는 핵심 금액의 위계는 유지하고, 주변 여백과 보조 지표 영역만 압축한다. */
2225
- .kjun-scope .kjun-kpi-hero[data-v-kjun-fff3594b]:not(.kjun-kpi-hero--sm) {
2226
- padding: var(--_kjun-extension-kpi-hero-mobile-padding-y) var(--_kjun-extension-kpi-hero-mobile-padding-x);
2227
- }
2228
- /* 좁은 화면에서 aside가 핵심 금액의 폭을 잠식하지 않도록 숨긴다. */
2229
- .kjun-scope .kjun-kpi-hero__aside[data-v-kjun-fff3594b] {
2230
- display: none;
2231
- }
2232
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__label[data-v-kjun-fff3594b] {
2233
- margin-bottom: var(--_kjun-extension-kpi-hero-mobile-label-gap);
2234
- }
2235
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__value[data-v-kjun-fff3594b] {
2236
- }
2237
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__delta-line[data-v-kjun-fff3594b] {
2238
- flex-wrap: wrap;
2239
- gap: var(--_kjun-extension-kpi-hero-mobile-delta-gap);
2240
- margin-top: var(--_kjun-extension-kpi-hero-mobile-delta-margin);
2241
- }
2242
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__delta-abs[data-v-kjun-fff3594b] {
2243
- }
2244
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__secondary[data-v-kjun-fff3594b] {
2245
- flex-wrap: nowrap;
2246
- gap: var(--_kjun-extension-kpi-hero-mobile-secondary-gap);
2247
- margin-top: var(--_kjun-extension-kpi-hero-mobile-secondary-margin);
2248
- padding-top: var(--_kjun-extension-kpi-hero-mobile-secondary-padding);
2249
- }
2250
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__sec-item[data-v-kjun-fff3594b] {
2251
- flex: 1 1 0;
2252
- min-width: 0;
2253
- padding: 0 var(--_kjun-extension-kpi-hero-item-padding);
2254
- border-left: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2255
- }
2256
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__sec-item[data-v-kjun-fff3594b]:first-child {
2257
- padding-left: 0;
2258
- border-left: none;
2259
- }
2260
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__sec-item[data-v-kjun-fff3594b]:last-child {
2261
- padding-right: 0;
2262
- }
2263
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__sec-label[data-v-kjun-fff3594b] {
2264
- margin-bottom: var(--_kjun-extension-kpi-hero-mobile-secondary-label-gap);
2265
- overflow: visible;
2266
- text-transform: none;
2267
- white-space: normal;
2268
- }
2269
- .kjun-scope .kjun-kpi-hero:not(.kjun-kpi-hero--sm) .kjun-kpi-hero__sec-value[data-v-kjun-fff3594b] {
2270
- }
2271
- }
2272
-
2273
- /* size=sm — 모달, 컴팩트 카드 내부용 */
2274
- .kjun-scope .kjun-kpi-hero--sm[data-v-kjun-fff3594b] { padding: var(--_kjun-extension-kpi-hero-sm-padding-y) var(--_kjun-extension-kpi-hero-sm-padding-x);
2275
- }
2276
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__label[data-v-kjun-fff3594b] { margin-bottom: var(--_kjun-extension-kpi-hero-sm-label-gap);
2277
- }
2278
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__value[data-v-kjun-fff3594b] {
2279
- }
2280
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__delta-line[data-v-kjun-fff3594b] { margin-top: var(--_kjun-extension-kpi-hero-sm-delta-margin); gap: var(--_kjun-extension-kpi-hero-sm-delta-gap);
2281
- }
2282
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__delta-abs[data-v-kjun-fff3594b] {
2283
- }
2284
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__delta-pct[data-v-kjun-fff3594b] {
2285
- }
2286
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__delta-desc[data-v-kjun-fff3594b] {
2287
- }
2288
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__secondary[data-v-kjun-fff3594b] {
2289
- gap: var(--_kjun-extension-kpi-hero-sm-secondary-gap);
2290
- margin-top: var(--_kjun-extension-kpi-hero-sm-secondary-margin);
2291
- padding-top: var(--_kjun-extension-kpi-hero-sm-secondary-padding);
2292
- }
2293
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__sec-label[data-v-kjun-fff3594b] { margin-bottom: var(--_kjun-extension-kpi-hero-sm-secondary-label-gap);
2294
- }
2295
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__sec-value[data-v-kjun-fff3594b] {
2296
- }
2297
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__sec-desc[data-v-kjun-fff3594b] { margin-top: var(--_kjun-extension-kpi-hero-sm-description-gap);
2298
- }
2299
- @media (width <= 640px) {
2300
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__secondary[data-v-kjun-fff3594b] { gap: var(--_kjun-extension-kpi-hero-small-mobile-gap);
2301
- }
2302
- .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__value[data-v-kjun-fff3594b] {
2303
- }
2304
- }
2305
-
2306
-
2307
- .kjun-scope .kjun-kpi-row[data-v-kjun-79772914] {
2308
- display: flex;
2309
- padding: var(--_kjun-extension-kpi-row-md-padding-y) var(--_kjun-extension-kpi-row-md-padding-x);
2310
- background: var(--_kjun-card-bg);
2311
- border-radius: var(--_kjun-extension-kpi-row-radius);
2312
- }
2313
- .kjun-scope .kjun-kpi-row__item[data-v-kjun-79772914] {
2314
- flex: 1;
2315
- padding: var(--_kjun-extension-kpi-row-md-item-padding-y) var(--_kjun-extension-kpi-row-md-item-padding-x);
2316
- border-left: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2317
- min-width: 0;
2318
- }
2319
- .kjun-scope .kjun-kpi-row__item[data-v-kjun-79772914]:first-child {
2320
- border-left: none;
2321
- }
2322
- .kjun-scope .kjun-kpi-row__item--clickable[data-v-kjun-79772914] {
2323
- cursor: pointer;
2324
- border-radius: var(--_kjun-extension-kpi-row-item-radius);
2325
- transition: background-color var(--_kjun-motion-control) var(--_kjun-ease-out);
2326
- }
2327
- .kjun-scope .kjun-kpi-row__item--clickable[data-v-kjun-79772914]:hover {
2328
- background: var(--_kjun-bg-hover);
2329
- }
2330
- .kjun-scope .kjun-kpi-row__item--clickable[data-v-kjun-79772914]:focus-visible {
2331
- outline: var(--_kjun-state-focus-width) solid var(--_kjun-focus-ring);
2332
- outline-offset: var(--_kjun-state-focus-inset-offset);
2333
- }
2334
- .kjun-scope .kjun-kpi-row__label-row[data-v-kjun-79772914] {
2335
- display: flex;
2336
- align-items: center;
2337
- justify-content: space-between;
2338
- gap: var(--_kjun-extension-kpi-row-md-label-gap);
2339
- margin-bottom: var(--_kjun-extension-kpi-row-md-label-margin);
2340
- }
2341
- .kjun-scope .kjun-kpi-row__label[data-v-kjun-79772914] {
2342
- color: var(--_kjun-text-secondary);
2343
- margin-bottom: 0; /* moved to label-row */
2344
- }
2345
- .kjun-scope .kjun-kpi-row__badge[data-v-kjun-79772914] {
2346
- display: inline-flex;
2347
- align-items: center;
2348
- gap: var(--_kjun-extension-kpi-row-badge-gap);
2349
- padding: var(--_kjun-extension-kpi-row-badge-padding-y) var(--_kjun-extension-kpi-row-badge-padding-x);
2350
- border-radius: var(--_kjun-extension-kpi-row-badge-radius);
2351
- white-space: normal;
2352
- overflow-wrap: anywhere;
2353
- max-width: 100%;
2354
- min-width: 0;
2355
- flex-shrink: 1;
2356
- }
2357
- .kjun-scope .kjun-kpi-row__badge-dot[data-v-kjun-79772914] {
2358
- display: inline-block;
2359
- width: var(--_kjun-extension-kpi-row-dot-size);
2360
- height: var(--_kjun-extension-kpi-row-dot-size);
2361
- border-radius: 50%;
2362
- }
2363
- /* 값과 배지를 같은 행에 배치하고 긴 콘텐츠는 가용 폭 안에서 줄바꿈한다. */
2364
- .kjun-scope .kjun-kpi-row__value-row[data-v-kjun-79772914] {
2365
- display: flex;
2366
- align-items: center;
2367
- gap: var(--_kjun-extension-kpi-row-value-gap);
2368
- min-width: 0;
2369
- }
2370
- .kjun-scope .kjun-kpi-row__value[data-v-kjun-79772914] {
2371
- font-family: var(--_kjun-font-numeric);
2372
- font-variant-numeric: tabular-nums;
2373
- }
2374
- /* 텍스트형 값(예: 최대 증가/감소 지표명) — 큰 숫자 글자 크기는 긴 한글명이 모바일 반폭 칸에서 여러 줄로
2375
- 터지므로, 텍스트에 맞는 크기 + 한글 단어 보존(keep-all)으로 행 높이를 안정화한다. */
2376
- .kjun-scope .kjun-kpi-row__value--text[data-v-kjun-79772914] {
2377
- font-family: var(--kjun-font);
2378
- font-variant-numeric: normal;
2379
- white-space: normal;
2380
- overflow-wrap: anywhere;
2381
- word-break: keep-all;
2382
- }
2383
- /* Units inherit their value's colour, like KpiHero and Native. */
2384
- .kjun-scope .kjun-kpi-row__desc[data-v-kjun-79772914] {
2385
- margin-top: var(--_kjun-extension-kpi-row-md-description-gap);
2386
- }
2387
- .kjun-scope .kjun-kpi-row__segment-label[data-v-kjun-79772914] {
2388
- display: none;
2389
- }
2390
- @media (width <= 768px) {
2391
- /* 페이지 KPI는 긴 한국어 라벨을 한눈에 비교할 수 있도록 스크롤 대신 조밀한 2열 그리드를 쓴다. */
2392
- .kjun-scope .kjun-kpi-row[data-v-kjun-79772914]:not(.kjun-kpi-row--sm) {
2393
- display: grid;
2394
- grid-template-columns: repeat(2, minmax(0, 1fr));
2395
- padding: var(--_kjun-extension-kpi-row-mobile-padding-y) var(--_kjun-extension-kpi-row-mobile-padding-x);
2396
- overflow: hidden;
2397
- }
2398
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__item[data-v-kjun-79772914] {
2399
- padding: var(--_kjun-extension-kpi-row-mobile-item-padding-y) var(--_kjun-extension-kpi-row-mobile-item-padding-x);
2400
- border-left: none;
2401
- border-top: none;
2402
- }
2403
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__item[data-v-kjun-79772914]:nth-child(even) {
2404
- border-left: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2405
- }
2406
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__item[data-v-kjun-79772914]:nth-child(n + 3) {
2407
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2408
- }
2409
- /* 홀수 개수의 마지막 항목은 전폭으로 마감해 빈 반쪽 셀을 남기지 않는다. */
2410
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm):not(.kjun-kpi-row--hero-first) .kjun-kpi-row__item[data-v-kjun-79772914]:last-child:nth-child(odd) {
2411
- grid-column: 1 / -1;
2412
- border-left: none;
2413
- }
2414
- /* hero-first는 전폭 헤드라인 아래에 나머지 항목을 2열로 배치한다. */
2415
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__item--full[data-v-kjun-79772914] {
2416
- grid-column: 1 / -1;
2417
- }
2418
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm).kjun-kpi-row--hero-first .kjun-kpi-row__item[data-v-kjun-79772914]:nth-child(2) {
2419
- border-left: none;
2420
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2421
- }
2422
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm).kjun-kpi-row--hero-first .kjun-kpi-row__item[data-v-kjun-79772914]:nth-child(3) {
2423
- border-left: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2424
- }
2425
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__label-row[data-v-kjun-79772914] {
2426
- gap: var(--_kjun-extension-kpi-row-mobile-label-gap);
2427
- margin-bottom: var(--_kjun-extension-kpi-row-mobile-label-margin);
2428
- }
2429
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__value[data-v-kjun-79772914] {
2430
- }
2431
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__value--text[data-v-kjun-79772914] {
2432
- }
2433
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__desc[data-v-kjun-79772914] {
2434
- margin-top: var(--_kjun-extension-kpi-row-mobile-description-gap);
2435
- }
2436
- .kjun-scope .kjun-kpi-row:not(.kjun-kpi-row--sm) .kjun-kpi-row__badge[data-v-kjun-79772914] {
2437
- padding: var(--_kjun-extension-kpi-row-badge-padding-y) var(--_kjun-extension-kpi-row-badge-padding-x);
2438
- }
2439
- }
2440
- @media (width <= 768px) {
2441
- /* 시장 요약은 주요 지수를 먼저 읽고, 보조 지표는 내용 너비에 따라 한 줄 또는 여러 줄로 흐르게 한다. */
2442
- .kjun-scope .kjun-kpi-row.kjun-kpi-row--mobile-summary[data-v-kjun-79772914]:not(.kjun-kpi-row--sm) {
2443
- display: flex;
2444
- flex-wrap: wrap;
2445
- gap: var(--_kjun-extension-kpi-row-summary-gap-y) var(--_kjun-extension-kpi-row-summary-gap-x);
2446
- padding: var(--_kjun-extension-kpi-row-summary-padding-y) var(--_kjun-extension-kpi-row-summary-padding-x);
2447
- overflow: visible;
2448
- }
2449
- .kjun-scope .kjun-kpi-row.kjun-kpi-row--mobile-summary:not(.kjun-kpi-row--sm) .kjun-kpi-row__item[data-v-kjun-79772914]:nth-child(n) {
2450
- flex: 0 0 calc((100% - var(--_kjun-extension-kpi-row-summary-gap-x)) / 2);
2451
- padding: 0;
2452
- border: 0;
2453
- }
2454
- .kjun-scope .kjun-kpi-row.kjun-kpi-row--mobile-summary:not(.kjun-kpi-row--sm) .kjun-kpi-row__item--full[data-v-kjun-79772914]:nth-child(n),
2455
- .kjun-scope .kjun-kpi-row.kjun-kpi-row--mobile-summary:not(.kjun-kpi-row--sm) .kjun-kpi-row__item--summary-full[data-v-kjun-79772914]:nth-child(n) {
2456
- flex-basis: 100%;
2457
- }
2458
- .kjun-scope .kjun-kpi-row--mobile-summary:not(.kjun-kpi-row--sm) .kjun-kpi-row__value[data-v-kjun-79772914] {
2459
- }
2460
- .kjun-scope .kjun-kpi-row--mobile-summary:not(.kjun-kpi-row--sm) .kjun-kpi-row__value--text[data-v-kjun-79772914] {
2461
- }
2462
- .kjun-scope .kjun-kpi-row--mobile-summary:not(.kjun-kpi-row--sm) .kjun-kpi-row__value--mobile-neutral[data-v-kjun-79772914] {
2463
- color: var(--_kjun-text-primary);
2464
- }
2465
- .kjun-scope .kjun-kpi-row--mobile-summary:not(.kjun-kpi-row--sm) .kjun-kpi-row__desc[data-v-kjun-79772914] {
2466
- }
2467
- .kjun-scope .kjun-kpi-row.kjun-kpi-row--mobile-summary:not(.kjun-kpi-row--sm) .kjun-kpi-row__item--secondary[data-v-kjun-79772914]:nth-child(n) {
2468
- display: flex;
2469
- flex: 0 1 auto;
2470
- flex-wrap: wrap;
2471
- align-items: baseline;
2472
- gap: var(--_kjun-extension-kpi-row-segment-gap);
2473
- max-width: 100%;
2474
- }
2475
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary[data-v-kjun-79772914]:last-child {
2476
- margin-left: auto;
2477
- }
2478
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__label-row[data-v-kjun-79772914] {
2479
- margin: 0;
2480
- max-width: 100%;
2481
- }
2482
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__value-row[data-v-kjun-79772914] {
2483
- flex-wrap: wrap;
2484
- max-width: 100%;
2485
- gap: var(--_kjun-extension-kpi-row-summary-secondary-gap);
2486
- }
2487
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__label[data-v-kjun-79772914],
2488
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__value[data-v-kjun-79772914] {
2489
- white-space: normal;
2490
- overflow-wrap: anywhere;
2491
- }
2492
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__value[data-v-kjun-79772914] {
2493
- }
2494
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__desc[data-v-kjun-79772914] {
2495
- margin: 0;
2496
- }
2497
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary.kjun-kpi-row__item--labeled-segments .kjun-kpi-row__label-row[data-v-kjun-79772914],
2498
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__segment--separator[data-v-kjun-79772914] {
2499
- display: none;
2500
- }
2501
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__segment-label[data-v-kjun-79772914] {
2502
- display: inline;
2503
- margin-right: var(--_kjun-geometry-dimension-value4);
2504
- color: var(--_kjun-text-secondary);
2505
- }
2506
- .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__segment--labeled ~ .kjun-kpi-row__segment--labeled[data-v-kjun-79772914]::before {
2507
- content: '·';
2508
- margin: 0 var(--_kjun-extension-kpi-row-separator-gap);
2509
- color: var(--_kjun-text-tertiary);
2510
- }
2511
- }
2512
-
2513
- /* size=sm — 모달, 컴팩트 카드 내부용 */
2514
- .kjun-scope .kjun-kpi-row--sm[data-v-kjun-79772914] { padding: var(--_kjun-extension-kpi-row-sm-padding-y) var(--_kjun-extension-kpi-row-sm-padding-x);
2515
- }
2516
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__item[data-v-kjun-79772914] { padding: var(--_kjun-extension-kpi-row-sm-item-padding-y) var(--_kjun-extension-kpi-row-sm-item-padding-x);
2517
- }
2518
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__label-row[data-v-kjun-79772914] { margin-bottom: var(--_kjun-extension-kpi-row-sm-label-margin); gap: var(--_kjun-extension-kpi-row-sm-label-gap);
2519
- }
2520
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__label[data-v-kjun-79772914] {
2521
- }
2522
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__value[data-v-kjun-79772914] {
2523
- }
2524
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__value--text[data-v-kjun-79772914] {
2525
- }
2526
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__desc[data-v-kjun-79772914] { margin-top: var(--_kjun-extension-kpi-row-sm-description-gap);
2527
- }
2528
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__badge[data-v-kjun-79772914] { padding: var(--_kjun-extension-kpi-row-badge-padding-y) var(--_kjun-extension-kpi-row-badge-padding-x);
2529
- }
2530
- @media (width <= 768px) {
2531
- .kjun-scope .kjun-kpi-row--sm[data-v-kjun-79772914] {
2532
- flex-wrap: wrap;
2533
- }
2534
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__item[data-v-kjun-79772914] {
2535
- flex: 1 1 50%;
2536
- padding: var(--_kjun-extension-kpi-row-small-mobile-item-padding-y) var(--_kjun-extension-kpi-row-small-mobile-item-padding-x);
2537
- border-left: none;
2538
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2539
- }
2540
- .kjun-scope .kjun-kpi-row--sm:not(.kjun-kpi-row--hero-first) .kjun-kpi-row__item[data-v-kjun-79772914]:first-child,
2541
- .kjun-scope .kjun-kpi-row--sm:not(.kjun-kpi-row--hero-first) .kjun-kpi-row__item[data-v-kjun-79772914]:nth-child(2) {
2542
- border-top: none;
2543
- }
2544
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__item--full[data-v-kjun-79772914] {
2545
- flex-basis: 100%;
2546
- }
2547
- .kjun-scope .kjun-kpi-row--sm.kjun-kpi-row--hero-first .kjun-kpi-row__item[data-v-kjun-79772914]:first-child {
2548
- border-top: none;
2549
- }
2550
- .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__value[data-v-kjun-79772914] {
2551
- }
2552
- }
2553
-
2554
-
2555
- .kjun-scope .kjun-list-skeleton__row[data-v-kjun-ad57a634] { display: flex; align-items: center; gap: var(--_kjun-extension-skeleton-gap); min-height: var(--_kjun-extension-skeleton-list-heights-market); padding: var(--_kjun-extension-skeleton-list-market-padding-y) var(--_kjun-extension-skeleton-list-market-padding-x); border-bottom: var(--_kjun-border-default-width) solid var(--_kjun-border);
2556
- }
2557
- .kjun-scope .kjun-list-skeleton__row--compact[data-v-kjun-ad57a634] { min-height: var(--_kjun-extension-skeleton-list-heights-compact); padding: var(--_kjun-extension-skeleton-list-compact-padding-y) var(--_kjun-extension-skeleton-list-compact-padding-x);
2558
- }
2559
- .kjun-scope .kjun-list-skeleton__row--notification[data-v-kjun-ad57a634] { min-height: var(--_kjun-extension-skeleton-list-heights-notification); padding: var(--_kjun-extension-skeleton-list-notification-padding-y) var(--_kjun-extension-skeleton-list-notification-padding-x);
2560
- }
2561
- .kjun-scope .kjun-list-skeleton__label[data-v-kjun-ad57a634] { flex: 1; min-width: 0; display: grid; gap: var(--_kjun-extension-skeleton-detail-gap);
2562
- }
2563
- .kjun-scope .kjun-list-skeleton__quote[data-v-kjun-ad57a634] { display: flex; flex-direction: column; align-items: flex-end; gap: var(--_kjun-extension-skeleton-detail-gap);
2564
- }
2565
- /* Market rows follow simple-list market rows: 16px all round, and 14/20 with a minimum height on narrow
2566
- screens. Bars sit in the name and meta line slots, so rows keep the list's height when data arrives. */
2567
- .kjun-scope .kjun-list-skeleton__row--market[data-v-kjun-ad57a634] { min-height: 0; padding: var(--_kjun-geometry-dimension-value16);
2568
- }
2569
- .kjun-scope .kjun-list-skeleton__row--market[data-v-kjun-ad57a634] :is(.kjun-list-skeleton__label, .kjun-list-skeleton__quote) {
2570
- display: grid; grid-template-rows: var(--_kjun-type-label-line) var(--_kjun-type-caption-line);
2571
- gap: var(--_kjun-geometry-dimension-value2); align-items: center;
2572
- }
2573
- .kjun-scope .kjun-list-skeleton__row--market .kjun-list-skeleton__quote[data-v-kjun-ad57a634] { justify-items: end;
2574
- }
2575
- @media (width < 768px) {
2576
- .kjun-scope .kjun-list-skeleton__row--market[data-v-kjun-ad57a634] { min-height: var(--_kjun-extension-market-list-minimum-height); padding: var(--_kjun-geometry-dimension-value14) var(--_kjun-geometry-dimension-value20);
2577
- }
2578
- .kjun-scope .kjun-list-skeleton__row--market[data-v-kjun-ad57a634] :is(.kjun-list-skeleton__label, .kjun-list-skeleton__quote) { grid-template-rows: var(--_kjun-type-input-line) var(--_kjun-type-body-line);
2579
- }
2580
- }
2581
-
2582
-
2583
-
2584
- /* 가로 스크롤 pill의 스크롤바 숨김은 Tailwind 유틸리티로 표현 불가해 scoped style을 사용한다. */
2585
- .kjun-scope .kjun-metric-pill-group[data-v-kjun-72f18cec] {
2586
- display: flex;
2587
- gap: var(--_kjun-geometry-dimension-value8);
2588
- overflow-x: auto;
2589
- padding: var(--_kjun-geometry-dimension-value10) var(--_kjun-geometry-dimension-value16);
2590
- scrollbar-width: none;
2591
- -webkit-overflow-scrolling: touch;
2592
- }
2593
- .kjun-scope .kjun-metric-pill-group[data-v-kjun-72f18cec]::-webkit-scrollbar {
2594
- display: none;
2595
- }
2596
- .kjun-scope .kjun-metric-pill[data-v-kjun-72f18cec] {
2597
- flex: 0 0 auto;
2598
- background: var(--_kjun-bg-secondary);
2599
- color: var(--_kjun-text-secondary);
2600
- border: 0;
2601
- padding: var(--_kjun-geometry-dimension-value8) var(--_kjun-geometry-dimension-value16);
2602
- border-radius: var(--_kjun-geometry-radius-radius9999);
2603
- font-size: var(--_kjun-type-label-size);
2604
- white-space: nowrap;
2605
- cursor: pointer;
2606
- transition: background-color var(--_kjun-motion-control) var(--_kjun-ease-out), color var(--_kjun-motion-control) var(--_kjun-ease-out);
2607
- line-height: var(--_kjun-type-label-line);
2608
- font-weight: var(--_kjun-type-label-weight);
2609
- letter-spacing: var(--_kjun-type-label-tracking);
2610
- }
2611
- .kjun-scope .kjun-metric-pill[data-v-kjun-72f18cec]:focus-visible {
2612
- outline: none;
2613
- box-shadow: 0 0 0 3px var(--_kjun-focus-ring);
2614
- }
2615
- .kjun-scope .kjun-metric-pill--active[data-v-kjun-72f18cec] {
2616
- background: var(--_kjun-brand);
2617
- color: var(--_kjun-on-brand);
2618
- font-weight: var(--_kjun-type-number-lg-weight);
2619
- }
2620
- .kjun-scope .kjun-metric-pill-arrow[data-v-kjun-72f18cec] {
2621
- margin-left: var(--_kjun-geometry-dimension-value4);
2622
- font-size: var(--_kjun-type-caption-size);
2623
- line-height: var(--_kjun-type-caption-line);
2624
- font-weight: var(--_kjun-type-caption-weight);
2625
- letter-spacing: var(--_kjun-type-caption-tracking);
2626
- }
2627
-
2628
-
2629
- .kjun-scope .kjun-market-simple-pagination[data-v-kjun-944b616c] {
2630
- border-top: 0;
2631
- }
2632
-
2633
- /* 가격과 등락률의 오른쪽 끝을 일치시킨다. */
2634
- .kjun-scope .kjun-price-cell[data-v-kjun-944b616c] {
2635
- display: inline-block;
2636
- padding: 0;
2637
- border-radius: 0;
2638
- }
2639
-
2640
-
2641
- /* 도메인 슬롯의 가격도 여백 없는 숫자로 맞춰 열의 오른쪽 기준선을 유지한다. */
2642
- .kjun-scope .kjun-market-table-frame[data-v-kjun-d2447142] .kjun-price-cell {
2643
- padding: 0;
2644
- border-radius: 0;
2645
- }
2646
-
2647
-
2648
- .kjun-scope .kjun-popover-panel[data-v-kjun-6b187b6b] { display: flex; flex-direction: column; outline: none; overflow:auto;
2649
- }
2650
-
2651
-
2652
- .kjun-scope .kjun-progress-cell[data-v-kjun-8474fa24] {
2653
- display: flex;
2654
- align-items: center;
2655
- gap: var(--_kjun-extension-financial-progress-gap);
2656
- min-width: var(--_kjun-extension-financial-progress-minimum-width);
2657
- }
2658
- .kjun-scope .kjun-progress-cell-bar[data-v-kjun-8474fa24] {
2659
- flex: 1;
2660
- background: var(--_kjun-bg-tertiary);
2661
- border-radius: var(--_kjun-extension-financial-progress-radius);
2662
- overflow: hidden;
2663
- }
2664
- .kjun-scope .kjun-progress-cell-fill[data-v-kjun-8474fa24] {
2665
- height: 100%;
2666
- border-radius: var(--_kjun-extension-financial-progress-radius);
2667
- transition: width var(--_kjun-motion-progress) var(--_kjun-ease-out);
2668
- }
2669
- .kjun-scope .kjun-progress-cell-label[data-v-kjun-8474fa24] {
2670
- font-size: var(--_kjun-type-caption-size);
2671
- color: var(--_kjun-text-secondary);
2672
- min-width: var(--_kjun-extension-financial-progress-label-width);
2673
- text-align: right;
2674
- font-variant-numeric: tabular-nums;
2675
- line-height: var(--_kjun-type-caption-line);
2676
- font-weight: var(--_kjun-type-caption-weight);
2677
- letter-spacing: var(--_kjun-type-caption-tracking);
2678
- }
2679
-
2680
-
2681
- .kjun-scope .kjun-skeleton[data-v-kjun-26a58e45] {
2682
- width: 100%;
2683
- /* 방어선: block 타입 내부 요소는 height prop 미지정 시 인라인 100px로 렌더된다.
2684
- 호출부가 클래스(크기 유틸리티 등)로만 래퍼 높이를 제한한 경우 내부가 행 밖으로 흘러넘쳐
2685
- 이웃 행을 덮는 사고가 재발했으므로, 래퍼 밖으로는 절대 넘치지 않게 클립한다. */
2686
- overflow: hidden;
2687
- }
2688
-
2689
- /* Base line */
2690
- .kjun-scope .kjun-skeleton-line[data-v-kjun-26a58e45] {
2691
- height: var(--_kjun-extension-skeleton-line-heights-md);
2692
- background: var(--_kjun-skeleton);
2693
- border-radius: var(--_kjun-extension-skeleton-line-radius);
2694
- margin-bottom: var(--_kjun-extension-skeleton-gap);
2695
- }
2696
- .kjun-scope .kjun-skeleton-line[data-v-kjun-26a58e45]:last-child {
2697
- margin-bottom: 0;
2698
- }
2699
- .kjun-scope .kjun-skeleton-line-sm[data-v-kjun-26a58e45] {
2700
- height: var(--_kjun-extension-skeleton-line-heights-sm);
2701
- }
2702
- .kjun-scope .kjun-skeleton-line-lg[data-v-kjun-26a58e45] {
2703
- height: var(--_kjun-extension-skeleton-line-heights-lg);
2704
- }
2705
-
2706
- /* Avatar */
2707
- .kjun-scope .kjun-skeleton-avatar[data-v-kjun-26a58e45] {
2708
- background: var(--_kjun-skeleton);
2709
- flex-shrink: 0;
2710
- }
2711
- .kjun-scope .kjun-skeleton-avatar-sm[data-v-kjun-26a58e45] {
2712
- width: var(--_kjun-extension-skeleton-card-avatar-size);
2713
- height: var(--_kjun-extension-skeleton-card-avatar-size);
2714
- border-radius: 50%;
2715
- }
2716
-
2717
- /* Card */
2718
- .kjun-scope .kjun-skeleton-card[data-v-kjun-26a58e45] {
2719
- padding: var(--_kjun-extension-skeleton-padding);
2720
- border: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2721
- border-radius: var(--_kjun-extension-skeleton-radius);
2722
- background: var(--_kjun-bg-primary);
2723
- }
2724
- .kjun-scope .kjun-skeleton-card-header[data-v-kjun-26a58e45] {
2725
- display: flex;
2726
- align-items: center;
2727
- gap: var(--_kjun-extension-skeleton-gap);
2728
- margin-bottom: var(--_kjun-extension-skeleton-form-gap);
2729
- }
2730
- .kjun-scope .kjun-skeleton-card-header-text[data-v-kjun-26a58e45] {
2731
- flex: 1;
2732
- }
2733
- .kjun-scope .kjun-skeleton-card-header-text .kjun-skeleton-line[data-v-kjun-26a58e45] {
2734
- margin-bottom: var(--_kjun-extension-skeleton-field-gap);
2735
- }
2736
- .kjun-scope .kjun-skeleton-card-body .kjun-skeleton-line[data-v-kjun-26a58e45] {
2737
- margin-bottom: var(--_kjun-geometry-dimension-value10);
2738
- }
2739
-
2740
- /* Table */
2741
- .kjun-scope .kjun-skeleton-table[data-v-kjun-26a58e45] {
2742
- border: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2743
- border-radius: var(--_kjun-extension-skeleton-block-radius);
2744
- overflow: hidden;
2745
- }
2746
- .kjun-scope .kjun-skeleton-table-header[data-v-kjun-26a58e45] {
2747
- display: flex;
2748
- background: var(--_kjun-bg-secondary);
2749
- border-bottom: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2750
- }
2751
- .kjun-scope .kjun-skeleton-table-row[data-v-kjun-26a58e45] {
2752
- display: flex;
2753
- border-bottom: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2754
- }
2755
- .kjun-scope .kjun-skeleton-table-row[data-v-kjun-26a58e45]:last-child {
2756
- border-bottom: none;
2757
- }
2758
- .kjun-scope .kjun-skeleton-table-cell[data-v-kjun-26a58e45] {
2759
- flex: 1;
2760
- padding: var(--_kjun-geometry-dimension-value12) var(--_kjun-geometry-dimension-value16);
2761
- }
2762
- .kjun-scope .kjun-skeleton-table-cell .kjun-skeleton-line[data-v-kjun-26a58e45] {
2763
- margin-bottom: 0;
2764
- height: var(--_kjun-extension-skeleton-table-line-height);
2765
- }
2766
-
2767
- /* Chart */
2768
- .kjun-scope .kjun-skeleton-chart[data-v-kjun-26a58e45] {
2769
- display: flex;
2770
- flex-direction: column;
2771
- padding: var(--_kjun-extension-skeleton-padding);
2772
- border: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2773
- border-radius: var(--_kjun-extension-skeleton-radius);
2774
- background: var(--_kjun-bg-primary);
2775
- }
2776
- .kjun-scope .kjun-skeleton-chart-bars[data-v-kjun-26a58e45] {
2777
- flex: 1;
2778
- display: flex;
2779
- align-items: flex-end;
2780
- justify-content: space-around;
2781
- gap: var(--_kjun-extension-skeleton-gap);
2782
- /* Bars stand on the axis line, like ChartSkeleton. */
2783
- }
2784
- .kjun-scope .kjun-skeleton-chart-bar[data-v-kjun-26a58e45] {
2785
- flex: 1;
2786
- max-width: var(--_kjun-extension-skeleton-chart-bar-max-width);
2787
- background: var(--_kjun-skeleton);
2788
- border-radius: var(--_kjun-extension-skeleton-line-radius) var(--_kjun-geometry-radius-radius4) 0 0;
2789
- }
2790
- .kjun-scope .kjun-skeleton-chart-axis[data-v-kjun-26a58e45] {
2791
- height: var(--_kjun-extension-skeleton-chart-axis-height);
2792
- background: var(--_kjun-border-primary);
2793
- }
2794
-
2795
- /* Stat Card */
2796
- .kjun-scope .kjun-skeleton-stat[data-v-kjun-26a58e45] {
2797
- display: flex;
2798
- justify-content: space-between;
2799
- align-items: center;
2800
- padding: var(--_kjun-extension-skeleton-padding);
2801
- border: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2802
- border-radius: var(--_kjun-extension-skeleton-radius);
2803
- background: var(--_kjun-bg-primary);
2804
- }
2805
- .kjun-scope .kjun-skeleton-stat-content[data-v-kjun-26a58e45] {
2806
- flex: 1;
2807
- }
2808
- .kjun-scope .kjun-skeleton-stat-content .kjun-skeleton-line[data-v-kjun-26a58e45] {
2809
- margin-bottom: var(--_kjun-extension-skeleton-field-gap);
2810
- }
2811
- .kjun-scope .kjun-skeleton-stat-chart[data-v-kjun-26a58e45] {
2812
- width: var(--_kjun-extension-skeleton-stat-width);
2813
- height: var(--_kjun-extension-skeleton-stat-height);
2814
- }
2815
- .kjun-scope .kjun-skeleton-sparkline[data-v-kjun-26a58e45] {
2816
- width: 100%;
2817
- height: 100%;
2818
- background: var(--_kjun-skeleton);
2819
- border-radius: var(--_kjun-extension-skeleton-line-radius);
2820
- }
2821
-
2822
- /* Block */
2823
- .kjun-scope .kjun-skeleton-block[data-v-kjun-26a58e45] {
2824
- background: var(--_kjun-skeleton);
2825
- border-radius: var(--_kjun-extension-skeleton-block-radius);
2826
- }
2827
-
2828
- /* Animation */
2829
- .kjun-scope .kjun-skeleton-animated .kjun-skeleton-line[data-v-kjun-26a58e45],
2830
- .kjun-scope .kjun-skeleton-animated .kjun-skeleton-avatar[data-v-kjun-26a58e45],
2831
- .kjun-scope .kjun-skeleton-animated .kjun-skeleton-chart-bar[data-v-kjun-26a58e45],
2832
- .kjun-scope .kjun-skeleton-animated .kjun-skeleton-sparkline[data-v-kjun-26a58e45],
2833
- .kjun-scope .kjun-skeleton-animated .kjun-skeleton-block[data-v-kjun-26a58e45] {
2834
- background: linear-gradient(
2835
- 90deg,
2836
- var(--_kjun-skeleton) 25%,
2837
- var(--_kjun-skeleton-shine) 50%,
2838
- var(--_kjun-skeleton) 75%
2839
- );
2840
- background-size: 200% 100%;
2841
- animation: kjun-skeleton-shimmer-data-v-kjun-26a58e45 var(--_kjun-motion-shimmer) ease-in-out infinite;
2842
- }
2843
- @keyframes kjun-skeleton-shimmer-data-v-kjun-26a58e45 {
2844
- 0% {
2845
- background-position: 200% 0;
2846
- }
2847
- 100% {
2848
- background-position: -200% 0;
2849
- }
2850
- }
2851
- @media (prefers-reduced-motion: reduce) {
2852
- .kjun-scope .kjun-skeleton-animated *[data-v-kjun-26a58e45] { animation: none !important;
2853
- }
2854
- }
2855
-
2856
-
2857
- .kjun-scope .kjun-sparkline[data-v-kjun-2d7bf8ea] {
2858
- display: inline-block;
2859
- vertical-align: middle;
2860
- }
2861
-
2862
-
2863
- .kjun-scope .kjun-table-header[data-v-kjun-ec140cb0] {
2864
- background: transparent;
2865
- border-bottom: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2866
- color: var(--_kjun-text-secondary);
2867
- font-size: var(--_kjun-type-control-small-size);
2868
- line-height: var(--_kjun-type-control-small-line);
2869
- font-weight: var(--_kjun-type-control-small-weight);
2870
- letter-spacing: var(--_kjun-type-control-small-tracking);
2871
- }
2872
- .kjun-scope .kjun-table-secondary[data-v-kjun-ec140cb0] {
2873
- font-size: var(--_kjun-type-caption-size);
2874
- color: var(--_kjun-text-secondary);
2875
- line-height: var(--_kjun-type-caption-line);
2876
- font-weight: var(--_kjun-type-caption-weight);
2877
- letter-spacing: var(--_kjun-type-caption-tracking);
2878
- }
2879
- .kjun-scope .kjun-table-pill[data-v-kjun-ec140cb0] {
2880
- display: inline-block;
2881
- padding: var(--_kjun-geometry-dimension-value2) var(--_kjun-geometry-dimension-value8);
2882
- border-radius: var(--_kjun-geometry-radius-radius4);
2883
- font-size: var(--_kjun-type-meta-size);
2884
- font-variant-numeric: tabular-nums;
2885
- line-height: var(--_kjun-type-meta-line);
2886
- font-weight: var(--_kjun-type-meta-weight);
2887
- letter-spacing: var(--_kjun-type-meta-tracking);
2888
- }
2889
- .kjun-scope .kjun-table-pill-up[data-v-kjun-ec140cb0] {
2890
- color: var(--_kjun-price-up);
2891
- background: var(--_kjun-price-up-bg);
2892
- }
2893
- .kjun-scope .kjun-table-pill-down[data-v-kjun-ec140cb0] {
2894
- color: var(--_kjun-price-down);
2895
- background: var(--_kjun-price-down-bg);
2896
- }
2897
- .kjun-scope .kjun-table-cards[data-v-kjun-ec140cb0] {
2898
- display: flex;
2899
- flex-direction: column;
2900
- gap: var(--_kjun-extension-table-card-gap);
2901
- padding: var(--_kjun-extension-table-card-list-padding);
2902
- }
2903
- .kjun-scope .kjun-table-card[data-v-kjun-ec140cb0] {
2904
- background: var(--_kjun-bg-primary);
2905
- border: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2906
- border-radius: var(--_kjun-extension-table-card-radius);
2907
- padding: var(--_kjun-extension-table-card-padding);
2908
- cursor: pointer;
2909
- transition: background-color var(--_kjun-motion-control) var(--_kjun-ease-out);
2910
- }
2911
- .kjun-scope .kjun-table-card[data-v-kjun-ec140cb0]:hover {
2912
- background: var(--_kjun-bg-hover);
2913
- }
2914
-
2915
- /* justify-between 대신 left에 flex:1 — 인라인 액션이 있어도 배지/버튼이 항상 우측에 정렬된다 */
2916
- .kjun-scope .kjun-table-card-header[data-v-kjun-ec140cb0] {
2917
- display: flex;
2918
- align-items: center;
2919
- gap: var(--_kjun-extension-table-card-gap);
2920
- margin-bottom: var(--_kjun-extension-table-card-gap);
2921
- }
2922
- .kjun-scope .kjun-table-card-header-left[data-v-kjun-ec140cb0] {
2923
- display: flex;
2924
- flex: 1;
2925
- align-items: center;
2926
- min-width: 0;
2927
- }
2928
- .kjun-scope .kjun-table-card-header-actions[data-v-kjun-ec140cb0] {
2929
- display: flex;
2930
- flex-shrink: 0;
2931
- gap: var(--_kjun-extension-table-card-field-gap);
2932
- }
2933
- .kjun-scope .kjun-table-card-title[data-v-kjun-ec140cb0] {
2934
- min-width: 0;
2935
- overflow-wrap: anywhere;
2936
- color: var(--_kjun-text-primary);
2937
- font-size: var(--_kjun-type-card-title-size);
2938
- line-height: var(--_kjun-type-card-title-line);
2939
- font-weight: var(--_kjun-type-card-title-weight);
2940
- letter-spacing: var(--_kjun-type-card-title-tracking);
2941
- }
2942
- .kjun-scope .kjun-table-card-subtitle[data-v-kjun-ec140cb0] {
2943
- color: var(--_kjun-text-secondary);
2944
- font-size: var(--_kjun-type-caption-size);
2945
- line-height: var(--_kjun-type-caption-line);
2946
- font-weight: var(--_kjun-type-caption-weight);
2947
- letter-spacing: var(--_kjun-type-caption-tracking);
2948
- }
2949
- .kjun-scope .kjun-table-card-body[data-v-kjun-ec140cb0] {
2950
- display: grid;
2951
- grid-template-columns: repeat(2, minmax(0, 1fr));
2952
- gap: var(--_kjun-extension-table-card-metric-gap);
2953
- }
2954
- .kjun-scope .kjun-table-card-section + .kjun-table-card-section[data-v-kjun-ec140cb0] {
2955
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
2956
- margin-top: var(--_kjun-geometry-dimension-value12);
2957
- padding-top: var(--_kjun-geometry-dimension-value12);
2958
- }
2959
- .kjun-scope .kjun-table-card-section-label[data-v-kjun-ec140cb0] {
2960
- margin-bottom: var(--_kjun-extension-table-card-metric-gap);
2961
- color: var(--_kjun-text-tertiary);
2962
- font-size: var(--_kjun-type-control-small-size);
2963
- line-height: var(--_kjun-type-control-small-line);
2964
- font-weight: var(--_kjun-type-control-small-weight);
2965
- letter-spacing: var(--_kjun-type-control-small-tracking);
2966
- }
2967
- .kjun-scope .kjun-table-card-body--stack[data-v-kjun-ec140cb0] {
2968
- grid-template-columns: 1fr;
2969
- }
2970
- .kjun-scope .kjun-table-card-body--metrics[data-v-kjun-ec140cb0] {
2971
- grid-template-columns: repeat(3, minmax(0, 1fr));
2972
- gap: var(--_kjun-extension-table-card-gap);
2973
- }
2974
- .kjun-scope .kjun-table-card-body--metrics .kjun-table-card-field[data-v-kjun-ec140cb0] {
2975
- align-items: center;
2976
- text-align: center;
2977
- }
2978
- .kjun-scope .kjun-table-card-body--metrics .kjun-table-card-label[data-v-kjun-ec140cb0] {
2979
- font-size: var(--_kjun-type-caption-size);
2980
- line-height: var(--_kjun-type-caption-line);
2981
- font-weight: var(--_kjun-type-caption-weight);
2982
- letter-spacing: var(--_kjun-type-caption-tracking);
2983
- }
2984
- .kjun-scope .kjun-table-card-body--metrics .kjun-table-card-value[data-v-kjun-ec140cb0] {
2985
- width: 100%;
2986
- }
2987
- .kjun-scope .kjun-table-card-field[data-v-kjun-ec140cb0] {
2988
- display: flex;
2989
- flex-direction: column;
2990
- gap: var(--_kjun-extension-table-card-value-gap);
2991
- /* grid 자식의 기본 min-width:auto는 긴 콘텐츠(JSON 등)가 truncate를 무력화하고
2992
- 셀을 카드 밖까지 밀어내게 한다 — 0으로 풀어야 슬롯의 truncate가 동작한다 */
2993
- min-width: 0;
2994
- }
2995
- .kjun-scope .kjun-table-card-field--full[data-v-kjun-ec140cb0] {
2996
- grid-column: 1 / -1;
2997
- }
2998
- .kjun-scope .kjun-table-card-field--label-right .kjun-table-card-label[data-v-kjun-ec140cb0] {
2999
- display: block;
3000
- width: 100%;
3001
- text-align: right;
3002
- }
3003
- .kjun-scope .kjun-table-card-label[data-v-kjun-ec140cb0] {
3004
- color: var(--_kjun-text-tertiary);
3005
- font-size: var(--_kjun-type-caption-size);
3006
- line-height: var(--_kjun-type-caption-line);
3007
- font-weight: var(--_kjun-type-caption-weight);
3008
- letter-spacing: var(--_kjun-type-caption-tracking);
3009
- }
3010
- .kjun-scope .kjun-table-card-value[data-v-kjun-ec140cb0] {
3011
- color: var(--_kjun-text-primary);
3012
- font-size: var(--_kjun-type-body-size);
3013
- min-width: 0;
3014
- line-height: var(--_kjun-type-body-line);
3015
- font-weight: var(--_kjun-type-body-weight);
3016
- letter-spacing: var(--_kjun-type-body-tracking);
3017
- }
3018
- .kjun-scope .kjun-table-card-badges[data-v-kjun-ec140cb0] {
3019
- display: flex;
3020
- align-items: center;
3021
- gap: var(--_kjun-extension-table-card-field-gap);
3022
- flex-shrink: 0;
3023
- }
3024
- .kjun-scope .kjun-table-card-actions[data-v-kjun-ec140cb0] {
3025
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3026
- padding-top: var(--_kjun-extension-table-card-gap);
3027
- margin-top: var(--_kjun-extension-table-card-gap);
3028
- display: flex;
3029
- justify-content: flex-end;
3030
- gap: var(--_kjun-extension-table-card-gap);
3031
- }
3032
- .kjun-scope .kjun-table-card-expand-toggle[data-v-kjun-ec140cb0] {
3033
- display: flex;
3034
- align-items: center;
3035
- width: 100%;
3036
- padding: var(--_kjun-extension-table-card-metric-gap) 0;
3037
- margin-top: var(--_kjun-extension-table-card-field-gap);
3038
- font-size: var(--_kjun-type-caption-size);
3039
- color: var(--_kjun-text-tertiary);
3040
- background: none;
3041
- border: none;
3042
- cursor: pointer;
3043
- transition: color var(--_kjun-motion-control) var(--_kjun-ease-out);
3044
- line-height: var(--_kjun-type-caption-line);
3045
- /* Control weight, like the React and Native ghost toggle buttons. */
3046
- font-weight: var(--_kjun-type-control-weight);
3047
- letter-spacing: var(--_kjun-type-caption-tracking);
3048
- }
3049
- .kjun-scope .kjun-table-card-expand-toggle[data-v-kjun-ec140cb0]:hover {
3050
- color: var(--_kjun-text-secondary);
3051
- }
3052
- .kjun-scope .kjun-table-card-expand-content[data-v-kjun-ec140cb0] {
3053
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3054
- padding-top: var(--_kjun-extension-table-card-gap);
3055
- margin-top: var(--_kjun-extension-table-card-field-gap);
3056
- }
3057
- .kjun-scope .kjun-table-card-empty[data-v-kjun-ec140cb0] {
3058
- text-align: center;
3059
- padding: var(--_kjun-extension-table-card-empty-padding);
3060
- color: var(--_kjun-text-tertiary);
3061
- }
3062
-
3063
- /* 스크롤 힌트는 스크롤 콘텐츠 안이 아니라 뷰포트 셸에 둬야, 가로 스크롤을 따라 움직이지 않는다. */
3064
- .kjun-scope .kjun-table-scroll-shell[data-v-kjun-ec140cb0] {
3065
- position: relative;
3066
- min-width: 0;
3067
- }
3068
- .kjun-scope .kjun-table-scroll-fade[data-v-kjun-ec140cb0] {
3069
- display: none;
3070
- pointer-events: none;
3071
- }
3072
- @media (width <= 768px) {
3073
- .kjun-scope .kjun-table-scroll-fade[data-v-kjun-ec140cb0] {
3074
- display: block;
3075
- position: absolute;
3076
- top: 0;
3077
- right: 0;
3078
- bottom: 0;
3079
- width: var(--_kjun-extension-scroll-fade-width);
3080
- z-index: 1;
3081
- background: linear-gradient(to right, transparent, var(--_kjun-card-bg));
3082
- }
3083
- }
3084
-
3085
- /* The header row takes the table header role, like React and Native. */
3086
- .kjun-scope .kjun-table-grid thead[data-v-kjun-ec140cb0] { background: var(--_kjun-color-table-header-bg);
3087
- }
3088
- .kjun-scope .kjun-table-grid th[data-v-kjun-ec140cb0] { padding: var(--_kjun-geometry-table-header-padding-y) var(--_kjun-geometry-table-header-padding-x);
3089
- }
3090
- .kjun-scope .kjun-table-grid td[data-v-kjun-ec140cb0] { padding: var(--_kjun-geometry-table-cell-padding-regular-y) var(--_kjun-geometry-table-cell-padding-regular-x);
3091
- }
3092
- .kjun-scope .kjun-table-grid[data-compact="true"] td[data-v-kjun-ec140cb0] { padding: var(--_kjun-geometry-table-cell-padding-compact-y) var(--_kjun-geometry-table-cell-padding-compact-x);
3093
- }
3094
- .kjun-scope .kjun-table-grid .kjun-table-action-cell[data-v-kjun-ec140cb0] { width: var(--_kjun-geometry-table-action-column-width); padding-inline: 0;
3095
- }
3096
- .kjun-scope .kjun-table-grid td.kjun-table-empty-cell[data-v-kjun-ec140cb0] { padding: var(--_kjun-geometry-table-empty-padding-y) var(--_kjun-geometry-table-empty-padding-x);
3097
- }
3098
- .kjun-scope .kjun-table-grid td.kjun-table-expanded-cell[data-v-kjun-ec140cb0] { padding: var(--_kjun-geometry-table-expanded-padding-y) var(--_kjun-geometry-table-expanded-padding-x);
3099
- }
3100
-
3101
-
3102
-
3103
- .kjun-scope .kjun-table-header[data-v-kjun-162f896a] {
3104
- background: transparent;
3105
- border-bottom: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3106
- color: var(--_kjun-text-secondary);
3107
- font-size: var(--_kjun-type-control-small-size);
3108
- line-height: var(--_kjun-type-control-small-line);
3109
- font-weight: var(--_kjun-type-control-small-weight);
3110
- letter-spacing: var(--_kjun-type-control-small-tracking);
3111
- }
3112
- .kjun-scope .kjun-table-secondary[data-v-kjun-162f896a] {
3113
- font-size: var(--_kjun-type-caption-size);
3114
- color: var(--_kjun-text-secondary);
3115
- line-height: var(--_kjun-type-caption-line);
3116
- font-weight: var(--_kjun-type-caption-weight);
3117
- letter-spacing: var(--_kjun-type-caption-tracking);
3118
- }
3119
- .kjun-scope .kjun-table-pill[data-v-kjun-162f896a] {
3120
- display: inline-block;
3121
- padding: var(--_kjun-geometry-dimension-value2) var(--_kjun-geometry-dimension-value8);
3122
- border-radius: var(--_kjun-geometry-radius-radius4);
3123
- font-size: var(--_kjun-type-meta-size);
3124
- font-variant-numeric: tabular-nums;
3125
- line-height: var(--_kjun-type-meta-line);
3126
- font-weight: var(--_kjun-type-meta-weight);
3127
- letter-spacing: var(--_kjun-type-meta-tracking);
3128
- }
3129
- .kjun-scope .kjun-table-pill-up[data-v-kjun-162f896a] {
3130
- color: var(--_kjun-price-up);
3131
- background: var(--_kjun-price-up-bg);
3132
- }
3133
- .kjun-scope .kjun-table-pill-down[data-v-kjun-162f896a] {
3134
- color: var(--_kjun-price-down);
3135
- background: var(--_kjun-price-down-bg);
3136
- }
3137
- .kjun-scope .kjun-table-cards[data-v-kjun-162f896a] {
3138
- display: flex;
3139
- flex-direction: column;
3140
- gap: var(--_kjun-extension-table-card-gap);
3141
- padding: var(--_kjun-extension-table-card-list-padding);
3142
- }
3143
- .kjun-scope .kjun-table-card[data-v-kjun-162f896a] {
3144
- background: var(--_kjun-bg-primary);
3145
- border: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3146
- border-radius: var(--_kjun-extension-table-card-radius);
3147
- padding: var(--_kjun-extension-table-card-padding);
3148
- cursor: pointer;
3149
- transition: background-color var(--_kjun-motion-control) var(--_kjun-ease-out);
3150
- }
3151
- .kjun-scope .kjun-table-card[data-v-kjun-162f896a]:hover {
3152
- background: var(--_kjun-bg-hover);
3153
- }
3154
-
3155
- /* justify-between 대신 left에 flex:1 — 인라인 액션이 있어도 배지/버튼이 항상 우측에 정렬된다 */
3156
- .kjun-scope .kjun-table-card-header[data-v-kjun-162f896a] {
3157
- display: flex;
3158
- align-items: center;
3159
- gap: var(--_kjun-extension-table-card-gap);
3160
- margin-bottom: var(--_kjun-extension-table-card-gap);
3161
- }
3162
- .kjun-scope .kjun-table-card-header-left[data-v-kjun-162f896a] {
3163
- display: flex;
3164
- flex: 1;
3165
- align-items: center;
3166
- min-width: 0;
3167
- }
3168
- .kjun-scope .kjun-table-card-header-actions[data-v-kjun-162f896a] {
3169
- display: flex;
3170
- flex-shrink: 0;
3171
- gap: var(--_kjun-extension-table-card-field-gap);
3172
- }
3173
- .kjun-scope .kjun-table-card-title[data-v-kjun-162f896a] {
3174
- min-width: 0;
3175
- overflow-wrap: anywhere;
3176
- color: var(--_kjun-text-primary);
3177
- font-size: var(--_kjun-type-card-title-size);
3178
- line-height: var(--_kjun-type-card-title-line);
3179
- font-weight: var(--_kjun-type-card-title-weight);
3180
- letter-spacing: var(--_kjun-type-card-title-tracking);
3181
- }
3182
- .kjun-scope .kjun-table-card-subtitle[data-v-kjun-162f896a] {
3183
- color: var(--_kjun-text-secondary);
3184
- font-size: var(--_kjun-type-caption-size);
3185
- line-height: var(--_kjun-type-caption-line);
3186
- font-weight: var(--_kjun-type-caption-weight);
3187
- letter-spacing: var(--_kjun-type-caption-tracking);
3188
- }
3189
- .kjun-scope .kjun-table-card-body[data-v-kjun-162f896a] {
3190
- display: grid;
3191
- grid-template-columns: repeat(2, minmax(0, 1fr));
3192
- gap: var(--_kjun-extension-table-card-metric-gap);
3193
- }
3194
- .kjun-scope .kjun-table-card-section + .kjun-table-card-section[data-v-kjun-162f896a] {
3195
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3196
- margin-top: var(--_kjun-geometry-dimension-value12);
3197
- padding-top: var(--_kjun-geometry-dimension-value12);
3198
- }
3199
- .kjun-scope .kjun-table-card-section-label[data-v-kjun-162f896a] {
3200
- margin-bottom: var(--_kjun-extension-table-card-metric-gap);
3201
- color: var(--_kjun-text-tertiary);
3202
- font-size: var(--_kjun-type-control-small-size);
3203
- line-height: var(--_kjun-type-control-small-line);
3204
- font-weight: var(--_kjun-type-control-small-weight);
3205
- letter-spacing: var(--_kjun-type-control-small-tracking);
3206
- }
3207
- .kjun-scope .kjun-table-card-body--stack[data-v-kjun-162f896a] {
3208
- grid-template-columns: 1fr;
3209
- }
3210
- .kjun-scope .kjun-table-card-body--metrics[data-v-kjun-162f896a] {
3211
- grid-template-columns: repeat(3, minmax(0, 1fr));
3212
- gap: var(--_kjun-extension-table-card-gap);
3213
- }
3214
- .kjun-scope .kjun-table-card-body--metrics .kjun-table-card-field[data-v-kjun-162f896a] {
3215
- align-items: center;
3216
- text-align: center;
3217
- }
3218
- .kjun-scope .kjun-table-card-body--metrics .kjun-table-card-label[data-v-kjun-162f896a] {
3219
- font-size: var(--_kjun-type-caption-size);
3220
- line-height: var(--_kjun-type-caption-line);
3221
- font-weight: var(--_kjun-type-caption-weight);
3222
- letter-spacing: var(--_kjun-type-caption-tracking);
3223
- }
3224
- .kjun-scope .kjun-table-card-body--metrics .kjun-table-card-value[data-v-kjun-162f896a] {
3225
- width: 100%;
3226
- }
3227
- .kjun-scope .kjun-table-card-field[data-v-kjun-162f896a] {
3228
- display: flex;
3229
- flex-direction: column;
3230
- gap: var(--_kjun-extension-table-card-value-gap);
3231
- /* grid 자식의 기본 min-width:auto는 긴 콘텐츠(JSON 등)가 truncate를 무력화하고
3232
- 셀을 카드 밖까지 밀어내게 한다 — 0으로 풀어야 슬롯의 truncate가 동작한다 */
3233
- min-width: 0;
3234
- }
3235
- .kjun-scope .kjun-table-card-field--full[data-v-kjun-162f896a] {
3236
- grid-column: 1 / -1;
3237
- }
3238
- .kjun-scope .kjun-table-card-field--label-right .kjun-table-card-label[data-v-kjun-162f896a] {
3239
- display: block;
3240
- width: 100%;
3241
- text-align: right;
3242
- }
3243
- .kjun-scope .kjun-table-card-label[data-v-kjun-162f896a] {
3244
- color: var(--_kjun-text-tertiary);
3245
- font-size: var(--_kjun-type-caption-size);
3246
- line-height: var(--_kjun-type-caption-line);
3247
- font-weight: var(--_kjun-type-caption-weight);
3248
- letter-spacing: var(--_kjun-type-caption-tracking);
3249
- }
3250
- .kjun-scope .kjun-table-card-value[data-v-kjun-162f896a] {
3251
- color: var(--_kjun-text-primary);
3252
- font-size: var(--_kjun-type-body-size);
3253
- min-width: 0;
3254
- line-height: var(--_kjun-type-body-line);
3255
- font-weight: var(--_kjun-type-body-weight);
3256
- letter-spacing: var(--_kjun-type-body-tracking);
3257
- }
3258
- .kjun-scope .kjun-table-card-badges[data-v-kjun-162f896a] {
3259
- display: flex;
3260
- align-items: center;
3261
- gap: var(--_kjun-extension-table-card-field-gap);
3262
- flex-shrink: 0;
3263
- }
3264
- .kjun-scope .kjun-table-card-actions[data-v-kjun-162f896a] {
3265
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3266
- padding-top: var(--_kjun-extension-table-card-gap);
3267
- margin-top: var(--_kjun-extension-table-card-gap);
3268
- display: flex;
3269
- justify-content: flex-end;
3270
- gap: var(--_kjun-extension-table-card-gap);
3271
- }
3272
- .kjun-scope .kjun-table-card-expand-toggle[data-v-kjun-162f896a] {
3273
- display: flex;
3274
- align-items: center;
3275
- width: 100%;
3276
- padding: var(--_kjun-extension-table-card-metric-gap) 0;
3277
- margin-top: var(--_kjun-extension-table-card-field-gap);
3278
- font-size: var(--_kjun-type-caption-size);
3279
- color: var(--_kjun-text-tertiary);
3280
- background: none;
3281
- border: none;
3282
- cursor: pointer;
3283
- transition: color var(--_kjun-motion-control) var(--_kjun-ease-out);
3284
- line-height: var(--_kjun-type-caption-line);
3285
- /* Control weight, like the React and Native ghost toggle buttons. */
3286
- font-weight: var(--_kjun-type-control-weight);
3287
- letter-spacing: var(--_kjun-type-caption-tracking);
3288
- }
3289
- .kjun-scope .kjun-table-card-expand-toggle[data-v-kjun-162f896a]:hover {
3290
- color: var(--_kjun-text-secondary);
3291
- }
3292
- .kjun-scope .kjun-table-card-expand-content[data-v-kjun-162f896a] {
3293
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3294
- padding-top: var(--_kjun-extension-table-card-gap);
3295
- margin-top: var(--_kjun-extension-table-card-field-gap);
3296
- }
3297
- .kjun-scope .kjun-table-card-empty[data-v-kjun-162f896a] {
3298
- text-align: center;
3299
- padding: var(--_kjun-extension-table-card-empty-padding);
3300
- color: var(--_kjun-text-tertiary);
3301
- }
3302
-
3303
- /* 스크롤 힌트는 스크롤 콘텐츠 안이 아니라 뷰포트 셸에 둬야, 가로 스크롤을 따라 움직이지 않는다. */
3304
- .kjun-scope .kjun-table-scroll-shell[data-v-kjun-162f896a] {
3305
- position: relative;
3306
- min-width: 0;
3307
- }
3308
- .kjun-scope .kjun-table-scroll-fade[data-v-kjun-162f896a] {
3309
- display: none;
3310
- pointer-events: none;
3311
- }
3312
- @media (width <= 768px) {
3313
- .kjun-scope .kjun-table-scroll-fade[data-v-kjun-162f896a] {
3314
- display: block;
3315
- position: absolute;
3316
- top: 0;
3317
- right: 0;
3318
- bottom: 0;
3319
- width: var(--_kjun-extension-scroll-fade-width);
3320
- z-index: 1;
3321
- background: linear-gradient(to right, transparent, var(--_kjun-card-bg));
3322
- }
3323
- }
3324
-
3325
- /* The header row takes the table header role, like React and Native. */
3326
- .kjun-scope .kjun-table-grid thead[data-v-kjun-162f896a] { background: var(--_kjun-color-table-header-bg);
3327
- }
3328
- .kjun-scope .kjun-table-grid th[data-v-kjun-162f896a] { padding: var(--_kjun-geometry-table-header-padding-y) var(--_kjun-geometry-table-header-padding-x);
3329
- }
3330
- .kjun-scope .kjun-table-grid td[data-v-kjun-162f896a] { padding: var(--_kjun-geometry-table-cell-padding-regular-y) var(--_kjun-geometry-table-cell-padding-regular-x);
3331
- }
3332
- .kjun-scope .kjun-table-grid[data-compact="true"] td[data-v-kjun-162f896a] { padding: var(--_kjun-geometry-table-cell-padding-compact-y) var(--_kjun-geometry-table-cell-padding-compact-x);
3333
- }
3334
- .kjun-scope .kjun-table-grid .kjun-table-action-cell[data-v-kjun-162f896a] { width: var(--_kjun-geometry-table-action-column-width); padding-inline: 0;
3335
- }
3336
- .kjun-scope .kjun-table-grid td.kjun-table-empty-cell[data-v-kjun-162f896a] { padding: var(--_kjun-geometry-table-empty-padding-y) var(--_kjun-geometry-table-empty-padding-x);
3337
- }
3338
- .kjun-scope .kjun-table-grid td.kjun-table-expanded-cell[data-v-kjun-162f896a] { padding: var(--_kjun-geometry-table-expanded-padding-y) var(--_kjun-geometry-table-expanded-padding-x);
3339
- }
3340
-
3341
-
3342
- .kjun-scope .kjun-data-state[data-v-kjun-ad1b6278] { position: relative;
3343
- }
3344
- .kjun-scope .kjun-data-state-concealed[data-v-kjun-ad1b6278] { position: absolute; top: 0; left: 0; right: 0; visibility: hidden; pointer-events: none;
3345
- }
3346
- .kjun-scope .kjun-data-state-refreshing[data-v-kjun-ad1b6278] {
3347
- opacity: var(--_kjun-state-opacity-pending);
3348
- pointer-events: none;
3349
- transition: opacity var(--_kjun-motion-control) var(--_kjun-ease-out);
3350
- }
3351
-
3352
-
3353
- /* 오버레이 표기 중에는 네이티브 로케일 텍스트를 숨긴다 (인디케이터는 유지) */
3354
- .kjun-scope .kjun-field.kjun-datepicker-masked[data-v-kjun-a24b6bd0] {
3355
- color: transparent;
3356
- }
3357
- .kjun-scope .kjun-datepicker-overlay[data-v-kjun-a24b6bd0] {
3358
- left: var(--_kjun-field-padding);
3359
- right: calc(var(--_kjun-field-padding) + var(--_kjun-field-icon-size) + var(--_kjun-field-affix-gap));
3360
- font-size: var(--_kjun-field-font-size);
3361
- line-height: var(--_kjun-field-line-height);
3362
- font-weight: var(--_kjun-type-input-weight);
3363
- letter-spacing: var(--_kjun-type-input-tracking);
3364
- }
3365
- .kjun-scope .kjun-datepicker-overlay.kjun-field-placeholder[data-v-kjun-a24b6bd0] {
3366
- font-size: var(--_kjun-field-placeholder-size);
3367
- }
3368
- /* 아이콘 자리만큼 오른쪽 여백을 비운다 */
3369
- .kjun-scope .kjun-field.kjun-datepicker-field[data-v-kjun-a24b6bd0] {
3370
- padding-right: calc(var(--_kjun-field-padding) + var(--_kjun-field-icon-size) + var(--_kjun-field-affix-gap) - var(--_kjun-border-control-width));
3371
- }
3372
- .kjun-scope .kjun-datepicker-icon[data-v-kjun-a24b6bd0] { pointer-events: none;
3373
- }
3374
- /* 브라우저 인디케이터는 그린 아이콘 위의 투명한 클릭 영역으로만 남긴다 */
3375
- .kjun-scope input[type="date"][data-v-kjun-a24b6bd0]::-webkit-calendar-picker-indicator {
3376
- position: absolute;
3377
- top: 0;
3378
- bottom: 0;
3379
- right: var(--_kjun-field-padding);
3380
- width: var(--_kjun-field-icon-size);
3381
- height: auto;
3382
- margin: 0;
3383
- padding: 0;
3384
- opacity: 0;
3385
- cursor: pointer;
3386
- }
3387
-
3388
-
3389
- .kjun-scope .kjun-form-error[data-v-kjun-0eb9e267] {
3390
- display: flex;
3391
- align-items: flex-start;
3392
- font-size: var(--_kjun-type-caption-size);
3393
- color: var(--_kjun-danger);
3394
- margin-top: var(--_kjun-extension-form-message-gap);
3395
- line-height: var(--_kjun-type-caption-line);
3396
- font-weight: var(--_kjun-type-caption-weight);
3397
- letter-spacing: var(--_kjun-type-caption-tracking);
3398
- }
3399
- .kjun-scope .kjun-form-hint[data-v-kjun-0eb9e267] {
3400
- font-size: var(--_kjun-type-caption-size);
3401
- color: var(--_kjun-text-secondary);
3402
- margin-top: var(--_kjun-extension-form-message-gap);
3403
- line-height: var(--_kjun-type-caption-line);
3404
- font-weight: var(--_kjun-type-caption-weight);
3405
- letter-spacing: var(--_kjun-type-caption-tracking);
3406
- }
3407
-
3408
-
3409
- .kjun-scope .kjun-select-clear[data-v-kjun-64cffa7f] {
3410
- right: calc(var(--_kjun-field-padding) + var(--_kjun-field-icon-size) + var(--_kjun-field-affix-gap));
3411
- }
3412
- .kjun-scope .kjun-select-indicator[data-v-kjun-64cffa7f] {
3413
- font-size: var(--_kjun-field-icon-size);
3414
- }
3415
-
3416
-
3417
- .kjun-scope .kjun-drawer-layer[data-v-kjun-87776ade] {
3418
- position: fixed;
3419
- top: 0;
3420
- left: 0;
3421
- right: 0;
3422
- bottom: 0;
3423
- z-index: var(--_kjun-active-layer);
3424
- }
3425
-
3426
- /* The scrim fades on its own layer so the panel stays opaque while it travels. Clicks reach the overlay. */
3427
- .kjun-scope .kjun-drawer-scrim[data-v-kjun-87776ade] {
3428
- position: absolute;
3429
- inset: 0;
3430
- background: var(--_kjun-color-overlay);
3431
- pointer-events: none;
3432
- }
3433
- .kjun-scope .kjun-drawer-panel[data-v-kjun-87776ade] {
3434
- border-radius: var(--_kjun-extension-drawer-radius);
3435
- position: fixed;
3436
- top: 0;
3437
- bottom: 0;
3438
- background: var(--_kjun-card-bg, var(--_kjun-color-surface));
3439
- /* border removed per design system policy */
3440
- box-shadow: var(--_kjun-drawer-elevation-right);
3441
- display: flex;
3442
- flex-direction: column;
3443
- }
3444
- .kjun-scope .kjun-drawer-right[data-v-kjun-87776ade] {
3445
- right: 0;
3446
- }
3447
- .kjun-scope .kjun-drawer-left[data-v-kjun-87776ade] {
3448
- box-shadow: var(--_kjun-drawer-elevation-left);
3449
- left: 0;
3450
- }
3451
-
3452
- /* bottom sheet: 화면 하단에 붙고 최대 높이 제한, 상단 모서리 라운드 */
3453
- .kjun-scope .kjun-drawer-bottom[data-v-kjun-87776ade] {
3454
- top: auto;
3455
- left: 0;
3456
- right: 0;
3457
- bottom: 0;
3458
- width: 100vw;
3459
- max-height: 85vh;
3460
- border-top-left-radius: var(--_kjun-extension-drawer-bottom-radius);
3461
- border-top-right-radius: var(--_kjun-extension-drawer-bottom-radius);
3462
- box-shadow: var(--_kjun-drawer-elevation-bottom);
3463
- }
3464
- .kjun-scope .kjun-drawer-header[data-v-kjun-87776ade] {
3465
- display: flex;
3466
- justify-content: space-between;
3467
- align-items: center;
3468
- padding: var(--_kjun-extension-drawer-padding-y) var(--_kjun-extension-drawer-padding-x);
3469
- border-bottom: var(--_kjun-border-default-width) solid var(--_kjun-border-primary, var(--_kjun-color-surface));
3470
- flex-shrink: 0;
3471
- }
3472
- .kjun-scope .kjun-drawer-title[data-v-kjun-87776ade] {
3473
- margin: 0;
3474
- font-size: var(--_kjun-type-section-title-size);
3475
- color: var(--_kjun-text-primary);
3476
- line-height: var(--_kjun-type-section-title-line);
3477
- font-weight: var(--_kjun-type-section-title-weight);
3478
- letter-spacing: var(--_kjun-type-section-title-tracking);
3479
- }
3480
- .kjun-scope .kjun-drawer-close[data-v-kjun-87776ade] {
3481
- display: flex;
3482
- align-items: center;
3483
- justify-content: center;
3484
- width: var(--_kjun-extension-drawer-close-size);
3485
- height: var(--_kjun-extension-drawer-close-size);
3486
- background: transparent;
3487
- border: none;
3488
- border-radius: var(--_kjun-extension-drawer-close-radius);
3489
- cursor: pointer;
3490
- color: var(--_kjun-text-secondary);
3491
- transition: background-color var(--_kjun-motion-control) var(--_kjun-ease-out), color var(--_kjun-motion-control) var(--_kjun-ease-out);
3492
- }
3493
- .kjun-scope .kjun-drawer-close[data-v-kjun-87776ade]:hover {
3494
- background: var(--_kjun-bg-secondary, var(--_kjun-color-surface));
3495
- color: var(--_kjun-text-primary);
3496
- }
3497
- .kjun-scope .kjun-drawer-body[data-v-kjun-87776ade] {
3498
- padding: var(--_kjun-extension-drawer-body-padding);
3499
- flex: 1;
3500
- overflow-y: auto;
3501
- color: var(--_kjun-text-primary);
3502
- }
3503
- .kjun-scope .kjun-drawer-body-no-padding[data-v-kjun-87776ade] {
3504
- padding: 0;
3505
- }
3506
- .kjun-scope .kjun-drawer-footer[data-v-kjun-87776ade] {
3507
- padding: var(--_kjun-extension-drawer-padding-y) var(--_kjun-extension-drawer-padding-x);
3508
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary, var(--_kjun-color-surface));
3509
- flex-shrink: 0;
3510
- }
3511
-
3512
- /* Scrollbar styling */
3513
- .kjun-scope .kjun-drawer-body[data-v-kjun-87776ade]::-webkit-scrollbar {
3514
- width: var(--_kjun-extension-scrollbar-width);
3515
- }
3516
- .kjun-scope .kjun-drawer-body[data-v-kjun-87776ade]::-webkit-scrollbar-track {
3517
- background: transparent;
3518
- }
3519
- .kjun-scope .kjun-drawer-body[data-v-kjun-87776ade]::-webkit-scrollbar-thumb {
3520
- background: var(--_kjun-border-secondary, var(--_kjun-color-surface));
3521
- border-radius: var(--_kjun-geometry-radius-radius9999);
3522
- }
3523
-
3524
- /* Shared drawer threshold controls the mobile layout. */
3525
- @media (width <= 640px) {
3526
- .kjun-scope .kjun-drawer-panel[data-v-kjun-87776ade] {
3527
- width: 100vw !important;
3528
- }
3529
- }
3530
- .kjun-scope .kjun-drawer-top[data-v-kjun-87776ade] { left:0; right:0; top:0; bottom:auto; width:100%; max-height:90dvh; box-shadow:var(--_kjun-drawer-elevation-top);
3531
- }
3532
-
3533
-
3534
- .kjun-scope .kjun-dropdown-menu[data-v-kjun-73e7efc4] { max-width: calc(100vw - 2 * var(--_kjun-extension-floating-viewport-inset));
3535
- }
3536
-
3537
-
3538
- @media (pointer: coarse) {
3539
- .kjun-scope button[data-v-kjun-1de607d7] {
3540
- min-height: var(--_kjun-geometry-native-minimum-touch-target);
3541
- -webkit-user-drag: none;
3542
- touch-action: manipulation;
3543
- }
3544
- }
3545
-
3546
-
3547
- /* Overlay */
3548
- .kjun-scope .kjun-modal-overlay[data-v-kjun-ea066b32] {
3549
- position: fixed;
3550
- top: 0;
3551
- left: 0;
3552
- right: 0;
3553
- bottom: 0;
3554
- background: var(--_kjun-overlay);
3555
- backdrop-filter: blur(4px);
3556
- display: flex;
3557
- justify-content: center;
3558
- align-items: center;
3559
- z-index: var(--_kjun-active-layer);
3560
- padding: var(--_kjun-geometry-modal-mobile-inset);
3561
- }
3562
-
3563
- /* Container */
3564
- .kjun-scope .kjun-modal-container[data-v-kjun-ea066b32] {
3565
- background: var(--_kjun-card-bg);
3566
- border-radius: var(--_kjun-geometry-modal-radius);
3567
- /* border removed per design system policy */
3568
- box-shadow: var(--_kjun-modal-elevation);
3569
- max-height: calc(100dvh - 2 * var(--_kjun-geometry-modal-mobile-inset));
3570
- overflow: hidden;
3571
- display: flex;
3572
- flex-direction: column;
3573
- }
3574
-
3575
- /* Sizes */
3576
- .kjun-scope .kjun-modal-sm[data-v-kjun-ea066b32] {
3577
- width: var(--_kjun-geometry-modal-widths-sm);
3578
- max-width: 100%;
3579
- }
3580
- .kjun-scope .kjun-modal-md[data-v-kjun-ea066b32] {
3581
- width: var(--_kjun-geometry-modal-widths-md);
3582
- max-width: 100%;
3583
- }
3584
- .kjun-scope .kjun-modal-lg[data-v-kjun-ea066b32] {
3585
- width: var(--_kjun-geometry-modal-widths-lg);
3586
- max-width: 100%;
3587
- }
3588
- .kjun-scope .kjun-modal-xl[data-v-kjun-ea066b32] {
3589
- width: var(--_kjun-geometry-modal-widths-xl);
3590
- max-width: 100%;
3591
- }
3592
- .kjun-scope .kjun-modal-full[data-v-kjun-ea066b32] {
3593
- width: calc(100vw - 2 * var(--_kjun-geometry-modal-mobile-inset));
3594
- height: calc(100vh - 2 * var(--_kjun-geometry-modal-mobile-inset));
3595
- height: calc(100dvh - 2 * var(--_kjun-geometry-modal-mobile-inset));
3596
- max-width: none;
3597
- max-height: none;
3598
- }
3599
-
3600
- /* Header */
3601
- .kjun-scope .kjun-modal-header[data-v-kjun-ea066b32] {
3602
- display: flex;
3603
- justify-content: space-between;
3604
- align-items: center;
3605
- padding: var(--_kjun-geometry-modal-header-padding-y) var(--_kjun-geometry-modal-padding);
3606
- border-bottom: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3607
- flex-shrink: 0;
3608
- }
3609
- .kjun-scope .kjun-modal-title[data-v-kjun-ea066b32] {
3610
- flex: 1;
3611
- min-width: 0;
3612
- padding-right: var(--_kjun-geometry-modal-title-action-gap);
3613
- overflow-wrap: anywhere;
3614
- font-size: var(--_kjun-geometry-modal-title-size);
3615
- color: var(--_kjun-text-primary);
3616
- line-height: var(--_kjun-geometry-modal-title-line-height);
3617
- font-weight: var(--_kjun-geometry-modal-title-weight);
3618
- letter-spacing: var(--_kjun-type-section-title-tracking);
3619
- }
3620
- .kjun-scope .kjun-modal-title h3[data-v-kjun-ea066b32] {
3621
- margin: 0;
3622
- font: inherit;
3623
- }
3624
- .kjun-scope .kjun-modal-close[data-v-kjun-ea066b32] {
3625
- flex-shrink: 0;
3626
- display: flex;
3627
- align-items: center;
3628
- justify-content: center;
3629
- width: var(--_kjun-geometry-modal-close-size);
3630
- height: var(--_kjun-geometry-modal-close-size);
3631
- background: transparent;
3632
- border: none;
3633
- border-radius: var(--_kjun-geometry-modal-close-radius);
3634
- cursor: pointer;
3635
- color: var(--_kjun-text-secondary);
3636
- transition: background-color var(--_kjun-motion-control) var(--_kjun-ease-out), color var(--_kjun-motion-control) var(--_kjun-ease-out);
3637
- }
3638
- .kjun-scope .kjun-modal-close[data-v-kjun-ea066b32]:hover {
3639
- background: var(--_kjun-bg-secondary);
3640
- color: var(--_kjun-text-primary);
3641
- }
3642
-
3643
- /* Body */
3644
- .kjun-scope .kjun-modal-body[data-v-kjun-ea066b32] {
3645
- padding: var(--_kjun-geometry-modal-padding);
3646
- flex: 1;
3647
- min-height: 0;
3648
- overflow-y: auto;
3649
- color: var(--_kjun-text-primary);
3650
- }
3651
- .kjun-scope .kjun-modal-body-no-padding[data-v-kjun-ea066b32] {
3652
- padding: 0;
3653
- }
3654
-
3655
- /* 고정 높이 모달(height prop): 컨텐츠 양과 무관하게 body가 프레임을 채우며 스크롤한다 */
3656
- .kjun-scope .kjun-modal-fixed .kjun-modal-body[data-v-kjun-ea066b32] {
3657
- max-height: none;
3658
- }
3659
-
3660
- /* Footer */
3661
- .kjun-scope .kjun-modal-footer[data-v-kjun-ea066b32] {
3662
- padding: var(--_kjun-geometry-modal-header-padding-y) var(--_kjun-geometry-modal-padding);
3663
- border-top: var(--_kjun-border-default-width) solid var(--_kjun-border-primary);
3664
- display: flex;
3665
- flex-wrap: wrap;
3666
- justify-content: flex-end;
3667
- gap: var(--_kjun-geometry-modal-footer-gap);
3668
- flex-shrink: 0;
3669
- }
3670
-
3671
- /* Scrollbar styling */
3672
- .kjun-scope .kjun-modal-body[data-v-kjun-ea066b32]::-webkit-scrollbar {
3673
- width: var(--_kjun-extension-scrollbar-width);
3674
- }
3675
- .kjun-scope .kjun-modal-body[data-v-kjun-ea066b32]::-webkit-scrollbar-track {
3676
- background: transparent;
3677
- }
3678
- .kjun-scope .kjun-modal-body[data-v-kjun-ea066b32]::-webkit-scrollbar-thumb {
3679
- background: var(--_kjun-border-secondary);
3680
- border-radius: var(--_kjun-geometry-radius-radius9999);
3681
- }
3682
- .kjun-scope .kjun-modal-body[data-v-kjun-ea066b32]::-webkit-scrollbar-thumb:hover {
3683
- background: var(--_kjun-border-strong);
3684
- }
3685
-
3686
- /* Shared modal threshold controls the full-width mobile layout. */
3687
- @media (width <= 640px) {
3688
- .kjun-scope .kjun-modal-sm[data-v-kjun-ea066b32],
3689
- .kjun-scope .kjun-modal-md[data-v-kjun-ea066b32],
3690
- .kjun-scope .kjun-modal-lg[data-v-kjun-ea066b32],
3691
- .kjun-scope .kjun-modal-xl[data-v-kjun-ea066b32] {
3692
- width: calc(100vw - 2 * var(--_kjun-geometry-modal-mobile-inset)) !important;
3693
- max-height: 85vh;
3694
- max-height: 85dvh;
3695
- }
3696
-
3697
- /* 고정 높이를 지정하지 않은 일반 모달은 헤더·본문·푸터를 함께 스크롤한다. */
3698
- .kjun-scope .kjun-modal-container[data-v-kjun-ea066b32]:not(.kjun-modal-fixed):not(.kjun-modal-full) {
3699
- overflow-x: hidden;
3700
- overflow-y: auto;
3701
- overscroll-behavior: contain;
3702
- }
3703
- .kjun-scope .kjun-modal-container:not(.kjun-modal-fixed):not(.kjun-modal-full) .kjun-modal-body[data-v-kjun-ea066b32] {
3704
- flex: 0 0 auto;
3705
- min-height: auto;
3706
- overflow-y: visible;
3707
- }
3708
- }
3709
-
3710
-
3711
- .kjun-scope .kjun-tabs-scroller[data-v-kjun-b052581e] { -ms-overflow-style:none;
3712
- }
3713
- .kjun-scope .kjun-tabs-scroller[data-v-kjun-b052581e]::-webkit-scrollbar { display:none;
3714
- }
3715
- .kjun-scope .kjun-tabs-scroller[data-v-kjun-b052581e]:focus-within { mask-image:none !important; -webkit-mask-image:none !important;
3716
- }
3717
-
3718
-
3719
- .kjun-scope .kjun-pagination-button[data-v-kjun-5af0bebe] {
3720
- width: var(--_kjun-extension-pagination-item-size);
3721
- height: var(--_kjun-extension-pagination-item-size);
3722
- flex-shrink: 0;
3723
- }
3724
-
3725
-
3726
- .kjun-scope .kjun-button-group[data-v-kjun-83eb2529] {
3727
- position: relative;
3728
- isolation: isolate;
3729
- min-width: 0;
3730
- max-width: 100%;
3731
- background: var(--_kjun-bg-secondary);
3732
- }
3733
- .kjun-scope .kjun-button-group__button--sm[data-v-kjun-83eb2529] { font-size: var(--_kjun-control-label-size);
3734
- }
3735
- .kjun-scope .kjun-button-group__button[data-v-kjun-83eb2529] {
3736
- position: relative;
3737
- z-index: 1;
3738
- flex-shrink: 0;
3739
- outline: none;
3740
- transition: color var(--_kjun-motion-control) var(--_kjun-ease-out);
3741
- }
3742
- .kjun-scope .kjun-button-group[data-indicator] .kjun-button-group__button[aria-pressed="true"][data-v-kjun-83eb2529] { background: transparent;
3743
- }
3744
- .kjun-scope .kjun-button-group .kjun-button-group-indicator[data-v-kjun-83eb2529] { background: var(--_kjun-card-bg);
3745
- }
3746
- @media (prefers-reduced-motion: reduce) {
3747
- .kjun-scope .kjun-button-group__button[data-v-kjun-83eb2529] { transition: none;
3748
- }
3749
- }
3750
- @media (hover: hover) {
3751
- .kjun-scope .kjun-button-group__button:not(:disabled)[aria-pressed="false"][data-v-kjun-83eb2529]:hover {
3752
- background: var(--_kjun-bg-hover);
3753
- color: var(--_kjun-text-primary);
3754
- }
3755
- }
3756
- .kjun-scope .kjun-button-group__button[data-v-kjun-83eb2529]:focus-visible {
3757
- /* 가로 스크롤 가장자리에서도 키보드 초점이 잘리지 않도록 안쪽에 표시한다. */
3758
- outline: var(--_kjun-state-focus-width) solid var(--_kjun-focus-ring);
3759
- outline-offset: var(--_kjun-state-focus-inset-offset);
3760
- }
3761
- @media (width < 768px), (pointer: coarse) {
3762
- .kjun-scope .kjun-button-group[data-v-kjun-83eb2529] {
3763
- overflow-x: auto;
3764
- scrollbar-width: none;
3765
- }
3766
- .kjun-scope .kjun-button-group[data-v-kjun-83eb2529]::-webkit-scrollbar {
3767
- display: none;
3768
- }
3769
- .kjun-scope .kjun-button-group__button[data-v-kjun-83eb2529] {
3770
- min-width: var(--_kjun-geometry-native-minimum-touch-target);
3771
- touch-action: manipulation;
3772
- -webkit-tap-highlight-color: transparent;
3773
- }
3774
- }
3775
-
3776
-
3777
- .kjun-scope .kjun-filter-group[data-v-kjun-c1adaef0] {
3778
- min-width: 0;
3779
- max-width: 100%;
3780
- }
3781
- .kjun-scope .kjun-filter-chip[data-v-kjun-c1adaef0] {
3782
- display: inline-flex;
3783
- align-items: center;
3784
- flex-shrink: 0;
3785
- padding: 0;
3786
- border: 0;
3787
- border-radius: var(--_kjun-geometry-button-radii-md);
3788
- background: transparent;
3789
- cursor: pointer;
3790
- outline: none;
3791
- }
3792
- .kjun-scope .kjun-filter-chip__surface[data-v-kjun-c1adaef0] {
3793
- display: inline-flex;
3794
- align-items: center;
3795
- justify-content: center;
3796
- gap: var(--_kjun-geometry-dimension-value4);
3797
- width: 100%;
3798
- border-radius: inherit;
3799
- background: var(--_kjun-bg-secondary);
3800
- color: var(--_kjun-text-secondary);
3801
- font-weight: var(--_kjun-font-medium);
3802
- white-space: nowrap;
3803
- transition: background-color var(--_kjun-motion-control) var(--_kjun-ease-out), color var(--_kjun-motion-control) var(--_kjun-ease-out);
3804
- }
3805
- .kjun-scope .kjun-filter-chip--sm .kjun-filter-chip__surface[data-v-kjun-c1adaef0] {
3806
- font-size: var(--_kjun-control-label-size);
3807
- }
3808
-
3809
- /* 굵기 변경으로 옆 칩과 스크롤 위치가 움직이지 않도록 선택 상태의 글자 폭을 확보한다. */
3810
- .kjun-scope .kjun-filter-chip__label[data-v-kjun-c1adaef0] {
3811
- display: inline-grid;
3812
- }
3813
- .kjun-scope .kjun-filter-chip__label > span[data-v-kjun-c1adaef0] {
3814
- grid-area: 1 / 1;
3815
- }
3816
- .kjun-scope .kjun-filter-chip__measure[data-v-kjun-c1adaef0] {
3817
- visibility: hidden;
3818
- font-weight: var(--_kjun-font-semibold);
3819
- }
3820
- .kjun-scope .kjun-filter-chip--selected .kjun-filter-chip__surface[data-v-kjun-c1adaef0] {
3821
- background: var(--_kjun-text-primary);
3822
- color: var(--_kjun-text-inverse);
3823
- font-weight: var(--_kjun-font-semibold);
3824
- }
3825
- @media (hover: hover) {
3826
- .kjun-scope .kjun-filter-chip:not(:disabled):not(.kjun-filter-chip--selected):hover .kjun-filter-chip__surface[data-v-kjun-c1adaef0] {
3827
- background: var(--_kjun-bg-hover);
3828
- }
3829
- }
3830
- .kjun-scope .kjun-filter-chip:focus-visible .kjun-filter-chip__surface[data-v-kjun-c1adaef0] {
3831
- /* 스크롤 컨테이너 가장자리에서도 초점 표시가 잘리지 않도록 안쪽으로 그린다. */
3832
- outline: var(--_kjun-state-focus-width) solid var(--_kjun-focus-ring);
3833
- outline-offset: var(--_kjun-state-focus-inset-offset);
3834
- }
3835
- .kjun-scope .kjun-filter-chip[data-v-kjun-c1adaef0]:disabled {
3836
- opacity: var(--_kjun-state-opacity-disabled-strong);
3837
- cursor: not-allowed;
3838
- }
3839
- @media (width < 768px) {
3840
- .kjun-scope .kjun-filter-chip[data-v-kjun-c1adaef0] {
3841
- min-height: var(--_kjun-geometry-native-minimum-touch-target);
3842
- }
3843
- .kjun-scope .kjun-filter-chip__surface[data-v-kjun-c1adaef0] {
3844
- min-height: var(--_kjun-extension-selection-minimum-height);
3845
- }
3846
- }
3847
-
3848
- /* 가로 스크롤 모드: 스크롤바를 숨겨 칩 행이 깔끔하게 보이도록 한다(넘치는 칩 부분 노출로 스크롤 여지 전달). */
3849
- .kjun-scope .kjun-filter-group--scroll[data-v-kjun-c1adaef0] {
3850
- -webkit-overflow-scrolling: touch;
3851
- scrollbar-width: none;
3852
- }
3853
- .kjun-scope .kjun-filter-group--scroll[data-v-kjun-c1adaef0]::-webkit-scrollbar {
3854
- display: none;
3855
- }
3856
-
3857
-
3858
- .kjun-scope .kjun-icon-toggle .kjun-icon[data-v-kjun-40e899ed] {
3859
- transition: color var(--_kjun-motion-control) var(--_kjun-ease-out), transform var(--_kjun-motion-control) var(--_kjun-ease-out);
3860
- }
3861
- .kjun-scope .kjun-icon-toggle:not(:disabled):hover .kjun-icon[data-v-kjun-40e899ed] {
3862
- transform: scale(1.12);
3863
- }
3864
- .kjun-scope .kjun-icon-toggle:not(:disabled):active .kjun-icon[data-v-kjun-40e899ed] {
3865
- transform: scale(0.94);
3866
- }
3867
-
3868
-
3869
-
3870
-
3871
-
3872
- .kjun-scope .kjun-scroll-fade[data-v-kjun-0b63d237] {
3873
- overflow-x: auto;
3874
- min-width: 0;
3875
- max-width: 100%;
3876
- scrollbar-width: none;
3877
- }
3878
- .kjun-scope .kjun-scroll-fade[data-v-kjun-0b63d237]::-webkit-scrollbar {
3879
- display: none;
3880
- }
3881
-
3882
1303
  /* Generated from definitions/typography.json. */
3883
1304
  .kjun-scope {
3884
1305
  --_kjun-type-caption-size: 0.75rem;