@pol-cova/gessi 0.0.1 → 0.0.2

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/gessi.css CHANGED
@@ -1,20 +1,37 @@
1
+ @font-face {
2
+ font-family: "Departure Mono";
3
+ font-style: normal;
4
+ font-weight: 400;
5
+ font-display: swap;
6
+ src: url("./fonts/departure-mono.woff2") format("woff2");
7
+ }
8
+
1
9
  :root {
2
10
  color-scheme: light dark;
3
- --gessi-bg: light-dark(#fbfaf7, #171614);
11
+ --gessi-bg: light-dark(#fff3f8, #171614);
4
12
  --gessi-surface: light-dark(#ffffff, #22201d);
5
- --gessi-text: light-dark(#24211d, #f3eee7);
13
+ --gessi-text: light-dark(#15151f, #f3eee7);
6
14
  --gessi-muted: light-dark(#6d655c, #b8afa4);
7
- --gessi-line: light-dark(#ded6ca, #3a352f);
8
- --gessi-accent: light-dark(#b4442d, #f28b73);
9
- --gessi-accent-strong: light-dark(#7f291b, #ffb19f);
15
+ --gessi-line: light-dark(#191923, #3a352f);
16
+ --gessi-accent: light-dark(#ff512f, #f28b73);
17
+ --gessi-accent-strong: light-dark(#15151f, #ffb19f);
10
18
  --gessi-code: light-dark(#f2ede5, #2d2924);
11
19
  --gessi-radius: 8px;
12
20
  --gessi-measure: 68ch;
13
- --gessi-font: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
14
- --gessi-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
21
+ --gessi-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
15
22
  "Segoe UI", sans-serif;
23
+ --gessi-sans: var(--gessi-font);
16
24
  --gessi-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
17
25
  "Liberation Mono", monospace;
26
+ --gs-ink: #15151f;
27
+ --gs-paper: #fff8fb;
28
+ --gs-tomato: #ff512f;
29
+ --gs-sun: #ffc118;
30
+ --gs-mint: #10c7b0;
31
+ --gs-blue: #2354e8;
32
+ --gs-line: #15151f;
33
+ --gs-shadow: 0 7px 0 var(--gs-line);
34
+ --gs-shadow-sm: 0 4px 0 var(--gs-line);
18
35
  }
19
36
 
20
37
  * {
@@ -199,3 +216,3036 @@ textarea {
199
216
  color: white;
200
217
  }
201
218
 
219
+ .gs-page {
220
+ color-scheme: light;
221
+ --gessi-bg: #fff3f8;
222
+ --gessi-surface: #fff;
223
+ --gessi-text: #15151f;
224
+ --gessi-muted: #68616d;
225
+ --gessi-line: #15151f;
226
+ --gessi-accent: #ff512f;
227
+ --gessi-accent-strong: #15151f;
228
+ background:
229
+ linear-gradient(90deg, rgb(21 21 31 / 3%) 1px, transparent 1px) 0 0 / 28px 28px,
230
+ linear-gradient(rgb(21 21 31 / 3%) 1px, transparent 1px) 0 0 / 28px 28px,
231
+ var(--gessi-bg);
232
+ color: var(--gs-ink);
233
+ font-family: var(--gessi-sans);
234
+ margin: 0;
235
+ max-width: none;
236
+ min-height: 100vh;
237
+ padding: 0;
238
+ }
239
+
240
+ .gs-wrap {
241
+ margin: 0 auto;
242
+ max-width: 1180px;
243
+ padding: clamp(24px, 5vw, 72px);
244
+ }
245
+
246
+ .gs-stack {
247
+ display: grid;
248
+ gap: var(--gs-gap, 1rem);
249
+ min-width: 0;
250
+ }
251
+
252
+ .gs-cluster {
253
+ align-items: center;
254
+ display: flex;
255
+ flex-wrap: wrap;
256
+ gap: var(--gs-gap, 0.75rem);
257
+ }
258
+
259
+ .gs-split {
260
+ align-items: center;
261
+ display: flex;
262
+ gap: var(--gs-gap, 1rem);
263
+ justify-content: space-between;
264
+ min-width: 0;
265
+ }
266
+
267
+ .gs-toolbar {
268
+ align-items: center;
269
+ display: flex;
270
+ flex-wrap: wrap;
271
+ gap: 0.75rem;
272
+ justify-content: flex-end;
273
+ }
274
+
275
+ .gs-grid {
276
+ display: grid;
277
+ gap: var(--gs-gap, 1.25rem);
278
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
279
+ }
280
+
281
+ .gs-board {
282
+ align-items: start;
283
+ column-count: 1;
284
+ column-gap: 1.25rem;
285
+ min-width: 0;
286
+ width: 100%;
287
+ }
288
+
289
+ .gs-board > * {
290
+ break-inside: avoid;
291
+ margin: 0 0 1.25rem;
292
+ }
293
+
294
+ @media (min-width: 720px) {
295
+ .gs-board {
296
+ column-count: 3;
297
+ }
298
+ }
299
+
300
+ @media (min-width: 1040px) {
301
+ .gs-board {
302
+ column-count: 4;
303
+ }
304
+ }
305
+
306
+ .gs-type-kicker {
307
+ color: var(--gs-blue);
308
+ font-family: var(--gessi-mono);
309
+ font-size: 0.78rem;
310
+ font-weight: 800;
311
+ letter-spacing: 0.2em;
312
+ margin: 0 0 0.8rem;
313
+ text-transform: uppercase;
314
+ }
315
+
316
+ .gs-type-display {
317
+ font-size: clamp(3.5rem, 12vw, 8rem);
318
+ font-weight: 950;
319
+ letter-spacing: 0;
320
+ line-height: 0.82;
321
+ margin: 0;
322
+ max-width: 7ch;
323
+ }
324
+
325
+ .gs-type-title {
326
+ font-size: clamp(1.6rem, 4vw, 2.25rem);
327
+ font-weight: 950;
328
+ letter-spacing: 0;
329
+ line-height: 0.95;
330
+ margin: 0;
331
+ }
332
+
333
+ .gs-type-subtitle {
334
+ color: rgb(21 21 31 / 72%);
335
+ font-size: 1rem;
336
+ font-weight: 650;
337
+ line-height: 1.3;
338
+ margin: 0;
339
+ }
340
+
341
+ .gs-type-muted {
342
+ color: rgb(21 21 31 / 62%);
343
+ }
344
+
345
+ .gs-card,
346
+ .gs-bubble,
347
+ .gs-panel {
348
+ --gs-fill: #fff;
349
+ background: var(--gs-fill);
350
+ border: 2px solid var(--gs-line);
351
+ border-radius: 12px;
352
+ color: var(--gs-ink);
353
+ overflow: hidden;
354
+ padding: var(--gs-pad, 1.1rem);
355
+ }
356
+
357
+ .gs-neo {
358
+ box-shadow: var(--gs-shadow);
359
+ }
360
+
361
+ [data-gs-style="neo"] :is(.gs-card, .gs-bubble, .gs-panel, .gs-btn, .gs-media) {
362
+ border-radius: 12px;
363
+ box-shadow: var(--gs-shadow);
364
+ }
365
+
366
+ [data-gs-style="minimal"] {
367
+ --gs-ink: #1d1d1f;
368
+ --gs-paper: #fff;
369
+ --gs-tomato: #f5f5f7;
370
+ --gs-sun: #f5f5f7;
371
+ --gs-mint: #f5f5f7;
372
+ --gs-blue: #0066cc;
373
+ --gs-line: #e5e5ea;
374
+ --gs-shadow: none;
375
+ --gs-shadow-sm: none;
376
+ color: var(--gs-ink);
377
+ }
378
+
379
+ [data-gs-style="minimal"] .gs-type-kicker {
380
+ color: var(--gs-ink);
381
+ font-family: var(--gessi-sans);
382
+ font-size: 1rem;
383
+ font-weight: 700;
384
+ letter-spacing: 0;
385
+ text-transform: none;
386
+ }
387
+
388
+ [data-gs-style="minimal"] .gs-type-subtitle {
389
+ color: #6e6e73;
390
+ font-size: clamp(1.2rem, 3vw, 1.75rem);
391
+ font-weight: 400;
392
+ max-width: 32rem;
393
+ }
394
+
395
+ [data-gs-style="minimal"] .gs-type-title {
396
+ font-weight: 650;
397
+ line-height: 1.04;
398
+ }
399
+
400
+ [data-gs-style="minimal"].gs-board,
401
+ [data-gs-style="minimal"] .gs-board {
402
+ column-gap: 1rem;
403
+ }
404
+
405
+ [data-gs-style="minimal"] :is(.gs-card, .gs-bubble, .gs-panel) {
406
+ background: var(--gs-fill, #fff);
407
+ border: 1px solid var(--gs-line);
408
+ border-radius: 18px;
409
+ box-shadow: none;
410
+ color: var(--gs-ink);
411
+ }
412
+
413
+ [data-gs-style="minimal"] :is(.gs-card.gs-tomato, .gs-card.gs-sun, .gs-card.gs-mint, .gs-card.gs-paper) {
414
+ background: #fff;
415
+ color: var(--gs-ink);
416
+ }
417
+
418
+ [data-gs-style="minimal"] .gs-card.gs-blue,
419
+ [data-gs-style="minimal"] .gs-card.gs-ink {
420
+ background: #1d1d1f;
421
+ color: #fff;
422
+ }
423
+
424
+ [data-gs-style="minimal"] .gs-media {
425
+ background:
426
+ linear-gradient(180deg, rgb(255 255 255 / 42%), transparent),
427
+ var(--gs-fill, #f5f5f7);
428
+ border: 0;
429
+ border-radius: 14px;
430
+ box-shadow: none;
431
+ }
432
+
433
+ [data-gs-style="minimal"] .gs-btn {
434
+ background: var(--gs-fill, #0066cc);
435
+ border: 0;
436
+ border-radius: 999px;
437
+ box-shadow: none;
438
+ color: #fff;
439
+ font-size: 0.95rem;
440
+ font-weight: 500;
441
+ min-height: 2.65rem;
442
+ padding: 0.72rem 1.1rem;
443
+ }
444
+
445
+ [data-gs-style="minimal"] .gs-btn:hover {
446
+ background: #0071e3;
447
+ box-shadow: none;
448
+ translate: 0;
449
+ }
450
+
451
+ [data-gs-style="minimal"] .gs-btn.gs-sun,
452
+ [data-gs-style="minimal"] .gs-btn.gs-mint,
453
+ [data-gs-style="minimal"] .gs-btn.gs-tomato {
454
+ background: #f5f5f7;
455
+ color: #0066cc;
456
+ }
457
+
458
+ [data-gs-style="minimal"] .gs-btn.gs-ink {
459
+ background: #1d1d1f;
460
+ color: #fff;
461
+ }
462
+
463
+ [data-gs-style="minimal"] .gs-btn.gs-blue {
464
+ background: #0066cc;
465
+ }
466
+
467
+ [data-gs-style="minimal"] :is(.gs-badge, .gs-chip, .gs-avatar) {
468
+ background: #f5f5f7;
469
+ border: 1px solid var(--gs-line);
470
+ color: var(--gs-ink);
471
+ }
472
+
473
+ [data-gs-style="minimal"] .gs-avatar {
474
+ font-weight: 650;
475
+ }
476
+
477
+ [data-gs-style="minimal"] .gs-bubble {
478
+ background: #fff;
479
+ color: var(--gs-ink);
480
+ font-weight: 600;
481
+ }
482
+
483
+ [data-gs-style="minimal"] .gs-person {
484
+ border-color: #d2d2d7;
485
+ }
486
+
487
+ [data-gs-style="minimal"] .gs-person::before {
488
+ background: #1d1d1f;
489
+ border-color: #1d1d1f;
490
+ }
491
+
492
+ [data-gs-style="minimal"] .gs-select,
493
+ [data-gs-style="minimal"] .gs-field {
494
+ background-color: #fff;
495
+ border: 1px solid #d2d2d7;
496
+ border-radius: 999px;
497
+ box-shadow: none;
498
+ color: var(--gs-ink);
499
+ font-weight: 500;
500
+ }
501
+
502
+ [data-gs-style="minimal"] .gs-label {
503
+ color: #6e6e73;
504
+ font-family: var(--gessi-sans);
505
+ font-size: 0.78rem;
506
+ font-weight: 600;
507
+ letter-spacing: 0;
508
+ text-transform: none;
509
+ }
510
+
511
+ [data-gs-style="minimal"] .gs-list li::before {
512
+ color: #0066cc;
513
+ }
514
+
515
+ [data-gs-style="retro"] {
516
+ --gs-ink: #101010;
517
+ --gs-paper: #f4f3ee;
518
+ --gs-tomato: #e81123;
519
+ --gs-sun: #d8d8d3;
520
+ --gs-mint: #e8e8e3;
521
+ --gs-blue: #0078d7;
522
+ --gs-line: #101010;
523
+ --gs-shadow: 3px 3px 0 rgb(16 16 16 / 28%);
524
+ --gs-shadow-sm: 2px 2px 0 rgb(16 16 16 / 25%);
525
+ color: var(--gs-ink);
526
+ font-family: var(--gessi-mono);
527
+ }
528
+
529
+ [data-gs-style="retro"] .gs-type-kicker {
530
+ color: #0078d7;
531
+ font-size: 0.75rem;
532
+ letter-spacing: 0.08em;
533
+ }
534
+
535
+ [data-gs-style="retro"] :is(.gs-type-title, .gs-price strong, .gs-stat strong) {
536
+ font-family: var(--gessi-mono);
537
+ font-weight: 800;
538
+ }
539
+
540
+ [data-gs-style="retro"] .gs-type-title {
541
+ font-size: clamp(1.35rem, 3vw, 1.85rem);
542
+ line-height: 1.05;
543
+ }
544
+
545
+ [data-gs-style="retro"] .gs-type-muted {
546
+ color: #555;
547
+ }
548
+
549
+ [data-gs-style="retro"].gs-board,
550
+ [data-gs-style="retro"] .gs-board {
551
+ column-gap: 1rem;
552
+ }
553
+
554
+ [data-gs-style="retro"] :is(.gs-card, .gs-panel) {
555
+ background:
556
+ repeating-linear-gradient(
557
+ 0deg,
558
+ rgb(0 0 0 / 2%) 0,
559
+ rgb(0 0 0 / 2%) 1px,
560
+ transparent 1px,
561
+ transparent 4px
562
+ ),
563
+ var(--gs-fill, var(--gs-paper));
564
+ border: 1px solid var(--gs-line);
565
+ border-radius: 4px;
566
+ box-shadow: var(--gs-shadow);
567
+ color: var(--gs-ink);
568
+ padding-top: calc(var(--gs-pad, 1.1rem) + 1.35rem);
569
+ position: relative;
570
+ }
571
+
572
+ [data-gs-style="retro"] :is(.gs-card, .gs-panel)::before {
573
+ background:
574
+ linear-gradient(#fff 0 0) right 1.55rem center / 0.62rem 0.62rem no-repeat,
575
+ linear-gradient(#fff 0 0) right 0.45rem center / 0.62rem 0.62rem no-repeat,
576
+ linear-gradient(90deg, #0078d7, #0693e3);
577
+ border-bottom: 1px solid var(--gs-line);
578
+ box-shadow:
579
+ inset 0 0 0 2px #0078d7,
580
+ inset 0 0 0 3px rgb(255 255 255 / 48%);
581
+ content: "";
582
+ height: 1.35rem;
583
+ inset: 0 0 auto;
584
+ position: absolute;
585
+ }
586
+
587
+ [data-gs-style="retro"] :is(.gs-card.gs-tomato, .gs-panel.gs-tomato) {
588
+ color: #fff;
589
+ }
590
+
591
+ [data-gs-style="retro"] :is(.gs-card.gs-sun, .gs-card.gs-mint, .gs-card.gs-paper) {
592
+ color: var(--gs-ink);
593
+ }
594
+
595
+ [data-gs-style="retro"] :is(.gs-card.gs-blue, .gs-card.gs-ink) {
596
+ color: #fff;
597
+ }
598
+
599
+ [data-gs-style="retro"] .gs-media {
600
+ background:
601
+ linear-gradient(90deg, rgb(0 120 215 / 12%) 1px, transparent 1px) 0 0 / 8px 8px,
602
+ linear-gradient(rgb(0 120 215 / 12%) 1px, transparent 1px) 0 0 / 8px 8px,
603
+ var(--gs-fill, #f4f3ee);
604
+ border: 1px solid var(--gs-line);
605
+ border-radius: 2px;
606
+ box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #858585;
607
+ }
608
+
609
+ [data-gs-style="retro"] .gs-btn {
610
+ background: var(--gs-fill, #0078d7);
611
+ border: 1px solid var(--gs-line);
612
+ border-radius: 2px;
613
+ box-shadow:
614
+ inset 1px 1px 0 rgb(255 255 255 / 78%),
615
+ inset -2px -2px 0 rgb(0 0 0 / 25%),
616
+ var(--gs-shadow-sm);
617
+ color: var(--gs-ink);
618
+ font-family: var(--gessi-mono);
619
+ font-weight: 700;
620
+ min-height: 2.35rem;
621
+ }
622
+
623
+ [data-gs-style="retro"] .gs-btn:hover {
624
+ filter: brightness(1.08);
625
+ box-shadow:
626
+ inset 1px 1px 0 rgb(255 255 255 / 78%),
627
+ inset -2px -2px 0 rgb(0 0 0 / 25%);
628
+ translate: 1px 1px;
629
+ }
630
+
631
+ [data-gs-style="retro"] .gs-btn:active {
632
+ box-shadow: inset 2px 2px 0 rgb(0 0 0 / 32%);
633
+ translate: 2px 2px;
634
+ }
635
+
636
+ [data-gs-style="retro"] .gs-btn.gs-blue,
637
+ [data-gs-style="retro"] .gs-btn.gs-tomato,
638
+ [data-gs-style="retro"] .gs-btn.gs-ink {
639
+ color: #fff;
640
+ }
641
+
642
+ [data-gs-style="retro"] .gs-btn.gs-sm {
643
+ border-radius: 2px;
644
+ }
645
+
646
+ [data-gs-style="retro"] :is(.gs-badge, .gs-chip, .gs-bubble, .gs-avatar) {
647
+ border: 1px solid var(--gs-line);
648
+ border-radius: 2px;
649
+ box-shadow: var(--gs-shadow-sm);
650
+ font-family: var(--gessi-mono);
651
+ }
652
+
653
+ [data-gs-style="retro"] .gs-avatar {
654
+ background: #0078d7;
655
+ color: #fff;
656
+ }
657
+
658
+ [data-gs-style="retro"] .gs-bubble {
659
+ background: #0078d7;
660
+ color: #fff;
661
+ font-weight: 700;
662
+ }
663
+
664
+ [data-gs-style="retro"] .gs-person,
665
+ [data-gs-style="retro"] .gs-person::before {
666
+ border-width: 1px;
667
+ border-radius: 2px;
668
+ }
669
+
670
+ [data-gs-style="retro"] .gs-switch {
671
+ background: #f4f3ee;
672
+ border: 1px solid var(--gs-line);
673
+ border-radius: 2px;
674
+ box-shadow: inset 1px 1px 0 #858585, inset -1px -1px 0 #fff;
675
+ padding: 0.2rem;
676
+ }
677
+
678
+ [data-gs-style="retro"] .gs-switch::before {
679
+ background: #0078d7;
680
+ border: 1px solid var(--gs-line);
681
+ border-radius: 1px;
682
+ }
683
+
684
+ [data-gs-style="retro"] .gs-field,
685
+ [data-gs-style="retro"] .gs-select {
686
+ background-color: #f4f3ee;
687
+ border: 1px solid var(--gs-line);
688
+ border-radius: 1px;
689
+ box-shadow: inset 2px 2px 0 #9a9a9a, inset -1px -1px 0 #fff;
690
+ color: var(--gs-ink);
691
+ font-family: var(--gessi-mono);
692
+ font-weight: 600;
693
+ }
694
+
695
+ [data-gs-style="retro"] .gs-label {
696
+ font-size: 0.7rem;
697
+ letter-spacing: 0.08em;
698
+ }
699
+
700
+ [data-gs-style="retro"] .gs-list li::before {
701
+ color: #0078d7;
702
+ content: "■";
703
+ font-size: 0.65em;
704
+ }
705
+
706
+ [data-gs-style="old-tech"] {
707
+ --gs-ink: #292b27;
708
+ --gs-paper: #f6eddd;
709
+ --gs-tomato: #ee6846;
710
+ --gs-sun: #f6c545;
711
+ --gs-mint: #83d5c5;
712
+ --gs-blue: #66b9ca;
713
+ --gs-line: #292b27;
714
+ --gs-shadow: 7px 7px 0 var(--gs-line);
715
+ --gs-shadow-sm: 4px 4px 0 var(--gs-line);
716
+ color: var(--gs-ink);
717
+ font-family: var(--gessi-mono);
718
+ }
719
+
720
+ [data-gs-style="old-tech"].gs-board,
721
+ [data-gs-style="old-tech"].gs-grid {
722
+ background:
723
+ radial-gradient(circle, rgb(41 43 39 / 14%) 1px, transparent 1.2px) 0 0 / 7px 7px,
724
+ #9edbd2;
725
+ border: 3px solid var(--gs-line);
726
+ border-radius: 18px;
727
+ box-shadow: 9px 9px 0 var(--gs-line);
728
+ padding: clamp(1rem, 3vw, 1.75rem);
729
+ }
730
+
731
+ [data-gs-style="old-tech"].gs-board {
732
+ column-gap: 1.35rem;
733
+ }
734
+
735
+ [data-gs-style="old-tech"] :is(.gs-type-title, .gs-price strong, .gs-stat strong) {
736
+ font-family: var(--gessi-sans);
737
+ font-weight: 950;
738
+ letter-spacing: -0.04em;
739
+ }
740
+
741
+ [data-gs-style="old-tech"] .gs-type-title {
742
+ font-size: clamp(1.5rem, 3.5vw, 2.15rem);
743
+ line-height: 0.98;
744
+ }
745
+
746
+ [data-gs-style="old-tech"] .gs-type-kicker {
747
+ color: var(--gs-ink);
748
+ font-size: 0.72rem;
749
+ letter-spacing: 0.12em;
750
+ }
751
+
752
+ [data-gs-style="old-tech"] .gs-type-muted {
753
+ color: rgb(41 43 39 / 62%);
754
+ }
755
+
756
+ [data-gs-style="old-tech"] :is(.gs-card, .gs-panel) {
757
+ background:
758
+ radial-gradient(circle, rgb(41 43 39 / 7%) 0.7px, transparent 0.9px) 0 0 / 5px 5px,
759
+ var(--gs-fill, var(--gs-paper));
760
+ border: 3px solid var(--gs-line);
761
+ border-radius: 11px;
762
+ box-shadow: var(--gs-shadow);
763
+ color: var(--gs-ink);
764
+ padding-top: calc(var(--gs-pad, 1.1rem) + 2rem);
765
+ position: relative;
766
+ }
767
+
768
+ [data-gs-style="old-tech"] :is(.gs-card, .gs-panel)::before {
769
+ background:
770
+ radial-gradient(circle at 1.1rem 50%, var(--gs-line) 0 0.28rem, transparent 0.3rem),
771
+ radial-gradient(circle at 2.05rem 50%, var(--gs-paper) 0 0.2rem, var(--gs-line) 0.22rem 0.31rem, transparent 0.33rem),
772
+ radial-gradient(circle at 3rem 50%, var(--gs-paper) 0 0.2rem, var(--gs-line) 0.22rem 0.31rem, transparent 0.33rem),
773
+ var(--gs-paper);
774
+ border-bottom: 3px solid var(--gs-line);
775
+ content: "";
776
+ height: 1.7rem;
777
+ inset: 0 0 auto;
778
+ position: absolute;
779
+ }
780
+
781
+ [data-gs-style="old-tech"] :is(.gs-card.gs-tomato, .gs-card.gs-sun, .gs-card.gs-mint, .gs-card.gs-paper) {
782
+ color: var(--gs-ink);
783
+ }
784
+
785
+ [data-gs-style="old-tech"] :is(.gs-card.gs-blue, .gs-card.gs-ink) {
786
+ color: #fff8e9;
787
+ }
788
+
789
+ [data-gs-style="old-tech"] .gs-media {
790
+ background:
791
+ repeating-radial-gradient(circle at 0 0, rgb(41 43 39 / 19%) 0 1px, transparent 1.2px 5px),
792
+ var(--gs-fill, var(--gs-mint));
793
+ border: 3px solid var(--gs-line);
794
+ border-radius: 8px;
795
+ box-shadow: 4px 4px 0 var(--gs-line);
796
+ }
797
+
798
+ [data-gs-style="old-tech"] .gs-btn {
799
+ background: var(--gs-fill, var(--gs-sun));
800
+ border: 3px solid var(--gs-line);
801
+ border-radius: 7px;
802
+ box-shadow: var(--gs-shadow-sm);
803
+ color: var(--gs-ink);
804
+ font-family: var(--gessi-mono);
805
+ font-size: 0.85rem;
806
+ font-weight: 900;
807
+ letter-spacing: -0.03em;
808
+ min-height: 2.55rem;
809
+ text-transform: uppercase;
810
+ }
811
+
812
+ [data-gs-style="old-tech"] .gs-btn:hover {
813
+ box-shadow: 1px 1px 0 var(--gs-line);
814
+ translate: 3px 3px;
815
+ }
816
+
817
+ [data-gs-style="old-tech"] .gs-btn:active {
818
+ box-shadow: none;
819
+ translate: 4px 4px;
820
+ }
821
+
822
+ [data-gs-style="old-tech"] .gs-btn.gs-sm {
823
+ border-radius: 6px;
824
+ }
825
+
826
+ [data-gs-style="old-tech"] .gs-btn.gs-ink,
827
+ [data-gs-style="old-tech"] .gs-btn.gs-blue,
828
+ [data-gs-style="old-tech"] .gs-btn.gs-tomato {
829
+ color: #fff8e9;
830
+ }
831
+
832
+ [data-gs-style="old-tech"] :is(.gs-avatar, .gs-badge, .gs-chip, .gs-bubble) {
833
+ border: 3px solid var(--gs-line);
834
+ border-radius: 6px;
835
+ box-shadow: var(--gs-shadow-sm);
836
+ font-family: var(--gessi-mono);
837
+ }
838
+
839
+ [data-gs-style="old-tech"] .gs-avatar {
840
+ background: var(--gs-fill, var(--gs-sun));
841
+ color: var(--gs-ink);
842
+ }
843
+
844
+ [data-gs-style="old-tech"] .gs-bubble {
845
+ background:
846
+ radial-gradient(circle, rgb(41 43 39 / 10%) 0.7px, transparent 0.9px) 0 0 / 5px 5px,
847
+ var(--gs-sun);
848
+ color: var(--gs-ink);
849
+ }
850
+
851
+ [data-gs-style="old-tech"] .gs-person {
852
+ border-width: 3px;
853
+ border-radius: 30% 30% 4px 4px;
854
+ }
855
+
856
+ [data-gs-style="old-tech"] .gs-person::before {
857
+ border-width: 3px;
858
+ border-radius: 35%;
859
+ }
860
+
861
+ [data-gs-style="old-tech"] .gs-switch {
862
+ background: var(--gs-paper);
863
+ border: 3px solid var(--gs-line);
864
+ border-radius: 5px;
865
+ box-shadow: inset 3px 3px 0 rgb(41 43 39 / 16%);
866
+ }
867
+
868
+ [data-gs-style="old-tech"] .gs-switch::before {
869
+ background: var(--gs-tomato);
870
+ border: 2px solid var(--gs-line);
871
+ border-radius: 3px;
872
+ }
873
+
874
+ [data-gs-style="old-tech"] :is(.gs-field, .gs-select) {
875
+ background-color: var(--gs-paper);
876
+ border: 3px solid var(--gs-line);
877
+ border-radius: 6px;
878
+ box-shadow: inset 3px 3px 0 rgb(41 43 39 / 13%);
879
+ color: var(--gs-ink);
880
+ font-family: var(--gessi-mono);
881
+ font-weight: 800;
882
+ }
883
+
884
+ [data-gs-style="old-tech"] .gs-select {
885
+ box-shadow:
886
+ inset 3px 3px 0 rgb(41 43 39 / 13%),
887
+ var(--gs-shadow-sm);
888
+ }
889
+
890
+ [data-gs-style="old-tech"] .gs-label {
891
+ font-size: 0.68rem;
892
+ letter-spacing: 0.11em;
893
+ }
894
+
895
+ [data-gs-style="old-tech"] .gs-list li::before {
896
+ color: var(--gs-tomato);
897
+ content: "◆";
898
+ font-size: 0.72em;
899
+ }
900
+
901
+ .gs-desktop {
902
+ min-height: var(--gs-desktop-height, 44rem);
903
+ min-width: 0;
904
+ overflow: hidden;
905
+ position: relative;
906
+ width: 100%;
907
+ }
908
+
909
+ gessi-desktop,
910
+ gessi-window,
911
+ gessi-dialog,
912
+ gessi-icons,
913
+ gessi-icon,
914
+ gessi-tabs,
915
+ gessi-panel,
916
+ gessi-meter,
917
+ gessi-list,
918
+ gessi-alert,
919
+ gessi-toolbar,
920
+ gessi-dock,
921
+ gessi-menu,
922
+ gessi-breadcrumb,
923
+ gessi-tree,
924
+ gessi-separator,
925
+ gessi-tooltip,
926
+ gessi-toast {
927
+ display: block;
928
+ }
929
+
930
+ gessi-media,
931
+ gessi-map,
932
+ gessi-marker,
933
+ gessi-carousel {
934
+ display: block;
935
+ }
936
+
937
+ gessi-desktop:not([data-enhanced]) {
938
+ --gs-ink: #292b27;
939
+ --gs-paper: #f6eddd;
940
+ --gs-line: #292b27;
941
+ background:
942
+ radial-gradient(circle, rgb(41 43 39 / 18%) 0 0.7px, transparent 0.9px) 0 0 / 4px 4px,
943
+ var(--gs-paper);
944
+ border: 3px solid var(--gs-line);
945
+ color: var(--gs-ink);
946
+ display: grid;
947
+ gap: 1rem;
948
+ padding: 1rem;
949
+ }
950
+
951
+ gessi-window:not([data-enhanced]),
952
+ gessi-dialog:not([data-enhanced]) {
953
+ background: #fffdf5;
954
+ border: 3px solid var(--gs-line, #292b27);
955
+ box-shadow: 6px 6px 0 var(--gs-line, #292b27);
956
+ max-width: 100%;
957
+ padding: 3rem 1rem 1rem;
958
+ position: relative;
959
+ }
960
+
961
+ gessi-window:not([data-enhanced])::before,
962
+ gessi-dialog:not([data-enhanced])::before {
963
+ align-items: center;
964
+ background:
965
+ repeating-linear-gradient(
966
+ 0deg,
967
+ transparent 0 2px,
968
+ var(--gs-line, #292b27) 2px 3px
969
+ ),
970
+ var(--gs-paper, #f6eddd);
971
+ border-bottom: 3px solid var(--gs-line, #292b27);
972
+ content: attr(title);
973
+ display: flex;
974
+ font-family: var(--gessi-mono);
975
+ font-size: 0.8rem;
976
+ font-weight: 900;
977
+ inset: 0 0 auto;
978
+ justify-content: center;
979
+ min-height: 2rem;
980
+ position: absolute;
981
+ }
982
+
983
+ gessi-window:not([data-enhanced]) > [slot],
984
+ gessi-dialog:not([data-enhanced]) > [slot] {
985
+ border: 1px solid currentColor;
986
+ margin: 0.75rem 0;
987
+ padding: 0.65rem;
988
+ }
989
+
990
+ gessi-icon:not([data-enhanced]) {
991
+ border: 1px solid currentColor;
992
+ padding: 0.5rem;
993
+ }
994
+
995
+ gessi-desktop > gessi-window {
996
+ --gs-window-position: absolute;
997
+ }
998
+
999
+ .gs-window-content {
1000
+ position: relative;
1001
+ }
1002
+
1003
+ .gs-window-content > gessi-window[contained] {
1004
+ --gs-window-position: absolute;
1005
+ }
1006
+
1007
+ .gs-menubar {
1008
+ align-items: center;
1009
+ display: flex;
1010
+ gap: 1rem;
1011
+ min-height: 2.2rem;
1012
+ padding: 0.35rem 0.65rem;
1013
+ }
1014
+
1015
+ .gs-menubar strong {
1016
+ margin-right: 0.35rem;
1017
+ }
1018
+
1019
+ .gs-menubar-end {
1020
+ margin-left: auto;
1021
+ }
1022
+
1023
+ .gs-desktop-icons {
1024
+ display: grid;
1025
+ gap: 1rem;
1026
+ grid-auto-rows: min-content;
1027
+ justify-items: center;
1028
+ position: absolute;
1029
+ }
1030
+
1031
+ .gs-desktop-icons.gs-left {
1032
+ left: 1rem;
1033
+ top: 3.5rem;
1034
+ }
1035
+
1036
+ .gs-desktop-icons.gs-right {
1037
+ right: 1rem;
1038
+ top: 3.5rem;
1039
+ }
1040
+
1041
+ .gs-desktop-icon {
1042
+ align-items: center;
1043
+ color: inherit;
1044
+ display: inline-flex;
1045
+ flex-direction: column;
1046
+ font: inherit;
1047
+ gap: 0.3rem;
1048
+ max-width: 5.5rem;
1049
+ text-align: center;
1050
+ text-decoration: none;
1051
+ }
1052
+
1053
+ .gs-icon-action {
1054
+ align-items: center;
1055
+ color: inherit;
1056
+ display: inline-flex;
1057
+ flex-direction: column;
1058
+ font: inherit;
1059
+ gap: 0.3rem;
1060
+ max-width: 100%;
1061
+ text-align: center;
1062
+ text-decoration: none;
1063
+ }
1064
+
1065
+ button.gs-icon-action {
1066
+ appearance: none;
1067
+ background: transparent;
1068
+ border: 0;
1069
+ cursor: pointer;
1070
+ padding: 0;
1071
+ }
1072
+
1073
+ .gs-icon {
1074
+ align-items: center;
1075
+ aspect-ratio: 1;
1076
+ display: inline-flex;
1077
+ font-size: 1.7rem;
1078
+ justify-content: center;
1079
+ line-height: 1;
1080
+ width: var(--gs-icon-size, 3rem);
1081
+ }
1082
+
1083
+ .gs-icon img {
1084
+ display: block;
1085
+ height: 100%;
1086
+ image-rendering: pixelated;
1087
+ object-fit: contain;
1088
+ width: 100%;
1089
+ }
1090
+
1091
+ .gs-window {
1092
+ display: flex;
1093
+ flex-direction: column;
1094
+ left: var(--gs-window-x, auto);
1095
+ max-width: calc(100% - 2rem);
1096
+ min-height: var(--gs-window-min-height, 12rem);
1097
+ position: var(--gs-window-position, relative);
1098
+ top: var(--gs-window-y, auto);
1099
+ width: var(--gs-window-width, 34rem);
1100
+ z-index: var(--gs-window-layer, 1);
1101
+ }
1102
+
1103
+ .gs-window-titlebar {
1104
+ align-items: center;
1105
+ display: grid;
1106
+ flex: 0 0 auto;
1107
+ grid-template-columns: auto 1fr auto;
1108
+ margin: 0;
1109
+ min-height: 2rem;
1110
+ }
1111
+
1112
+ .gs-window-title {
1113
+ margin: 0;
1114
+ overflow: hidden;
1115
+ padding: 0 0.65rem;
1116
+ text-align: center;
1117
+ text-overflow: ellipsis;
1118
+ white-space: nowrap;
1119
+ }
1120
+
1121
+ .gs-window-controls {
1122
+ display: flex;
1123
+ }
1124
+
1125
+ .gs-window-control {
1126
+ align-items: center;
1127
+ appearance: none;
1128
+ background: transparent;
1129
+ border: 0;
1130
+ color: inherit;
1131
+ cursor: pointer;
1132
+ display: inline-flex;
1133
+ font: inherit;
1134
+ height: 1.6rem;
1135
+ justify-content: center;
1136
+ padding: 0;
1137
+ width: 1.6rem;
1138
+ }
1139
+
1140
+ .gs-window-toolbar,
1141
+ .gs-statusbar {
1142
+ align-items: center;
1143
+ display: flex;
1144
+ flex: 0 0 auto;
1145
+ flex-wrap: wrap;
1146
+ gap: 0.45rem;
1147
+ min-height: 2.25rem;
1148
+ padding: 0.4rem 0.55rem;
1149
+ }
1150
+
1151
+ .gs-window-body {
1152
+ display: flex;
1153
+ flex: 1 1 auto;
1154
+ min-height: 0;
1155
+ overflow: auto;
1156
+ }
1157
+
1158
+ .gs-window-content {
1159
+ flex: 1 1 auto;
1160
+ min-width: 0;
1161
+ padding: var(--gs-window-pad, 1rem);
1162
+ }
1163
+
1164
+ .gs-window-sidebar {
1165
+ flex: 0 0 var(--gs-sidebar-width, 9rem);
1166
+ padding: 0.75rem;
1167
+ }
1168
+
1169
+ .gs-window-sidebar :is(a, button) {
1170
+ color: inherit;
1171
+ display: block;
1172
+ text-decoration: none;
1173
+ width: 100%;
1174
+ }
1175
+
1176
+ .gs-statusbar {
1177
+ justify-content: space-between;
1178
+ margin: 0;
1179
+ min-height: 1.75rem;
1180
+ }
1181
+
1182
+ .gs-icon-grid {
1183
+ display: grid;
1184
+ gap: var(--gs-icon-gap, 1rem);
1185
+ grid-template-columns: repeat(auto-fit, minmax(var(--gs-icon-cell, 5rem), 1fr));
1186
+ }
1187
+
1188
+ .gs-icon-grid .gs-desktop-icon {
1189
+ justify-self: center;
1190
+ }
1191
+
1192
+ .gs-dialog {
1193
+ margin: auto;
1194
+ width: min(26rem, calc(100% - 2rem));
1195
+ }
1196
+
1197
+ .gs-desktop > .gs-dialog {
1198
+ inset: 50% auto auto 50%;
1199
+ position: absolute;
1200
+ transform: translate(-50%, -50%);
1201
+ z-index: 100;
1202
+ }
1203
+
1204
+ .gs-dialog-actions {
1205
+ display: flex;
1206
+ flex-wrap: wrap;
1207
+ gap: 0.6rem;
1208
+ justify-content: flex-end;
1209
+ }
1210
+
1211
+ .gs-fieldset {
1212
+ margin: 0;
1213
+ min-width: 0;
1214
+ padding: 0.75rem;
1215
+ }
1216
+
1217
+ .gs-fieldset legend {
1218
+ padding: 0 0.35rem;
1219
+ }
1220
+
1221
+ .gs-progress {
1222
+ display: block;
1223
+ height: 1.2rem;
1224
+ overflow: hidden;
1225
+ width: 100%;
1226
+ }
1227
+
1228
+ .gs-progress > span {
1229
+ display: block;
1230
+ height: 100%;
1231
+ width: var(--gs-progress, 50%);
1232
+ }
1233
+
1234
+ .gs-scrollbar {
1235
+ align-items: center;
1236
+ display: flex;
1237
+ flex-direction: column;
1238
+ flex: 0 0 1.15rem;
1239
+ }
1240
+
1241
+ .gs-scrollbar-track {
1242
+ flex: 1 1 auto;
1243
+ position: relative;
1244
+ width: 100%;
1245
+ }
1246
+
1247
+ .gs-scrollbar-thumb {
1248
+ height: var(--gs-thumb-size, 28%);
1249
+ inset: var(--gs-thumb-position, 15%) 0 auto;
1250
+ position: absolute;
1251
+ }
1252
+
1253
+ .gs-window-stack {
1254
+ min-height: var(--gs-stack-height, 34rem);
1255
+ position: relative;
1256
+ }
1257
+
1258
+ .gs-window-stack > .gs-window {
1259
+ position: absolute;
1260
+ }
1261
+
1262
+ .gs-tabs {
1263
+ display: flex;
1264
+ overflow-x: auto;
1265
+ }
1266
+
1267
+ .gs-control-panel {
1268
+ display: grid;
1269
+ gap: var(--gs-panel-gap, 0.75rem);
1270
+ grid-template-columns: repeat(var(--gs-panel-columns, 1), minmax(0, 1fr));
1271
+ min-width: 0;
1272
+ position: relative;
1273
+ }
1274
+
1275
+ .gs-control-panel-title {
1276
+ display: block;
1277
+ }
1278
+
1279
+ .gs-meter {
1280
+ align-items: center;
1281
+ display: grid;
1282
+ gap: 0.45rem;
1283
+ grid-template-columns: minmax(4rem, auto) 1fr auto;
1284
+ }
1285
+
1286
+ .gs-meter-track {
1287
+ display: block;
1288
+ height: 1rem;
1289
+ overflow: hidden;
1290
+ }
1291
+
1292
+ .gs-meter-track > span {
1293
+ display: block;
1294
+ height: 100%;
1295
+ }
1296
+
1297
+ .gs-listbox {
1298
+ display: grid;
1299
+ min-width: 0;
1300
+ overflow: auto;
1301
+ }
1302
+
1303
+ .gs-alert {
1304
+ position: relative;
1305
+ }
1306
+
1307
+ .gs-alert-title {
1308
+ display: block;
1309
+ }
1310
+
1311
+ .gs-alert-close {
1312
+ position: absolute;
1313
+ right: 0.35rem;
1314
+ top: 0.35rem;
1315
+ }
1316
+
1317
+ .gs-media-frame figure {
1318
+ margin: 0;
1319
+ }
1320
+
1321
+ .gs-media-viewport {
1322
+ aspect-ratio: var(--gs-media-aspect, auto);
1323
+ display: block;
1324
+ overflow: hidden;
1325
+ position: relative;
1326
+ }
1327
+
1328
+ .gs-media-viewport img {
1329
+ display: block;
1330
+ height: 100%;
1331
+ max-width: none;
1332
+ object-fit: var(--gs-media-fit, cover);
1333
+ object-position: var(--gs-media-position, center);
1334
+ width: 100%;
1335
+ }
1336
+
1337
+ .gs-media-frame figcaption,
1338
+ .gs-map-caption {
1339
+ margin: 0;
1340
+ }
1341
+
1342
+ :is(.gs-media-frame, .gs-map)[data-effect~="pixel"] img {
1343
+ image-rendering: pixelated;
1344
+ }
1345
+
1346
+ :is(.gs-media-frame, .gs-map)[data-effect~="mono"] img {
1347
+ filter: grayscale(1) contrast(1.25);
1348
+ }
1349
+
1350
+ :is(.gs-media-frame, .gs-map)[data-effect~="posterize"] img {
1351
+ filter: contrast(1.8) saturate(0.75) brightness(1.08);
1352
+ }
1353
+
1354
+ :is(.gs-media-frame, .gs-map)[data-effect~="dither"] img {
1355
+ filter: grayscale(1) contrast(2.25);
1356
+ }
1357
+
1358
+ :is(.gs-media-frame, .gs-map)[data-effect~="halftone"] :is(.gs-media-viewport, .gs-map-viewport)::after,
1359
+ :is(.gs-media-frame, .gs-map)[data-effect~="dither"] :is(.gs-media-viewport, .gs-map-viewport)::after {
1360
+ background:
1361
+ radial-gradient(circle, #000 0 1px, transparent 1.2px) 0 0 / 4px 4px;
1362
+ content: "";
1363
+ inset: 0;
1364
+ mix-blend-mode: multiply;
1365
+ pointer-events: none;
1366
+ position: absolute;
1367
+ }
1368
+
1369
+ :is(.gs-media-frame, .gs-map)[data-effect~="halftone"] img {
1370
+ filter: grayscale(1) contrast(1.35) brightness(1.2);
1371
+ }
1372
+
1373
+ :is(.gs-media-frame, .gs-map)[data-effect~="scanlines"] :is(.gs-media-viewport, .gs-map-viewport)::after {
1374
+ background:
1375
+ repeating-linear-gradient(
1376
+ 0deg,
1377
+ transparent 0 3px,
1378
+ rgb(0 0 0 / 35%) 3px 4px
1379
+ );
1380
+ content: "";
1381
+ inset: 0;
1382
+ pointer-events: none;
1383
+ position: absolute;
1384
+ }
1385
+
1386
+ :is(.gs-media-frame, .gs-map)[data-effect~="duotone"] :is(.gs-media-viewport, .gs-map-viewport) {
1387
+ background: var(--gs-blue, #2878ff);
1388
+ }
1389
+
1390
+ :is(.gs-media-frame, .gs-map)[data-effect~="duotone"] img {
1391
+ filter: grayscale(1) contrast(1.35);
1392
+ mix-blend-mode: multiply;
1393
+ }
1394
+
1395
+ :is(.gs-media-frame, .gs-map)[data-effect~="sepia"] img {
1396
+ filter: sepia(0.92) saturate(0.85) contrast(1.12);
1397
+ }
1398
+
1399
+ :is(.gs-media-frame, .gs-map)[data-effect~="invert"] img {
1400
+ filter: invert(1);
1401
+ }
1402
+
1403
+ :is(.gs-media-frame, .gs-map)[data-effect~="noir"] img {
1404
+ filter: grayscale(1) contrast(1.65) brightness(0.86);
1405
+ }
1406
+
1407
+ :is(.gs-media-frame, .gs-map)[data-effect~="xray"] img {
1408
+ filter: grayscale(1) invert(1) contrast(1.5);
1409
+ }
1410
+
1411
+ :is(.gs-media-frame, .gs-map)[data-effect~="chromatic"] img {
1412
+ filter:
1413
+ saturate(1.45)
1414
+ contrast(1.1)
1415
+ drop-shadow(-3px 0 0 rgb(255 0 72 / 65%))
1416
+ drop-shadow(3px 0 0 rgb(0 218 255 / 65%));
1417
+ }
1418
+
1419
+ :is(.gs-media-frame, .gs-map)[data-effect~="blueprint"] :is(.gs-media-viewport, .gs-map-viewport) {
1420
+ background: #063f9b;
1421
+ }
1422
+
1423
+ :is(.gs-media-frame, .gs-map)[data-effect~="blueprint"] img {
1424
+ filter: grayscale(1) contrast(2.2) invert(1);
1425
+ mix-blend-mode: screen;
1426
+ opacity: 0.86;
1427
+ }
1428
+
1429
+ :is(.gs-media-frame, .gs-map)[data-effect~="thermal"] img {
1430
+ filter: saturate(4) contrast(1.5) hue-rotate(155deg);
1431
+ }
1432
+
1433
+ :is(.gs-media-frame, .gs-map)[data-effect~="dream"] img {
1434
+ filter: saturate(1.35) contrast(0.9) brightness(1.12);
1435
+ scale: 1.015;
1436
+ }
1437
+
1438
+ :is(.gs-media-frame, .gs-map)[data-effect~="dream"] :is(.gs-media-viewport, .gs-map-viewport)::before {
1439
+ background:
1440
+ radial-gradient(circle at 28% 20%, rgb(255 180 236 / 44%), transparent 42%),
1441
+ radial-gradient(circle at 78% 72%, rgb(102 226 255 / 40%), transparent 45%);
1442
+ content: "";
1443
+ inset: 0;
1444
+ mix-blend-mode: screen;
1445
+ pointer-events: none;
1446
+ position: absolute;
1447
+ z-index: 1;
1448
+ }
1449
+
1450
+ :is(.gs-media-frame, .gs-map)[data-effect~="grain"] :is(.gs-media-viewport, .gs-map-viewport)::before {
1451
+ background:
1452
+ repeating-radial-gradient(circle at 30% 20%, rgb(0 0 0 / 22%) 0 0.55px, transparent 0.8px 2px);
1453
+ content: "";
1454
+ inset: 0;
1455
+ mix-blend-mode: overlay;
1456
+ opacity: 0.5;
1457
+ pointer-events: none;
1458
+ position: absolute;
1459
+ z-index: 1;
1460
+ }
1461
+
1462
+ :is(.gs-media-frame, .gs-map)[data-effect~="comic"] img {
1463
+ filter: saturate(1.8) contrast(1.45);
1464
+ }
1465
+
1466
+ :is(.gs-media-frame, .gs-map)[data-effect~="comic"] :is(.gs-media-viewport, .gs-map-viewport)::after {
1467
+ background: radial-gradient(circle, rgb(0 0 0 / 35%) 0 0.8px, transparent 1px) 0 0 / 5px 5px;
1468
+ content: "";
1469
+ inset: 0;
1470
+ mix-blend-mode: multiply;
1471
+ pointer-events: none;
1472
+ position: absolute;
1473
+ }
1474
+
1475
+ :is(.gs-media-frame, .gs-map)[data-effect~="crt"] :is(.gs-media-viewport, .gs-map-viewport)::after {
1476
+ background:
1477
+ radial-gradient(ellipse at center, transparent 58%, rgb(0 0 0 / 55%)),
1478
+ repeating-linear-gradient(0deg, rgb(0 0 0 / 22%) 0 1px, transparent 1px 4px);
1479
+ content: "";
1480
+ inset: 0;
1481
+ pointer-events: none;
1482
+ position: absolute;
1483
+ }
1484
+
1485
+ :is(.gs-media-frame, .gs-map)[data-effect~="glitch"] img {
1486
+ filter:
1487
+ contrast(1.35)
1488
+ saturate(1.4)
1489
+ drop-shadow(4px 0 0 rgb(255 0 72 / 55%))
1490
+ drop-shadow(-4px 0 0 rgb(0 226 255 / 55%));
1491
+ }
1492
+
1493
+ :is(.gs-media-frame, .gs-map)[data-effect~="glitch"] :is(.gs-media-viewport, .gs-map-viewport)::after {
1494
+ background:
1495
+ linear-gradient(90deg, transparent 0 12%, rgb(255 255 255 / 25%) 12% 15%, transparent 15% 62%, rgb(0 0 0 / 26%) 62% 65%, transparent 65%),
1496
+ repeating-linear-gradient(0deg, transparent 0 17px, rgb(0 0 0 / 25%) 17px 19px);
1497
+ content: "";
1498
+ inset: 0;
1499
+ mix-blend-mode: hard-light;
1500
+ pointer-events: none;
1501
+ position: absolute;
1502
+ }
1503
+
1504
+ .gs-media-frame[data-frame="polaroid"] {
1505
+ background: #fff;
1506
+ border: 1px solid #bbb;
1507
+ box-shadow: 0 8px 24px rgb(0 0 0 / 24%);
1508
+ padding: 0.6rem 0.6rem 2rem;
1509
+ rotate: var(--gs-media-rotate, -1deg);
1510
+ }
1511
+
1512
+ .gs-media-frame[data-frame="stamp"] {
1513
+ background: #fff;
1514
+ border: 8px dotted currentColor;
1515
+ padding: 3px;
1516
+ }
1517
+
1518
+ .gs-media-frame[data-frame="terminal"] {
1519
+ background: #07170c;
1520
+ border: 3px double #69ff85;
1521
+ color: #69ff85;
1522
+ padding: 4px;
1523
+ }
1524
+
1525
+ .gs-media-frame[zoomable] {
1526
+ cursor: zoom-in;
1527
+ }
1528
+
1529
+ .gs-media-frame[expanded] {
1530
+ background: rgb(0 0 0 / 78%);
1531
+ cursor: zoom-out;
1532
+ display: grid;
1533
+ inset: 0;
1534
+ padding: clamp(1rem, 5vw, 4rem);
1535
+ place-items: center;
1536
+ position: fixed;
1537
+ z-index: 1000;
1538
+ }
1539
+
1540
+ .gs-media-frame[expanded] figure {
1541
+ max-height: 100%;
1542
+ max-width: min(70rem, 100%);
1543
+ overflow: auto;
1544
+ }
1545
+
1546
+ .gs-map {
1547
+ min-width: 0;
1548
+ }
1549
+
1550
+ .gs-map-viewport {
1551
+ min-height: var(--gs-map-height, 14rem);
1552
+ overflow: hidden;
1553
+ position: relative;
1554
+ }
1555
+
1556
+ .gs-map-viewport > :is(img, svg) {
1557
+ display: block;
1558
+ height: 100%;
1559
+ object-fit: var(--gs-map-fit, contain);
1560
+ object-position: var(--gs-map-position, center);
1561
+ width: 100%;
1562
+ }
1563
+
1564
+ .gs-map-marker {
1565
+ position: absolute;
1566
+ translate: -50% -50%;
1567
+ z-index: 2;
1568
+ }
1569
+
1570
+ .gs-carousel {
1571
+ min-width: 0;
1572
+ }
1573
+
1574
+ .gs-carousel-track {
1575
+ min-height: var(--gs-carousel-height, 12rem);
1576
+ }
1577
+
1578
+ .gs-carousel-slide {
1579
+ height: 100%;
1580
+ }
1581
+
1582
+ .gs-carousel-slide[hidden] {
1583
+ display: none !important;
1584
+ }
1585
+
1586
+ .gs-carousel-controls {
1587
+ align-items: center;
1588
+ display: flex;
1589
+ justify-content: space-between;
1590
+ }
1591
+
1592
+ .gs-commandbar {
1593
+ align-items: center;
1594
+ display: flex;
1595
+ flex-wrap: wrap;
1596
+ gap: 0.35rem;
1597
+ min-width: 0;
1598
+ }
1599
+
1600
+ .gs-dock {
1601
+ align-items: center;
1602
+ display: flex;
1603
+ gap: 0.4rem;
1604
+ justify-content: center;
1605
+ max-width: calc(100% - 2rem);
1606
+ position: absolute;
1607
+ z-index: 80;
1608
+ }
1609
+
1610
+ .gs-dock[data-position="bottom"] {
1611
+ bottom: 0.75rem;
1612
+ left: 50%;
1613
+ translate: -50% 0;
1614
+ }
1615
+
1616
+ .gs-dock[data-position="top"] {
1617
+ left: 50%;
1618
+ top: 2.75rem;
1619
+ translate: -50% 0;
1620
+ }
1621
+
1622
+ .gs-dock[data-position="left"],
1623
+ .gs-dock[data-position="right"] {
1624
+ flex-direction: column;
1625
+ top: 50%;
1626
+ translate: 0 -50%;
1627
+ }
1628
+
1629
+ .gs-dock[data-position="left"] {
1630
+ left: 0.75rem;
1631
+ }
1632
+
1633
+ .gs-dock[data-position="right"] {
1634
+ right: 0.75rem;
1635
+ }
1636
+
1637
+ .gs-dock :is(a, button) {
1638
+ align-items: center;
1639
+ display: inline-flex;
1640
+ justify-content: center;
1641
+ min-height: 2rem;
1642
+ min-width: 2rem;
1643
+ }
1644
+
1645
+ .gs-menu {
1646
+ display: inline-block;
1647
+ position: relative;
1648
+ }
1649
+
1650
+ .gs-menu-trigger {
1651
+ cursor: pointer;
1652
+ }
1653
+
1654
+ .gs-menu-panel,
1655
+ .gs-menu-list {
1656
+ display: grid;
1657
+ min-width: 10rem;
1658
+ }
1659
+
1660
+ .gs-menu-panel {
1661
+ left: 0;
1662
+ position: absolute;
1663
+ top: 100%;
1664
+ z-index: 120;
1665
+ }
1666
+
1667
+ .gs-menu-panel[hidden] {
1668
+ display: none;
1669
+ }
1670
+
1671
+ .gs-menu-panel :is(a, button),
1672
+ .gs-menu-list > :is(a, button) {
1673
+ display: block;
1674
+ text-align: left;
1675
+ text-decoration: none;
1676
+ white-space: nowrap;
1677
+ width: 100%;
1678
+ }
1679
+
1680
+ .gs-breadcrumb {
1681
+ align-items: center;
1682
+ display: flex;
1683
+ flex-wrap: wrap;
1684
+ gap: 0.35rem;
1685
+ }
1686
+
1687
+ .gs-breadcrumb > :not(:last-child)::after {
1688
+ content: var(--gs-breadcrumb-separator, "›");
1689
+ margin-inline-start: 0.35rem;
1690
+ }
1691
+
1692
+ .gs-tree,
1693
+ .gs-tree ul {
1694
+ list-style: none;
1695
+ margin: 0;
1696
+ padding: 0;
1697
+ }
1698
+
1699
+ .gs-tree ul {
1700
+ margin-inline-start: 1rem;
1701
+ }
1702
+
1703
+ .gs-tree li {
1704
+ position: relative;
1705
+ }
1706
+
1707
+ .gs-tree li::before {
1708
+ content: "├─";
1709
+ margin-inline-end: 0.35rem;
1710
+ }
1711
+
1712
+ .gs-tree li:last-child::before {
1713
+ content: "└─";
1714
+ }
1715
+
1716
+ .gs-separator {
1717
+ background: currentColor;
1718
+ height: 1px;
1719
+ margin: 0.4rem 0;
1720
+ opacity: 0.65;
1721
+ width: 100%;
1722
+ }
1723
+
1724
+ .gs-separator[data-orientation="vertical"] {
1725
+ align-self: stretch;
1726
+ height: auto;
1727
+ margin: 0 0.4rem;
1728
+ min-height: 1.5rem;
1729
+ width: 1px;
1730
+ }
1731
+
1732
+ .gs-tooltip {
1733
+ display: inline-block;
1734
+ position: relative;
1735
+ }
1736
+
1737
+ .gs-tooltip-content {
1738
+ bottom: calc(100% + 0.35rem);
1739
+ left: 50%;
1740
+ opacity: 0;
1741
+ pointer-events: none;
1742
+ position: absolute;
1743
+ translate: -50% 0.25rem;
1744
+ transition: opacity 120ms ease, translate 120ms ease;
1745
+ visibility: hidden;
1746
+ white-space: nowrap;
1747
+ z-index: 160;
1748
+ }
1749
+
1750
+ .gs-tooltip:is(:hover, :focus-within) .gs-tooltip-content {
1751
+ opacity: 1;
1752
+ translate: -50% 0;
1753
+ visibility: visible;
1754
+ }
1755
+
1756
+ .gs-toast {
1757
+ max-width: min(22rem, calc(100vw - 2rem));
1758
+ position: fixed;
1759
+ z-index: 200;
1760
+ }
1761
+
1762
+ .gs-toast[data-position="bottom-right"] {
1763
+ bottom: 1rem;
1764
+ right: 1rem;
1765
+ }
1766
+
1767
+ .gs-toast[data-position="bottom-left"] {
1768
+ bottom: 1rem;
1769
+ left: 1rem;
1770
+ }
1771
+
1772
+ .gs-toast[data-position="top-right"] {
1773
+ right: 1rem;
1774
+ top: 1rem;
1775
+ }
1776
+
1777
+ .gs-toast[data-position="top-left"] {
1778
+ left: 1rem;
1779
+ top: 1rem;
1780
+ }
1781
+
1782
+ [data-gs-style="old-tech"] :is(
1783
+ .gs-commandbar,
1784
+ .gs-dock,
1785
+ .gs-menu-panel,
1786
+ .gs-menu-list,
1787
+ .gs-tooltip-content
1788
+ ) {
1789
+ background: var(--gs-paper, #f6eddd);
1790
+ border: 3px solid var(--gs-line, #292b27);
1791
+ box-shadow: 4px 4px 0 var(--gs-line, #292b27);
1792
+ color: var(--gs-ink, #292b27);
1793
+ padding: 0.35rem;
1794
+ }
1795
+
1796
+ [data-gs-style="old-tech"] .gs-menu-panel :is(a, button),
1797
+ [data-gs-style="old-tech"] .gs-menu-list > :is(a, button) {
1798
+ background: transparent;
1799
+ border: 0;
1800
+ color: inherit;
1801
+ font: inherit;
1802
+ padding: 0.45rem 0.65rem;
1803
+ }
1804
+
1805
+ [data-gs-style="old-tech"] .gs-menu-panel :is(a, button):is(:hover, :focus-visible),
1806
+ [data-gs-style="old-tech"] .gs-menu-list > :is(a, button):is(:hover, :focus-visible) {
1807
+ background: var(--gs-ink, #292b27);
1808
+ color: var(--gs-paper, #f6eddd);
1809
+ }
1810
+
1811
+ [data-gs-style="classic-os"] :is(
1812
+ .gs-commandbar,
1813
+ .gs-dock,
1814
+ .gs-menu-panel,
1815
+ .gs-menu-list,
1816
+ .gs-tooltip-content
1817
+ ) {
1818
+ background: #fff;
1819
+ border: 1px solid #000;
1820
+ box-shadow: 2px 2px 0 #000;
1821
+ color: #000;
1822
+ padding: 3px;
1823
+ }
1824
+
1825
+ [data-gs-style="classic-os"] .gs-menu-panel :is(a, button),
1826
+ [data-gs-style="classic-os"] .gs-menu-list > :is(a, button) {
1827
+ background: #fff;
1828
+ border: 0;
1829
+ color: #000;
1830
+ font: inherit;
1831
+ padding: 3px 8px;
1832
+ }
1833
+
1834
+ [data-gs-style="classic-os"] .gs-menu-panel :is(a, button):is(:hover, :focus-visible),
1835
+ [data-gs-style="classic-os"] .gs-menu-list > :is(a, button):is(:hover, :focus-visible) {
1836
+ background: #000;
1837
+ color: #fff;
1838
+ }
1839
+
1840
+ [data-gs-style="classic-os"] .gs-tooltip-content {
1841
+ font-size: 10px;
1842
+ }
1843
+
1844
+ [data-gs-style="classic-os"] .gs-dock :is(a, button) {
1845
+ background: #fff;
1846
+ border: 1px solid #000;
1847
+ color: #000;
1848
+ font: inherit;
1849
+ text-decoration: none;
1850
+ }
1851
+
1852
+ [data-gs-style="old-tech"] .gs-dock :is(a, button) {
1853
+ background: var(--gs-paper, #f6eddd);
1854
+ border: 2px solid var(--gs-line, #292b27);
1855
+ color: var(--gs-ink, #292b27);
1856
+ font: inherit;
1857
+ text-decoration: none;
1858
+ }
1859
+
1860
+ [data-gs-style].gs-desktop {
1861
+ --gs-desktop-color: var(--gs-paper, #fff);
1862
+ --gs-pattern-color: var(--gs-line, #000);
1863
+ --gs-pattern-size: 6px;
1864
+ }
1865
+
1866
+ [data-gs-style].gs-desktop[data-pattern="solid"] {
1867
+ background: var(--gs-desktop-color);
1868
+ }
1869
+
1870
+ [data-gs-style].gs-desktop[data-pattern="checker"] {
1871
+ background:
1872
+ linear-gradient(
1873
+ 45deg,
1874
+ var(--gs-pattern-color) 25%,
1875
+ transparent 25% 75%,
1876
+ var(--gs-pattern-color) 75%
1877
+ ) 0 0 / var(--gs-pattern-size) var(--gs-pattern-size),
1878
+ linear-gradient(
1879
+ 45deg,
1880
+ var(--gs-pattern-color) 25%,
1881
+ var(--gs-desktop-color) 25% 75%,
1882
+ var(--gs-pattern-color) 75%
1883
+ ) calc(var(--gs-pattern-size) / 2) calc(var(--gs-pattern-size) / 2) /
1884
+ var(--gs-pattern-size) var(--gs-pattern-size);
1885
+ }
1886
+
1887
+ [data-gs-style].gs-desktop[data-pattern="dots"] {
1888
+ background:
1889
+ radial-gradient(
1890
+ circle,
1891
+ var(--gs-pattern-color) 0 1px,
1892
+ transparent 1.2px
1893
+ ) 0 0 / var(--gs-pattern-size) var(--gs-pattern-size),
1894
+ var(--gs-desktop-color);
1895
+ }
1896
+
1897
+ [data-gs-style].gs-desktop[data-pattern="grid"] {
1898
+ background:
1899
+ linear-gradient(var(--gs-pattern-color) 1px, transparent 1px) 0 0 /
1900
+ var(--gs-pattern-size) var(--gs-pattern-size),
1901
+ linear-gradient(90deg, var(--gs-pattern-color) 1px, transparent 1px) 0 0 /
1902
+ var(--gs-pattern-size) var(--gs-pattern-size),
1903
+ var(--gs-desktop-color);
1904
+ }
1905
+
1906
+ [data-gs-style].gs-desktop[data-pattern="stripes"] {
1907
+ background:
1908
+ repeating-linear-gradient(
1909
+ 135deg,
1910
+ var(--gs-desktop-color) 0 calc(var(--gs-pattern-size) / 2),
1911
+ var(--gs-pattern-color) calc(var(--gs-pattern-size) / 2)
1912
+ var(--gs-pattern-size)
1913
+ );
1914
+ }
1915
+
1916
+ [data-gs-style].gs-desktop[data-pattern="noise"] {
1917
+ background:
1918
+ radial-gradient(circle at 20% 20%, var(--gs-pattern-color) 0 1px, transparent 1px),
1919
+ radial-gradient(circle at 75% 35%, var(--gs-pattern-color) 0 1px, transparent 1px),
1920
+ radial-gradient(circle at 45% 80%, var(--gs-pattern-color) 0 1px, transparent 1px),
1921
+ var(--gs-desktop-color);
1922
+ background-size:
1923
+ var(--gs-pattern-size) var(--gs-pattern-size),
1924
+ calc(var(--gs-pattern-size) * 1.5) calc(var(--gs-pattern-size) * 1.5),
1925
+ calc(var(--gs-pattern-size) * 2) calc(var(--gs-pattern-size) * 2),
1926
+ auto;
1927
+ }
1928
+
1929
+ [data-gs-style].gs-desktop[data-pattern="crosshatch"] {
1930
+ background:
1931
+ repeating-linear-gradient(
1932
+ 45deg,
1933
+ transparent 0 calc(var(--gs-pattern-size) - 1px),
1934
+ var(--gs-pattern-color) calc(var(--gs-pattern-size) - 1px)
1935
+ var(--gs-pattern-size)
1936
+ ),
1937
+ repeating-linear-gradient(
1938
+ -45deg,
1939
+ transparent 0 calc(var(--gs-pattern-size) - 1px),
1940
+ var(--gs-pattern-color) calc(var(--gs-pattern-size) - 1px)
1941
+ var(--gs-pattern-size)
1942
+ ),
1943
+ var(--gs-desktop-color);
1944
+ }
1945
+
1946
+ [data-gs-style="old-tech"] .gs-desktop {
1947
+ background:
1948
+ radial-gradient(circle, rgb(41 43 39 / 22%) 0 0.7px, transparent 0.9px) 0 0 / 4px 4px,
1949
+ var(--gs-paper);
1950
+ border: 3px solid var(--gs-line);
1951
+ color: var(--gs-ink);
1952
+ font-family: var(--gessi-mono);
1953
+ }
1954
+
1955
+ [data-gs-style="old-tech"] .gs-menubar {
1956
+ background: var(--gs-paper);
1957
+ border-bottom: 3px solid var(--gs-line);
1958
+ box-shadow: 0 2px 0 rgb(255 255 255 / 75%) inset;
1959
+ font-size: 0.78rem;
1960
+ font-weight: 900;
1961
+ }
1962
+
1963
+ [data-gs-style="old-tech"] .gs-desktop-icon {
1964
+ font-size: 0.72rem;
1965
+ font-weight: 800;
1966
+ text-shadow: 1px 1px 0 var(--gs-paper);
1967
+ }
1968
+
1969
+ [data-gs-style="old-tech"] .gs-icon {
1970
+ background: var(--gs-paper);
1971
+ border: 2px solid var(--gs-line);
1972
+ box-shadow: 3px 3px 0 var(--gs-line);
1973
+ font-family: var(--gessi-mono);
1974
+ image-rendering: pixelated;
1975
+ }
1976
+
1977
+ [data-gs-style="old-tech"] .gs-window {
1978
+ background: var(--gs-paper);
1979
+ border: 3px solid var(--gs-line);
1980
+ box-shadow: var(--gs-shadow);
1981
+ color: var(--gs-ink);
1982
+ }
1983
+
1984
+ [data-gs-style="old-tech"] .gs-window-titlebar {
1985
+ background:
1986
+ repeating-linear-gradient(
1987
+ 0deg,
1988
+ transparent 0 2px,
1989
+ var(--gs-line) 2px 3px
1990
+ ),
1991
+ var(--gs-paper);
1992
+ border-bottom: 3px solid var(--gs-line);
1993
+ min-height: 2rem;
1994
+ padding: 0.25rem;
1995
+ }
1996
+
1997
+ gessi-window[draggable] .gs-window-titlebar {
1998
+ cursor: move;
1999
+ touch-action: none;
2000
+ }
2001
+
2002
+ [data-gs-style="old-tech"] .gs-window-title {
2003
+ background: var(--gs-paper);
2004
+ font-size: 0.82rem;
2005
+ font-weight: 900;
2006
+ justify-self: center;
2007
+ line-height: 1.2;
2008
+ }
2009
+
2010
+ [data-gs-style="old-tech"] .gs-window-controls {
2011
+ background: var(--gs-paper);
2012
+ }
2013
+
2014
+ [data-gs-style="old-tech"] .gs-window-control {
2015
+ border: 2px solid var(--gs-line);
2016
+ font-size: 0.78rem;
2017
+ font-weight: 900;
2018
+ height: 1.3rem;
2019
+ margin: 0.1rem;
2020
+ width: 1.3rem;
2021
+ }
2022
+
2023
+ [data-gs-style="old-tech"] .gs-window-control:hover {
2024
+ background: var(--gs-line);
2025
+ color: var(--gs-paper);
2026
+ }
2027
+
2028
+ [data-gs-style="old-tech"] .gs-window-toolbar {
2029
+ background: #e4dfd3;
2030
+ border-bottom: 2px solid var(--gs-line);
2031
+ box-shadow: inset 0 1px 0 #fff;
2032
+ }
2033
+
2034
+ [data-gs-style="old-tech"] .gs-window-toolbar .gs-btn {
2035
+ box-shadow: 2px 2px 0 var(--gs-line);
2036
+ font-size: 0.7rem;
2037
+ min-height: 1.8rem;
2038
+ padding: 0.35rem 0.5rem;
2039
+ }
2040
+
2041
+ [data-gs-style="old-tech"] .gs-window-toolbar :is(button, a) {
2042
+ background: var(--gs-paper);
2043
+ border: 2px solid var(--gs-line);
2044
+ box-shadow: 2px 2px 0 var(--gs-line);
2045
+ color: var(--gs-ink);
2046
+ cursor: pointer;
2047
+ font: inherit;
2048
+ font-size: 0.7rem;
2049
+ font-weight: 900;
2050
+ min-height: 1.8rem;
2051
+ padding: 0.35rem 0.5rem;
2052
+ text-decoration: none;
2053
+ text-transform: uppercase;
2054
+ }
2055
+
2056
+ [data-gs-style="old-tech"] .gs-window-toolbar :is(button, a):active {
2057
+ box-shadow: none;
2058
+ translate: 2px 2px;
2059
+ }
2060
+
2061
+ [data-gs-style="old-tech"] .gs-window-body {
2062
+ background:
2063
+ radial-gradient(circle, rgb(41 43 39 / 8%) 0 0.6px, transparent 0.8px) 0 0 / 4px 4px,
2064
+ #fffdf5;
2065
+ }
2066
+
2067
+ [data-gs-style="old-tech"] .gs-window-sidebar {
2068
+ background: #e4dfd3;
2069
+ border-right: 2px solid var(--gs-line);
2070
+ font-size: 0.74rem;
2071
+ }
2072
+
2073
+ [data-gs-style="old-tech"] .gs-window-sidebar :is(a, button) {
2074
+ background: transparent;
2075
+ border: 0;
2076
+ font: inherit;
2077
+ font-weight: 800;
2078
+ padding: 0.45rem;
2079
+ text-align: left;
2080
+ }
2081
+
2082
+ [data-gs-style="old-tech"] .gs-window-sidebar :is(a, button):hover,
2083
+ [data-gs-style="old-tech"] .gs-window-sidebar .gs-active {
2084
+ background: var(--gs-line);
2085
+ color: var(--gs-paper);
2086
+ }
2087
+
2088
+ [data-gs-style="old-tech"] .gs-statusbar {
2089
+ background: #e4dfd3;
2090
+ border-top: 2px solid var(--gs-line);
2091
+ font-size: 0.66rem;
2092
+ font-weight: 800;
2093
+ }
2094
+
2095
+ [data-gs-style="old-tech"] .gs-fieldset {
2096
+ border: 2px solid var(--gs-line);
2097
+ }
2098
+
2099
+ [data-gs-style="old-tech"] .gs-fieldset legend {
2100
+ background: #fffdf5;
2101
+ font-size: 0.72rem;
2102
+ font-weight: 900;
2103
+ }
2104
+
2105
+ [data-gs-style="old-tech"] .gs-progress {
2106
+ background:
2107
+ repeating-linear-gradient(90deg, transparent 0 7px, var(--gs-line) 7px 9px),
2108
+ var(--gs-paper);
2109
+ border: 2px solid var(--gs-line);
2110
+ }
2111
+
2112
+ [data-gs-style="old-tech"] .gs-progress > span {
2113
+ background: var(--gs-line);
2114
+ }
2115
+
2116
+ [data-gs-style="old-tech"] .gs-scrollbar {
2117
+ background: #e4dfd3;
2118
+ border-left: 2px solid var(--gs-line);
2119
+ }
2120
+
2121
+ [data-gs-style="old-tech"] .gs-scrollbar::before,
2122
+ [data-gs-style="old-tech"] .gs-scrollbar::after {
2123
+ align-items: center;
2124
+ content: "▲";
2125
+ display: flex;
2126
+ font-size: 0.55rem;
2127
+ height: 1.15rem;
2128
+ justify-content: center;
2129
+ width: 100%;
2130
+ }
2131
+
2132
+ [data-gs-style="old-tech"] .gs-scrollbar::after {
2133
+ border-top: 2px solid var(--gs-line);
2134
+ content: "▼";
2135
+ }
2136
+
2137
+ [data-gs-style="old-tech"] .gs-scrollbar::before {
2138
+ border-bottom: 2px solid var(--gs-line);
2139
+ }
2140
+
2141
+ [data-gs-style="old-tech"] .gs-scrollbar-track {
2142
+ background:
2143
+ repeating-linear-gradient(135deg, transparent 0 2px, rgb(41 43 39 / 28%) 2px 3px),
2144
+ var(--gs-paper);
2145
+ }
2146
+
2147
+ [data-gs-style="old-tech"] .gs-scrollbar-thumb {
2148
+ background: #e4dfd3;
2149
+ border-block: 2px solid var(--gs-line);
2150
+ }
2151
+
2152
+ [data-gs-style="old-tech"] .gs-dialog {
2153
+ box-shadow: 10px 10px 0 var(--gs-line);
2154
+ }
2155
+
2156
+ [data-gs-style="old-tech"] .gs-dialog .gs-window-content {
2157
+ background: var(--gs-paper);
2158
+ }
2159
+
2160
+ [data-gs-style="old-tech"] gessi-dialog .gs-window-content button {
2161
+ background: var(--gs-paper);
2162
+ border: 2px solid var(--gs-line);
2163
+ box-shadow: 3px 3px 0 var(--gs-line);
2164
+ color: var(--gs-ink);
2165
+ cursor: pointer;
2166
+ font: inherit;
2167
+ font-size: 0.75rem;
2168
+ font-weight: 900;
2169
+ margin: 0.5rem 0.5rem 0 0;
2170
+ padding: 0.45rem 0.75rem;
2171
+ text-transform: uppercase;
2172
+ }
2173
+
2174
+ [data-gs-style="old-tech"] gessi-dialog .gs-window-content button:active {
2175
+ box-shadow: none;
2176
+ translate: 3px 3px;
2177
+ }
2178
+
2179
+ [data-gs-style="old-tech"] .gs-window:is(.gs-active, [active]) {
2180
+ --gs-shadow: 9px 9px 0 var(--gs-line);
2181
+ }
2182
+
2183
+ [data-gs-style="old-tech"] .gs-window:not(.gs-active):not([active]) {
2184
+ filter: saturate(0.25);
2185
+ }
2186
+
2187
+ [data-gs-style="old-tech"] .gs-window:not(.gs-active):not([active]) .gs-window-titlebar {
2188
+ background:
2189
+ repeating-linear-gradient(
2190
+ 0deg,
2191
+ transparent 0 4px,
2192
+ rgb(41 43 39 / 42%) 4px 5px
2193
+ ),
2194
+ var(--gs-paper);
2195
+ }
2196
+
2197
+ [data-gs-style="old-tech"] .gs-listbox {
2198
+ border: 2px solid var(--gs-line);
2199
+ }
2200
+
2201
+ [data-gs-style="old-tech"] .gs-listbox > :is(a, button, label) {
2202
+ background: var(--gs-paper);
2203
+ border: 0;
2204
+ color: var(--gs-ink);
2205
+ font: inherit;
2206
+ padding: 0.55rem;
2207
+ text-align: left;
2208
+ text-decoration: none;
2209
+ }
2210
+
2211
+ [data-gs-style="old-tech"] .gs-listbox > :is(a, button, label):hover,
2212
+ [data-gs-style="old-tech"] .gs-listbox > [selected] {
2213
+ background: var(--gs-ink);
2214
+ color: var(--gs-paper);
2215
+ }
2216
+
2217
+ [data-gs-style="old-tech"] .gs-alert {
2218
+ background: var(--gs-sun);
2219
+ border: 3px solid var(--gs-line);
2220
+ box-shadow: var(--gs-shadow-sm);
2221
+ padding: 1rem;
2222
+ }
2223
+
2224
+ [data-gs-style="old-tech"] .gs-media-frame,
2225
+ [data-gs-style="old-tech"] .gs-map,
2226
+ [data-gs-style="old-tech"] .gs-carousel {
2227
+ background: var(--gs-paper);
2228
+ border: 3px solid var(--gs-line);
2229
+ box-shadow: var(--gs-shadow-sm);
2230
+ color: var(--gs-ink);
2231
+ overflow: hidden;
2232
+ }
2233
+
2234
+ [data-gs-style="old-tech"] :is(.gs-media-frame figcaption, .gs-map-caption) {
2235
+ border-top: 3px solid var(--gs-line);
2236
+ font-family: var(--gessi-mono);
2237
+ font-weight: 800;
2238
+ padding: 0.65rem;
2239
+ }
2240
+
2241
+ [data-gs-style="old-tech"] .gs-map-viewport {
2242
+ background:
2243
+ linear-gradient(var(--gs-line) 1px, transparent 1px) 0 0 / 18px 18px,
2244
+ linear-gradient(90deg, var(--gs-line) 1px, transparent 1px) 0 0 / 18px 18px,
2245
+ var(--gs-mint);
2246
+ }
2247
+
2248
+ [data-gs-style="old-tech"] .gs-map-marker {
2249
+ background: var(--gs-tomato);
2250
+ border: 2px solid var(--gs-line);
2251
+ box-shadow: 2px 2px 0 var(--gs-line);
2252
+ padding: 0.25rem;
2253
+ }
2254
+
2255
+ [data-gs-style="old-tech"] .gs-carousel-controls {
2256
+ border-top: 3px solid var(--gs-line);
2257
+ padding: 0.45rem;
2258
+ }
2259
+
2260
+ [data-gs-style="old-tech"] .gs-carousel-controls button {
2261
+ background: var(--gs-sun);
2262
+ border: 2px solid var(--gs-line);
2263
+ box-shadow: 2px 2px 0 var(--gs-line);
2264
+ color: var(--gs-ink);
2265
+ font: inherit;
2266
+ min-height: 2rem;
2267
+ }
2268
+
2269
+ [data-gs-style="classic-os"] {
2270
+ --gs-ink: #000;
2271
+ --gs-paper: #fff;
2272
+ --gs-line: #000;
2273
+ --gs-shadow: 3px 3px 0 #000;
2274
+ --gs-shadow-sm: 2px 2px 0 #000;
2275
+ color: #000;
2276
+ font-family: "Departure Mono", "Courier New", monospace;
2277
+ font-size: 12px;
2278
+ font-synthesis: none;
2279
+ image-rendering: pixelated;
2280
+ line-height: 1.18;
2281
+ }
2282
+
2283
+ [data-gs-style="classic-os"] .gs-desktop {
2284
+ background:
2285
+ linear-gradient(45deg, #000 25%, transparent 25%, transparent 75%, #000 75%) 0 0 / 4px 4px,
2286
+ linear-gradient(45deg, #000 25%, #fff 25%, #fff 75%, #000 75%) 2px 2px / 4px 4px;
2287
+ border: 0;
2288
+ color: #000;
2289
+ min-height: var(--gs-desktop-height, 32rem);
2290
+ }
2291
+
2292
+ [data-gs-style="classic-os"] .gs-menubar {
2293
+ background: #fff;
2294
+ border: 0;
2295
+ border-bottom: 1px solid #000;
2296
+ box-shadow: none;
2297
+ color: #000;
2298
+ font-family: inherit;
2299
+ font-size: 12px;
2300
+ font-weight: 400;
2301
+ gap: 0;
2302
+ min-height: 25px;
2303
+ padding: 3px 8px;
2304
+ }
2305
+
2306
+ [data-gs-style="classic-os"] .gs-menubar :is(a, button, span, strong) {
2307
+ background: transparent;
2308
+ border: 0;
2309
+ color: inherit;
2310
+ font: inherit;
2311
+ font-weight: 400;
2312
+ padding: 2px 8px;
2313
+ text-decoration: none;
2314
+ white-space: nowrap;
2315
+ }
2316
+
2317
+ [data-gs-style="classic-os"] .gs-menubar :is(a, button):hover,
2318
+ [data-gs-style="classic-os"] .gs-menubar :is(a, button):focus-visible {
2319
+ background: #000;
2320
+ color: #fff;
2321
+ outline: 0;
2322
+ }
2323
+
2324
+ [data-gs-style="classic-os"] .gs-menubar strong {
2325
+ font-weight: 400;
2326
+ margin-right: 0;
2327
+ }
2328
+
2329
+ [data-gs-style="classic-os"] .gs-desktop-icons {
2330
+ gap: 13px;
2331
+ top: 40px;
2332
+ }
2333
+
2334
+ [data-gs-style="classic-os"] .gs-desktop-icon {
2335
+ color: #fff;
2336
+ font-family: inherit;
2337
+ font-size: 11px;
2338
+ font-weight: 400;
2339
+ max-width: 66px;
2340
+ text-shadow: 1px 1px #000;
2341
+ }
2342
+
2343
+ [data-gs-style="classic-os"] .gs-icon-action {
2344
+ color: inherit;
2345
+ gap: 2px;
2346
+ }
2347
+
2348
+ [data-gs-style="classic-os"] [data-interactive] .gs-icon-action:hover > :last-child,
2349
+ [data-gs-style="classic-os"] [data-interactive] .gs-icon-action:focus-visible > :last-child {
2350
+ background: #fff;
2351
+ color: #000;
2352
+ outline: 1px dotted #000;
2353
+ text-shadow: none;
2354
+ }
2355
+
2356
+ [data-gs-style="classic-os"] .gs-icon {
2357
+ background: #fff;
2358
+ border: 1px solid #000;
2359
+ box-shadow: none;
2360
+ color: #000;
2361
+ font-family: inherit;
2362
+ font-size: 18px;
2363
+ height: 32px;
2364
+ width: 32px;
2365
+ }
2366
+
2367
+ [data-gs-style="classic-os"] .gs-icon-grid {
2368
+ gap: 14px;
2369
+ grid-template-columns: repeat(auto-fit, minmax(58px, 1fr));
2370
+ }
2371
+
2372
+ [data-gs-style="classic-os"] .gs-icon-grid .gs-desktop-icon {
2373
+ color: #000;
2374
+ text-shadow: none;
2375
+ }
2376
+
2377
+ [data-gs-style="classic-os"] .gs-window {
2378
+ background: #fff;
2379
+ border: 1px solid #000;
2380
+ box-shadow: 3px 3px 0 #000;
2381
+ color: #000;
2382
+ }
2383
+
2384
+ [data-gs-style="classic-os"] .gs-window-titlebar {
2385
+ background:
2386
+ repeating-linear-gradient(
2387
+ 0deg,
2388
+ #fff 0 1px,
2389
+ #000 1px 2px,
2390
+ #fff 2px 3px
2391
+ );
2392
+ border-bottom: 1px solid #000;
2393
+ min-height: 19px;
2394
+ padding: 2px;
2395
+ }
2396
+
2397
+ [data-gs-style="classic-os"] .gs-window-title {
2398
+ background: #fff;
2399
+ font-family: inherit;
2400
+ font-size: 12px;
2401
+ font-weight: 400;
2402
+ letter-spacing: 0;
2403
+ line-height: 1;
2404
+ padding: 1px 8px;
2405
+ }
2406
+
2407
+ [data-gs-style="classic-os"] .gs-window-controls {
2408
+ background: #fff;
2409
+ }
2410
+
2411
+ [data-gs-style="classic-os"] .gs-window-control {
2412
+ background: #fff;
2413
+ border: 1px solid #000;
2414
+ border-radius: 0;
2415
+ box-shadow: inset 1px 1px #fff;
2416
+ color: #000;
2417
+ font-size: 10px;
2418
+ height: 13px;
2419
+ margin: 0;
2420
+ width: 13px;
2421
+ }
2422
+
2423
+ [data-gs-style="classic-os"] .gs-window-control:hover {
2424
+ background: #000;
2425
+ color: #fff;
2426
+ }
2427
+
2428
+ [data-gs-style="classic-os"] .gs-window-toolbar {
2429
+ background: #fff;
2430
+ border-bottom: 1px solid #000;
2431
+ box-shadow: none;
2432
+ min-height: 24px;
2433
+ padding: 3px;
2434
+ }
2435
+
2436
+ [data-gs-style="classic-os"] .gs-window-toolbar :is(button, a),
2437
+ [data-gs-style="classic-os"] .gs-control-panel button,
2438
+ [data-gs-style="classic-os"] gessi-dialog .gs-window-content button {
2439
+ background: #fff;
2440
+ border: 1px solid #000;
2441
+ border-radius: 0;
2442
+ box-shadow:
2443
+ inset 1px 1px #fff,
2444
+ inset -1px -1px #000;
2445
+ color: #000;
2446
+ font: inherit;
2447
+ font-size: 11px;
2448
+ font-weight: 400;
2449
+ min-height: 19px;
2450
+ padding: 2px 7px;
2451
+ text-transform: none;
2452
+ }
2453
+
2454
+ [data-gs-style="classic-os"] .gs-window-toolbar :is(button, a):active,
2455
+ [data-gs-style="classic-os"] .gs-control-panel button:active,
2456
+ [data-gs-style="classic-os"] gessi-dialog .gs-window-content button:active {
2457
+ background: #000;
2458
+ box-shadow: none;
2459
+ color: #fff;
2460
+ translate: 0;
2461
+ }
2462
+
2463
+ [data-gs-style="classic-os"] .gs-window-body {
2464
+ background: #fff;
2465
+ overflow: auto;
2466
+ }
2467
+
2468
+ [data-gs-style="classic-os"] .gs-window-content {
2469
+ padding: var(--gs-window-pad, 8px);
2470
+ }
2471
+
2472
+ [data-gs-style="classic-os"] .gs-window-sidebar {
2473
+ background: #fff;
2474
+ border-right: 1px solid #000;
2475
+ font-size: 11px;
2476
+ padding: 5px;
2477
+ }
2478
+
2479
+ [data-gs-style="classic-os"] .gs-window-sidebar :is(a, button) {
2480
+ background: #fff;
2481
+ border: 0;
2482
+ color: #000;
2483
+ font: inherit;
2484
+ padding: 4px;
2485
+ }
2486
+
2487
+ [data-gs-style="classic-os"] .gs-window-sidebar :is(a, button):hover,
2488
+ [data-gs-style="classic-os"] .gs-window-sidebar .gs-active {
2489
+ background: #000;
2490
+ color: #fff;
2491
+ }
2492
+
2493
+ [data-gs-style="classic-os"] .gs-statusbar {
2494
+ background: #fff;
2495
+ border-top: 1px solid #000;
2496
+ font-family: inherit;
2497
+ font-size: 10px;
2498
+ font-weight: 400;
2499
+ min-height: 17px;
2500
+ padding: 2px 4px;
2501
+ }
2502
+
2503
+ [data-gs-style="classic-os"] .gs-tabs {
2504
+ border-bottom: 1px solid #000;
2505
+ gap: 0;
2506
+ }
2507
+
2508
+ [data-gs-style="classic-os"] .gs-tabs > :is(a, button) {
2509
+ background: #fff;
2510
+ border: 1px solid #000;
2511
+ border-bottom: 0;
2512
+ color: #000;
2513
+ font: inherit;
2514
+ margin: 0 -1px 0 0;
2515
+ padding: 3px 7px;
2516
+ text-decoration: none;
2517
+ }
2518
+
2519
+ [data-gs-style="classic-os"] .gs-tabs > [active] {
2520
+ background: #000;
2521
+ color: #fff;
2522
+ }
2523
+
2524
+ [data-gs-style="classic-os"] .gs-control-panel {
2525
+ border: 1px solid #000;
2526
+ padding: 9px 7px 7px;
2527
+ }
2528
+
2529
+ [data-gs-style="classic-os"] .gs-control-panel-title {
2530
+ background: #fff;
2531
+ display: inline-block;
2532
+ left: 6px;
2533
+ padding: 0 3px;
2534
+ position: absolute;
2535
+ top: -7px;
2536
+ white-space: nowrap;
2537
+ }
2538
+
2539
+ [data-gs-style="classic-os"] .gs-meter {
2540
+ font-size: 10px;
2541
+ grid-template-columns: 58px 1fr 30px;
2542
+ }
2543
+
2544
+ [data-gs-style="classic-os"] .gs-meter-track {
2545
+ background:
2546
+ repeating-linear-gradient(90deg, #fff 0 3px, #000 3px 4px);
2547
+ border: 1px solid #000;
2548
+ height: 12px;
2549
+ }
2550
+
2551
+ [data-gs-style="classic-os"] .gs-meter-track > span {
2552
+ background: #000;
2553
+ }
2554
+
2555
+ [data-gs-style="classic-os"] .gs-field,
2556
+ [data-gs-style="classic-os"] .gs-select,
2557
+ [data-gs-style="classic-os"] input,
2558
+ [data-gs-style="classic-os"] textarea,
2559
+ [data-gs-style="classic-os"] select {
2560
+ background: #fff;
2561
+ border: 1px solid #000;
2562
+ border-radius: 0;
2563
+ box-shadow: inset 1px 1px #000;
2564
+ color: #000;
2565
+ font: inherit;
2566
+ min-height: 20px;
2567
+ padding: 2px 4px;
2568
+ }
2569
+
2570
+ [data-gs-style="classic-os"] input[type="radio"],
2571
+ [data-gs-style="classic-os"] input[type="checkbox"] {
2572
+ appearance: none;
2573
+ border: 1px solid #000;
2574
+ box-shadow: none;
2575
+ display: inline-grid;
2576
+ height: 11px;
2577
+ min-height: 0;
2578
+ padding: 0;
2579
+ place-content: center;
2580
+ vertical-align: -1px;
2581
+ width: 11px;
2582
+ }
2583
+
2584
+ [data-gs-style="classic-os"] input[type="radio"] {
2585
+ border-radius: 50%;
2586
+ }
2587
+
2588
+ [data-gs-style="classic-os"] input:is([type="radio"], [type="checkbox"])::before {
2589
+ background: #000;
2590
+ content: "";
2591
+ height: 5px;
2592
+ scale: 0;
2593
+ width: 5px;
2594
+ }
2595
+
2596
+ [data-gs-style="classic-os"] input:is([type="radio"], [type="checkbox"]):checked::before {
2597
+ scale: 1;
2598
+ }
2599
+
2600
+ [data-gs-style="classic-os"] fieldset {
2601
+ border: 1px solid #000;
2602
+ padding: 7px;
2603
+ }
2604
+
2605
+ [data-gs-style="classic-os"] legend {
2606
+ background: #fff;
2607
+ padding: 0 3px;
2608
+ }
2609
+
2610
+ [data-gs-style="classic-os"] hr {
2611
+ border-top: 1px dotted #000;
2612
+ margin: 8px 0;
2613
+ }
2614
+
2615
+ [data-gs-style="classic-os"] .gs-window:is(.gs-active, [active]) {
2616
+ filter: none;
2617
+ }
2618
+
2619
+ [data-gs-style="classic-os"] .gs-window:not(.gs-active):not([active]) {
2620
+ filter: none;
2621
+ }
2622
+
2623
+ [data-gs-style="classic-os"] .gs-window:not(.gs-active):not([active]) .gs-window-titlebar {
2624
+ background:
2625
+ repeating-linear-gradient(
2626
+ 0deg,
2627
+ #fff 0 2px,
2628
+ #888 2px 3px
2629
+ );
2630
+ }
2631
+
2632
+ .gs-window[resizable] {
2633
+ min-width: 10rem;
2634
+ overflow: auto;
2635
+ resize: both;
2636
+ }
2637
+
2638
+ [data-gs-style="classic-os"] .gs-listbox {
2639
+ border: 1px solid #000;
2640
+ max-height: 140px;
2641
+ }
2642
+
2643
+ [data-gs-style="classic-os"] .gs-listbox > :is(a, button, label) {
2644
+ background: #fff;
2645
+ border: 0;
2646
+ color: #000;
2647
+ font: inherit;
2648
+ padding: 3px 5px;
2649
+ text-align: left;
2650
+ text-decoration: none;
2651
+ }
2652
+
2653
+ [data-gs-style="classic-os"] .gs-listbox > :is(a, button, label):hover,
2654
+ [data-gs-style="classic-os"] .gs-listbox > [selected] {
2655
+ background: #000;
2656
+ color: #fff;
2657
+ }
2658
+
2659
+ [data-gs-style="classic-os"] .gs-alert {
2660
+ background: #fff;
2661
+ border: 1px solid #000;
2662
+ box-shadow: 2px 2px 0 #000;
2663
+ min-height: 34px;
2664
+ padding: 7px 28px 7px 34px;
2665
+ }
2666
+
2667
+ [data-gs-style="classic-os"] .gs-alert::before {
2668
+ border: 1px solid #000;
2669
+ content: "!";
2670
+ display: grid;
2671
+ font-size: 16px;
2672
+ height: 20px;
2673
+ left: 7px;
2674
+ place-items: center;
2675
+ position: absolute;
2676
+ top: 7px;
2677
+ width: 20px;
2678
+ }
2679
+
2680
+ [data-gs-style="classic-os"] .gs-alert-title {
2681
+ margin-bottom: 3px;
2682
+ }
2683
+
2684
+ [data-gs-style="classic-os"] .gs-alert-close {
2685
+ background: #fff;
2686
+ border: 1px solid #000;
2687
+ color: #000;
2688
+ font: inherit;
2689
+ height: 14px;
2690
+ padding: 0;
2691
+ right: 4px;
2692
+ top: 4px;
2693
+ width: 14px;
2694
+ }
2695
+
2696
+ [data-gs-style="classic-os"] .gs-media-frame,
2697
+ [data-gs-style="classic-os"] .gs-map,
2698
+ [data-gs-style="classic-os"] .gs-carousel {
2699
+ background: #fff;
2700
+ border: 1px solid #000;
2701
+ box-shadow: 2px 2px 0 #000;
2702
+ color: #000;
2703
+ overflow: hidden;
2704
+ }
2705
+
2706
+ [data-gs-style="classic-os"] .gs-media-frame[data-frame="plain"] {
2707
+ border: 0;
2708
+ box-shadow: none;
2709
+ }
2710
+
2711
+ [data-gs-style="classic-os"] :is(.gs-media-frame figcaption, .gs-map-caption) {
2712
+ border-top: 1px solid #000;
2713
+ font-family: inherit;
2714
+ padding: 4px 6px;
2715
+ }
2716
+
2717
+ [data-gs-style="classic-os"] .gs-map-viewport {
2718
+ background:
2719
+ linear-gradient(#000 1px, transparent 1px) 0 0 / 12px 12px,
2720
+ linear-gradient(90deg, #000 1px, transparent 1px) 0 0 / 12px 12px,
2721
+ #fff;
2722
+ }
2723
+
2724
+ [data-gs-style="classic-os"] .gs-map-marker {
2725
+ background: #fff;
2726
+ border: 1px solid #000;
2727
+ color: #000;
2728
+ font-size: 10px;
2729
+ padding: 2px;
2730
+ }
2731
+
2732
+ [data-gs-style="classic-os"] .gs-carousel-controls {
2733
+ border-top: 1px solid #000;
2734
+ padding: 3px;
2735
+ }
2736
+
2737
+ [data-gs-style="classic-os"] .gs-carousel-controls button {
2738
+ background: #fff;
2739
+ border: 1px solid #000;
2740
+ color: #000;
2741
+ font: inherit;
2742
+ height: 18px;
2743
+ padding: 0 8px;
2744
+ }
2745
+
2746
+ [data-gs-style="classic-os"] .gs-carousel-controls button:active {
2747
+ background: #000;
2748
+ color: #fff;
2749
+ }
2750
+
2751
+ .gs-window[minimized] > :not(.gs-window-titlebar) {
2752
+ display: none;
2753
+ }
2754
+
2755
+ .gs-window[maximized] {
2756
+ inset: 2.2rem 0 0 !important;
2757
+ max-width: none;
2758
+ width: 100% !important;
2759
+ z-index: 90 !important;
2760
+ }
2761
+
2762
+ .gs-is-hidden {
2763
+ display: none !important;
2764
+ }
2765
+
2766
+ .gs-window[hidden] {
2767
+ display: none !important;
2768
+ }
2769
+
2770
+ gessi-alert[hidden],
2771
+ gessi-list[hidden],
2772
+ gessi-panel[hidden],
2773
+ gessi-tabs[hidden],
2774
+ gessi-meter[hidden],
2775
+ gessi-icon[hidden],
2776
+ gessi-icons[hidden],
2777
+ gessi-desktop[hidden] {
2778
+ display: none !important;
2779
+ }
2780
+
2781
+ gessi-media[hidden],
2782
+ gessi-map[hidden],
2783
+ gessi-marker[hidden],
2784
+ gessi-carousel[hidden],
2785
+ gessi-toolbar[hidden],
2786
+ gessi-dock[hidden],
2787
+ gessi-menu[hidden],
2788
+ gessi-breadcrumb[hidden],
2789
+ gessi-tree[hidden],
2790
+ gessi-separator[hidden],
2791
+ gessi-tooltip[hidden],
2792
+ gessi-toast[hidden] {
2793
+ display: none !important;
2794
+ }
2795
+
2796
+ @media (max-width: 719px) {
2797
+ .gs-split {
2798
+ flex-wrap: wrap;
2799
+ }
2800
+
2801
+ .gs-desktop {
2802
+ min-height: auto;
2803
+ overflow: visible;
2804
+ padding-bottom: 1rem;
2805
+ }
2806
+
2807
+ .gs-menubar {
2808
+ overflow-x: auto;
2809
+ white-space: nowrap;
2810
+ }
2811
+
2812
+ .gs-commandbar {
2813
+ overflow-x: auto;
2814
+ scrollbar-width: thin;
2815
+ white-space: nowrap;
2816
+ }
2817
+
2818
+ .gs-commandbar > * {
2819
+ flex: 0 0 auto;
2820
+ }
2821
+
2822
+ .gs-dock {
2823
+ bottom: auto !important;
2824
+ flex-direction: row !important;
2825
+ left: auto !important;
2826
+ margin: 0.75rem auto;
2827
+ max-width: calc(100% - 2rem);
2828
+ overflow-x: auto;
2829
+ position: relative;
2830
+ right: auto !important;
2831
+ top: auto !important;
2832
+ transform: none;
2833
+ translate: none !important;
2834
+ width: max-content;
2835
+ }
2836
+
2837
+ .gs-menu-panel {
2838
+ max-width: calc(100vw - 2rem);
2839
+ position: fixed;
2840
+ top: auto;
2841
+ }
2842
+
2843
+ .gs-desktop-icons {
2844
+ display: none;
2845
+ }
2846
+
2847
+ .gs-window,
2848
+ .gs-window-stack > .gs-window {
2849
+ left: auto;
2850
+ margin: 1rem;
2851
+ max-width: calc(100% - 2rem);
2852
+ position: relative;
2853
+ top: auto;
2854
+ width: auto;
2855
+ }
2856
+
2857
+ gessi-desktop > gessi-window {
2858
+ --gs-window-position: relative;
2859
+ }
2860
+
2861
+ .gs-window-content > gessi-window[contained] {
2862
+ --gs-window-position: relative;
2863
+ left: auto;
2864
+ margin: 1rem 0;
2865
+ max-width: 100%;
2866
+ top: auto;
2867
+ width: auto;
2868
+ }
2869
+
2870
+ .gs-desktop > .gs-dialog {
2871
+ inset: auto;
2872
+ position: relative;
2873
+ transform: none;
2874
+ }
2875
+
2876
+ .gs-window-stack {
2877
+ min-height: 0;
2878
+ }
2879
+
2880
+ .gs-window-sidebar {
2881
+ display: none;
2882
+ }
2883
+ }
2884
+
2885
+ .gs-tilt-left {
2886
+ rotate: -1.2deg;
2887
+ }
2888
+
2889
+ .gs-tilt-right {
2890
+ rotate: 1.2deg;
2891
+ }
2892
+
2893
+ .gs-tomato {
2894
+ --gs-fill: var(--gs-tomato);
2895
+ color: #fff;
2896
+ }
2897
+
2898
+ .gs-sun {
2899
+ --gs-fill: var(--gs-sun);
2900
+ }
2901
+
2902
+ .gs-mint {
2903
+ --gs-fill: var(--gs-mint);
2904
+ }
2905
+
2906
+ .gs-blue {
2907
+ --gs-fill: var(--gs-blue);
2908
+ color: #fff;
2909
+ }
2910
+
2911
+ .gs-ink {
2912
+ --gs-fill: var(--gs-ink);
2913
+ color: #fff;
2914
+ }
2915
+
2916
+ .gs-paper {
2917
+ --gs-fill: var(--gs-paper);
2918
+ }
2919
+
2920
+ .gs-card :is(h1, h2, h3, p),
2921
+ .gs-bubble :is(h1, h2, h3, p),
2922
+ .gs-panel :is(h1, h2, h3, p) {
2923
+ margin: 0;
2924
+ }
2925
+
2926
+ .gs-card :is(a, button),
2927
+ .gs-bubble :is(a, button),
2928
+ .gs-panel :is(a, button) {
2929
+ color: inherit;
2930
+ }
2931
+
2932
+ .gs-btn {
2933
+ align-items: center;
2934
+ background: var(--gs-fill, var(--gs-sun));
2935
+ border: 2px solid var(--gs-line);
2936
+ border-radius: 10px;
2937
+ box-shadow: var(--gs-shadow-sm);
2938
+ color: var(--gs-ink);
2939
+ cursor: pointer;
2940
+ display: inline-flex;
2941
+ font-family: var(--gessi-sans);
2942
+ font-size: 0.95rem;
2943
+ font-weight: 900;
2944
+ gap: 0.45rem;
2945
+ justify-content: center;
2946
+ line-height: 1;
2947
+ min-height: 2.5rem;
2948
+ padding: 0.7rem 1rem;
2949
+ text-decoration: none;
2950
+ transition: background 160ms ease, box-shadow 140ms ease, opacity 160ms ease,
2951
+ scale 160ms ease, translate 140ms ease;
2952
+ }
2953
+
2954
+ .gs-btn:hover {
2955
+ box-shadow: 0 2px 0 var(--gs-line);
2956
+ translate: 0 2px;
2957
+ }
2958
+
2959
+ .gs-btn.gs-ink,
2960
+ .gs-btn.gs-blue,
2961
+ .gs-btn.gs-tomato {
2962
+ color: #fff;
2963
+ }
2964
+
2965
+ .gs-btn.gs-sm {
2966
+ border-radius: 999px;
2967
+ font-size: 0.78rem;
2968
+ min-height: 1.9rem;
2969
+ padding: 0.45rem 0.75rem;
2970
+ }
2971
+
2972
+ .gs-avatar {
2973
+ align-items: center;
2974
+ aspect-ratio: 1;
2975
+ background: var(--gs-fill, var(--gs-tomato));
2976
+ border: 2px solid var(--gs-line);
2977
+ border-radius: 50%;
2978
+ color: #fff;
2979
+ display: inline-flex;
2980
+ flex: 0 0 auto;
2981
+ font-weight: 950;
2982
+ justify-content: center;
2983
+ overflow: hidden;
2984
+ width: var(--gs-size, 3rem);
2985
+ }
2986
+
2987
+ .gs-avatar img {
2988
+ height: 100%;
2989
+ object-fit: cover;
2990
+ width: 100%;
2991
+ }
2992
+
2993
+ .gs-badge,
2994
+ .gs-chip {
2995
+ align-items: center;
2996
+ background: var(--gs-fill, var(--gs-sun));
2997
+ border: 2px solid var(--gs-line);
2998
+ border-radius: 999px;
2999
+ color: var(--gs-ink);
3000
+ display: inline-flex;
3001
+ font-family: var(--gessi-sans);
3002
+ font-size: 0.78rem;
3003
+ font-weight: 900;
3004
+ gap: 0.35rem;
3005
+ line-height: 1;
3006
+ padding: 0.38rem 0.6rem;
3007
+ }
3008
+
3009
+ .gs-bubble {
3010
+ border-radius: 12px;
3011
+ box-shadow: var(--gs-shadow-sm);
3012
+ display: inline-block;
3013
+ font-weight: 900;
3014
+ max-width: 18rem;
3015
+ padding: 0.8rem 1rem;
3016
+ }
3017
+
3018
+ .gs-media {
3019
+ align-items: end;
3020
+ background:
3021
+ linear-gradient(135deg, rgb(21 21 31 / 8%) 25%, transparent 25%) 0 0 / 24px 24px,
3022
+ var(--gs-fill, var(--gs-mint));
3023
+ border: 2px solid var(--gs-line);
3024
+ border-radius: 10px;
3025
+ display: grid;
3026
+ min-height: var(--gs-h, 160px);
3027
+ overflow: hidden;
3028
+ padding: 0.9rem;
3029
+ }
3030
+
3031
+ .gs-figure {
3032
+ align-items: end;
3033
+ display: flex;
3034
+ gap: 0.15rem;
3035
+ justify-content: center;
3036
+ min-height: 8.5rem;
3037
+ }
3038
+
3039
+ .gs-person {
3040
+ background: var(--gs-person, #fff);
3041
+ border: 2px solid var(--gs-line);
3042
+ border-bottom: 0;
3043
+ border-radius: 999px 999px 10px 10px;
3044
+ height: var(--gs-person-h, 6.8rem);
3045
+ position: relative;
3046
+ width: 3.2rem;
3047
+ }
3048
+
3049
+ .gs-person::before {
3050
+ background: var(--gs-person-hair, var(--gs-ink));
3051
+ border: 2px solid var(--gs-line);
3052
+ border-radius: 50%;
3053
+ content: "";
3054
+ height: 2.6rem;
3055
+ left: 50%;
3056
+ position: absolute;
3057
+ top: -1.3rem;
3058
+ translate: -50% 0;
3059
+ width: 2.6rem;
3060
+ }
3061
+
3062
+ .gs-price {
3063
+ display: grid;
3064
+ gap: 0.2rem;
3065
+ justify-items: center;
3066
+ padding: 1.2rem;
3067
+ text-align: center;
3068
+ }
3069
+
3070
+ .gs-price strong {
3071
+ font-size: clamp(2.2rem, 8vw, 3.7rem);
3072
+ font-weight: 950;
3073
+ letter-spacing: 0;
3074
+ line-height: 0.9;
3075
+ }
3076
+
3077
+ .gs-stat {
3078
+ align-items: center;
3079
+ display: flex;
3080
+ gap: 0.7rem;
3081
+ justify-content: space-between;
3082
+ }
3083
+
3084
+ .gs-stat strong {
3085
+ font-size: clamp(2rem, 7vw, 3.2rem);
3086
+ font-weight: 950;
3087
+ line-height: 1;
3088
+ }
3089
+
3090
+ .gs-switch {
3091
+ --gs-fill: var(--gs-sun);
3092
+ align-items: center;
3093
+ background: #fff;
3094
+ border: 2px solid var(--gs-line);
3095
+ border-radius: 999px;
3096
+ display: inline-flex;
3097
+ height: 1.7rem;
3098
+ padding: 0.13rem;
3099
+ width: 3.3rem;
3100
+ }
3101
+
3102
+ .gs-switch::before {
3103
+ aspect-ratio: 1;
3104
+ background: var(--gs-fill);
3105
+ border: 2px solid var(--gs-line);
3106
+ border-radius: 50%;
3107
+ content: "";
3108
+ height: 100%;
3109
+ margin-left: auto;
3110
+ }
3111
+
3112
+ .gs-list {
3113
+ display: grid;
3114
+ gap: 0.8rem;
3115
+ list-style: none;
3116
+ margin: 0;
3117
+ padding: 0;
3118
+ }
3119
+
3120
+ .gs-list li {
3121
+ align-items: center;
3122
+ display: flex;
3123
+ gap: 0.65rem;
3124
+ }
3125
+
3126
+ .gs-list li::before {
3127
+ content: "✓";
3128
+ font-weight: 950;
3129
+ }
3130
+
3131
+ .gs-field {
3132
+ background: #fff;
3133
+ border: 2px solid var(--gs-line);
3134
+ border-radius: 10px;
3135
+ color: var(--gs-ink);
3136
+ font-family: var(--gessi-sans);
3137
+ font-weight: 750;
3138
+ min-height: 2.75rem;
3139
+ padding: 0.65rem 0.8rem;
3140
+ width: 100%;
3141
+ }
3142
+
3143
+ .gs-label {
3144
+ display: grid;
3145
+ gap: 0.35rem;
3146
+ font-family: var(--gessi-mono);
3147
+ font-size: 0.72rem;
3148
+ font-weight: 900;
3149
+ letter-spacing: 0.16em;
3150
+ text-transform: uppercase;
3151
+ }
3152
+
3153
+ .gs-select {
3154
+ appearance: none;
3155
+ background:
3156
+ linear-gradient(45deg, transparent 50%, var(--gs-ink) 50%) right 1rem center / 0.45rem 0.45rem no-repeat,
3157
+ var(--gs-sun);
3158
+ border: 2px solid var(--gs-line);
3159
+ border-radius: 10px;
3160
+ box-shadow: var(--gs-shadow-sm);
3161
+ color: var(--gs-ink);
3162
+ cursor: pointer;
3163
+ font-family: var(--gessi-sans);
3164
+ font-size: 0.95rem;
3165
+ font-weight: 950;
3166
+ min-height: 2.8rem;
3167
+ padding: 0.65rem 2.2rem 0.65rem 0.85rem;
3168
+ }
3169
+
3170
+ .gs-action {
3171
+ position: relative;
3172
+ }
3173
+
3174
+ .gs-action:active {
3175
+ scale: 0.98;
3176
+ }
3177
+
3178
+ .gs-action.htmx-request,
3179
+ .htmx-request .gs-action {
3180
+ opacity: 0.78;
3181
+ pointer-events: none;
3182
+ }
3183
+
3184
+ .gs-spinner {
3185
+ animation: gs-spin 700ms linear infinite;
3186
+ border: 2px solid currentColor;
3187
+ border-right-color: transparent;
3188
+ border-radius: 999px;
3189
+ display: none;
3190
+ height: 1em;
3191
+ width: 1em;
3192
+ }
3193
+
3194
+ .gs-action.htmx-request .gs-spinner,
3195
+ .htmx-request .gs-action .gs-spinner {
3196
+ display: inline-block;
3197
+ }
3198
+
3199
+ .gs-action-target {
3200
+ transition: opacity 180ms ease, scale 180ms ease, translate 180ms ease;
3201
+ }
3202
+
3203
+ .gs-action-target.htmx-swapping,
3204
+ .htmx-swapping.gs-action-target {
3205
+ opacity: 0;
3206
+ scale: 0.96;
3207
+ translate: 0 4px;
3208
+ }
3209
+
3210
+ .gs-action-target.htmx-added,
3211
+ .htmx-added.gs-action-target {
3212
+ animation: gs-pop 360ms ease both;
3213
+ }
3214
+
3215
+ .gs-action-target.htmx-settling,
3216
+ .htmx-settling.gs-action-target {
3217
+ outline: 3px solid color-mix(in srgb, var(--gs-blue) 30%, transparent);
3218
+ }
3219
+
3220
+ @keyframes gs-spin {
3221
+ to {
3222
+ rotate: 360deg;
3223
+ }
3224
+ }
3225
+
3226
+ @keyframes gs-pop {
3227
+ 0% {
3228
+ opacity: 0;
3229
+ scale: 0.92;
3230
+ translate: 0 8px;
3231
+ }
3232
+
3233
+ 100% {
3234
+ opacity: 1;
3235
+ scale: 1;
3236
+ translate: 0;
3237
+ }
3238
+ }
3239
+
3240
+ @media (prefers-reduced-motion: reduce) {
3241
+ .gs-btn,
3242
+ .gs-action-target {
3243
+ transition: none;
3244
+ }
3245
+
3246
+ .gs-spinner,
3247
+ .gs-action-target.htmx-added,
3248
+ .htmx-added.gs-action-target {
3249
+ animation: none;
3250
+ }
3251
+ }