@nu-appdev/northwestern-starlight-theme 1.0.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.
@@ -0,0 +1,170 @@
1
+ /* ==========================================================================
2
+ Typography — Northwestern Brand Fonts
3
+ ========================================================================== */
4
+
5
+ @font-face {
6
+ font-family: "Akkurat Pro";
7
+ font-style: normal;
8
+ font-weight: 300;
9
+ src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProLight.woff") format("woff");
10
+ font-display: swap;
11
+ }
12
+
13
+ @font-face {
14
+ font-family: "Akkurat Pro";
15
+ font-style: italic;
16
+ font-weight: 300;
17
+ src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProLightItalic.woff") format("woff");
18
+ font-display: swap;
19
+ }
20
+
21
+ @font-face {
22
+ font-family: "Akkurat Pro";
23
+ font-style: normal;
24
+ font-weight: 400;
25
+ src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProRegular.woff") format("woff");
26
+ font-display: swap;
27
+ }
28
+
29
+ @font-face {
30
+ font-family: "Akkurat Pro";
31
+ font-style: italic;
32
+ font-weight: 400;
33
+ src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProItalic.woff") format("woff");
34
+ font-display: swap;
35
+ }
36
+
37
+ @font-face {
38
+ font-family: "Akkurat Pro";
39
+ font-style: normal;
40
+ font-weight: 500;
41
+ src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProRegular.woff") format("woff");
42
+ font-display: swap;
43
+ }
44
+
45
+ @font-face {
46
+ font-family: "Akkurat Pro";
47
+ font-style: normal;
48
+ font-weight: 700;
49
+ src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProBold.woff") format("woff");
50
+ font-display: swap;
51
+ }
52
+
53
+ @font-face {
54
+ font-family: "Akkurat Pro";
55
+ font-style: italic;
56
+ font-weight: 700;
57
+ src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProBoldItalic.woff") format("woff");
58
+ font-display: swap;
59
+ }
60
+
61
+ @font-face {
62
+ font-family: Poppins;
63
+ font-style: normal;
64
+ font-weight: 100;
65
+ src: url("https://common.northwestern.edu/v8/css/fonts/Poppins-ExtraLight.woff") format("woff");
66
+ font-display: swap;
67
+ }
68
+
69
+ @font-face {
70
+ font-family: Poppins;
71
+ font-style: normal;
72
+ font-weight: 300;
73
+ src: url("https://common.northwestern.edu/v8/css/fonts/Poppins-Light.woff") format("woff");
74
+ font-display: swap;
75
+ }
76
+
77
+ @font-face {
78
+ font-family: Poppins;
79
+ font-style: normal;
80
+ font-weight: 400;
81
+ src: url("https://common.northwestern.edu/v8/css/fonts/Poppins-Light.woff") format("woff");
82
+ font-display: swap;
83
+ }
84
+
85
+ @font-face {
86
+ font-family: Poppins;
87
+ font-style: normal;
88
+ font-weight: 600;
89
+ src: url("https://common.northwestern.edu/v8/css/fonts/Poppins-Bold.woff") format("woff");
90
+ font-display: swap;
91
+ }
92
+
93
+ @font-face {
94
+ font-family: Poppins;
95
+ font-style: normal;
96
+ font-weight: 700;
97
+ src: url("https://common.northwestern.edu/v8/css/fonts/Poppins-Bold.woff") format("woff");
98
+ font-display: swap;
99
+ }
100
+
101
+ @font-face {
102
+ font-family: Poppins;
103
+ font-style: normal;
104
+ font-weight: 800;
105
+ src: url("https://common.northwestern.edu/v8/css/fonts/Poppins-ExtraBold.woff") format("woff");
106
+ font-display: swap;
107
+ }
108
+
109
+ @font-face {
110
+ font-family: "Noto Serif";
111
+ font-style: italic;
112
+ font-weight: 400;
113
+ src: url("https://common.northwestern.edu/dept/4.0/css/fonts/noto-serif/noto-serif-v23-latin-italic.woff2")
114
+ format("woff2");
115
+ font-display: swap;
116
+ }
117
+
118
+ @font-face {
119
+ font-family: "Noto Serif";
120
+ font-style: normal;
121
+ font-weight: 500;
122
+ src: url("https://common.northwestern.edu/dept/4.0/css/fonts/noto-serif/noto-serif-v23-latin-500.woff2")
123
+ format("woff2");
124
+ font-display: swap;
125
+ }
126
+
127
+ @font-face {
128
+ font-family: "Noto Serif";
129
+ font-style: normal;
130
+ font-weight: 700;
131
+ src: url("https://common.northwestern.edu/dept/4.0/css/fonts/noto-serif/noto-serif-v23-latin-700.woff2")
132
+ format("woff2");
133
+ font-display: swap;
134
+ }
135
+
136
+ @font-face {
137
+ font-family: "Noto Serif";
138
+ font-style: italic;
139
+ font-weight: 700;
140
+ src: url("https://common.northwestern.edu/dept/4.0/css/fonts/noto-serif/noto-serif-v23-latin-700italic.woff2")
141
+ format("woff2");
142
+ font-display: swap;
143
+ }
144
+
145
+ @layer northwestern {
146
+ :root {
147
+ --sl-font: var(--nu-font-body);
148
+ --sl-font-system-mono: ui-monospace, sfmono-regular, "SF Mono", menlo, consolas, "Liberation Mono", monospace;
149
+ }
150
+
151
+ h1,
152
+ h2 {
153
+ font-family: var(--nu-font-heading);
154
+ }
155
+
156
+ h1 {
157
+ color: var(--sl-color-text-accent);
158
+ }
159
+
160
+ h3,
161
+ h4,
162
+ h5,
163
+ h6 {
164
+ font-family: var(--nu-font-body);
165
+ }
166
+
167
+ .site-title {
168
+ font-family: var(--nu-font-heading);
169
+ }
170
+ }
@@ -0,0 +1,121 @@
1
+ /* ==========================================================================
2
+ Variables — Northwestern Design Tokens
3
+
4
+ Encapsulates the shared design-token source of truth for color, typography,
5
+ motion, surface, focus, and light/dark layout values.
6
+ ========================================================================== */
7
+
8
+ @layer northwestern {
9
+ :root,
10
+ ::backdrop {
11
+ --nu-purple-10: #e4e0ee;
12
+ --nu-purple-20: #ccc4df;
13
+ --nu-purple-30: #b6acd1;
14
+ --nu-purple-40: #a495c3;
15
+ --nu-purple-50: #9380b6;
16
+ --nu-purple-60: #836eaa;
17
+ --nu-purple-70: #765da0;
18
+ --nu-purple-80: #684c96;
19
+ --nu-purple-90: #5b3b8c;
20
+ --nu-purple-100: #4e2a84;
21
+ --nu-purple-110: #482476;
22
+ --nu-purple-120: #401f68;
23
+ --nu-purple-130: #38175a;
24
+ --nu-purple-140: #30104e;
25
+ --nu-purple-150: #260841;
26
+ --nu-purple-160: #1d0235;
27
+
28
+ --nu-black-100: #000;
29
+ --nu-black-80: #342f2e;
30
+ --nu-black-50: #716c6b;
31
+ --nu-black-20: #bbb8b8;
32
+ --nu-black-10: #d8d6d6;
33
+
34
+ --nu-green: #58b947;
35
+ --nu-teal: #7fcecd;
36
+ --nu-blue: #5091cd;
37
+ --nu-yellow: #ede93b;
38
+ --nu-gold: #ffc520;
39
+ --nu-orange: #ef553f;
40
+
41
+ --nu-dark-green: #008656;
42
+ --nu-dark-teal: #007fa4;
43
+ --nu-dark-blue: #0d2d6c;
44
+ --nu-dark-yellow: #d9c826;
45
+ --nu-dark-gold: #ca7c1b;
46
+ --nu-dark-orange: #d85820;
47
+
48
+ --nu-color-success: #008656;
49
+ --nu-color-info: #5091cd;
50
+ --nu-color-warning: #ffc520;
51
+ --nu-color-danger: #ef553f;
52
+
53
+ --nu-font-body: "Akkurat Pro", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
54
+ --nu-font-heading: "Poppins", "Akkurat Pro", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
55
+ --nu-font-display: "Noto Serif", georgia, "Times New Roman", serif;
56
+
57
+ --nu-transition-fast: 150ms ease;
58
+ --nu-transition-default: 200ms ease;
59
+ --nu-transition-slow: 300ms ease-in-out;
60
+
61
+ --nu-purple-surface: #f3f0f7;
62
+ --nu-purple-surface-subtle: #f7f5f9;
63
+ --nu-purple-tint: rgb(78 42 132 / 15%);
64
+ --nu-purple-tint-strong: rgb(78 42 132 / 20%);
65
+ --nu-surface-muted: #f9fafb;
66
+ --nu-hover-bg: #f3f4f6;
67
+
68
+ --nu-focus-ring: var(--nu-purple-100);
69
+ --nu-focus-border: #a795c2;
70
+ --nu-focus-shadow-color: rgb(78 42 132 / 25%);
71
+
72
+ --nu-body-bg: #18181b;
73
+ --nu-sidebar-bg: #1e1e1e;
74
+ --nu-topbar-bg: #401f68;
75
+ --nu-topbar-text: #fff;
76
+ --nu-border-color: #3a3a3a;
77
+ --nu-color-text: #f0f0f0;
78
+ --nu-color-text-muted: #a1a1aa;
79
+ --nu-color-link: var(--nu-purple-40);
80
+ --nu-color-link-hover: var(--nu-purple-30);
81
+ }
82
+
83
+ :root[data-theme="light"],
84
+ [data-theme="light"] ::backdrop {
85
+ --nu-body-bg: #f8fafc;
86
+ --nu-sidebar-bg: #fff;
87
+ --nu-border-color: #ccc;
88
+ --nu-color-text: #342f2e;
89
+ --nu-color-text-muted: #716c6b;
90
+ --nu-color-link: var(--nu-purple-100);
91
+ --nu-color-link-hover: var(--nu-purple-120);
92
+
93
+ --nu-focus-ring: var(--nu-purple-100);
94
+ --nu-focus-shadow-color: rgb(78 42 132 / 25%);
95
+
96
+ --nu-purple-surface: #f3f0f7;
97
+ --nu-purple-surface-subtle: #f7f5f9;
98
+ --nu-surface-muted: #f9fafb;
99
+ --nu-hover-bg: #f3f4f6;
100
+ }
101
+
102
+ :root:not([data-theme="light"]),
103
+ :root:not([data-theme="light"]) ::backdrop {
104
+ --nu-focus-ring: var(--nu-purple-40);
105
+ --nu-focus-shadow-color: rgb(147 128 182 / 40%);
106
+
107
+ --nu-purple-surface: rgb(255 255 255 / 5%);
108
+ --nu-purple-surface-subtle: rgb(255 255 255 / 3%);
109
+ --nu-surface-muted: rgb(255 255 255 / 5%);
110
+ --nu-hover-bg: rgb(255 255 255 / 10%);
111
+ }
112
+
113
+ @media (prefers-reduced-motion: reduce) {
114
+ :root,
115
+ ::backdrop {
116
+ --nu-transition-fast: 0.01ms ease;
117
+ --nu-transition-default: 0.01ms ease;
118
+ --nu-transition-slow: 0.01ms ease;
119
+ }
120
+ }
121
+ }
@@ -0,0 +1,9 @@
1
+ declare module "virtual:northwestern-theme/config" {
2
+ const config: {
3
+ homepage: {
4
+ layout: "centered" | "split";
5
+ showTitle: boolean;
6
+ };
7
+ };
8
+ export default config;
9
+ }