summaryrefslogtreecommitdiffstats
path: root/assets/css/variables.css
blob: 74e4c86189e0385b955f01ae09b05ccdb002a1af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/* variables.css */

:root {
  /* Dark theme colors (default) */
  --bg:          #060b10;
  --bg2:         #0c1520;
  --surface:     #101e2d;
  --border:      #182840;
  --accent:      #a855f7;
  --accent2:     #00ff88;
  --text:        #c4d6e8;
  --text-dim:    #7a9bb8;
  --muted:       #304860;

  /* Type colors */
  --color-tech:   #a855f7;  /* purple */
  --color-life:   #f59e0b;  /* amber */
  --color-quote:  #00ff88;  /* green */
  --color-link:   #38bdf8;  /* cyan */
  --color-photo:  #ec4899;  /* pink */

  /* Typography */
  --font-body:  'IBM Plex Sans', system-ui, sans-serif;
  --font-mono:  'JetBrains Mono', 'Courier New', monospace;
  --font-head:  'Oxanium', sans-serif;

  /* Font sizes (base: 17px on html) */
  --fs-body:    0.95rem;
  --fs-nav:     0.8rem;
  --fs-badge:   0.7rem;
  --fs-btn:     0.8rem;
  --fs-h3:      1.5rem;
  --fs-h2:      clamp(1.7rem, 6vw, 3rem);

  /* Layout */
  --container-max: 1080px;
  --container-narrow: 768px;
  --gap-sm:     0.5rem;
  --gap-md:     1.5rem;
  --gap-lg:     2.5rem;
  --gap-xl:     4rem;

  /* Spacing */
  --section-py-mobile:   4rem;
  --section-py-desktop:  6rem;
  --card-px-mobile:      1.5rem;
  --card-px-desktop:     2rem;

  /* Transitions */
  --transition: all 0.2s ease;
  --transition-slow: all 0.75s cubic-bezier(0.16,1,0.3,1);
}

html.theme-light {
  /* Light theme */
  --bg:          #f0f4f8;
  --bg2:         #e2eaf4;
  --surface:     #d4dff0;
  --border:      #a8bdd8;
  --accent:      #7c3aed;
  --accent2:     #008f5a;
  --text:        #0d1b2a;
  --text-dim:    #2e4a6a;
  --muted:       #6888a8;
}

/* Breakpoints as CSS variables for reference */
@media (max-width: 479px) {
  :root {
    --bp: "mobile";
  }
}

@media (min-width: 480px) {
  :root {
    --bp: "sm";
  }
}

@media (min-width: 768px) {
  :root {
    --bp: "md";
  }
}

@media (min-width: 1200px) {
  :root {
    --bp: "lg";
  }
}