@cs2dak/react 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/theme.css ADDED
@@ -0,0 +1,1721 @@
1
+ :root {
2
+ --dak-bg: #090b0f;
3
+ --dak-bg-subtle: #0d1117;
4
+ --dak-panel: #11161d;
5
+ --dak-panel-hi: #161d26;
6
+ --dak-border: #27313e;
7
+ --dak-border-hi: #3a4655;
8
+ --dak-fg: #eef3f8;
9
+ --dak-fg-mid: #a2acb8;
10
+ --dak-fg-dim: #687381;
11
+ --dak-accent: #ff7a21;
12
+ --dak-accent-soft: rgba(255, 122, 33, 0.13);
13
+ --dak-accent-b: #49b6ff;
14
+ --dak-accent-b-soft: rgba(73, 182, 255, 0.13);
15
+ --dak-ok: #53d77e;
16
+ --dak-warn: #ffc64d;
17
+ --dak-danger: #ff5a72;
18
+ --dak-font: "Avenir Next", "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
19
+ --dak-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
20
+ }
21
+
22
+ .dak-shell {
23
+ min-height: 100vh;
24
+ background:
25
+ linear-gradient(rgba(39, 49, 62, 0.34) 1px, transparent 1px),
26
+ linear-gradient(90deg, rgba(39, 49, 62, 0.34) 1px, transparent 1px),
27
+ linear-gradient(180deg, rgba(15, 21, 30, 0.86), rgba(9, 11, 15, 0.96)),
28
+ var(--dak-bg);
29
+ background-size: 32px 32px, 32px 32px, auto, auto;
30
+ color: var(--dak-fg);
31
+ font-family: var(--dak-font);
32
+ }
33
+
34
+ .dak-workspace {
35
+ width: min(1480px, calc(100vw - 32px));
36
+ margin: 0 auto;
37
+ padding: 26px 0 44px;
38
+ }
39
+
40
+ .dak-header {
41
+ display: grid;
42
+ grid-template-columns: minmax(0, 1fr) auto;
43
+ gap: 20px;
44
+ align-items: end;
45
+ border-bottom: 1px solid var(--dak-border);
46
+ padding-bottom: 18px;
47
+ margin-bottom: 14px;
48
+ }
49
+
50
+ .dak-eyebrow {
51
+ color: var(--dak-accent);
52
+ font-size: 11px;
53
+ font-weight: 800;
54
+ letter-spacing: 0.16em;
55
+ text-transform: uppercase;
56
+ }
57
+
58
+ .dak-title {
59
+ margin: 6px 0 0;
60
+ font-size: 42px;
61
+ line-height: 0.96;
62
+ letter-spacing: 0;
63
+ }
64
+
65
+ .dak-subtitle,
66
+ .dak-mapline {
67
+ color: var(--dak-fg-mid);
68
+ margin: 10px 0 0;
69
+ font-size: 14px;
70
+ }
71
+
72
+ .dak-scoreblock {
73
+ text-align: right;
74
+ }
75
+
76
+ .dak-scoreline {
77
+ font-family: var(--dak-mono);
78
+ font-size: 46px;
79
+ font-weight: 900;
80
+ }
81
+
82
+ .dak-kpi-strip {
83
+ display: grid;
84
+ grid-template-columns: repeat(4, minmax(0, 1fr));
85
+ gap: 12px;
86
+ margin: 0 0 14px;
87
+ }
88
+
89
+ .dak-metric {
90
+ min-width: 0;
91
+ display: grid;
92
+ grid-template-columns: 34px minmax(0, 1fr);
93
+ gap: 10px;
94
+ align-items: center;
95
+ padding: 12px;
96
+ background: rgba(17, 22, 29, 0.88);
97
+ border: 1px solid var(--dak-border);
98
+ border-radius: 4px;
99
+ }
100
+
101
+ .dak-metric-icon {
102
+ width: 34px;
103
+ height: 34px;
104
+ display: grid;
105
+ place-items: center;
106
+ color: var(--dak-accent);
107
+ background: var(--dak-accent-soft);
108
+ border: 1px solid rgba(255, 122, 33, 0.26);
109
+ border-radius: 4px;
110
+ }
111
+
112
+ .dak-metric-label,
113
+ .dak-metric-detail {
114
+ color: var(--dak-fg-dim);
115
+ font-size: 11px;
116
+ text-transform: uppercase;
117
+ letter-spacing: 0.08em;
118
+ }
119
+
120
+ .dak-metric-value {
121
+ margin: 2px 0;
122
+ font-family: var(--dak-mono);
123
+ font-size: 20px;
124
+ font-weight: 800;
125
+ }
126
+
127
+ .dak-tabs {
128
+ display: flex;
129
+ gap: 8px;
130
+ margin: 0 0 16px;
131
+ overflow-x: auto;
132
+ }
133
+
134
+ .dak-tab {
135
+ display: inline-flex;
136
+ align-items: center;
137
+ gap: 8px;
138
+ min-height: 36px;
139
+ padding: 0 12px;
140
+ border: 1px solid var(--dak-border);
141
+ border-radius: 4px;
142
+ background: var(--dak-bg-subtle);
143
+ color: var(--dak-fg-mid);
144
+ cursor: pointer;
145
+ font: inherit;
146
+ }
147
+
148
+ .dak-tab-active {
149
+ color: var(--dak-fg);
150
+ border-color: rgba(255, 122, 33, 0.62);
151
+ background: linear-gradient(180deg, rgba(255, 122, 33, 0.2), rgba(255, 122, 33, 0.08));
152
+ }
153
+
154
+ .dak-grid {
155
+ display: grid;
156
+ grid-template-columns: minmax(0, 1.24fr) minmax(380px, 0.76fr);
157
+ gap: 16px;
158
+ }
159
+
160
+ .dak-grid-even {
161
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
162
+ }
163
+
164
+ .dak-selection-layout {
165
+ display: grid;
166
+ grid-template-columns: 270px minmax(0, 1fr);
167
+ gap: 16px;
168
+ align-items: start;
169
+ }
170
+
171
+ .dak-stack {
172
+ display: grid;
173
+ gap: 16px;
174
+ align-content: start;
175
+ }
176
+
177
+ .dak-panel {
178
+ min-width: 0;
179
+ background: rgba(17, 22, 29, 0.9);
180
+ border: 1px solid var(--dak-border);
181
+ border-radius: 4px;
182
+ overflow: hidden;
183
+ }
184
+
185
+ .dak-panel-header {
186
+ display: flex;
187
+ justify-content: space-between;
188
+ align-items: center;
189
+ gap: 12px;
190
+ padding: 12px 14px;
191
+ border-bottom: 1px solid var(--dak-border);
192
+ background: var(--dak-panel-hi);
193
+ }
194
+
195
+ .dak-panel-title {
196
+ margin: 0;
197
+ font-size: 12px;
198
+ letter-spacing: 0.1em;
199
+ text-transform: uppercase;
200
+ }
201
+
202
+ .dak-panel-body {
203
+ padding: 14px;
204
+ }
205
+
206
+ .dak-table {
207
+ width: 100%;
208
+ border-collapse: collapse;
209
+ font-size: 13px;
210
+ }
211
+
212
+ .dak-table th,
213
+ .dak-table td {
214
+ border-bottom: 1px solid var(--dak-border);
215
+ padding: 9px 8px;
216
+ text-align: right;
217
+ white-space: nowrap;
218
+ }
219
+
220
+ .dak-table th:first-child,
221
+ .dak-table td:first-child {
222
+ text-align: left;
223
+ min-width: 150px;
224
+ }
225
+
226
+ .dak-table th {
227
+ color: var(--dak-fg-dim);
228
+ font-size: 10px;
229
+ letter-spacing: 0.1em;
230
+ text-transform: uppercase;
231
+ }
232
+
233
+ .dak-row-clickable {
234
+ cursor: pointer;
235
+ }
236
+
237
+ .dak-row-clickable:hover td {
238
+ background: rgba(255, 255, 255, 0.04);
239
+ }
240
+
241
+ .dak-row-clickable:focus-visible {
242
+ outline: 2px solid var(--dak-accent);
243
+ outline-offset: -2px;
244
+ }
245
+
246
+ .dak-rr {
247
+ color: var(--dak-accent);
248
+ font-weight: 800;
249
+ }
250
+
251
+ .dak-econ-conv {
252
+ overflow-x: auto;
253
+ }
254
+
255
+ .dak-econ-conv .dak-empty {
256
+ padding: 16px 0;
257
+ text-align: center;
258
+ font-style: italic;
259
+ color: var(--dak-fg-dim);
260
+ }
261
+
262
+ .dak-econ-conv-bar-col {
263
+ width: 33%;
264
+ }
265
+
266
+ .dak-winrate-bar {
267
+ width: 100%;
268
+ height: 8px;
269
+ border-radius: 999px;
270
+ background: var(--dak-bg-subtle);
271
+ overflow: hidden;
272
+ }
273
+
274
+ .dak-winrate-fill {
275
+ height: 100%;
276
+ border-radius: 999px;
277
+ background: var(--dak-accent);
278
+ transition: width 0.2s ease;
279
+ }
280
+
281
+ .dak-team-chip {
282
+ display: inline-flex;
283
+ align-items: center;
284
+ gap: 6px;
285
+ color: var(--dak-fg);
286
+ }
287
+
288
+ .dak-team-dot {
289
+ width: 8px;
290
+ height: 8px;
291
+ border-radius: 50%;
292
+ }
293
+
294
+ .dak-muted {
295
+ color: var(--dak-fg-mid);
296
+ }
297
+
298
+ .dak-mono {
299
+ font-family: var(--dak-mono);
300
+ }
301
+
302
+ .dak-timeline {
303
+ display: grid;
304
+ gap: 8px;
305
+ max-height: 470px;
306
+ overflow: auto;
307
+ }
308
+
309
+ .dak-timeline-row {
310
+ display: grid;
311
+ grid-template-columns: 52px 64px minmax(0, 1fr);
312
+ gap: 10px;
313
+ align-items: start;
314
+ padding: 9px 10px;
315
+ background: var(--dak-bg-subtle);
316
+ border: 1px solid var(--dak-border);
317
+ border-radius: 3px;
318
+ }
319
+
320
+ .dak-timeline-row span:last-child {
321
+ min-width: 0;
322
+ overflow-wrap: anywhere;
323
+ }
324
+
325
+ .dak-timeline-more {
326
+ padding: 10px;
327
+ color: var(--dak-fg-dim);
328
+ border: 1px dashed var(--dak-border);
329
+ border-radius: 3px;
330
+ background: rgba(13, 17, 23, 0.58);
331
+ cursor: pointer;
332
+ font: inherit;
333
+ font-size: 12px;
334
+ text-align: center;
335
+ }
336
+
337
+ .dak-timeline-more:hover {
338
+ color: var(--dak-fg);
339
+ border-color: var(--dak-border-hi);
340
+ background: rgba(73, 182, 255, 0.08);
341
+ }
342
+
343
+ .dak-badge {
344
+ display: inline-flex;
345
+ justify-content: center;
346
+ min-width: 48px;
347
+ border: 1px solid var(--dak-border-hi);
348
+ border-radius: 3px;
349
+ padding: 3px 6px;
350
+ color: var(--dak-fg-mid);
351
+ font-size: 11px;
352
+ font-family: var(--dak-mono);
353
+ }
354
+
355
+ .dak-qa-ok {
356
+ color: var(--dak-ok);
357
+ }
358
+
359
+ .dak-qa-warn {
360
+ color: var(--dak-warn);
361
+ }
362
+
363
+ .dak-chart {
364
+ width: 100%;
365
+ min-height: 276px;
366
+ }
367
+
368
+ .dak-heatmap {
369
+ flex: 1;
370
+ min-height: 0;
371
+ width: 100%;
372
+ aspect-ratio: 1;
373
+ background-color: #111821;
374
+ background-size: cover;
375
+ background-position: center;
376
+ border: 1px solid var(--dak-border);
377
+ position: relative;
378
+ overflow: hidden;
379
+ }
380
+
381
+ /* ── Heatmap wrap: vertical layout (filters / radar / tuning) ── */
382
+ .dak-heatmap-wrap {
383
+ display: flex;
384
+ flex-direction: column;
385
+ gap: 6px;
386
+ height: 100%;
387
+ }
388
+
389
+ .dak-heatmap-filters {
390
+ display: flex;
391
+ flex-direction: column;
392
+ gap: 4px;
393
+ flex-shrink: 0;
394
+ }
395
+
396
+ /* Mode + side filter in one row */
397
+ .dak-heatmap-controls {
398
+ display: flex;
399
+ flex-wrap: wrap;
400
+ gap: 6px;
401
+ align-items: center;
402
+ }
403
+
404
+ .dak-heatmap-side-filter {
405
+ display: flex;
406
+ gap: 3px;
407
+ margin-left: 2px;
408
+ }
409
+
410
+ .dak-sf-chip {
411
+ padding: 2px 7px;
412
+ border-radius: 4px;
413
+ border: 1px solid rgba(255,255,255,0.10);
414
+ background: rgba(255,255,255,0.04);
415
+ color: var(--dak-fg-dim);
416
+ font-size: 11px;
417
+ font-weight: 600;
418
+ cursor: pointer;
419
+ transition: background 120ms, border-color 120ms, color 120ms;
420
+ }
421
+
422
+ .dak-sf-chip:hover { color: var(--dak-fg); border-color: rgba(255,255,255,0.24); }
423
+
424
+ .dak-sf-chip-active {
425
+ color: var(--dak-fg);
426
+ border-color: rgba(255,255,255,0.35);
427
+ background: rgba(255,255,255,0.10);
428
+ }
429
+
430
+ /* Tuning sliders: full-width row below the radar */
431
+ .dak-heatmap-tuning {
432
+ display: grid;
433
+ grid-template-columns: repeat(3, minmax(0, 1fr));
434
+ gap: 8px;
435
+ padding: 8px;
436
+ flex-shrink: 0;
437
+ background: rgba(9, 11, 15, 0.78);
438
+ border: 1px solid var(--dak-border);
439
+ border-radius: 4px;
440
+ }
441
+
442
+ .dak-heatmap-tuning label {
443
+ min-width: 0;
444
+ display: grid;
445
+ gap: 4px;
446
+ color: var(--dak-fg-mid);
447
+ font-size: 11px;
448
+ font-family: var(--dak-mono);
449
+ }
450
+
451
+ .dak-heatmap-tuning input {
452
+ min-width: 0;
453
+ accent-color: var(--dak-accent);
454
+ }
455
+
456
+ .dak-mode {
457
+ display: inline-flex;
458
+ align-items: center;
459
+ gap: 6px;
460
+ min-height: 28px;
461
+ padding: 0 9px;
462
+ border: 1px solid var(--dak-border);
463
+ border-radius: 3px;
464
+ background: rgba(9, 11, 15, 0.78);
465
+ color: var(--dak-fg-mid);
466
+ cursor: pointer;
467
+ font: inherit;
468
+ font-size: 12px;
469
+ }
470
+
471
+ .dak-mode span {
472
+ color: var(--dak-fg-dim);
473
+ font-family: var(--dak-mono);
474
+ }
475
+
476
+ .dak-mode-active {
477
+ color: var(--dak-fg);
478
+ border-color: rgba(255, 122, 33, 0.72);
479
+ background: rgba(255, 122, 33, 0.18);
480
+ }
481
+
482
+ /* Grenade sub-type filter row */
483
+ .dak-heatmap-grenade-filter {
484
+ display: flex;
485
+ flex-wrap: wrap;
486
+ gap: 4px;
487
+ padding: 4px 8px 0;
488
+ z-index: 5;
489
+ position: relative;
490
+ }
491
+
492
+ .dak-gf-chip {
493
+ padding: 2px 8px;
494
+ border-radius: 4px;
495
+ border: 1px solid rgba(255,255,255,0.12);
496
+ background: rgba(255,255,255,0.04);
497
+ color: var(--dak-fg-dim);
498
+ font-size: 11px;
499
+ cursor: pointer;
500
+ transition: background 120ms, border-color 120ms, color 120ms;
501
+ }
502
+
503
+ .dak-gf-chip:hover { color: var(--dak-fg); border-color: rgba(255,255,255,0.26); }
504
+
505
+ .dak-gf-chip-active {
506
+ color: var(--dak-warn);
507
+ border-color: rgba(255,184,0,0.55);
508
+ background: rgba(255,184,0,0.12);
509
+ }
510
+
511
+ /* Player filter chip row */
512
+ .dak-heatmap-player-filter {
513
+ display: flex;
514
+ flex-wrap: wrap;
515
+ gap: 4px;
516
+ padding: 4px 8px 0;
517
+ z-index: 5;
518
+ position: relative;
519
+ }
520
+
521
+ .dak-pf-chip {
522
+ padding: 2px 7px;
523
+ border-radius: 4px;
524
+ border: 1px solid rgba(255,255,255,0.10);
525
+ background: rgba(255,255,255,0.04);
526
+ color: var(--dak-fg-dim);
527
+ font-size: 11px;
528
+ cursor: pointer;
529
+ transition: background 120ms, border-color 120ms, color 120ms;
530
+ max-width: 90px;
531
+ overflow: hidden;
532
+ text-overflow: ellipsis;
533
+ white-space: nowrap;
534
+ }
535
+
536
+ .dak-pf-chip:hover { color: var(--dak-fg); border-color: rgba(255,255,255,0.24); }
537
+
538
+ .dak-pf-all { font-weight: 600; }
539
+
540
+ .dak-pf-chip-teamA.dak-pf-chip-active {
541
+ color: var(--dak-accent);
542
+ border-color: rgba(255, 122, 33, 0.6);
543
+ background: rgba(255, 122, 33, 0.14);
544
+ }
545
+
546
+ .dak-pf-chip-teamB.dak-pf-chip-active {
547
+ color: var(--dak-blue);
548
+ border-color: rgba(73, 182, 255, 0.6);
549
+ background: rgba(73, 182, 255, 0.14);
550
+ }
551
+
552
+ .dak-pf-all.dak-pf-chip-active {
553
+ color: var(--dak-fg);
554
+ border-color: rgba(255,255,255,0.35);
555
+ background: rgba(255,255,255,0.10);
556
+ }
557
+
558
+ .dak-radar-schematic {
559
+ position: absolute;
560
+ inset: 0;
561
+ background:
562
+ linear-gradient(135deg, transparent 0 19%, rgba(255,255,255,0.06) 19.2% 20%, transparent 20.2% 100%),
563
+ linear-gradient(45deg, transparent 0 27%, rgba(255,255,255,0.05) 27.2% 28%, transparent 28.2% 100%),
564
+ radial-gradient(circle at 25% 27%, rgba(255, 122, 33, 0.13), transparent 19%),
565
+ radial-gradient(circle at 72% 70%, rgba(73, 182, 255, 0.13), transparent 20%),
566
+ #0c131c;
567
+ }
568
+
569
+ .dak-radar-grid {
570
+ position: absolute;
571
+ inset: 0;
572
+ background:
573
+ linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
574
+ linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
575
+ background-size: 64px 64px;
576
+ }
577
+
578
+ .dak-site,
579
+ .dak-radar-label {
580
+ position: absolute;
581
+ z-index: 1;
582
+ font-family: var(--dak-mono);
583
+ font-weight: 800;
584
+ color: rgba(238, 243, 248, 0.72);
585
+ }
586
+
587
+ .dak-site {
588
+ width: 48px;
589
+ height: 48px;
590
+ display: grid;
591
+ place-items: center;
592
+ border: 2px solid rgba(238, 243, 248, 0.32);
593
+ border-radius: 50%;
594
+ background: rgba(9, 11, 15, 0.34);
595
+ }
596
+
597
+ .dak-site-a {
598
+ left: 20%;
599
+ top: 21%;
600
+ }
601
+
602
+ .dak-site-b {
603
+ right: 20%;
604
+ bottom: 22%;
605
+ }
606
+
607
+ .dak-radar-label-mid {
608
+ left: 47%;
609
+ top: 45%;
610
+ color: rgba(238, 243, 248, 0.36);
611
+ }
612
+
613
+ .dak-radar-label-name {
614
+ left: 14px;
615
+ bottom: 12px;
616
+ color: rgba(238, 243, 248, 0.36);
617
+ text-transform: uppercase;
618
+ }
619
+
620
+ .dak-lane {
621
+ position: absolute;
622
+ height: 2px;
623
+ background: rgba(238, 243, 248, 0.14);
624
+ transform-origin: left center;
625
+ }
626
+
627
+ .dak-lane-main {
628
+ left: 24%;
629
+ top: 31%;
630
+ width: 54%;
631
+ transform: rotate(38deg);
632
+ }
633
+
634
+ .dak-lane-side {
635
+ left: 18%;
636
+ top: 68%;
637
+ width: 48%;
638
+ transform: rotate(-23deg);
639
+ }
640
+
641
+ .dak-lane-mid {
642
+ left: 37%;
643
+ top: 49%;
644
+ width: 36%;
645
+ transform: rotate(4deg);
646
+ }
647
+
648
+ /* Canvas heatmap layer — fills the radar image area */
649
+ .dak-heatmap-canvas {
650
+ position: absolute;
651
+ inset: 0;
652
+ width: 100%;
653
+ height: 100%;
654
+ pointer-events: none;
655
+ }
656
+
657
+ .dak-heatmap-empty {
658
+ position: absolute;
659
+ inset: 0;
660
+ display: grid;
661
+ place-items: center;
662
+ color: var(--dak-fg-dim);
663
+ font-size: 12px;
664
+ text-align: center;
665
+ padding: 24px;
666
+ }
667
+
668
+ .dak-heatmap-legend {
669
+ position: absolute;
670
+ z-index: 3;
671
+ right: 10px;
672
+ bottom: 10px;
673
+ display: flex;
674
+ gap: 8px;
675
+ flex-wrap: wrap;
676
+ padding: 6px 8px;
677
+ background: rgba(9, 11, 15, 0.72);
678
+ border: 1px solid var(--dak-border);
679
+ border-radius: 3px;
680
+ color: var(--dak-fg-mid);
681
+ font-size: 11px;
682
+ }
683
+
684
+ .dak-heatmap-legend span {
685
+ display: inline-flex;
686
+ align-items: center;
687
+ gap: 5px;
688
+ }
689
+
690
+ .dak-heatmap-legend i {
691
+ display: block;
692
+ width: 8px;
693
+ height: 8px;
694
+ border-radius: 50%;
695
+ }
696
+
697
+ .dak-legend-kill { background: var(--dak-ok); }
698
+ .dak-legend-death { background: var(--dak-danger); }
699
+ .dak-legend-grenade { background: var(--dak-warn); }
700
+
701
+ .dak-heatmap-legend-scale {
702
+ display: inline-flex;
703
+ align-items: center;
704
+ gap: 5px;
705
+ }
706
+
707
+ .dak-legend-cold {
708
+ display: inline-block;
709
+ width: 40px;
710
+ height: 6px;
711
+ border-radius: 3px;
712
+ background: linear-gradient(to right, blue, cyan, lime, yellow, red);
713
+ }
714
+
715
+ .dak-legend-warm { display: none; }
716
+
717
+ .dak-qa {
718
+ display: grid;
719
+ gap: 12px;
720
+ }
721
+
722
+ .dak-qa-summary {
723
+ display: flex;
724
+ flex-wrap: wrap;
725
+ gap: 8px;
726
+ }
727
+
728
+ .dak-qa-summary span {
729
+ display: inline-flex;
730
+ align-items: center;
731
+ min-height: 28px;
732
+ padding: 0 9px;
733
+ border: 1px solid var(--dak-border);
734
+ border-radius: 3px;
735
+ background: var(--dak-bg-subtle);
736
+ font-size: 12px;
737
+ }
738
+
739
+ .dak-qa-list {
740
+ display: grid;
741
+ gap: 8px;
742
+ }
743
+
744
+ .dak-qa-row {
745
+ display: grid;
746
+ grid-template-columns: 78px 220px minmax(0, 1fr);
747
+ gap: 10px;
748
+ align-items: start;
749
+ padding: 10px;
750
+ border: 1px solid var(--dak-border);
751
+ border-radius: 3px;
752
+ background: var(--dak-bg-subtle);
753
+ }
754
+
755
+ .dak-qa-row span:last-child {
756
+ min-width: 0;
757
+ overflow-wrap: anywhere;
758
+ }
759
+
760
+ .dak-roundfact-list {
761
+ display: grid;
762
+ gap: 7px;
763
+ max-height: 600px;
764
+ overflow: auto;
765
+ }
766
+
767
+ .dak-roundfact-row {
768
+ display: grid;
769
+ grid-template-columns: 52px minmax(90px, 1fr) minmax(120px, 1fr) 64px minmax(110px, 1fr);
770
+ gap: 9px;
771
+ align-items: center;
772
+ padding: 8px 10px;
773
+ background: var(--dak-bg-subtle);
774
+ border: 1px solid var(--dak-border);
775
+ border-radius: 3px;
776
+ font-size: 12px;
777
+ }
778
+
779
+ .dak-tags {
780
+ color: var(--dak-accent);
781
+ overflow-wrap: anywhere;
782
+ }
783
+
784
+ .dak-module-strip {
785
+ display: grid;
786
+ grid-template-columns: repeat(4, minmax(0, 1fr));
787
+ gap: 10px;
788
+ margin: 0 0 14px;
789
+ }
790
+
791
+ .dak-module-summary {
792
+ min-width: 0;
793
+ display: grid;
794
+ grid-template-columns: 30px minmax(0, 1fr);
795
+ gap: 10px;
796
+ align-items: center;
797
+ padding: 10px;
798
+ border: 1px solid var(--dak-border);
799
+ border-radius: 4px;
800
+ background: rgba(13, 17, 23, 0.72);
801
+ }
802
+
803
+ .dak-module-icon {
804
+ width: 30px;
805
+ height: 30px;
806
+ display: grid;
807
+ place-items: center;
808
+ color: var(--dak-accent-b);
809
+ border: 1px solid rgba(73, 182, 255, 0.24);
810
+ background: var(--dak-accent-b-soft);
811
+ border-radius: 4px;
812
+ }
813
+
814
+ .dak-module-summary b,
815
+ .dak-module-summary span,
816
+ .dak-module-summary small {
817
+ display: block;
818
+ min-width: 0;
819
+ overflow: hidden;
820
+ text-overflow: ellipsis;
821
+ white-space: nowrap;
822
+ }
823
+
824
+ .dak-module-summary b {
825
+ font-size: 11px;
826
+ color: var(--dak-fg-mid);
827
+ text-transform: uppercase;
828
+ letter-spacing: 0.08em;
829
+ }
830
+
831
+ .dak-module-summary span {
832
+ margin-top: 1px;
833
+ color: var(--dak-fg);
834
+ font-family: var(--dak-mono);
835
+ font-size: 14px;
836
+ font-weight: 800;
837
+ }
838
+
839
+ .dak-module-summary small {
840
+ color: var(--dak-fg-dim);
841
+ font-size: 11px;
842
+ }
843
+
844
+ .dak-story-list {
845
+ display: grid;
846
+ gap: 9px;
847
+ color: var(--dak-fg-mid);
848
+ line-height: 1.65;
849
+ }
850
+
851
+ .dak-story-list p {
852
+ margin: 0;
853
+ }
854
+
855
+ .dak-mini-rounds,
856
+ .dak-mode-list,
857
+ .dak-player-list,
858
+ .dak-breakdown {
859
+ display: grid;
860
+ gap: 8px;
861
+ }
862
+
863
+ .dak-mini-round,
864
+ .dak-mode-row,
865
+ .dak-breakdown-row,
866
+ .dak-fact {
867
+ display: grid;
868
+ grid-template-columns: minmax(0, 1fr) auto;
869
+ gap: 10px;
870
+ align-items: center;
871
+ padding: 9px 10px;
872
+ border: 1px solid var(--dak-border);
873
+ border-radius: 4px;
874
+ background: var(--dak-bg-subtle);
875
+ font-size: 12px;
876
+ }
877
+
878
+ .dak-mini-round {
879
+ grid-template-columns: 52px 44px minmax(0, 1fr);
880
+ }
881
+
882
+ .dak-mode-row b,
883
+ .dak-fact b,
884
+ .dak-breakdown-row b {
885
+ color: var(--dak-fg);
886
+ }
887
+
888
+ .dak-note {
889
+ margin-top: 10px;
890
+ }
891
+
892
+ .dak-round-pills {
893
+ display: flex;
894
+ flex-wrap: wrap;
895
+ gap: 7px;
896
+ }
897
+
898
+ .dak-round-pill {
899
+ width: 58px;
900
+ min-height: 56px;
901
+ display: grid;
902
+ place-items: center;
903
+ gap: 1px;
904
+ padding: 6px;
905
+ border: 1px solid var(--dak-border);
906
+ border-radius: 4px;
907
+ background: var(--dak-bg-subtle);
908
+ color: var(--dak-fg-mid);
909
+ cursor: pointer;
910
+ font: inherit;
911
+ }
912
+
913
+ .dak-round-pill span,
914
+ .dak-round-pill b,
915
+ .dak-round-pill small {
916
+ display: block;
917
+ line-height: 1;
918
+ }
919
+
920
+ .dak-round-pill b {
921
+ color: var(--dak-fg);
922
+ font-family: var(--dak-mono);
923
+ }
924
+
925
+ .dak-round-pill small {
926
+ color: var(--dak-fg-dim);
927
+ font-size: 10px;
928
+ }
929
+
930
+ .dak-round-pill-active {
931
+ border-color: rgba(255, 122, 33, 0.62);
932
+ background: var(--dak-accent-soft);
933
+ color: var(--dak-fg);
934
+ }
935
+
936
+ .dak-round-detail,
937
+ .dak-replay-meta {
938
+ display: grid;
939
+ gap: 12px;
940
+ }
941
+
942
+ .dak-fact-grid,
943
+ .dak-replay-meta {
944
+ grid-template-columns: repeat(4, minmax(0, 1fr));
945
+ }
946
+
947
+ .dak-player-button {
948
+ width: 100%;
949
+ display: grid;
950
+ grid-template-columns: minmax(0, 1fr) auto;
951
+ gap: 10px;
952
+ align-items: center;
953
+ padding: 10px 12px;
954
+ border: 1px solid var(--dak-border);
955
+ border-radius: 4px;
956
+ background: var(--dak-bg-subtle);
957
+ color: var(--dak-fg-mid);
958
+ cursor: pointer;
959
+ text-align: left;
960
+ font: inherit;
961
+ }
962
+
963
+ .dak-player-button span {
964
+ min-width: 0;
965
+ overflow: hidden;
966
+ text-overflow: ellipsis;
967
+ white-space: nowrap;
968
+ }
969
+
970
+ .dak-player-button b {
971
+ color: var(--dak-fg);
972
+ font-family: var(--dak-mono);
973
+ }
974
+
975
+ .dak-player-button-active {
976
+ border-color: rgba(73, 182, 255, 0.62);
977
+ background: var(--dak-accent-b-soft);
978
+ }
979
+
980
+ .dak-breakdown-row {
981
+ grid-template-columns: 96px minmax(120px, 1fr) 72px;
982
+ }
983
+
984
+ .dak-breakdown-row meter {
985
+ width: 100%;
986
+ height: 8px;
987
+ }
988
+
989
+ .dak-replay-stage {
990
+ position: relative;
991
+ min-height: 520px;
992
+ overflow: hidden;
993
+ border: 1px solid var(--dak-border);
994
+ border-radius: 4px;
995
+ background:
996
+ linear-gradient(rgba(238, 243, 248, 0.04) 1px, transparent 1px),
997
+ linear-gradient(90deg, rgba(238, 243, 248, 0.04) 1px, transparent 1px),
998
+ radial-gradient(circle at 50% 50%, rgba(73, 182, 255, 0.08), transparent 48%),
999
+ #07090d;
1000
+ background-size: cover;
1001
+ background-position: center;
1002
+ background-repeat: no-repeat;
1003
+ }
1004
+
1005
+ .dak-replay-token {
1006
+ position: absolute;
1007
+ width: 26px;
1008
+ height: 26px;
1009
+ transform: translate(-50%, -50%);
1010
+ display: grid;
1011
+ place-items: center;
1012
+ border: 2px solid rgba(238, 243, 248, 0.8);
1013
+ border-radius: 999px;
1014
+ color: #fff;
1015
+ font-size: 9px;
1016
+ font-weight: 900;
1017
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.38);
1018
+ }
1019
+
1020
+ .dak-replay-token-teamA {
1021
+ background: var(--dak-accent);
1022
+ }
1023
+
1024
+ .dak-replay-token-teamB {
1025
+ background: var(--dak-accent-b);
1026
+ }
1027
+
1028
+ .dak-replay-token i {
1029
+ position: absolute;
1030
+ right: -8px;
1031
+ bottom: -7px;
1032
+ padding: 1px 4px;
1033
+ border-radius: 3px;
1034
+ background: var(--dak-ok);
1035
+ color: #08100b;
1036
+ font-size: 9px;
1037
+ font-style: normal;
1038
+ text-transform: uppercase;
1039
+ }
1040
+
1041
+ .dak-workbench {
1042
+ display: grid;
1043
+ grid-template-columns: 238px minmax(0, 1fr);
1044
+ gap: 14px;
1045
+ align-items: start;
1046
+ }
1047
+
1048
+ .dak-workbench-sidebar {
1049
+ position: sticky;
1050
+ top: 12px;
1051
+ min-width: 0;
1052
+ }
1053
+
1054
+ .dak-workbench-main {
1055
+ min-width: 0;
1056
+ }
1057
+
1058
+ .dak-tabs {
1059
+ display: grid;
1060
+ gap: 7px;
1061
+ margin: 0;
1062
+ overflow: visible;
1063
+ }
1064
+
1065
+ .dak-tab {
1066
+ width: 100%;
1067
+ display: grid;
1068
+ grid-template-columns: 24px minmax(0, 1fr);
1069
+ grid-template-areas:
1070
+ "icon label"
1071
+ "icon detail";
1072
+ align-items: center;
1073
+ gap: 1px 9px;
1074
+ min-height: 54px;
1075
+ padding: 8px 10px;
1076
+ text-align: left;
1077
+ }
1078
+
1079
+ .dak-tab svg {
1080
+ grid-area: icon;
1081
+ }
1082
+
1083
+ .dak-tab span {
1084
+ grid-area: label;
1085
+ min-width: 0;
1086
+ overflow: hidden;
1087
+ text-overflow: ellipsis;
1088
+ white-space: nowrap;
1089
+ color: var(--dak-fg);
1090
+ font-weight: 800;
1091
+ }
1092
+
1093
+ .dak-tab small {
1094
+ grid-area: detail;
1095
+ min-width: 0;
1096
+ overflow: hidden;
1097
+ text-overflow: ellipsis;
1098
+ white-space: nowrap;
1099
+ color: var(--dak-fg-dim);
1100
+ font-size: 10px;
1101
+ font-family: var(--dak-mono);
1102
+ }
1103
+
1104
+ .dak-tab:hover,
1105
+ .dak-player-button:hover,
1106
+ .dak-round-pill:hover,
1107
+ .dak-module-action:hover,
1108
+ .dak-layer-button:hover,
1109
+ .dak-speed:hover,
1110
+ .dak-icon-button:hover,
1111
+ .dak-timeline-more:hover {
1112
+ border-color: var(--dak-border-hi);
1113
+ color: var(--dak-fg);
1114
+ }
1115
+
1116
+ .dak-tab:focus-visible,
1117
+ .dak-player-button:focus-visible,
1118
+ .dak-round-pill:focus-visible,
1119
+ .dak-module-action:focus-visible,
1120
+ .dak-layer-button:focus-visible,
1121
+ .dak-speed:focus-visible,
1122
+ .dak-play-button:focus-visible,
1123
+ .dak-icon-button:focus-visible,
1124
+ .dak-scrubber:focus-visible,
1125
+ .dak-timeline-more:focus-visible {
1126
+ outline: 2px solid var(--dak-accent-b);
1127
+ outline-offset: 2px;
1128
+ }
1129
+
1130
+ .dak-module-actions {
1131
+ display: grid;
1132
+ gap: 8px;
1133
+ }
1134
+
1135
+ .dak-module-action {
1136
+ width: 100%;
1137
+ min-width: 0;
1138
+ display: grid;
1139
+ grid-template-columns: 32px minmax(0, 1fr);
1140
+ gap: 10px;
1141
+ align-items: center;
1142
+ padding: 10px;
1143
+ border: 1px solid var(--dak-border);
1144
+ border-radius: 4px;
1145
+ background: var(--dak-bg-subtle);
1146
+ color: var(--dak-fg-mid);
1147
+ cursor: pointer;
1148
+ text-align: left;
1149
+ font: inherit;
1150
+ }
1151
+
1152
+ .dak-module-action b,
1153
+ .dak-module-action span,
1154
+ .dak-module-action small {
1155
+ display: block;
1156
+ min-width: 0;
1157
+ overflow: hidden;
1158
+ text-overflow: ellipsis;
1159
+ white-space: nowrap;
1160
+ }
1161
+
1162
+ .dak-module-action b {
1163
+ color: var(--dak-fg);
1164
+ font-size: 13px;
1165
+ }
1166
+
1167
+ .dak-module-action span {
1168
+ margin-top: 1px;
1169
+ font-family: var(--dak-mono);
1170
+ font-size: 12px;
1171
+ }
1172
+
1173
+ .dak-module-action small {
1174
+ margin-top: 2px;
1175
+ color: var(--dak-fg-dim);
1176
+ font-size: 11px;
1177
+ }
1178
+
1179
+ .dak-panel-eyebrow {
1180
+ margin-bottom: 3px;
1181
+ color: var(--dak-fg-dim);
1182
+ font-size: 10px;
1183
+ font-family: var(--dak-mono);
1184
+ }
1185
+
1186
+ .dak-layer-controls {
1187
+ display: grid;
1188
+ gap: 8px;
1189
+ margin-bottom: 12px;
1190
+ }
1191
+
1192
+ .dak-layer-button {
1193
+ width: 100%;
1194
+ min-height: 38px;
1195
+ display: grid;
1196
+ grid-template-columns: minmax(0, 1fr) auto;
1197
+ gap: 10px;
1198
+ align-items: center;
1199
+ padding: 8px 10px;
1200
+ border: 1px solid var(--dak-border);
1201
+ border-radius: 4px;
1202
+ background: var(--dak-bg-subtle);
1203
+ color: var(--dak-fg-mid);
1204
+ cursor: pointer;
1205
+ text-align: left;
1206
+ font: inherit;
1207
+ }
1208
+
1209
+ .dak-layer-button-active {
1210
+ color: var(--dak-fg);
1211
+ border-color: rgba(255, 122, 33, 0.64);
1212
+ background: rgba(255, 122, 33, 0.12);
1213
+ }
1214
+
1215
+ .dak-mode-row-muted {
1216
+ opacity: 0.48;
1217
+ }
1218
+
1219
+ .dak-pending-layers {
1220
+ display: grid;
1221
+ gap: 7px;
1222
+ margin-top: 12px;
1223
+ }
1224
+
1225
+ .dak-mode-row-disabled {
1226
+ opacity: 0.62;
1227
+ background: rgba(13, 17, 23, 0.44);
1228
+ }
1229
+
1230
+ .dak-replay-layout {
1231
+ display: grid;
1232
+ grid-template-columns: 300px minmax(0, 1fr) 260px;
1233
+ gap: 14px;
1234
+ align-items: start;
1235
+ }
1236
+
1237
+ .dak-playback {
1238
+ display: grid;
1239
+ grid-template-columns: 42px 34px minmax(0, 1fr) 34px;
1240
+ gap: 8px;
1241
+ align-items: center;
1242
+ margin: 14px 0 10px;
1243
+ }
1244
+
1245
+ .dak-play-button,
1246
+ .dak-icon-button {
1247
+ display: inline-grid;
1248
+ place-items: center;
1249
+ border: 1px solid var(--dak-border);
1250
+ border-radius: 4px;
1251
+ cursor: pointer;
1252
+ color: var(--dak-fg);
1253
+ }
1254
+
1255
+ .dak-play-button {
1256
+ width: 42px;
1257
+ height: 42px;
1258
+ background: var(--dak-accent);
1259
+ border-color: rgba(255, 122, 33, 0.78);
1260
+ }
1261
+
1262
+ .dak-icon-button {
1263
+ width: 34px;
1264
+ height: 34px;
1265
+ background: var(--dak-bg-subtle);
1266
+ }
1267
+
1268
+ .dak-scrubber {
1269
+ min-width: 0;
1270
+ accent-color: var(--dak-accent);
1271
+ cursor: pointer;
1272
+ }
1273
+
1274
+ .dak-speed-group {
1275
+ display: grid;
1276
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1277
+ gap: 6px;
1278
+ margin-bottom: 12px;
1279
+ }
1280
+
1281
+ .dak-speed {
1282
+ min-height: 30px;
1283
+ border: 1px solid var(--dak-border);
1284
+ border-radius: 4px;
1285
+ background: var(--dak-bg-subtle);
1286
+ color: var(--dak-fg-mid);
1287
+ cursor: pointer;
1288
+ font: inherit;
1289
+ font-family: var(--dak-mono);
1290
+ font-size: 12px;
1291
+ }
1292
+
1293
+ .dak-speed-active {
1294
+ color: var(--dak-fg);
1295
+ border-color: rgba(73, 182, 255, 0.62);
1296
+ background: rgba(73, 182, 255, 0.13);
1297
+ }
1298
+
1299
+ .dak-replay-meta {
1300
+ display: grid;
1301
+ grid-template-columns: 1fr;
1302
+ gap: 8px;
1303
+ }
1304
+
1305
+ .dak-replay-gridlines {
1306
+ position: absolute;
1307
+ inset: 0;
1308
+ background:
1309
+ linear-gradient(rgba(238, 243, 248, 0.05) 1px, transparent 1px),
1310
+ linear-gradient(90deg, rgba(238, 243, 248, 0.05) 1px, transparent 1px);
1311
+ background-size: 48px 48px;
1312
+ }
1313
+
1314
+ .dak-replay-token {
1315
+ transition: left 80ms linear, top 80ms linear, opacity 120ms ease;
1316
+ }
1317
+
1318
+ .dak-replay-token::after {
1319
+ content: "";
1320
+ position: absolute;
1321
+ top: -6px;
1322
+ left: 50%;
1323
+ width: 2px;
1324
+ height: 7px;
1325
+ background: rgba(238, 243, 248, 0.9);
1326
+ transform: translateX(-50%);
1327
+ }
1328
+
1329
+ .dak-replay-token-dead {
1330
+ opacity: 0.28;
1331
+ filter: grayscale(1);
1332
+ }
1333
+
1334
+ .dak-replay-token-flashed {
1335
+ box-shadow: 0 0 0 3px rgba(255, 198, 77, 0.45), 0 8px 18px rgba(0, 0, 0, 0.38);
1336
+ }
1337
+
1338
+ .dak-frame-player-list {
1339
+ display: grid;
1340
+ gap: 7px;
1341
+ max-height: 620px;
1342
+ overflow: auto;
1343
+ }
1344
+
1345
+ .dak-frame-player-row {
1346
+ display: grid;
1347
+ grid-template-columns: 10px 18px minmax(0, 1fr) 52px;
1348
+ gap: 8px;
1349
+ align-items: center;
1350
+ padding: 8px 9px;
1351
+ border: 1px solid var(--dak-border);
1352
+ border-radius: 4px;
1353
+ background: var(--dak-bg-subtle);
1354
+ font-size: 12px;
1355
+ }
1356
+
1357
+ .dak-frame-player-name,
1358
+ .dak-frame-player-row small {
1359
+ min-width: 0;
1360
+ overflow: hidden;
1361
+ text-overflow: ellipsis;
1362
+ white-space: nowrap;
1363
+ }
1364
+
1365
+ .dak-frame-player-num {
1366
+ font-family: var(--dak-mono);
1367
+ font-size: 10px;
1368
+ font-weight: 800;
1369
+ color: var(--dak-fg-dim);
1370
+ text-align: center;
1371
+ }
1372
+
1373
+ .dak-frame-player-row small {
1374
+ grid-column: 2 / 5;
1375
+ color: var(--dak-fg-dim);
1376
+ font-family: var(--dak-mono);
1377
+ }
1378
+
1379
+ .dak-frame-player-row-dead {
1380
+ opacity: 0.38;
1381
+ }
1382
+
1383
+ .dak-hp-bar-wrap {
1384
+ height: 6px;
1385
+ background: rgba(238, 243, 248, 0.08);
1386
+ border-radius: 3px;
1387
+ overflow: hidden;
1388
+ }
1389
+
1390
+ .dak-hp-bar {
1391
+ height: 100%;
1392
+ border-radius: 3px;
1393
+ transition: width 80ms linear, background 200ms ease;
1394
+ }
1395
+
1396
+ .dak-team-dot-teamA {
1397
+ background: var(--dak-accent);
1398
+ }
1399
+
1400
+ .dak-team-dot-teamB {
1401
+ background: var(--dak-accent-b);
1402
+ }
1403
+
1404
+ .dak-player-roundfacts {
1405
+ display: grid;
1406
+ grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
1407
+ gap: 10px;
1408
+ margin-top: 14px;
1409
+ max-height: 560px;
1410
+ overflow: auto;
1411
+ }
1412
+
1413
+ .dak-player-round-summary {
1414
+ display: grid;
1415
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1416
+ gap: 8px;
1417
+ margin: 12px 0;
1418
+ }
1419
+
1420
+ .dak-player-round-card {
1421
+ min-width: 0;
1422
+ display: grid;
1423
+ gap: 9px;
1424
+ padding: 11px;
1425
+ border: 1px solid var(--dak-border);
1426
+ border-radius: 4px;
1427
+ background:
1428
+ linear-gradient(180deg, rgba(73, 182, 255, 0.06), transparent 42%),
1429
+ var(--dak-bg-subtle);
1430
+ }
1431
+
1432
+ .dak-player-round-head {
1433
+ display: grid;
1434
+ grid-template-columns: auto minmax(0, 1fr) auto;
1435
+ gap: 8px;
1436
+ align-items: center;
1437
+ }
1438
+
1439
+ .dak-player-round-head span:nth-child(2) {
1440
+ min-width: 0;
1441
+ overflow: hidden;
1442
+ color: var(--dak-fg-mid);
1443
+ text-overflow: ellipsis;
1444
+ white-space: nowrap;
1445
+ font-size: 12px;
1446
+ }
1447
+
1448
+ .dak-player-round-meta,
1449
+ .dak-player-round-tags {
1450
+ display: flex;
1451
+ flex-wrap: wrap;
1452
+ gap: 6px;
1453
+ }
1454
+
1455
+ .dak-player-round-meta span,
1456
+ .dak-player-round-tags span {
1457
+ display: inline-flex;
1458
+ align-items: center;
1459
+ min-height: 22px;
1460
+ padding: 0 7px;
1461
+ border: 1px solid var(--dak-border);
1462
+ border-radius: 3px;
1463
+ background: rgba(9, 11, 15, 0.38);
1464
+ color: var(--dak-fg-mid);
1465
+ font-size: 11px;
1466
+ }
1467
+
1468
+ .dak-player-round-tags span {
1469
+ color: var(--dak-accent);
1470
+ border-color: rgba(255, 122, 33, 0.26);
1471
+ background: rgba(255, 122, 33, 0.08);
1472
+ }
1473
+
1474
+ .dak-economy-legend {
1475
+ display: flex;
1476
+ flex-wrap: wrap;
1477
+ gap: 8px 12px;
1478
+ margin: 10px 0;
1479
+ color: var(--dak-fg-mid);
1480
+ font-size: 12px;
1481
+ }
1482
+
1483
+ .dak-economy-legend span {
1484
+ display: inline-flex;
1485
+ align-items: center;
1486
+ gap: 5px;
1487
+ }
1488
+
1489
+ .dak-economy-legend i {
1490
+ width: 12px;
1491
+ height: 12px;
1492
+ display: block;
1493
+ border: 1px solid var(--dak-border);
1494
+ border-radius: 3px;
1495
+ }
1496
+
1497
+ .dak-economy-rounds {
1498
+ display: grid;
1499
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
1500
+ gap: 7px;
1501
+ margin-top: 10px;
1502
+ }
1503
+
1504
+ .dak-economy-round {
1505
+ display: grid;
1506
+ gap: 3px;
1507
+ padding: 8px;
1508
+ border: 1px solid var(--dak-border);
1509
+ border-radius: 4px;
1510
+ background: var(--dak-bg-subtle);
1511
+ font-size: 11px;
1512
+ }
1513
+
1514
+ .dak-economy-round b {
1515
+ color: var(--dak-fg);
1516
+ font-family: var(--dak-mono);
1517
+ }
1518
+
1519
+ .dak-economy-round span {
1520
+ min-width: 0;
1521
+ overflow: hidden;
1522
+ color: var(--dak-fg-dim);
1523
+ text-overflow: ellipsis;
1524
+ white-space: nowrap;
1525
+ }
1526
+
1527
+ .dak-economy-round .dak-economy-winner {
1528
+ color: var(--dak-ok);
1529
+ }
1530
+
1531
+ .dak-economy-round-upset {
1532
+ border-color: rgba(255, 198, 77, 0.4);
1533
+ background: linear-gradient(135deg, rgba(255, 198, 77, 0.07), var(--dak-bg-subtle));
1534
+ }
1535
+
1536
+ .dak-economy-upsets {
1537
+ display: flex;
1538
+ flex-wrap: wrap;
1539
+ align-items: center;
1540
+ gap: 6px;
1541
+ margin: 8px 0 4px;
1542
+ }
1543
+
1544
+ .dak-upset-chip {
1545
+ display: inline-flex;
1546
+ align-items: center;
1547
+ min-height: 22px;
1548
+ padding: 0 8px;
1549
+ border-radius: 3px;
1550
+ font-size: 11px;
1551
+ font-weight: 700;
1552
+ border: 1px solid transparent;
1553
+ }
1554
+
1555
+ .dak-upset-chip-eco { background: rgba(255,84,114,0.15); color: var(--dak-danger); border-color: rgba(255,84,114,0.3); }
1556
+ .dak-upset-chip-semi { background: rgba(73,182,255,0.13); color: var(--dak-accent-b); border-color: rgba(73,182,255,0.28); }
1557
+ .dak-upset-chip-force { background: rgba(255,122,33,0.13); color: var(--dak-accent); border-color: rgba(255,122,33,0.28); }
1558
+
1559
+ .dak-upset-badge {
1560
+ display: inline-flex;
1561
+ align-items: center;
1562
+ padding: 1px 5px;
1563
+ border-radius: 2px;
1564
+ font-size: 10px;
1565
+ font-weight: 800;
1566
+ white-space: nowrap;
1567
+ }
1568
+
1569
+ .dak-upset-badge-eco { background: rgba(255,84,114,0.18); color: var(--dak-danger); }
1570
+ .dak-upset-badge-semi { background: rgba(73,182,255,0.16); color: var(--dak-accent-b); }
1571
+ .dak-upset-badge-force { background: rgba(255,122,33,0.16); color: var(--dak-accent); }
1572
+
1573
+ /* ── Kill feed overlay ──────────────────────────────────────────────────────── */
1574
+
1575
+ .dak-killfeed {
1576
+ position: absolute;
1577
+ top: 10px;
1578
+ right: 10px;
1579
+ z-index: 5;
1580
+ display: flex;
1581
+ flex-direction: column;
1582
+ gap: 3px;
1583
+ pointer-events: none;
1584
+ min-width: 0;
1585
+ max-width: 260px;
1586
+ }
1587
+
1588
+ .dak-killfeed-row {
1589
+ display: flex;
1590
+ align-items: center;
1591
+ gap: 5px;
1592
+ padding: 4px 8px;
1593
+ background: rgba(9, 11, 15, 0.78);
1594
+ border: 1px solid var(--dak-border);
1595
+ border-radius: 3px;
1596
+ font-size: 11px;
1597
+ white-space: nowrap;
1598
+ overflow: hidden;
1599
+ }
1600
+
1601
+ .dak-killfeed-name {
1602
+ font-weight: 700;
1603
+ max-width: 80px;
1604
+ overflow: hidden;
1605
+ text-overflow: ellipsis;
1606
+ flex-shrink: 0;
1607
+ }
1608
+
1609
+ .dak-killfeed-name-teamA { color: var(--dak-accent); }
1610
+ .dak-killfeed-name-teamB { color: var(--dak-accent-b); }
1611
+ .dak-killfeed-name-none { color: var(--dak-fg-dim); }
1612
+
1613
+ .dak-killfeed-weapon {
1614
+ color: var(--dak-fg-dim);
1615
+ font-family: var(--dak-mono);
1616
+ font-size: 10px;
1617
+ flex-shrink: 0;
1618
+ }
1619
+
1620
+ .dak-killfeed-victim {
1621
+ color: var(--dak-fg-mid);
1622
+ min-width: 0;
1623
+ overflow: hidden;
1624
+ text-overflow: ellipsis;
1625
+ flex: 1;
1626
+ }
1627
+
1628
+ .dak-killfeed-badges {
1629
+ display: flex;
1630
+ gap: 3px;
1631
+ flex-shrink: 0;
1632
+ }
1633
+
1634
+ .dak-kf-badge {
1635
+ display: inline-flex;
1636
+ align-items: center;
1637
+ padding: 1px 4px;
1638
+ border-radius: 2px;
1639
+ font-size: 9px;
1640
+ font-weight: 800;
1641
+ font-style: normal;
1642
+ text-transform: uppercase;
1643
+ }
1644
+
1645
+ .dak-kf-hs { background: rgba(255, 84, 114, 0.22); color: var(--dak-danger); }
1646
+ .dak-kf-tr { background: rgba(255, 122, 33, 0.18); color: var(--dak-accent); }
1647
+ .dak-kf-smk { background: rgba(162, 172, 184, 0.14); color: var(--dak-fg-mid); }
1648
+ .dak-kf-ns { background: rgba(73, 182, 255, 0.16); color: var(--dak-accent-b); }
1649
+ .dak-kf-fa { background: rgba(83, 215, 126, 0.18); color: var(--dak-ok); }
1650
+
1651
+ @media (max-width: 1080px) {
1652
+ .dak-header,
1653
+ .dak-grid,
1654
+ .dak-grid-even,
1655
+ .dak-selection-layout,
1656
+ .dak-kpi-strip,
1657
+ .dak-fact-grid,
1658
+ .dak-workbench,
1659
+ .dak-replay-layout {
1660
+ grid-template-columns: 1fr;
1661
+ }
1662
+
1663
+ .dak-workbench-sidebar {
1664
+ position: static;
1665
+ }
1666
+
1667
+ .dak-tabs {
1668
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1669
+ }
1670
+
1671
+ .dak-scoreblock {
1672
+ text-align: left;
1673
+ }
1674
+
1675
+ .dak-scoreline {
1676
+ font-size: 34px;
1677
+ }
1678
+
1679
+ .dak-title {
1680
+ font-size: 32px;
1681
+ }
1682
+
1683
+ .dak-qa-row,
1684
+ .dak-roundfact-row {
1685
+ grid-template-columns: 1fr;
1686
+ }
1687
+
1688
+ .dak-player-round-summary {
1689
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1690
+ }
1691
+ }
1692
+
1693
+ @media (max-width: 720px) {
1694
+ .dak-workspace {
1695
+ width: min(100vw - 18px, 1480px);
1696
+ padding-top: 14px;
1697
+ }
1698
+
1699
+ .dak-tabs,
1700
+ .dak-kpi-strip,
1701
+ .dak-speed-group,
1702
+ .dak-heatmap-tuning {
1703
+ grid-template-columns: 1fr;
1704
+ }
1705
+
1706
+ .dak-tab {
1707
+ min-height: 46px;
1708
+ }
1709
+
1710
+ .dak-title {
1711
+ font-size: 28px;
1712
+ }
1713
+
1714
+ .dak-replay-stage {
1715
+ min-height: 380px;
1716
+ }
1717
+
1718
+ .dak-player-round-summary {
1719
+ grid-template-columns: 1fr;
1720
+ }
1721
+ }