aiblueprint-cli 1.4.74 → 1.4.76

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,366 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Split Auth Style Demo</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
10
+ <style>
11
+ :root {
12
+ --bg:#ffffff;
13
+ --fg:#111216;
14
+ --muted:#747884;
15
+ --border:#dedfe5;
16
+ --soft:#f7f7f8;
17
+ --primary:#126fe0;
18
+ --primary-hover:#0f61c6;
19
+ --black:#050506;
20
+ --white:#ffffff;
21
+ }
22
+
23
+ * { box-sizing:border-box; margin:0; padding:0; }
24
+ html { -webkit-text-size-adjust:100%; }
25
+ body {
26
+ min-height:100vh;
27
+ font-family:Inter, ui-sans-serif, system-ui, sans-serif;
28
+ color:var(--fg);
29
+ background:var(--bg);
30
+ line-height:1.5;
31
+ -webkit-font-smoothing:antialiased;
32
+ }
33
+ button, input { font:inherit; }
34
+ a { color:inherit; }
35
+
36
+ .shell {
37
+ min-height:100vh;
38
+ display:grid;
39
+ grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);
40
+ }
41
+
42
+ .visual {
43
+ position:relative;
44
+ min-height:100vh;
45
+ overflow:hidden;
46
+ background:#030306;
47
+ color:var(--white);
48
+ }
49
+ .visual::before {
50
+ content:"";
51
+ position:absolute;
52
+ inset:-12%;
53
+ background:
54
+ radial-gradient(circle at 65% 38%, rgba(255,255,255,.30), transparent 9%),
55
+ radial-gradient(circle at 28% 70%, rgba(126,158,255,.32), transparent 10%),
56
+ linear-gradient(125deg, transparent 0 34%, rgba(255,255,255,.18) 46%, transparent 58%),
57
+ linear-gradient(150deg, transparent 0 42%, rgba(155,177,255,.20) 52%, transparent 66%),
58
+ #030306;
59
+ filter:blur(.2px) contrast(115%);
60
+ }
61
+ .visual::after {
62
+ content:"";
63
+ position:absolute;
64
+ inset:0;
65
+ background:
66
+ radial-gradient(circle at 20% 18%, rgba(255,255,255,.14), transparent 28%),
67
+ linear-gradient(180deg, rgba(4,6,12,.1), rgba(4,6,12,.86));
68
+ }
69
+ .visual-inner {
70
+ position:relative;
71
+ z-index:1;
72
+ min-height:100vh;
73
+ display:flex;
74
+ flex-direction:column;
75
+ justify-content:space-between;
76
+ padding:64px;
77
+ }
78
+
79
+ .brand {
80
+ display:flex;
81
+ align-items:center;
82
+ gap:12px;
83
+ width:max-content;
84
+ text-decoration:none;
85
+ font-size:20px;
86
+ font-weight:700;
87
+ }
88
+ .mark {
89
+ width:44px;
90
+ height:44px;
91
+ border:1px solid rgba(255,255,255,.22);
92
+ border-radius:14px;
93
+ display:grid;
94
+ place-items:center;
95
+ background:rgba(255,255,255,.10);
96
+ backdrop-filter:blur(18px);
97
+ box-shadow:0 16px 48px rgba(0,0,0,.26);
98
+ }
99
+ .mark svg { width:22px; height:22px; }
100
+
101
+ .story {
102
+ max-width:610px;
103
+ }
104
+ .story h1 {
105
+ max-width:10ch;
106
+ font-size:clamp(52px,5.5vw,82px);
107
+ line-height:1.01;
108
+ letter-spacing:-.05em;
109
+ font-weight:800;
110
+ }
111
+ .story p {
112
+ margin-top:26px;
113
+ max-width:510px;
114
+ color:rgba(255,255,255,.72);
115
+ font-size:19px;
116
+ line-height:1.7;
117
+ }
118
+ .visual-foot {
119
+ color:rgba(255,255,255,.45);
120
+ font-size:14px;
121
+ }
122
+
123
+ .auth {
124
+ min-height:100vh;
125
+ display:flex;
126
+ flex-direction:column;
127
+ background:var(--bg);
128
+ }
129
+ .topbar {
130
+ display:flex;
131
+ justify-content:space-between;
132
+ align-items:center;
133
+ padding:32px 40px;
134
+ }
135
+ .mobile-brand {
136
+ display:none;
137
+ align-items:center;
138
+ gap:10px;
139
+ font-size:20px;
140
+ font-weight:700;
141
+ }
142
+ .mobile-brand .mark {
143
+ width:32px;
144
+ height:32px;
145
+ color:var(--fg);
146
+ border-color:var(--border);
147
+ background:var(--soft);
148
+ box-shadow:none;
149
+ }
150
+ .icon-button {
151
+ width:32px;
152
+ height:32px;
153
+ border:0;
154
+ border-radius:999px;
155
+ background:transparent;
156
+ color:var(--fg);
157
+ cursor:pointer;
158
+ }
159
+ .center {
160
+ flex:1;
161
+ display:flex;
162
+ align-items:center;
163
+ justify-content:center;
164
+ padding:20px 40px 72px;
165
+ }
166
+ .card {
167
+ width:100%;
168
+ max-width:420px;
169
+ }
170
+ .eyebrow {
171
+ color:var(--primary);
172
+ font-size:14px;
173
+ font-weight:700;
174
+ margin-bottom:12px;
175
+ }
176
+ .card h2 {
177
+ font-size:32px;
178
+ line-height:1.15;
179
+ letter-spacing:-.03em;
180
+ font-weight:750;
181
+ }
182
+ .sub {
183
+ margin-top:12px;
184
+ color:var(--muted);
185
+ font-size:15px;
186
+ line-height:1.65;
187
+ }
188
+ .form {
189
+ display:grid;
190
+ gap:16px;
191
+ margin-top:32px;
192
+ }
193
+ label {
194
+ display:grid;
195
+ gap:8px;
196
+ font-size:14px;
197
+ font-weight:650;
198
+ }
199
+ input {
200
+ height:44px;
201
+ width:100%;
202
+ border:1px solid var(--border);
203
+ border-radius:10px;
204
+ background:var(--bg);
205
+ color:var(--fg);
206
+ padding:0 14px;
207
+ outline:none;
208
+ transition:border-color .18s ease, box-shadow .18s ease;
209
+ }
210
+ input:focus {
211
+ border-color:rgba(18,111,224,.7);
212
+ box-shadow:0 0 0 3px rgba(18,111,224,.14);
213
+ }
214
+ .primary {
215
+ height:44px;
216
+ border:0;
217
+ border-radius:10px;
218
+ background:var(--primary);
219
+ color:var(--white);
220
+ font-weight:750;
221
+ cursor:pointer;
222
+ }
223
+ .primary:hover { background:var(--primary-hover); }
224
+
225
+ .divider {
226
+ display:flex;
227
+ align-items:center;
228
+ gap:24px;
229
+ margin:24px 0;
230
+ color:var(--fg);
231
+ font-size:15px;
232
+ }
233
+ .divider::before,
234
+ .divider::after {
235
+ content:"";
236
+ height:1px;
237
+ flex:1;
238
+ background:var(--border);
239
+ }
240
+
241
+ .socials {
242
+ display:grid;
243
+ gap:12px;
244
+ }
245
+ .social {
246
+ height:44px;
247
+ display:flex;
248
+ align-items:center;
249
+ justify-content:center;
250
+ gap:10px;
251
+ border:1px solid var(--black);
252
+ border-radius:10px;
253
+ background:var(--black);
254
+ color:var(--white);
255
+ font-weight:750;
256
+ cursor:pointer;
257
+ }
258
+ .social svg {
259
+ width:17px;
260
+ height:17px;
261
+ color:var(--white);
262
+ }
263
+ .switch {
264
+ margin-top:34px;
265
+ color:var(--muted);
266
+ font-size:14px;
267
+ text-align:center;
268
+ }
269
+ .switch a {
270
+ color:var(--fg);
271
+ font-weight:750;
272
+ }
273
+
274
+ @media (max-width:980px) {
275
+ .shell { grid-template-columns:1fr; }
276
+ .visual { display:none; }
277
+ .topbar { padding:20px; }
278
+ .mobile-brand { display:flex; }
279
+ .center {
280
+ align-items:flex-start;
281
+ padding:82px 20px 44px;
282
+ }
283
+ .card { max-width:100%; }
284
+ }
285
+ @media (max-width:430px) {
286
+ .center { padding-top:68px; }
287
+ .card h2 { font-size:30px; }
288
+ }
289
+ </style>
290
+ </head>
291
+ <body>
292
+ <main class="shell">
293
+ <section class="visual" aria-label="Brand panel">
294
+ <div class="visual-inner">
295
+ <a class="brand" href="#">
296
+ <span class="mark" aria-hidden="true">
297
+ <svg viewBox="0 0 24 24" fill="none">
298
+ <path d="M5 6h14M5 12h14M5 18h8" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" />
299
+ </svg>
300
+ </span>
301
+ Product
302
+ </a>
303
+
304
+ <div class="story">
305
+ <h1>The calmer way to get back to work.</h1>
306
+ <p>Secure access for teams that want speed, clarity, and fewer distractions.</p>
307
+ </div>
308
+
309
+ <p class="visual-foot">Product</p>
310
+ </div>
311
+ </section>
312
+
313
+ <section class="auth">
314
+ <header class="topbar">
315
+ <div class="mobile-brand">
316
+ <span class="mark" aria-hidden="true">
317
+ <svg viewBox="0 0 24 24" fill="none">
318
+ <path d="M5 6h14M5 12h14M5 18h8" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" />
319
+ </svg>
320
+ </span>
321
+ Product
322
+ </div>
323
+ <button class="icon-button" type="button" aria-label="Toggle theme">☼</button>
324
+ </header>
325
+
326
+ <div class="center">
327
+ <div class="card">
328
+ <p class="eyebrow">Welcome back</p>
329
+ <h2>Sign in to Product</h2>
330
+ <p class="sub">Use your email code or continue with a connected provider.</p>
331
+
332
+ <form class="form">
333
+ <label>
334
+ Email
335
+ <input type="email" value="you@example.com" autocomplete="email" />
336
+ </label>
337
+ <button class="primary" type="button">Send code</button>
338
+ </form>
339
+
340
+ <div class="divider">or</div>
341
+
342
+ <div class="socials">
343
+ <button class="social" type="button">
344
+ <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
345
+ <path d="M12 .5A12 12 0 0 0 8.2 23.9c.6.1.8-.3.8-.6v-2.1c-3.3.7-4-1.4-4-1.4-.5-1.3-1.3-1.7-1.3-1.7-1-.7.1-.7.1-.7 1.2.1 1.9 1.3 1.9 1.3 1 .1.7 2.9 2.7 3.6-.3.1-.8.4-1 .8-.9-2.6-3.7-1.3-3.7-6 0-1.3.5-2.4 1.3-3.3-.1-.3-.6-1.7.1-3.4 0 0 1-.3 3.4 1.2a11.8 11.8 0 0 1 6.2 0C18 5.2 19 5.5 19 5.5c.7 1.7.2 3.1.1 3.4.8.9 1.3 2 1.3 3.3 0 4.8-2.9 5.8-5.6 6.1.5.4.9 1.2.9 2.4v3.6c0 .3.2.7.9.6A12 12 0 0 0 12 .5Z"/>
346
+ </svg>
347
+ Sign in with GitHub
348
+ </button>
349
+ <button class="social" type="button">
350
+ <svg viewBox="0 0 256 262" fill="currentColor" aria-hidden="true">
351
+ <path d="M255.9 133.5c0-10.7-.9-18.6-2.8-26.7H130.6v48.4h71.9c-1.5 12-9.3 30.2-26.7 42.4l-.2 1.6 38.8 30 2.7.3c24.6-22.8 38.8-56.3 38.8-96Z"/>
352
+ <path d="M130.6 261.1c35.2 0 64.8-11.6 86.4-31.6l-41.2-31.9c-11 7.7-25.8 13.1-45.2 13.1-34.5 0-63.8-22.8-74.3-54.3l-1.5.1-40.3 31.2-.5 1.5c21.5 42.6 65.6 71.9 116.6 71.9Z"/>
353
+ <path d="M56.3 156.4a80.4 80.4 0 0 1-.1-51.7l-.1-1.7-40.8-31.7-1.3.6A130 130 0 0 0 0 130.6c0 21 5.1 40.9 14 58.6l42.3-32.8Z"/>
354
+ <path d="M130.6 50.5c24.5 0 41 10.6 50.4 19.4l36.9-36C195.2 12.9 165.8 0 130.6 0 79.5 0 35.4 29.3 14 71.9l42.1 32.8c10.6-31.5 39.9-54.2 74.5-54.2Z"/>
355
+ </svg>
356
+ Sign in with Google
357
+ </button>
358
+ </div>
359
+
360
+ <p class="switch">No account yet? <a href="#">Create one</a></p>
361
+ </div>
362
+ </div>
363
+ </section>
364
+ </main>
365
+ </body>
366
+ </html>