1+ /*
2+ * Spindle CMS
3+ * Copyright (c) 2025. All rights reserved.
4+ *
5+ * This file is part of the Spindle CMS project — a lightweight, modular PHP content framework derived from OpenCart.
6+ *
7+ * @license GNU General Public License v3.0 (GPL-3.0-or-later)
8+ * @link https://github.com/RandomCoderTinker/Spindle
9+ */
10+
11+ : root {
12+ --bg-cream : # FFF8EA ;
13+ --accent-bronze : # 8B7355 ;
14+ --accent-bronze-light : # A0916B ;
15+ --text-dark : # 2F2F2F ;
16+ --text-medium : # 5A5A5A ;
17+ --text-light : # 8A8A8A ;
18+ --border-light : # E8E1D3 ;
19+ --white : # FFFFFF ;
20+ --code-bg : # F5F2EA ;
21+ --border-radius : 8px ;
22+ --spacing-xs : 0.5rem ;
23+ --spacing-sm : 1rem ;
24+ --spacing-md : 1.5rem ;
25+ --spacing-lg : 2rem ;
26+ --spacing-xl : 3rem ;
27+ --spacing-xxl : 4rem ;
28+ --max-width : 1200px ;
29+ --max-width-content : 800px ;
30+ --sidebar-width : 280px ;
31+ }
32+
33+ /* Reset and base styles */
34+ * {
35+ margin : 0 ;
36+ padding : 0 ;
37+ box-sizing : border-box;
38+ }
39+
40+ body {
41+ font-family : 'JetBrains Mono' , 'Fira Code' , monospace;
42+ background-color : var (--bg-cream );
43+ color : var (--text-dark );
44+ line-height : 1.6 ;
45+ font-size : 16px ;
46+ font-weight : 400 ;
47+ }
48+
49+ /* Typography */
50+ h1 , h2 , h3 , h4 , h5 , h6 {
51+ font-weight : 600 ;
52+ line-height : 1.3 ;
53+ margin-bottom : var (--spacing-sm );
54+ color : var (--text-dark );
55+ }
56+
57+ h1 {
58+ font-size : 2.5rem ;
59+ }
60+
61+ h2 {
62+ font-size : 2rem ;
63+ margin-top : var (--spacing-xl );
64+ }
65+
66+ h3 {
67+ font-size : 1.5rem ;
68+ margin-top : var (--spacing-lg );
69+ }
70+
71+ h4 {
72+ font-size : 1.25rem ;
73+ margin-top : var (--spacing-md );
74+ }
75+
76+ p {
77+ margin-bottom : var (--spacing-sm );
78+ color : var (--text-medium );
79+ }
80+
81+ ul , ol {
82+ margin-bottom : var (--spacing-sm );
83+ padding-left : var (--spacing-lg );
84+ }
85+
86+ li {
87+ margin-bottom : var (--spacing-xs );
88+ color : var (--text-medium );
89+ }
90+
91+ /* Code styling */
92+ code {
93+ background-color : var (--code-bg );
94+ padding : 0.2em 0.4em ;
95+ border-radius : 4px ;
96+ font-size : 0.9em ;
97+ color : var (--accent-bronze );
98+ border : 1px solid var (--border-light );
99+ }
100+
101+ pre {
102+ background-color : var (--code-bg );
103+ padding : var (--spacing-md );
104+ border-radius : var (--border-radius );
105+ overflow-x : auto;
106+ margin-bottom : var (--spacing-md );
107+ border : 1px solid var (--border-light );
108+ }
109+
110+ pre code {
111+ background : none;
112+ padding : 0 ;
113+ border : none;
114+ color : var (--text-dark );
115+ }
116+
117+ /* Layout utilities */
118+ .container {
119+ max-width : var (--max-width );
120+ margin : 0 auto;
121+ padding : 0 var (--spacing-sm );
122+ }
123+
124+ /* Header */
125+ .header {
126+ background-color : var (--bg-cream );
127+ border-bottom : 2px solid var (--border-light );
128+ padding : var (--spacing-md ) 0 ;
129+ position : sticky;
130+ top : 0 ;
131+ z-index : 100 ;
132+ }
133+
134+ .header-content {
135+ display : flex;
136+ justify-content : space-between;
137+ align-items : center;
138+ flex-wrap : wrap;
139+ gap : var (--spacing-sm );
140+ }
141+
142+ .logo {
143+ font-size : 1.5rem ;
144+ font-weight : 600 ;
145+ color : var (--accent-bronze );
146+ text-decoration : none;
147+ display : flex;
148+ align-items : center;
149+ }
150+
151+ .logo ::before {
152+ content : "◉" ;
153+ margin-right : var (--spacing-xs );
154+ font-size : 1.2rem ;
155+ }
156+
157+ .nav {
158+ display : flex;
159+ gap : var (--spacing-lg );
160+ list-style : none;
161+ }
162+
163+ .nav-link {
164+ color : var (--text-dark );
165+ text-decoration : none;
166+ font-weight : 400 ;
167+ padding : var (--spacing-xs ) var (--spacing-sm );
168+ border-radius : var (--border-radius );
169+ transition : all 0.2s ease;
170+ }
171+
172+ .nav-link : hover , .nav-link .active {
173+ background-color : var (--accent-bronze );
174+ color : var (--white );
175+ }
176+
177+ /* Main layout */
178+ .docs-layout {
179+ display : grid;
180+ grid-template-columns : var (--sidebar-width ) 1fr ;
181+ gap : var (--spacing-xl );
182+ max-width : var (--max-width );
183+ margin : 0 auto;
184+ padding : var (--spacing-xl ) var (--spacing-sm );
185+ min-height : calc (100vh - 200px );
186+ }
187+
188+ /* Sidebar */
189+ .sidebar {
190+ background-color : var (--white );
191+ padding : var (--spacing-lg );
192+ border-radius : var (--border-radius );
193+ border : 2px solid var (--border-light );
194+ position : sticky;
195+ top : calc (80px + var (--spacing-xl ));
196+ height : fit-content;
197+ max-height : calc (100vh - 120px );
198+ overflow-y : auto;
199+ }
200+
201+ .sidebar h3 {
202+ color : var (--accent-bronze );
203+ margin-bottom : var (--spacing-md );
204+ font-size : 1.1rem ;
205+ border-bottom : 1px solid var (--border-light );
206+ padding-bottom : var (--spacing-xs );
207+ }
208+
209+ .sidebar ul {
210+ list-style : none;
211+ padding : 0 ;
212+ margin-bottom : var (--spacing-lg );
213+ }
214+
215+ .sidebar li {
216+ margin-bottom : var (--spacing-xs );
217+ }
218+
219+ .sidebar a {
220+ color : var (--text-medium );
221+ text-decoration : none;
222+ display : block;
223+ padding : var (--spacing-xs ) var (--spacing-sm );
224+ border-radius : 4px ;
225+ transition : all 0.2s ease;
226+ font-size : 0.9rem ;
227+ }
228+
229+ .sidebar a : hover , .sidebar a .active {
230+ background-color : var (--accent-bronze );
231+ color : var (--white );
232+ }
233+
234+ /* Main content */
235+ .docs-content {
236+ background-color : var (--white );
237+ padding : var (--spacing-xl );
238+ border-radius : var (--border-radius );
239+ border : 2px solid var (--border-light );
240+ }
241+
242+ /* Special content blocks */
243+ .warning , .info , .tip {
244+ padding : var (--spacing-md );
245+ border-radius : var (--border-radius );
246+ margin : var (--spacing-md ) 0 ;
247+ border-left : 4px solid;
248+ }
249+
250+ .warning {
251+ background-color : # FEF3E2 ;
252+ border-left-color : # F59E0B ;
253+ }
254+
255+ .info {
256+ background-color : # EFF6FF ;
257+ border-left-color : # 3B82F6 ;
258+ }
259+
260+ .tip {
261+ background-color : # F0FDF4 ;
262+ border-left-color : # 10B981 ;
263+ }
264+
265+ .warning strong , .info strong , .tip strong {
266+ color : var (--text-dark );
267+ }
268+
269+ /* Table styling */
270+ table {
271+ width : 100% ;
272+ border-collapse : collapse;
273+ margin : var (--spacing-md ) 0 ;
274+ background-color : var (--white );
275+ }
276+
277+ th , td {
278+ padding : var (--spacing-sm );
279+ text-align : left;
280+ border-bottom : 1px solid var (--border-light );
281+ }
282+
283+ th {
284+ background-color : var (--code-bg );
285+ font-weight : 600 ;
286+ color : var (--text-dark );
287+ }
288+
289+ td {
290+ color : var (--text-medium );
291+ }
292+
293+ /* Footer */
294+ .footer {
295+ background-color : var (--text-dark );
296+ color : var (--white );
297+ padding : var (--spacing-xl ) 0 ;
298+ text-align : center;
299+ margin-top : var (--spacing-xxl );
300+ }
301+
302+ .footer p {
303+ color : var (--white );
304+ opacity : 0.8 ;
305+ font-size : 0.9rem ;
306+ }
307+
308+ .footer a {
309+ color : var (--accent-bronze-light );
310+ text-decoration : none;
311+ }
312+
313+ .footer a : hover {
314+ text-decoration : underline;
315+ }
316+
317+ /* Responsive design */
318+ @media (max-width : 768px ) {
319+ .docs-layout {
320+ grid-template-columns : 1fr ;
321+ gap : var (--spacing-lg );
322+ padding : var (--spacing-lg ) var (--spacing-sm );
323+ }
324+
325+ .sidebar {
326+ position : static;
327+ max-height : none;
328+ }
329+
330+ .header-content {
331+ flex-direction : column;
332+ text-align : center;
333+ }
334+
335+ .nav {
336+ gap : var (--spacing-md );
337+ flex-wrap : wrap;
338+ justify-content : center;
339+ }
340+
341+ h1 {
342+ font-size : 2rem ;
343+ }
344+
345+ h2 {
346+ font-size : 1.75rem ;
347+ }
348+ }
349+
350+ @media (max-width : 480px ) {
351+ .docs-content {
352+ padding : var (--spacing-lg );
353+ }
354+
355+ .nav {
356+ gap : var (--spacing-sm );
357+ }
358+
359+ .nav-link {
360+ padding : var (--spacing-xs );
361+ font-size : 0.9rem ;
362+ }
363+ }
364+
365+ /* Focus states for accessibility */
366+ .nav-link : focus ,
367+ .sidebar a : focus ,
368+ .logo : focus {
369+ outline : 2px solid var (--accent-bronze );
370+ outline-offset : 2px ;
371+ }
0 commit comments