forked from
danielmorrisey.com/mbd-pds
The HTML files displayed at mbdio.uk
mbdio.uk
1
2 :root {
3 --primary: #f45454;
4 --primary-hover: #f48954;
5 --bg-dark: #0d0d0d;
6 --card-bg: #1a1a1a;
7 --text-main: #f0f0f0;
8 --text-muted: #999;
9 --input-bg: #252525;
10 --border: #333;
11 }
12
13 * {
14 box-sizing: border-box;
15 margin: 0;
16 padding: 0;
17 }
18
19 body {
20 background-color: var(--bg-dark);
21 color: var(--text-main);
22 font-family: 'Inter', system-ui, -apple-system, sans-serif;
23 display: flex;
24 align-items: center;
25 justify-content: center;
26 min-height: 100vh;
27 padding: 1.5rem;
28 }
29
30 .container {
31 max-width: 450px;
32 width: 100%;
33 background: var(--card-bg);
34 border-radius: 16px;
35 padding: 2.5rem;
36 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
37 border: 1px solid var(--border);
38 }
39
40 h1 {
41 color: #fff;
42 margin-bottom: 0.5rem;
43 font-size: 1.8rem;
44 font-weight: 600;
45 letter-spacing: -0.5px;
46 }
47
48 .subtitle {
49 color: var(--text-muted);
50 margin-bottom: 2rem;
51 font-size: 0.95rem;
52 line-height: 1.4;
53 }
54
55 .form-group {
56 margin-bottom: 1.25rem;
57 }
58
59 label {
60 display: block;
61 margin-bottom: 0.5rem;
62 color: #ccc;
63 font-size: 0.85rem;
64 font-weight: 500;
65 text-transform: uppercase;
66 letter-spacing: 0.5px;
67 }
68
69 /* Combined Handle/Domain Input */
70 .handle-group {
71 display: flex;
72 align-items: center;
73 background: var(--input-bg);
74 border: 1px solid var(--border);
75 border-radius: 8px;
76 overflow: hidden;
77 transition: border-color 0.2s, box-shadow 0.2s;
78 }
79
80 .handle-group:focus-within {
81 border-color: var(--primary);
82 box-shadow: 0 0 0 2px rgba(78, 170, 255, 0.2);
83 }
84
85 .at-symbol {
86 padding-left: 0.75rem;
87 color: var(--text-muted);
88 font-weight: 500;
89 }
90
91 input[type="text"],
92 input[type="email"],
93 input[type="password"],
94 select {
95 width: 100%;
96 padding: 0.8rem;
97 background: var(--input-bg);
98 border: 1px solid var(--border);
99 border-radius: 8px;
100 color: #fff;
101 font-size: 1rem;
102 font-family: inherit;
103 transition: all 0.2s;
104 }
105
106 /* Overrides for handle layout */
107 .handle-group input {
108 border: none !important;
109 flex: 1;
110 padding-left: 0.5rem;
111 }
112
113 .handle-group select {
114 border: none !important;
115 width: auto;
116 background: #333;
117 cursor: pointer;
118 border-left: 1px solid var(--border) !important;
119 border-radius: 0;
120 padding: 0 0.5rem;
121 font-size: 0.85rem;
122 }
123
124 input:focus {
125 outline: none;
126 border-color: var(--primary);
127 box-shadow: 0 0 0 2px rgba(78, 170, 255, 0.2);
128 }
129
130 .helper-text {
131 font-size: 0.75rem;
132 color: var(--text-muted);
133 margin-top: 0.4rem;
134 }
135
136 button[type="submit"] {
137 width: 100%;
138 padding: 1rem;
139 margin-top: 1rem;
140 background: var(--primary);
141 color: #fff;
142 border: none;
143 border-radius: 8px;
144 font-size: 1rem;
145 font-weight: 600;
146 cursor: pointer;
147 transition: transform 0.1s, background 0.2s;
148 }
149
150 button[type="submit"]:hover {
151 background: var(--primary-hover);
152 }
153
154 button[type="submit"]:active {
155 transform: scale(0.98);
156 }
157
158 button:disabled {
159 background: #444;
160 color: #777;
161 cursor: not-allowed;
162 }
163
164 /* Status Messages */
165 .alert {
166 padding: 1rem;
167 border-radius: 8px;
168 margin-bottom: 1.5rem;
169 font-size: 0.9rem;
170 display: none;
171 line-height: 1.4;
172 }
173 .error { background: rgba(255, 68, 68, 0.15); color: #ff6b6b; border: 1px solid #ff4444; }
174 .success { background: rgba(68, 255, 68, 0.1); color: #44ff44; border: 1px solid #44ff44; }
175
176 .back-link {
177 text-align: center;
178 margin-top: 2rem;
179 }
180
181 .back-link a {
182 color: var(--text-muted);
183 text-decoration: none;
184 font-size: 0.85rem;
185 transition: color 0.2s;
186 }
187
188 .back-link a:hover {
189 color: var(--primary);
190 }
191
192 .loading-spinner {
193 display: none;
194 margin: 1rem auto 0;
195 width: 20px;
196 height: 20px;
197 border: 3px solid rgba(78, 170, 255, 0.3);
198 border-radius: 50%;
199 border-top-color: var(--primary);
200 animation: spin 1s ease-in-out infinite;
201 }
202
203 @keyframes spin { to { transform: rotate(360deg); } }