OXYGENHUB
# d239f0850b00 oxygenvcs-web / src / assets / site.css
5.8 KiB · CSS · last changed The site: a static product page, built by OxygenFlow, pulled by its host (refs #1) 9 days ago source blame history raw
1
/* oxygenvcs.com: one stylesheet, the Oxygen palette (the mark's cyan to
2
   blue on near-black), system fonts only, no external requests. Dark by
3
   default, light when the visitor's system asks for it. */
4
5
:root {
6
  --bg: #070c18;
7
  --bg-2: #0c1426;
8
  --panel: #101a30;
9
  --line: #1f2c47;
10
  --ink: #e6edf7;
11
  --mute: #93a1b8;
12
  --cyan: #00f0ff;
13
  --blue: #0072ff;
14
  --link: #5cd6ff;
15
  --accent: #00f0ff;
16
  --grad: linear-gradient(90deg, var(--cyan), var(--blue));
17
  --radius: 14px;
18
  --wrap: 1120px;
19
  color-scheme: dark;
20
}
21
22
@media (prefers-color-scheme: light) {
23
  :root {
24
    --bg: #f6f8fc;
25
    --bg-2: #ffffff;
26
    --panel: #ffffff;
27
    --line: #dbe3ef;
28
    --ink: #0b1324;
29
    --mute: #5a6880;
30
    --link: #0059d6;
31
    --accent: #0062d6;
32
    color-scheme: light;
33
  }
34
}
35
36
*, *::before, *::after { box-sizing: border-box; }
37
38
html { -webkit-text-size-adjust: 100%; }
39
40
body {
41
  margin: 0;
42
  background: var(--bg);
43
  color: var(--ink);
44
  font: 17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;
45
}
46
47
a { color: var(--link); text-underline-offset: 3px; }
48
a:hover { text-decoration-thickness: 2px; }
49
code, pre { font-family: ui-monospace, "SF Mono", "Cascadia Code", "DejaVu Sans Mono", Menlo, monospace; }
50
img { max-width: 100%; }
51
52
.wrap {
53
  max-width: var(--wrap);
54
  margin: 0 auto;
55
  padding-left: max(20px, env(safe-area-inset-left, 0px));
56
  padding-right: max(20px, env(safe-area-inset-right, 0px));
57
}
58
59
.skip { position: absolute; left: -999px; }
60
.skip:focus { left: 12px; top: 12px; z-index: 10; background: var(--panel); padding: 8px 12px; border-radius: 8px; }
61
62
/* Header */
63
.site-head { border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 88%, transparent); position: sticky; top: 0; z-index: 5; backdrop-filter: blur(8px); }
64
.head-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; flex-wrap: wrap; }
65
.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-weight: 700; font-size: 20px; letter-spacing: .2px; }
66
.brand img { border-radius: 9px; }
67
.site-head nav { display: flex; align-items: center; gap: 4px 18px; flex-wrap: wrap; }
68
.site-head nav a { color: var(--mute); text-decoration: none; font-size: 15px; font-weight: 500; }
69
.site-head nav a:hover { color: var(--ink); }
70
.site-head nav a.nav-cta { color: var(--ink); border: 1px solid var(--line); padding: 6px 12px; border-radius: 999px; }
71
.site-head nav a.nav-cta:hover { border-color: var(--cyan); }
72
73
/* Sections */
74
section { padding-block: 72px; }
75
section + section { border-top: 1px solid var(--line); }
76
h1, h2, h3 { line-height: 1.15; text-wrap: balance; margin: 0 0 16px; }
77
h1 { font-size: clamp(40px, 6vw, 68px); letter-spacing: -1px; }
78
h2 { font-size: clamp(28px, 3.4vw, 38px); letter-spacing: -.4px; }
79
h3 { font-size: 20px; }
80
p { max-width: 68ch; margin: 0 0 16px; }
81
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: 13px; font-weight: 600; color: var(--accent); margin-bottom: 18px; }
82
.lede { font-size: clamp(18px, 2vw, 21px); color: var(--mute); }
83
.grad { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
84
85
.hero { padding-block: 96px 80px; background: radial-gradient(900px 420px at 80% -10%, color-mix(in srgb, var(--blue) 22%, transparent), transparent 70%), radial-gradient(700px 360px at 0% 0%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 70%); }
86
.hero.short { padding-block: 120px; }
87
.ctas { display: flex; gap: 12px; flex-wrap: wrap; margin: 28px 0 40px; }
88
.btn { display: inline-block; padding: 12px 20px; border-radius: 10px; border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 600; }
89
.btn:hover { border-color: var(--cyan); }
90
.btn.primary { background: var(--grad); border-color: transparent; color: #04101f; }
91
.btn.primary:hover { filter: brightness(1.08); }
92
93
.term { max-width: 640px; margin: 0; padding: 18px 20px; background: #050913; color: #d7e3f4; border: 1px solid #1a2742; border-radius: var(--radius); font-size: 14.5px; line-height: 1.7; overflow-x: auto; }
94
.term .p { color: #5f7392; user-select: none; }
95
.term .ok { color: var(--cyan); }
96
97
/* Cards */
98
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 20px; margin-top: 32px; }
99
.card { min-width: 0; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; }
100
.card h3 { display: flex; align-items: center; gap: 10px; }
101
.card p { color: var(--mute); }
102
.card ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
103
.card li { color: var(--ink); font-size: 16px; }
104
.card.flat p { margin: 0; }
105
.tag { font: 600 13px/1 ui-monospace, Menlo, monospace; padding: 5px 8px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
106
107
/* Why */
108
.two { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: start; }
109
.two > * { min-width: 0; }
110
.facts { margin: 0; display: grid; gap: 12px; }
111
.facts div { border-left: 3px solid; border-image: var(--grad) 1; padding: 6px 0 6px 16px; }
112
.facts dt { font-weight: 700; }
113
.facts dd { margin: 2px 0 0; color: var(--mute); }
114
115
.status p { color: var(--mute); }
116
.status code { color: var(--ink); }
117
118
/* Footer */
119
.site-foot { border-top: 1px solid var(--line); padding-block: 36px 48px; background: var(--bg-2); }
120
.foot-row { display: grid; gap: 14px; }
121
.foot-brand { display: flex; align-items: center; gap: 10px; font-weight: 600; }
122
.foot-brand img { border-radius: 7px; }
123
.site-foot nav { display: flex; gap: 18px; flex-wrap: wrap; }
124
.site-foot .fine { font-size: 14px; color: var(--mute); margin: 0; }
125
126
@media (max-width: 760px) {
127
  section { padding-block: 52px; }
128
  .hero { padding-block: 64px 56px; }
129
  .two { grid-template-columns: 1fr; gap: 28px; }
130
  .site-head { position: static; }
131
}