@24vlh/vds 0.1.8 → 0.1.10

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,989 @@
1
+ /**
2
+ * VLAH DESIGN SYSTEM (VDS) - Guidance
3
+ *
4
+ * Responsibilities:
5
+ * - Provide education + instruction blocks for scanning and comprehension
6
+ * - Keep guidance tone light, structured, and easy to skim
7
+ * - Offer flexible layouts: panels, strips, cards, steps, scope, checklists
8
+ *
9
+ * System Notes:
10
+ * - Token-driven (spacing, radii, borders, typography, motion)
11
+ * - Theme-aware; semantic variants supported
12
+ * - No JS assumptions; structure is fully HTML + CSS
13
+ */
14
+
15
+ /* ---------------------------------------------------------
16
+ 1. TOKENS
17
+ --------------------------------------------------------- */
18
+
19
+ [data-vds-guidance],
20
+ .vds-guidance {
21
+ --guidance-padding-sm: var(--space-3);
22
+ --guidance-padding-md: var(--space-4);
23
+ --guidance-padding-lg: var(--space-6);
24
+ --guidance-gap: var(--space-3);
25
+ --guidance-radius: var(--radius-md);
26
+ --guidance-border-width: var(--border-width-strong);
27
+ --guidance-shadow: var(--shadow-xs);
28
+ }
29
+
30
+ :where(.guidance,
31
+ .guidance-card,
32
+ .guidance-strip,
33
+ .guidance-step,
34
+ .guidance-field,
35
+ .guidance-scope__item,
36
+ .guidance-brief,
37
+ .guidance-row,
38
+ .guidance-compare__item,
39
+ .guidance-stat) {
40
+ --guidance-bg: var(--color-surface);
41
+ --guidance-outline: var(--color-border-subtle);
42
+ --guidance-rail: var(--color-accent);
43
+ --guidance-tint: var(--color-surface-subtle);
44
+ --guidance-text: var(--color-text);
45
+ --guidance-title: var(--color-text);
46
+ --guidance-muted: var(--color-text-muted);
47
+ --guidance-icon: var(--color-accent);
48
+ --guidance-on: var(--color-on-accent);
49
+ color: var(--guidance-text);
50
+ }
51
+
52
+ /* Semantic variants (shared) */
53
+
54
+ :where(.guidance,
55
+ .guidance-card,
56
+ .guidance-strip,
57
+ .guidance-step,
58
+ .guidance-field,
59
+ .guidance-scope__item,
60
+ .guidance-brief,
61
+ .guidance-row,
62
+ .guidance-compare__item,
63
+ .guidance-stat)[data-variant="info"] {
64
+ --guidance-rail: var(--semantic-info-border-strong, var(--color-info));
65
+ --guidance-icon: var(--semantic-info-border-strong, var(--color-info));
66
+ --guidance-tint: var(--semantic-info-bg-strong, var(--color-info-soft));
67
+ }
68
+
69
+ :where(.guidance,
70
+ .guidance-card,
71
+ .guidance-strip,
72
+ .guidance-step,
73
+ .guidance-field,
74
+ .guidance-scope__item,
75
+ .guidance-brief,
76
+ .guidance-row,
77
+ .guidance-compare__item,
78
+ .guidance-stat)[data-variant="success"] {
79
+ --guidance-rail: var(--semantic-success-border-strong, var(--color-success));
80
+ --guidance-icon: var(--semantic-success-border-strong, var(--color-success));
81
+ --guidance-tint: var(--semantic-success-bg-strong, var(--color-success-soft));
82
+ }
83
+
84
+ :where(.guidance,
85
+ .guidance-card,
86
+ .guidance-strip,
87
+ .guidance-step,
88
+ .guidance-field,
89
+ .guidance-scope__item,
90
+ .guidance-brief,
91
+ .guidance-row,
92
+ .guidance-compare__item,
93
+ .guidance-stat)[data-variant="warning"] {
94
+ --guidance-rail: var(--semantic-warning-border-strong, var(--color-warning));
95
+ --guidance-icon: var(--semantic-warning-border-strong, var(--color-warning));
96
+ --guidance-tint: var(--semantic-warning-bg-strong, var(--color-warning-soft));
97
+ }
98
+
99
+ :where(.guidance,
100
+ .guidance-card,
101
+ .guidance-strip,
102
+ .guidance-step,
103
+ .guidance-field,
104
+ .guidance-scope__item,
105
+ .guidance-brief,
106
+ .guidance-row,
107
+ .guidance-compare__item,
108
+ .guidance-stat)[data-variant="danger"] {
109
+ --guidance-rail: var(--semantic-error-border-strong, var(--color-danger));
110
+ --guidance-icon: var(--semantic-error-border-strong, var(--color-danger));
111
+ --guidance-tint: var(--semantic-error-bg-strong, var(--color-danger-soft));
112
+ }
113
+
114
+ :where(.guidance,
115
+ .guidance-card,
116
+ .guidance-strip,
117
+ .guidance-step,
118
+ .guidance-field,
119
+ .guidance-scope__item,
120
+ .guidance-brief,
121
+ .guidance-row,
122
+ .guidance-compare__item,
123
+ .guidance-stat)[data-variant="accent"] {
124
+ --guidance-rail: var(--color-accent);
125
+ --guidance-icon: var(--color-accent);
126
+ --guidance-tint: var(--color-accent-soft);
127
+ }
128
+
129
+ :where(.guidance,
130
+ .guidance-card,
131
+ .guidance-strip,
132
+ .guidance-step,
133
+ .guidance-field,
134
+ .guidance-scope__item,
135
+ .guidance-brief,
136
+ .guidance-row,
137
+ .guidance-compare__item,
138
+ .guidance-stat)[data-variant="neutral"] {
139
+ --guidance-rail: var(--color-border-strong);
140
+ --guidance-icon: var(--color-text-muted);
141
+ --guidance-tint: var(--color-muted-bg);
142
+ }
143
+
144
+ /* ---------------------------------------------------------
145
+ 2. GUIDANCE PANEL (DO / DO NOT / HOW / WHY)
146
+ --------------------------------------------------------- */
147
+
148
+ .guidance {
149
+ position: relative;
150
+ display: flex;
151
+ flex-direction: column;
152
+ gap: var(--space-2);
153
+
154
+ padding: var(--guidance-padding-md, var(--space-4)) var(--guidance-padding-lg, var(--space-6));
155
+ border: 1px solid var(--guidance-outline);
156
+ border-left: var(--guidance-border-width) solid var(--guidance-rail);
157
+ border-radius: var(--radius-md);
158
+ background-color: var(--guidance-bg);
159
+ box-shadow: var(--guidance-shadow);
160
+ font-size: var(--text-sm);
161
+ line-height: 1.4;
162
+ line-height: var(--line-height-relaxed, 1.4);
163
+ }
164
+
165
+ .guidance--compact {
166
+ padding: var(--guidance-padding-sm, var(--space-3)) var(--guidance-padding-md, var(--space-4));
167
+ }
168
+
169
+ .guidance--tint {
170
+ background-color: var(--guidance-tint);
171
+ }
172
+
173
+ .guidance__header {
174
+ display: flex;
175
+ align-items: flex-start;
176
+ gap: var(--space-2);
177
+ }
178
+
179
+ .guidance__icon {
180
+ width: var(--space-5);
181
+ height: var(--space-5);
182
+ flex-shrink: 0;
183
+
184
+ display: flex;
185
+ align-items: center;
186
+ justify-content: center;
187
+ color: var(--guidance-icon);
188
+ }
189
+
190
+ .guidance__title {
191
+ font-weight: 600;
192
+ font-size: var(--text-md);
193
+ line-height: 1.2;
194
+ line-height: var(--line-height-tight, 1.2);
195
+ color: var(--guidance-title);
196
+ }
197
+
198
+ .guidance__meta {
199
+ font-size: var(--text-xs);
200
+ color: var(--guidance-muted);
201
+ }
202
+
203
+ .guidance__tag {
204
+ display: inline-flex;
205
+ align-items: center;
206
+ gap: var(--space-1);
207
+ padding: 0 var(--space-2);
208
+ border-radius: var(--radius-pill);
209
+ border: 1px solid var(--guidance-outline);
210
+ background: var(--color-surface-subtle);
211
+ color: var(--guidance-muted);
212
+ font-size: var(--text-xxs);
213
+ text-transform: uppercase;
214
+ letter-spacing: 0.08em;
215
+ white-space: nowrap;
216
+ }
217
+
218
+ .guidance__body {
219
+ font-size: var(--text-sm);
220
+ color: var(--guidance-text);
221
+ }
222
+
223
+ .guidance__list {
224
+ list-style: none;
225
+ margin: 0;
226
+ padding: 0;
227
+ display: grid;
228
+ grid-gap: var(--space-1);
229
+ gap: var(--space-1);
230
+ }
231
+
232
+ .guidance__list li {
233
+ position: relative;
234
+ padding-left: var(--space-4);
235
+ }
236
+
237
+ .guidance__list li::before {
238
+ content: "";
239
+ position: absolute;
240
+ width: 0.4rem;
241
+ height: 0.4rem;
242
+ border-radius: var(--radius-full);
243
+ background-color: var(--guidance-rail);
244
+ left: 0;
245
+ top: 0.35rem;
246
+ }
247
+
248
+ .guidance__footer {
249
+ display: flex;
250
+ flex-wrap: wrap;
251
+ gap: var(--space-2);
252
+ align-items: center;
253
+ }
254
+
255
+ .guidance--do {
256
+ --guidance-rail: var(--semantic-success-border-strong, var(--color-success));
257
+ --guidance-icon: var(--semantic-success-border-strong, var(--color-success));
258
+ --guidance-tint: var(--semantic-success-bg-strong, var(--color-success-soft));
259
+ }
260
+
261
+ .guidance--dont {
262
+ --guidance-rail: var(--semantic-error-border-strong, var(--color-danger));
263
+ --guidance-icon: var(--semantic-error-border-strong, var(--color-danger));
264
+ --guidance-tint: var(--semantic-error-bg-strong, var(--color-danger-soft));
265
+ }
266
+
267
+ .guidance--how {
268
+ --guidance-rail: var(--semantic-info-border-strong, var(--color-info));
269
+ --guidance-icon: var(--semantic-info-border-strong, var(--color-info));
270
+ --guidance-tint: var(--semantic-info-bg-strong, var(--color-info-soft));
271
+ }
272
+
273
+ .guidance--why {
274
+ --guidance-rail: var(--color-accent);
275
+ --guidance-icon: var(--color-accent);
276
+ --guidance-tint: var(--color-accent-soft);
277
+ }
278
+
279
+ .guidance--expect {
280
+ --guidance-rail: var(--semantic-warning-border-strong, var(--color-warning));
281
+ --guidance-icon: var(--semantic-warning-border-strong, var(--color-warning));
282
+ --guidance-tint: var(--semantic-warning-bg-strong, var(--color-warning-soft));
283
+ }
284
+
285
+ .guidance--recommend {
286
+ --guidance-rail: var(--color-border-strong);
287
+ --guidance-icon: var(--color-text);
288
+ --guidance-tint: var(--color-surface-subtle);
289
+ }
290
+
291
+ /* ---------------------------------------------------------
292
+ 3. GUIDANCE GRID
293
+ --------------------------------------------------------- */
294
+
295
+ .guidance-grid {
296
+ display: grid;
297
+ grid-gap: var(--space-3);
298
+ gap: var(--space-3);
299
+ grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
300
+ }
301
+
302
+ /* ---------------------------------------------------------
303
+ 4. GUIDANCE CARD (EDUCATION BLOCK)
304
+ --------------------------------------------------------- */
305
+
306
+ .guidance-card {
307
+ display: flex;
308
+ flex-direction: column;
309
+ gap: var(--space-2);
310
+ padding: var(--guidance-padding-md, var(--space-4));
311
+ border: 1px solid var(--guidance-outline);
312
+ border-radius: var(--guidance-radius);
313
+ background-color: var(--guidance-bg);
314
+ box-shadow: var(--guidance-shadow);
315
+ }
316
+
317
+ .guidance-card--tint {
318
+ background-color: var(--guidance-tint);
319
+ }
320
+
321
+ .guidance-card--rail {
322
+ border-left: var(--guidance-border-width) solid var(--guidance-rail);
323
+ }
324
+
325
+ .guidance-card__eyebrow {
326
+ font-size: var(--text-xs);
327
+ letter-spacing: 0.08em;
328
+ text-transform: uppercase;
329
+ color: var(--guidance-muted);
330
+ }
331
+
332
+ .guidance-card__title {
333
+ font-weight: 600;
334
+ font-size: var(--text-md);
335
+ color: var(--guidance-title);
336
+ }
337
+
338
+ .guidance-card__body {
339
+ font-size: var(--text-sm);
340
+ }
341
+
342
+ .guidance-card__footer {
343
+ display: flex;
344
+ align-items: center;
345
+ gap: var(--space-2);
346
+ color: var(--guidance-muted);
347
+ font-size: var(--text-xs);
348
+ }
349
+
350
+ /* ---------------------------------------------------------
351
+ 5. GUIDANCE STRIP (INLINE CALLOUT)
352
+ --------------------------------------------------------- */
353
+
354
+ .guidance-strip {
355
+ position: relative;
356
+ display: grid;
357
+ grid-template-columns: auto 1fr auto;
358
+ grid-gap: var(--space-3);
359
+ gap: var(--space-3);
360
+ align-items: start;
361
+ padding: var(--guidance-padding-sm, var(--space-3)) var(--guidance-padding-md, var(--space-4));
362
+ padding-left: calc(var(--guidance-padding-md, var(--space-4)) + var(--space-1));
363
+ border: 1px solid var(--guidance-outline);
364
+ border-radius: var(--radius-md);
365
+ background-color: var(--guidance-bg);
366
+ }
367
+
368
+ .guidance-strip::before {
369
+ content: "";
370
+ position: absolute;
371
+ top: 0;
372
+ right: auto;
373
+ bottom: 0;
374
+ left: 0;
375
+ width: 4px;
376
+ background: var(--guidance-rail);
377
+ }
378
+
379
+ .guidance-strip--tint {
380
+ background-color: var(--guidance-tint);
381
+ }
382
+
383
+ .guidance-strip__label {
384
+ display: inline-flex;
385
+ align-items: center;
386
+ gap: var(--space-1);
387
+ padding: 0 var(--space-2);
388
+ border-radius: var(--radius-pill);
389
+ border: 1px solid var(--guidance-rail);
390
+ background-color: var(--color-surface);
391
+ font-size: var(--text-xs);
392
+ text-transform: uppercase;
393
+ letter-spacing: 0.06em;
394
+ color: var(--guidance-title);
395
+ }
396
+
397
+ .guidance-strip__body {
398
+ font-size: var(--text-sm);
399
+ color: var(--guidance-text);
400
+ }
401
+
402
+ .guidance-strip__actions {
403
+ display: inline-flex;
404
+ gap: var(--space-2);
405
+ align-items: center;
406
+ }
407
+
408
+ @media (max-width: 720px) {
409
+ .guidance-strip {
410
+ grid-template-columns: 1fr;
411
+ }
412
+ }
413
+
414
+ /* ---------------------------------------------------------
415
+ 6. GUIDANCE STEPS (INSTRUCTION)
416
+ --------------------------------------------------------- */
417
+
418
+ .guidance-steps {
419
+ display: grid;
420
+ grid-gap: var(--space-3);
421
+ gap: var(--space-3);
422
+ margin: 0;
423
+ padding: 0;
424
+ }
425
+
426
+ .guidance-step {
427
+ display: grid;
428
+ grid-template-columns: auto 1fr;
429
+ grid-gap: var(--space-3);
430
+ gap: var(--space-3);
431
+ padding: var(--guidance-padding-md, var(--space-4));
432
+ border: 1px solid var(--guidance-outline);
433
+ border-radius: var(--guidance-radius);
434
+ background-color: var(--guidance-bg);
435
+ }
436
+
437
+ .guidance-step--tint {
438
+ background-color: var(--guidance-tint);
439
+ }
440
+
441
+ .guidance-step--rail {
442
+ border-left: var(--guidance-border-width) solid var(--guidance-rail);
443
+ }
444
+
445
+ .guidance-step__index {
446
+ width: var(--space-7);
447
+ height: var(--space-7);
448
+ border-radius: var(--radius-full);
449
+ background-color: var(--guidance-rail);
450
+ color: var(--guidance-on);
451
+ font-weight: 600;
452
+ display: inline-flex;
453
+ align-items: center;
454
+ justify-content: center;
455
+ }
456
+
457
+ .guidance-step__title {
458
+ font-weight: 600;
459
+ font-size: var(--text-sm);
460
+ color: var(--guidance-title);
461
+ }
462
+
463
+ .guidance-step__body {
464
+ font-size: var(--text-sm);
465
+ color: var(--guidance-text);
466
+ }
467
+
468
+ /* ---------------------------------------------------------
469
+ 7. GUIDANCE BRIEF (DECISION SUMMARY)
470
+ --------------------------------------------------------- */
471
+
472
+ .guidance-brief {
473
+ position: relative;
474
+ display: grid;
475
+ grid-gap: var(--space-4);
476
+ gap: var(--space-4);
477
+ padding: var(--guidance-padding-lg, var(--space-6));
478
+ border: 1px solid var(--guidance-outline);
479
+ border-radius: var(--radius-lg);
480
+ background-color: var(--guidance-bg);
481
+ box-shadow: var(--guidance-shadow);
482
+ }
483
+
484
+ .guidance-brief--tint {
485
+ background-color: var(--guidance-tint);
486
+ }
487
+
488
+ .guidance-brief--rail {
489
+ border-left: var(--guidance-border-width) solid var(--guidance-rail);
490
+ }
491
+
492
+ .guidance-brief__header {
493
+ display: flex;
494
+ flex-wrap: wrap;
495
+ align-items: center;
496
+ gap: var(--space-2) var(--space-4);
497
+ }
498
+
499
+ .guidance-brief__kicker {
500
+ font-size: var(--text-xs);
501
+ letter-spacing: 0.08em;
502
+ text-transform: uppercase;
503
+ color: var(--guidance-muted);
504
+ }
505
+
506
+ .guidance-brief__title {
507
+ font-size: var(--text-lg);
508
+ font-weight: 600;
509
+ color: var(--guidance-title);
510
+ }
511
+
512
+ .guidance-brief__meta {
513
+ font-size: var(--text-sm);
514
+ color: var(--guidance-muted);
515
+ }
516
+
517
+ .guidance-brief__grid {
518
+ display: grid;
519
+ grid-gap: var(--space-3);
520
+ gap: var(--space-3);
521
+ grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
522
+ }
523
+
524
+ .guidance-brief__block {
525
+ display: grid;
526
+ grid-gap: var(--space-2);
527
+ gap: var(--space-2);
528
+ padding: var(--space-3);
529
+ border: 1px solid var(--guidance-outline);
530
+ border-radius: var(--radius-md);
531
+ background: var(--color-surface-subtle);
532
+ }
533
+
534
+ .guidance-brief__label {
535
+ font-size: var(--text-xs);
536
+ text-transform: uppercase;
537
+ letter-spacing: 0.08em;
538
+ color: var(--guidance-muted);
539
+ }
540
+
541
+ .guidance-brief__text {
542
+ font-size: var(--text-sm);
543
+ color: var(--guidance-text);
544
+ }
545
+
546
+ .guidance-brief__list {
547
+ list-style: none;
548
+ margin: 0;
549
+ padding: 0;
550
+ display: grid;
551
+ grid-gap: var(--space-1);
552
+ gap: var(--space-1);
553
+ }
554
+
555
+ .guidance-brief__list li {
556
+ position: relative;
557
+ padding-left: var(--space-4);
558
+ font-size: var(--text-sm);
559
+ }
560
+
561
+ .guidance-brief__list li::before {
562
+ content: "";
563
+ position: absolute;
564
+ width: 0.4rem;
565
+ height: 0.4rem;
566
+ border-radius: var(--radius-full);
567
+ background-color: var(--guidance-rail);
568
+ left: 0;
569
+ top: 0.35rem;
570
+ }
571
+
572
+ .guidance-stats {
573
+ display: flex;
574
+ flex-wrap: wrap;
575
+ gap: var(--space-3);
576
+ }
577
+
578
+ .guidance-stat {
579
+ display: grid;
580
+ grid-gap: var(--space-1);
581
+ gap: var(--space-1);
582
+ padding: var(--space-2) var(--space-3);
583
+ border: 1px solid var(--guidance-outline);
584
+ border-radius: var(--radius-md);
585
+ background-color: var(--guidance-bg);
586
+ }
587
+
588
+ .guidance-stat--tint {
589
+ background-color: var(--guidance-tint);
590
+ }
591
+
592
+ .guidance-stat__value {
593
+ font-size: var(--text-lg);
594
+ font-weight: 600;
595
+ color: var(--guidance-title);
596
+ }
597
+
598
+ .guidance-stat__label {
599
+ font-size: var(--text-xs);
600
+ letter-spacing: 0.08em;
601
+ text-transform: uppercase;
602
+ color: var(--guidance-muted);
603
+ }
604
+
605
+ /* ---------------------------------------------------------
606
+ 8. GUIDANCE COMPARE (CONTRAST)
607
+ --------------------------------------------------------- */
608
+
609
+ .guidance-compare {
610
+ display: grid;
611
+ grid-gap: var(--space-3);
612
+ gap: var(--space-3);
613
+ grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
614
+ }
615
+
616
+ .guidance-compare__item {
617
+ position: relative;
618
+ display: grid;
619
+ grid-gap: var(--space-2);
620
+ gap: var(--space-2);
621
+ padding: var(--guidance-padding-md, var(--space-4));
622
+ border: 1px solid var(--guidance-outline);
623
+ border-radius: var(--radius-md);
624
+ background-color: var(--guidance-bg);
625
+ box-shadow: var(--guidance-shadow);
626
+ overflow: hidden;
627
+ }
628
+
629
+ .guidance-compare__item::before {
630
+ content: "";
631
+ position: absolute;
632
+ top: 0;
633
+ right: auto;
634
+ bottom: 0;
635
+ left: 0;
636
+ width: 4px;
637
+ background: var(--guidance-rail);
638
+ }
639
+
640
+ .guidance-compare__label {
641
+ font-size: var(--text-xs);
642
+ text-transform: uppercase;
643
+ letter-spacing: 0.08em;
644
+ color: var(--guidance-muted);
645
+ }
646
+
647
+ .guidance-compare__title {
648
+ font-weight: 600;
649
+ font-size: var(--text-md);
650
+ color: var(--guidance-title);
651
+ }
652
+
653
+ .guidance-compare__list {
654
+ list-style: none;
655
+ margin: 0;
656
+ padding: 0;
657
+ display: grid;
658
+ grid-gap: var(--space-1);
659
+ gap: var(--space-1);
660
+ }
661
+
662
+ .guidance-compare__list li {
663
+ position: relative;
664
+ padding-left: var(--space-4);
665
+ font-size: var(--text-sm);
666
+ }
667
+
668
+ .guidance-compare__list li::before {
669
+ content: "";
670
+ position: absolute;
671
+ width: 0.4rem;
672
+ height: 0.4rem;
673
+ border-radius: var(--radius-full);
674
+ background-color: var(--guidance-rail);
675
+ left: 0;
676
+ top: 0.35rem;
677
+ }
678
+
679
+ /* ---------------------------------------------------------
680
+ 9. GUIDANCE ROW (INBOX STYLE)
681
+ --------------------------------------------------------- */
682
+
683
+ .guidance-row {
684
+ position: relative;
685
+ display: grid;
686
+ grid-gap: var(--space-3);
687
+ gap: var(--space-3);
688
+ padding: var(--guidance-padding-md, var(--space-4));
689
+ border: 1px solid var(--guidance-outline);
690
+ border-radius: var(--radius-lg);
691
+ background-color: var(--guidance-bg);
692
+ box-shadow: var(--guidance-shadow);
693
+ overflow: hidden;
694
+ }
695
+
696
+ .guidance-row::before {
697
+ content: "";
698
+ position: absolute;
699
+ top: 0;
700
+ right: auto;
701
+ bottom: 0;
702
+ left: 0;
703
+ width: 4px;
704
+ background: var(--guidance-rail);
705
+ }
706
+
707
+ .guidance-row--tint {
708
+ background-color: var(--guidance-tint);
709
+ }
710
+
711
+ .guidance-row__header {
712
+ display: flex;
713
+ flex-wrap: wrap;
714
+ align-items: center;
715
+ justify-content: space-between;
716
+ gap: var(--space-2) var(--space-4);
717
+ }
718
+
719
+ .guidance-row__title {
720
+ font-size: var(--text-md);
721
+ font-weight: 600;
722
+ color: var(--guidance-title);
723
+ }
724
+
725
+ .guidance-row__meta {
726
+ font-size: var(--text-xs);
727
+ color: var(--guidance-muted);
728
+ }
729
+
730
+ .guidance-row__labels {
731
+ display: inline-flex;
732
+ flex-wrap: wrap;
733
+ gap: var(--space-2);
734
+ }
735
+
736
+ .guidance-row__label {
737
+ display: inline-flex;
738
+ align-items: center;
739
+ gap: var(--space-1);
740
+ padding: 0 var(--space-2);
741
+ border-radius: var(--radius-pill);
742
+ border: 1px solid var(--guidance-outline);
743
+ background: var(--color-surface-subtle);
744
+ font-size: var(--text-xxs);
745
+ text-transform: uppercase;
746
+ letter-spacing: 0.06em;
747
+ color: var(--guidance-muted);
748
+ }
749
+
750
+ .guidance-row__glance {
751
+ font-size: var(--text-sm);
752
+ line-height: 1.4;
753
+ line-height: var(--line-height-relaxed, 1.4);
754
+ color: var(--guidance-muted);
755
+ }
756
+
757
+ .guidance-row__details {
758
+ display: flex;
759
+ flex-wrap: wrap;
760
+ gap: var(--space-2);
761
+ }
762
+
763
+ .guidance-row__detail {
764
+ display: inline-flex;
765
+ align-items: center;
766
+ gap: var(--space-1);
767
+ padding: var(--space-1) var(--space-2);
768
+ border-radius: var(--radius-pill);
769
+ border: 1px solid var(--guidance-outline);
770
+ background: var(--color-surface);
771
+ font-size: var(--text-xs);
772
+ color: var(--guidance-text);
773
+ }
774
+
775
+ .guidance-row__actions {
776
+ display: flex;
777
+ flex-wrap: wrap;
778
+ align-items: center;
779
+ gap: var(--space-2);
780
+ }
781
+
782
+ /* ---------------------------------------------------------
783
+ 10. GUIDANCE FIELD (FORM EDUCATION)
784
+ --------------------------------------------------------- */
785
+
786
+ .guidance-field {
787
+ display: grid;
788
+ grid-gap: 0;
789
+ gap: 0;
790
+ border: 1px solid var(--guidance-outline);
791
+ border-left: var(--guidance-border-width) solid var(--guidance-rail);
792
+ border-radius: var(--guidance-radius);
793
+ background-color: var(--guidance-bg);
794
+ box-shadow: var(--guidance-shadow);
795
+ overflow: hidden;
796
+ }
797
+
798
+ .guidance-field--plain {
799
+ border-left: 1px solid var(--guidance-outline);
800
+ }
801
+
802
+ .guidance-field__hint,
803
+ .guidance-field__frame {
804
+ padding: var(--guidance-padding-md, var(--space-4));
805
+ }
806
+
807
+ .guidance-field__frame {
808
+ background-color: var(--guidance-bg);
809
+ }
810
+
811
+ .guidance-field__hint {
812
+ display: grid;
813
+ grid-gap: var(--space-2);
814
+ gap: var(--space-2);
815
+ background-color: var(--guidance-tint);
816
+ }
817
+
818
+ .guidance-field__hint--plain {
819
+ background-color: var(--guidance-bg);
820
+ }
821
+
822
+ .guidance-field__hint + .guidance-field__frame,
823
+ .guidance-field__frame + .guidance-field__hint {
824
+ border-top: 1px solid var(--guidance-outline);
825
+ }
826
+
827
+ .guidance-field__kicker {
828
+ font-size: var(--text-xxs);
829
+ text-transform: uppercase;
830
+ letter-spacing: 0.12em;
831
+ color: var(--guidance-muted);
832
+ }
833
+
834
+ .guidance-field__title {
835
+ font-weight: 600;
836
+ font-size: var(--text-md);
837
+ line-height: 1.2;
838
+ line-height: var(--line-height-tight, 1.2);
839
+ color: var(--guidance-title);
840
+ }
841
+
842
+ .guidance-field__text {
843
+ font-size: var(--text-sm);
844
+ color: var(--guidance-text);
845
+ }
846
+
847
+ .guidance-field__meta {
848
+ font-size: var(--text-xs);
849
+ color: var(--guidance-muted);
850
+ }
851
+
852
+ .guidance-field__list {
853
+ list-style: none;
854
+ margin: 0;
855
+ padding: 0;
856
+ display: grid;
857
+ grid-gap: var(--space-1);
858
+ gap: var(--space-1);
859
+ }
860
+
861
+ .guidance-field__list li {
862
+ position: relative;
863
+ padding-left: var(--space-4);
864
+ }
865
+
866
+ .guidance-field__list li::before {
867
+ content: "";
868
+ position: absolute;
869
+ width: 0.4rem;
870
+ height: 0.4rem;
871
+ border-radius: var(--radius-full);
872
+ background-color: var(--guidance-rail);
873
+ left: 0;
874
+ top: 0.35rem;
875
+ }
876
+
877
+ /* ---------------------------------------------------------
878
+ 11. GUIDANCE SCOPE (IN / OUT)
879
+ --------------------------------------------------------- */
880
+
881
+ .guidance-scope {
882
+ display: grid;
883
+ grid-gap: var(--space-3);
884
+ gap: var(--space-3);
885
+ grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
886
+ }
887
+
888
+ .guidance-scope__item {
889
+ display: flex;
890
+ flex-direction: column;
891
+ gap: var(--space-2);
892
+ padding: var(--guidance-padding-md, var(--space-4));
893
+ border: 1px solid var(--guidance-outline);
894
+ border-radius: var(--guidance-radius);
895
+ background-color: var(--guidance-bg);
896
+ }
897
+
898
+ .guidance-scope__item--tint {
899
+ background-color: var(--guidance-tint);
900
+ }
901
+
902
+ .guidance-scope__item--rail {
903
+ border-left: var(--guidance-border-width) solid var(--guidance-rail);
904
+ }
905
+
906
+ .guidance-scope__label {
907
+ font-size: var(--text-xs);
908
+ text-transform: uppercase;
909
+ letter-spacing: 0.08em;
910
+ color: var(--guidance-muted);
911
+ }
912
+
913
+ .guidance-scope__list {
914
+ list-style: none;
915
+ margin: 0;
916
+ padding: 0;
917
+ display: grid;
918
+ grid-gap: var(--space-1);
919
+ gap: var(--space-1);
920
+ }
921
+
922
+ .guidance-scope__list li {
923
+ position: relative;
924
+ padding-left: var(--space-4);
925
+ }
926
+
927
+ .guidance-scope__list li::before {
928
+ content: "";
929
+ position: absolute;
930
+ width: 0.4rem;
931
+ height: 0.4rem;
932
+ border-radius: var(--radius-full);
933
+ background-color: var(--guidance-rail);
934
+ left: 0;
935
+ top: 0.35rem;
936
+ }
937
+
938
+ /* ---------------------------------------------------------
939
+ 12. GUIDANCE CHECKLIST
940
+ --------------------------------------------------------- */
941
+
942
+ .guidance-checklist {
943
+ list-style: none;
944
+ margin: 0;
945
+ padding: 0;
946
+ display: grid;
947
+ grid-gap: var(--space-2);
948
+ gap: var(--space-2);
949
+ }
950
+
951
+ .guidance-checklist li {
952
+ position: relative;
953
+ padding-left: var(--space-5);
954
+ font-size: var(--text-sm);
955
+ }
956
+
957
+ .guidance-checklist li::before {
958
+ content: "";
959
+ position: absolute;
960
+ width: 0.8rem;
961
+ height: 0.8rem;
962
+ border-radius: var(--radius-xs);
963
+ border: var(--border-width) solid var(--guidance-rail);
964
+ background-color: var(--color-surface);
965
+ left: 0;
966
+ top: 0.2rem;
967
+ }
968
+
969
+ .guidance-checklist li.is-done::before {
970
+ background-color: var(--guidance-rail);
971
+ box-shadow: inset 0 0 0 2px var(--color-surface);
972
+ }
973
+
974
+ /* ---------------------------------------------------------
975
+ 12. DENSITY
976
+ --------------------------------------------------------- */
977
+
978
+ [data-density="compact"] .guidance,
979
+ [data-density="compact"] .guidance-card,
980
+ [data-density="compact"] .guidance-strip,
981
+ [data-density="compact"] .guidance-step,
982
+ [data-density="compact"] .guidance-brief,
983
+ [data-density="compact"] .guidance-field,
984
+ [data-density="compact"] .guidance-compare__item,
985
+ [data-density="compact"] .guidance-row,
986
+ [data-density="compact"] .guidance-stat,
987
+ [data-density="compact"] .guidance-scope__item {
988
+ padding: var(--guidance-padding-sm, var(--space-3)) !important;
989
+ }