public/style.css - git - Webernet Explorer _X
git 🏠 Home 👤 Sign up Self hosted git, retro shell
★ otgit, code hosting from the year 2000 ★
📄 octuna / public / style.css
324 lines · 8.3 KB · Raw
1/* otgit — Win98/IE5-era retro shell, ported from Octuna */
2:root {
3 --teal: #008080;
4 --silver: #c0c0c0;
5 --dark: #404040;
6 --navy: #000080;
7 --titlebar: linear-gradient(to right, #000080, #1084d0);
8 --link: #0000ee;
9 --visited: #551a8b;
10}
11 
12* { box-sizing: border-box; }
13html, body { margin: 0; padding: 0; }
14body {
15 background: var(--teal);
16 background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
17 background-size: 6px 6px;
18 font-family: Verdana, Geneva, sans-serif;
19 font-size: 12px;
20 color: #000;
21 min-height: 100vh;
22 display: flex;
23 flex-direction: column;
24 align-items: center;
25 justify-content: flex-start;
26 padding: 16px 8px;
27}
28 
29a { color: var(--link); }
30a:visited { color: #0004ff; }
31 
32/* Browser chrome */
33.browser {
34 width: 100%;
35 max-width: 1100px;
36 background: var(--silver);
37 border: 2px solid #fff;
38 border-right-color: var(--dark);
39 border-bottom-color: var(--dark);
40 box-shadow: 2px 2px 0 #000;
41}
42.titlebar {
43 background: var(--titlebar);
44 color: #fff;
45 font-family: Tahoma, sans-serif;
46 font-weight: bold;
47 padding: 3px 6px;
48 display: flex;
49 justify-content: space-between;
50 align-items: center;
51 user-select: none;
52}
53.titlebar .icons span {
54 display: inline-block;
55 width: 18px; height: 16px;
56 background: var(--silver);
57 color: #000;
58 text-align: center;
59 font-weight: bold;
60 border: 1px solid #fff;
61 border-right-color: var(--dark);
62 border-bottom-color: var(--dark);
63 margin-left: 2px;
64 line-height: 14px;
65 font-size: 10px;
66 font-family: Tahoma, sans-serif;
67}
68.address {
69 background: var(--silver);
70 padding: 4px 6px;
71 display: flex;
72 align-items: center;
73 gap: 6px;
74 border-bottom: 1px solid #808080;
75 font-family: Tahoma, sans-serif;
76}
77.address label { font-weight: bold; }
78.address .url {
79 flex: 1;
80 background: #fff;
81 border: 1px solid #808080;
82 border-right-color: #fff;
83 border-bottom-color: #fff;
84 padding: 3px 5px;
85 font-family: "Courier New", monospace;
86 font-size: 12px;
87 min-width: 0;
88}
89.address .go {
90 background: var(--silver);
91 border: 1px solid #fff;
92 border-right-color: var(--dark);
93 border-bottom-color: var(--dark);
94 padding: 3px 12px;
95 font-weight: bold;
96 cursor: pointer;
97 font-family: Tahoma, sans-serif;
98}
99.toolbar {
100 background: var(--silver);
101 padding: 8px;
102 display: flex;
103 align-items: center;
104 gap: 10px;
105 border-bottom: 1px solid #808080;
106 flex-wrap: wrap;
107 font-family: Tahoma, sans-serif;
108}
109.toolbar img.logo { width: 48px; height: 48px; }
110.toolbar .brand {
111 font-family: Tahoma, sans-serif;
112 font-weight: bold;
113 font-size: 20px;
114 color: var(--navy);
115 letter-spacing: 1px;
116}
117.toolbar .tagline {
118 margin-left: auto;
119 color: #ff00ff;
120 font-weight: bold;
121 font-size: 11px;
122}
123.marquee {
124 background: #000;
125 color: #ffff00;
126 font-weight: bold;
127 padding: 4px 6px;
128 border-bottom: 1px solid #808080;
129 overflow: hidden;
130 font-family: Tahoma, sans-serif;
131}
132 
133/* Layout */
134.layout {
135 display: grid;
136 grid-template-columns: 220px minmax(0, 1fr);
137 gap: 10px;
138 padding: 10px;
139}
140.layout main { min-width: 0; }
141.layout aside { min-width: 0; }
142@media (max-width: 760px) {
143 .layout { grid-template-columns: 1fr; }
144 .toolbar img.logo { width: 36px; height: 36px; }
145 .toolbar .brand { font-size: 16px; }
146}
147 
148/* Panels */
149.panel {
150 background: #fff;
151 border: 1px solid #808080;
152 margin-bottom: 10px;
153}
154.panel > .head {
155 background: var(--titlebar);
156 color: #fff;
157 font-family: Tahoma, sans-serif;
158 font-weight: bold;
159 padding: 4px 8px;
160 font-size: 12px;
161}
162.panel > .body { padding: 10px; }
163 
164/* Sidebar */
165.menu ul { list-style: none; padding: 6px 10px; margin: 0; }
166.menu li { padding: 3px 4px; }
167.menu li a { text-decoration: underline; }
168 
169/* Auth panel */
170.login-form { display: flex; flex-direction: column; gap: 6px; }
171.login-form label { font-weight: bold; font-family: Tahoma, sans-serif; }
172.login-form input { width: 100%; }
173.login-msg, .form-msg { color: #c00; font-size: 11px; min-height: 14px; }
174.logged-in { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
175.logged-in code { background: #ffffcc; padding: 1px 4px; border: 1px solid #c0c0c0; }
176 
177/* Buttons */
178button, .btn {
179 background: var(--silver);
180 border: 1px solid #fff;
181 border-right-color: var(--dark);
182 border-bottom-color: var(--dark);
183 padding: 6px 14px;
184 font-family: Tahoma, sans-serif;
185 font-size: 12px;
186 cursor: pointer;
187 font-weight: bold;
188 color: #000;
189 text-decoration: none;
190 display: inline-block;
191}
192button:active, .btn:active { border-color: var(--dark) #fff #fff var(--dark); }
193button:disabled, .btn:disabled { color: #888; cursor: not-allowed; }
194.btn-danger {
195 background: #ffd0d0;
196 border-color: #fff #c00 #c00 #fff;
197 color: #800;
198}
199 
200/* Inputs */
201input[type="text"], input[type="password"], select, textarea {
202 border: 1px solid #808080;
203 border-right-color: #fff;
204 border-bottom-color: #fff;
205 background: #fff;
206 padding: 4px 6px;
207 font-family: Verdana, sans-serif;
208 font-size: 12px;
209}
210 
211/* Tables */
212table.retro {
213 width: 100%;
214 border-collapse: collapse;
215 background: #fff;
216 font-family: Verdana, sans-serif;
217}
218table.retro th {
219 background: var(--silver);
220 border: 1px solid #fff;
221 border-right-color: var(--dark);
222 border-bottom-color: var(--dark);
223 text-align: left;
224 padding: 5px;
225 font-family: Tahoma, sans-serif;
226}
227table.retro td {
228 border: 1px solid var(--silver);
229 padding: 5px;
230 vertical-align: middle;
231}
232 
233/* Hero */
234.hero { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
235.hero img.bigLogo {
236 width: 96px; height: 96px;
237 background: #fff; padding: 4px; flex-shrink: 0;
238}
239.hero h1 { margin: 0 0 4px; font-family: Tahoma, sans-serif; font-size: 24px; color: var(--navy); }
240 
241/* Repo cards */
242.repo-card { padding: 8px 0; border-bottom: 1px solid var(--silver); }
243.repo-card:last-child { border-bottom: none; }
244.repo-card-name { font-weight: bold; margin-bottom: 2px; }
245.repo-card-desc { color: #444; margin-bottom: 2px; }
246.repo-card-meta { font-size: 11px; color: #888; }
247.vis-badge {
248 display: inline-block;
249 font-size: 10px;
250 padding: 1px 5px;
251 border: 1px solid #aaa;
252 background: #f0f0f0;
253 font-family: Tahoma, sans-serif;
254 font-weight: normal;
255 margin-left: 4px;
256 vertical-align: middle;
257 text-transform: uppercase;
258}
259.vis-badge.private { border-color: #c00; background: #fff0f0; color: #c00; }
260 
261/* Forms */
262.auth-form { display: flex; flex-direction: column; gap: 6px; max-width: 360px; }
263.auth-form label { font-weight: bold; font-family: Tahoma, sans-serif; }
264.auth-form input[type="text"], .auth-form input[type="password"] { width: 100%; }
265 
266/* Repo meta row */
267.repo-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
268.clone-box { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
269.clone-box .url { flex: 1; font-size: 11px; }
270 
271/* README */
272.readme-body { padding: 10px; background: #fff; border-top: 1px solid var(--silver); }
273.readme-body h1, .readme-body h2, .readme-body h3 { color: var(--navy); }
274.readme-body code { background: #ffffcc; padding: 1px 4px; border: 1px solid #ddd; }
275.readme-body pre { background: #f8f8f8; border: 1px solid #ddd; padding: 8px; overflow-x: auto; }
276.readme-body pre code { background: none; border: none; padding: 0; }
277.readme-body a { color: var(--link); }
278 
279/* Footer */
280.footer {
281 text-align: center;
282 font-size: 11px;
283 padding: 10px;
284 border-top: 1px solid #808080;
285 background: var(--silver);
286 font-family: Tahoma, sans-serif;
287}
288.footer .links { margin: 4px 0; }
289.spin3d {
290 display: inline-block;
291 font-family: Tahoma, sans-serif;
292 font-weight: bold;
293 font-size: 20px;
294 background: linear-gradient(180deg, #ff00aa, #00d4ff);
295 -webkit-background-clip: text;
296 background-clip: text;
297 color: transparent;
298 animation: spin3d 4s linear infinite;
299}
300@keyframes spin3d {
301 0% { transform: perspective(120px) rotateY(0deg); }
302 100% { transform: perspective(120px) rotateY(360deg); }
303}
304.footer .brand-spin { display: block; margin: 6px auto 4px; }
305 
306/* Statusbar */
307.statusbar {
308 background: var(--silver);
309 border-top: 1px solid #fff;
310 padding: 3px 6px;
311 font-size: 11px;
312 display: flex;
313 justify-content: space-between;
314 font-family: Tahoma, sans-serif;
315}
316 
317/* Pager */
318.pager { display: flex; gap: 12px; padding: 8px 0 0; }
319 
320h1, h2, h3 { margin: 4px 0; font-family: Tahoma, sans-serif; }
321hr { border: none; border-top: 1px dashed #808080; margin: 10px 0; }
322code { font-family: "Courier New", monospace; }
323.docs h3 { margin-top: 12px; color: var(--navy); }
324 
Done 🔒 Internet