@uniai-fe/uds-templates 0.0.11 → 0.0.12

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.
Files changed (122) hide show
  1. package/README.md +11 -0
  2. package/dist/styles.css +913 -1073
  3. package/package.json +3 -3
  4. package/src/auth/common/complete/Template.tsx +47 -0
  5. package/src/auth/common/complete/img/circle-check-complete.svg +4 -0
  6. package/src/auth/common/complete/index.scss +38 -0
  7. package/src/auth/common/complete/types.ts +15 -0
  8. package/src/auth/common/container/header/StageHeader.tsx +61 -0
  9. package/src/auth/common/container/header/index.tsx +5 -0
  10. package/src/auth/common/container/header/stage-header.scss +50 -0
  11. package/src/{components/auth → auth/common}/container/index.tsx +2 -0
  12. package/src/auth/common/find/hooks/useFindAccountForm.ts +79 -0
  13. package/src/auth/common/find/markup/CodeStep.tsx +166 -0
  14. package/src/auth/common/find/markup/Header.tsx +46 -0
  15. package/src/auth/common/find/markup/InfoStep.tsx +109 -0
  16. package/src/auth/common/find/styles/email.scss +55 -0
  17. package/src/auth/common/find/styles/find-account.scss +4 -0
  18. package/src/auth/common/find/styles/layout.scss +19 -0
  19. package/src/auth/common/find/styles/password.scss +39 -0
  20. package/src/auth/common/find/styles/result.scss +78 -0
  21. package/src/auth/common/find/types/forms.ts +30 -0
  22. package/src/auth/common/find/types/index.ts +121 -0
  23. package/src/auth/common/find/utils/composeFieldProps.ts +45 -0
  24. package/src/auth/common/password/constants.ts +19 -0
  25. package/src/auth/common/password/hooks/useCheckPassword.ts +133 -0
  26. package/src/auth/common/password/img/check-password.svg +3 -0
  27. package/src/auth/common/password/markup/PasswordSetField.tsx +250 -0
  28. package/src/auth/common/password/styles/password-set-field.scss +49 -0
  29. package/src/auth/common/password/types.ts +142 -0
  30. package/src/auth/common/password/utils/composePasswordFieldProps.ts +44 -0
  31. package/src/auth/find-account.ts +28 -0
  32. package/src/auth/find-id/hooks/index.ts +1 -0
  33. package/src/auth/find-id/index.scss +1 -0
  34. package/src/auth/find-id/index.ts +23 -0
  35. package/src/auth/find-id/markup/StepComplete.tsx +58 -0
  36. package/src/auth/find-id/markup/StepIdentify.tsx +46 -0
  37. package/src/auth/find-id/markup/StepVerifyCode.tsx +48 -0
  38. package/src/auth/find-id/types/index.ts +66 -0
  39. package/src/auth/find-password/index.scss +1 -0
  40. package/src/auth/find-password/index.ts +30 -0
  41. package/src/auth/find-password/markup/StepComplete.tsx +30 -0
  42. package/src/auth/find-password/markup/StepIdentify.tsx +45 -0
  43. package/src/auth/find-password/markup/StepResetPassword.tsx +150 -0
  44. package/src/auth/find-password/markup/StepVerifyCode.tsx +48 -0
  45. package/src/auth/index.tsx +41 -0
  46. package/src/{components/auth → auth}/login/markup/Container.tsx +1 -1
  47. package/src/{components/auth → auth}/login/types/props.ts +1 -1
  48. package/src/{components/auth → auth}/signup/hooks/useSignupAccountForm.ts +26 -2
  49. package/src/{components/auth → auth}/signup/hooks/useSignupUserInfoForm.ts +10 -3
  50. package/src/auth/signup/img/check-agree.svg +3 -0
  51. package/src/auth/signup/img/chevron-open-detail.svg +3 -0
  52. package/src/{components/auth → auth}/signup/index.ts +3 -0
  53. package/src/auth/signup/markup/AccountForm.tsx +113 -0
  54. package/src/auth/signup/markup/Complete.tsx +59 -0
  55. package/src/auth/signup/markup/Template.tsx +110 -0
  56. package/src/{components/auth → auth}/signup/markup/UserInfoForm.tsx +23 -13
  57. package/src/auth/signup/markup/VerificationForm.tsx +285 -0
  58. package/src/{components/auth → auth}/signup/markup/index.ts +1 -0
  59. package/src/auth/signup/styles/signup.scss +187 -0
  60. package/src/{components/auth → auth}/signup/types/hooks.ts +1 -0
  61. package/src/{components/auth → auth}/signup/types/props.ts +49 -9
  62. package/src/auth/signup/utils/getSignupFieldDefaultValue.ts +40 -0
  63. package/src/index.scss +5 -4
  64. package/src/index.tsx +3 -3
  65. package/src/page-frame/mobile/header/PageFrameMobileHeader.tsx +52 -0
  66. package/src/page-frame/mobile/header/index.ts +4 -0
  67. package/src/page-frame/mobile/header/page-frame-mobile-header.scss +48 -0
  68. package/src/page-frame/mobile/img/chevron-backward.svg +3 -0
  69. package/src/components/auth/index.tsx +0 -20
  70. package/src/components/auth/signup/markup/AccountForm.tsx +0 -124
  71. package/src/components/auth/signup/markup/Complete.tsx +0 -61
  72. package/src/components/auth/signup/markup/VerificationForm.tsx +0 -155
  73. package/src/components/auth/signup/styles/signup.scss +0 -135
  74. /package/src/{components/auth → auth/common}/container/AuthContainer.tsx +0 -0
  75. /package/src/{components/auth → auth/common}/container/index.scss +0 -0
  76. /package/src/{components/auth → auth/common}/container/types.ts +0 -0
  77. /package/src/{components/auth → auth}/login/data/valid-options.ts +0 -0
  78. /package/src/{components/auth → auth}/login/hooks/index.ts +0 -0
  79. /package/src/{components/auth → auth}/login/hooks/useAuthLoginForm.ts +0 -0
  80. /package/src/{components/auth → auth}/login/index.scss +0 -0
  81. /package/src/{components/auth → auth}/login/index.tsx +0 -0
  82. /package/src/{components/auth → auth}/login/markup/FormField.tsx +0 -0
  83. /package/src/{components/auth → auth}/login/markup/LinkButtons.tsx +0 -0
  84. /package/src/{components/auth → auth}/login/styles/login.scss +0 -0
  85. /package/src/{components/auth → auth}/login/types/form.ts +0 -0
  86. /package/src/{components/auth → auth}/login/types/hooks.ts +0 -0
  87. /package/src/{components/auth → auth}/login/types.ts +0 -0
  88. /package/src/{components/auth → auth}/signup/hooks/index.ts +0 -0
  89. /package/src/{components/auth → auth}/signup/hooks/useSignupVerificationForm.ts +0 -0
  90. /package/src/{components/auth → auth}/signup/types/index.ts +0 -0
  91. /package/src/{components/auth → auth}/signup/utils/composeFieldProps.ts +0 -0
  92. /package/src/{components/modal → modal}/core/components/Container.tsx +0 -0
  93. /package/src/{components/modal → modal}/core/components/FooterButtons.tsx +0 -0
  94. /package/src/{components/modal → modal}/core/components/Provider.tsx +0 -0
  95. /package/src/{components/modal → modal}/core/components/Root.tsx +0 -0
  96. /package/src/{components/modal → modal}/core/hooks/useModal.ts +0 -0
  97. /package/src/{components/modal → modal}/core/jotai/atoms.ts +0 -0
  98. /package/src/{components/modal → modal}/index.scss +0 -0
  99. /package/src/{components/modal → modal}/index.tsx +0 -0
  100. /package/src/{components/modal → modal}/styles/animations.scss +0 -0
  101. /package/src/{components/modal → modal}/styles/base.scss +0 -0
  102. /package/src/{components/modal → modal}/styles/container.scss +0 -0
  103. /package/src/{components/modal → modal}/styles/dimmer.scss +0 -0
  104. /package/src/{components/modal → modal}/templates/Alert.tsx +0 -0
  105. /package/src/{components/modal → modal}/templates/Dialog.tsx +0 -0
  106. /package/src/{components/modal → modal}/types/footer.ts +0 -0
  107. /package/src/{components/modal → modal}/types/index.ts +0 -0
  108. /package/src/{components/modal → modal}/types/options.ts +0 -0
  109. /package/src/{components/modal → modal}/types/state.ts +0 -0
  110. /package/src/{components/modal → modal}/types/templates.ts +0 -0
  111. /package/src/{components/page-frame → page-frame}/container/PageFrameContainer.tsx +0 -0
  112. /package/src/{components/page-frame → page-frame}/container/index.scss +0 -0
  113. /package/src/{components/page-frame → page-frame}/container/index.tsx +0 -0
  114. /package/src/{components/page-frame → page-frame}/container/types.ts +0 -0
  115. /package/src/{components/page-frame → page-frame}/index.tsx +0 -0
  116. /package/src/{components/page-frame → page-frame}/mobile/PageFrameMobile.tsx +0 -0
  117. /package/src/{components/page-frame → page-frame}/mobile/index.scss +0 -0
  118. /package/src/{components/page-frame → page-frame}/mobile/index.tsx +0 -0
  119. /package/src/{components/page-frame → page-frame}/mobile/types.ts +0 -0
  120. /package/src/{components/page-frame → page-frame}/navigation/PageFrameNavigation.tsx +0 -0
  121. /package/src/{components/page-frame → page-frame}/navigation/index.scss +0 -0
  122. /package/src/{components/page-frame → page-frame}/navigation/index.tsx +0 -0
package/dist/styles.css CHANGED
@@ -1,973 +1,10 @@
1
1
  @charset "UTF-8";
2
- @layer theme.init {
3
- :root {
4
- -webkit-tap-highlight-color: transparent;
5
- text-size-adjust: none;
6
- overflow-wrap: break-word;
7
- word-break: break-word;
8
- }
9
- *,
10
- *::before,
11
- *::after {
12
- margin: 0;
13
- padding: 0;
14
- border: 0;
15
- box-sizing: border-box;
16
- }
17
- * {
18
- letter-spacing: -0.05em;
19
- flex-shrink: 0;
20
- overscroll-behavior-y: none;
21
- font-family: var(--font-family-sans, "Pretendard JP Variable", "Pretendard JP", "Pretendard Variable", "Pretendard", "Inter", sans-serif);
22
- }
23
- *:focus,
24
- *:focus-within,
25
- *:focus-visible {
26
- outline: none;
27
- }
28
- html {
29
- width: 100%;
30
- font-size: 10px;
31
- font-family: var(--font-family-sans);
32
- background-color: #fff;
33
- touch-action: manipulation;
34
- }
35
- body {
36
- width: 100%;
37
- position: relative;
38
- background: none;
39
- }
40
- h1,
41
- h2,
42
- h3,
43
- h4,
44
- h5,
45
- h6 {
46
- margin: 0;
47
- padding: 0;
48
- font-weight: 500;
49
- line-height: 1em;
50
- }
51
- strong,
52
- b {
53
- font-weight: 700;
54
- line-height: 1em;
55
- }
56
- p,
57
- span,
58
- i,
59
- sup,
60
- sub,
61
- del,
62
- ins,
63
- s {
64
- margin: 0;
65
- padding: 0;
66
- line-height: 1em;
67
- word-break: keep-all;
68
- }
69
- i,
70
- address,
71
- cite,
72
- em,
73
- q {
74
- font-weight: 400;
75
- font-style: normal;
76
- }
77
- blockquote,
78
- abbr,
79
- dfn {
80
- font-weight: 400;
81
- }
82
- pre,
83
- code,
84
- samp,
85
- kbd,
86
- var {
87
- font-family: "Consolas", "Monaco", "Menlo", "DejaVu Sans Mono", SFMono-Regular, "Liberation Mono", "Courier New", monospace;
88
- }
89
- blockquote,
90
- q {
91
- quotes: none;
92
- }
93
- blockquote::before,
94
- blockquote::after,
95
- q::before,
96
- q::after {
97
- content: "";
98
- }
99
- img,
100
- svg {
101
- max-width: 100%;
102
- object-fit: contain;
103
- perspective: 1;
104
- }
105
- li,
106
- dt,
107
- dd {
108
- list-style: none;
109
- }
110
- table {
111
- width: 100%;
112
- border-collapse: collapse;
113
- border-spacing: 0;
114
- table-layout: fixed;
115
- }
116
- label {
117
- display: block;
118
- }
119
- legend,
120
- caption {
121
- display: none;
122
- }
123
- article,
124
- aside,
125
- footer,
126
- header,
127
- main,
128
- nav,
129
- section,
130
- time,
131
- audio,
132
- canvas,
133
- figure,
134
- figcaption,
135
- video,
136
- meter,
137
- progress,
138
- details,
139
- summary {
140
- display: block;
141
- }
142
- figure {
143
- position: relative;
144
- width: fit-content;
145
- height: fit-content;
146
- font-size: 0;
147
- }
148
- a {
149
- display: block;
150
- color: #333;
151
- text-decoration: none;
152
- cursor: pointer;
153
- }
154
- input,
155
- select,
156
- button,
157
- textarea {
158
- display: block;
159
- max-width: 100%;
160
- background: transparent;
161
- border-radius: 0;
162
- box-shadow: none;
163
- outline: none;
164
- caret-color: transparent;
165
- appearance: none;
166
- }
167
- button {
168
- cursor: pointer;
169
- font-family: inherit;
170
- user-select: none;
171
- }
172
- textarea {
173
- resize: none;
174
- }
175
- select {
176
- user-select: none;
177
- }
178
- select::-ms-expand {
179
- opacity: 0;
180
- }
181
- input::placeholder,
182
- textarea::placeholder {
183
- opacity: 1;
184
- color: #959595;
185
- }
186
- input:focus::placeholder,
187
- textarea:focus::placeholder {
188
- color: transparent;
189
- }
190
- [type=button],
191
- [type=reset],
192
- [type=submit] {
193
- appearance: button;
194
- }
195
- [type=search] {
196
- appearance: textfield;
197
- outline-offset: -2px;
198
- }
199
- :-webkit-inner-spin-button,
200
- ::-webkit-outer-spin-button {
201
- height: auto;
202
- }
203
- ::-webkit-search-decoration,
204
- ::-webkit-search-cancel-button {
205
- appearance: none;
206
- }
207
- ::-webkit-file-upload-button {
208
- appearance: button;
209
- }
210
- input[type=date],
211
- input[type=number] {
212
- appearance: none;
213
- }
214
- input[type=date]::-webkit-inner-spin-button,
215
- input[type=number]::-webkit-inner-spin-button {
216
- display: none;
217
- }
218
- input[type=date]::-webkit-calendar-picker-indicator,
219
- input[type=number]::-webkit-calendar-picker-indicator {
220
- opacity: 0;
221
- }
222
- input[type=date]::-webkit-clear-button,
223
- input[type=number]::-webkit-clear-button {
224
- display: none;
225
- }
226
- input[type=date]::-ms-clear,
227
- input[type=number]::-ms-clear {
228
- display: none;
229
- }
230
- input[type=range]::-webkit-slider-thumb {
231
- appearance: none;
232
- }
233
- input[type=checkbox] {
234
- appearance: checkbox;
235
- }
236
- button:disabled {
237
- cursor: default;
238
- }
239
- progress {
240
- appearance: none;
241
- border: 1px solid #e1e1e1;
242
- }
243
- progress::-webkit-progress-bar {
244
- background-color: #fff;
245
- }
246
- progress::-webkit-progress-value {
247
- background-color: grey;
248
- }
249
- @media (orientation: landscape) {
250
- html.mobile-device {
251
- font-size: 1vw;
252
- }
253
- }
254
- @media (orientation: portrait) {
255
- html.mobile-device {
256
- font-size: 1vw;
257
- }
258
- }
259
- }
260
- @layer theme.init {
261
- html,
262
- body {
263
- width: 100%;
264
- height: 100%;
265
- position: fixed;
266
- top: 0;
267
- left: 0;
268
- overflow: auto;
269
- z-index: 0;
270
- }
271
- }
272
- @layer theme.tokens.color {
273
- :root {
274
- --color-common-100: #fff;
275
- --color-common-0: #000;
276
- --color-neutral-10: #1a1a1a;
277
- --color-neutral-20: #333333;
278
- --color-neutral-30: #4d4d4d;
279
- --color-neutral-40: #666666;
280
- --color-neutral-45: #737373;
281
- --color-neutral-50: #808080;
282
- --color-neutral-55: #8c8c8c;
283
- --color-neutral-60: #999999;
284
- --color-neutral-70: #b3b3b3;
285
- --color-neutral-80: #cccccc;
286
- --color-neutral-90: #e6e6e6;
287
- --color-neutral-95: #f2f2f2;
288
- --color-neutral-99: #fcfcfc;
289
- --color-cool-gray-10: #18191b;
290
- --color-cool-gray-20: #313235;
291
- --color-cool-gray-25: #3d3f43;
292
- --color-cool-gray-30: #494b50;
293
- --color-cool-gray-35: #55585e;
294
- --color-cool-gray-40: #61656b;
295
- --color-cool-gray-45: #6d7178;
296
- --color-cool-gray-50: #797e86;
297
- --color-cool-gray-55: #878b92;
298
- --color-cool-gray-60: #94989e;
299
- --color-cool-gray-65: #a1a5aa;
300
- --color-cool-gray-70: #afb1b6;
301
- --color-cool-gray-75: #bcbec2;
302
- --color-cool-gray-80: #cacbce;
303
- --color-cool-gray-85: #d7d8db;
304
- --color-cool-gray-90: #e4e5e7;
305
- --color-cool-gray-95: #f2f2f3;
306
- --color-cool-gray-99: #fcfcfd;
307
- --color-blue-10: #001233;
308
- --color-blue-20: #002466;
309
- --color-blue-30: #003699;
310
- --color-blue-40: #0047cc;
311
- --color-blue-45: #0050e5;
312
- --color-blue-50: #0059ff;
313
- --color-blue-55: #1a6aff;
314
- --color-blue-60: #337aff;
315
- --color-blue-70: #669cff;
316
- --color-blue-80: #99bdff;
317
- --color-blue-90: #ccdeff;
318
- --color-blue-95: #e5eeff;
319
- --color-blue-99: #fafcff;
320
- --color-purple-10: #120033;
321
- --color-purple-20: #240066;
322
- --color-purple-30: #360099;
323
- --color-purple-40: #4800cc;
324
- --color-purple-45: #5200e5;
325
- --color-purple-50: #5b00ff;
326
- --color-purple-55: #6c1bff;
327
- --color-purple-60: #7b33ff;
328
- --color-purple-70: #9c66ff;
329
- --color-purple-80: #bd99ff;
330
- --color-purple-90: #deccff;
331
- --color-purple-95: #efe5ff;
332
- --color-purple-99: #fcfaff;
333
- --color-magenta-10: #32012e;
334
- --color-magenta-20: #64025b;
335
- --color-magenta-30: #950489;
336
- --color-magenta-40: #c705b6;
337
- --color-magenta-45: #e005cd;
338
- --color-magenta-50: #f906e4;
339
- --color-magenta-55: #fa1fe7;
340
- --color-magenta-60: #fa38e9;
341
- --color-magenta-70: #fb6aef;
342
- --color-magenta-80: #fd9bf4;
343
- --color-magenta-90: #fecdfa;
344
- --color-magenta-95: #fee6fc;
345
- --color-magenta-99: #fffafe;
346
- --color-pink-10: #320116;
347
- --color-pink-20: #63032b;
348
- --color-pink-30: #950441;
349
- --color-pink-40: #c70556;
350
- --color-pink-45: #e00661;
351
- --color-pink-50: #f8076c;
352
- --color-pink-55: #f91f7a;
353
- --color-pink-60: #fa3889;
354
- --color-pink-70: #fb6aa7;
355
- --color-pink-80: #fc9cc4;
356
- --color-pink-90: #fecde2;
357
- --color-pink-95: #fee6f0;
358
- --color-pink-99: #fffafc;
359
- --color-red-10: #310602;
360
- --color-red-20: #610d05;
361
- --color-red-30: #921307;
362
- --color-red-40: #c21a0a;
363
- --color-red-45: #da1d0b;
364
- --color-red-50: #f2200d;
365
- --color-red-55: #f43625;
366
- --color-red-60: #f54d3d;
367
- --color-red-70: #f7796e;
368
- --color-red-80: #faa69e;
369
- --color-red-90: #fcd2cf;
370
- --color-red-95: #fde8e7;
371
- --color-red-99: #fffafa;
372
- --color-orange-10: #331100;
373
- --color-orange-20: #662200;
374
- --color-orange-30: #993300;
375
- --color-orange-40: #cc4400;
376
- --color-orange-45: #e54d00;
377
- --color-orange-50: #ff5500;
378
- --color-orange-55: #ff661a;
379
- --color-orange-60: #ff7733;
380
- --color-orange-70: #ff9966;
381
- --color-orange-80: #ffbb99;
382
- --color-orange-90: #ffddcc;
383
- --color-orange-95: #ffeee5;
384
- --color-orange-99: #fffcfa;
385
- --color-yellow-10: #302903;
386
- --color-yellow-20: #615205;
387
- --color-yellow-30: #917a08;
388
- --color-yellow-40: #c2a30a;
389
- --color-yellow-45: #dab80b;
390
- --color-yellow-50: #f2cc0d;
391
- --color-yellow-55: #f4d125;
392
- --color-yellow-60: #f5d63d;
393
- --color-yellow-70: #f7e06e;
394
- --color-yellow-80: #faeb9e;
395
- --color-yellow-90: #fcf5cf;
396
- --color-yellow-95: #fefae7;
397
- --color-yellow-99: #fffefa;
398
- --color-lime-10: #2b3300;
399
- --color-lime-20: #556600;
400
- --color-lime-30: #809900;
401
- --color-lime-40: #aacc00;
402
- --color-lime-45: #bfe500;
403
- --color-lime-50: #d5ff00;
404
- --color-lime-55: #d9ff1a;
405
- --color-lime-60: #ddff33;
406
- --color-lime-70: #e6ff66;
407
- --color-lime-80: #eeff99;
408
- --color-lime-90: #f7ffcc;
409
- --color-lime-95: #fbffe5;
410
- --color-lime-99: #fefffa;
411
- --color-green-10: #062d13;
412
- --color-green-20: #0d5926;
413
- --color-green-30: #138639;
414
- --color-green-40: #1ab24d;
415
- --color-green-45: #1dc956;
416
- --color-green-50: #20df60;
417
- --color-green-55: #36e270;
418
- --color-green-60: #4de580;
419
- --color-green-70: #79ec9f;
420
- --color-green-80: #a6f2bf;
421
- --color-green-90: #d2f9df;
422
- --color-green-95: #e9fcef;
423
- --color-green-99: #fbfefc;
424
- --color-bright-green-10: #213003;
425
- --color-bright-green-20: #426105;
426
- --color-bright-green-30: #639108;
427
- --color-bright-green-40: #84c10b;
428
- --color-bright-green-45: #95da0c;
429
- --color-bright-green-50: #a5f20d;
430
- --color-bright-green-55: #aef325;
431
- --color-bright-green-60: #b7f43e;
432
- --color-bright-green-70: #c9f76e;
433
- --color-bright-green-80: #dbfa9e;
434
- --color-bright-green-90: #edfccf;
435
- --color-bright-green-95: #f6fee7;
436
- --color-bright-green-99: #fdfffa;
437
- --color-teal-10: #062d20;
438
- --color-teal-20: #0d5940;
439
- --color-teal-30: #13865f;
440
- --color-teal-40: #1ab27f;
441
- --color-teal-45: #1dc98f;
442
- --color-teal-50: #20df9f;
443
- --color-teal-55: #36e2a9;
444
- --color-teal-60: #4de5b2;
445
- --color-teal-70: #79ecc5;
446
- --color-teal-80: #a6f2d9;
447
- --color-teal-90: #d2f9ec;
448
- --color-teal-95: #e9fcf5;
449
- --color-teal-99: #fbfefd;
450
- --color-cyan-10: #002f33;
451
- --color-cyan-20: #005e66;
452
- --color-cyan-30: #008c99;
453
- --color-cyan-40: #00bbcc;
454
- --color-cyan-45: #00d2e5;
455
- --color-cyan-50: #00eaff;
456
- --color-cyan-55: #1aecff;
457
- --color-cyan-60: #33eeff;
458
- --color-cyan-70: #66f2ff;
459
- --color-cyan-80: #99f7ff;
460
- --color-cyan-90: #ccfbff;
461
- --color-cyan-95: #e5fdff;
462
- --color-cyan-99: #faffff;
463
- }
464
- }
465
- @layer theme.tokens.color {
466
- :root,
467
- .theme-light {
468
- --color-primary-default: var(--color-blue-55);
469
- --color-primary-strong: var(--color-blue-45);
470
- --color-primary-heavy: var(--color-blue-30);
471
- --color-secondary-default: var(--color-blue-95);
472
- --color-secondary-strong: var(--color-blue-90);
473
- --color-secondary-heavy: var(--color-blue-80);
474
- --color-tertiary-default: var(--color-cool-gray-95);
475
- --color-tertiary-strong: var(--color-cool-gray-90);
476
- --color-tertiary-heavy: var(--color-cool-gray-80);
477
- }
478
- }
479
- @layer theme.tokens.color {
480
- :root,
481
- .theme-light {
482
- --color-label-strong: var(--color-cool-gray-10);
483
- --color-label-standard: var(--color-cool-gray-20);
484
- --color-label-neutral: var(--color-cool-gray-50);
485
- --color-label-alternative: var(--color-cool-gray-70);
486
- --color-label-assistive: var(--color-cool-gray-80);
487
- --color-label-disabled: var(--color-cool-gray-80);
488
- }
489
- }
490
- @layer theme.tokens.color {
491
- :root,
492
- .theme-light {
493
- --color-border-standard-cool-gray: var(--color-cool-gray-90);
494
- --color-border-standard-blue: var(--color-blue-90);
495
- --color-border-standard-strong: var(--color-cool-gray-75);
496
- --color-border-standard-heavy: var(--color-cool-gray-20);
497
- --color-border-standard-alternative: var(--color-cool-gray-80);
498
- --color-border-standard-assistive: var(--color-cool-gray-90);
499
- }
500
- }
501
- @layer theme.tokens.color {
502
- :root,
503
- .theme-light {
504
- --color-bg-standard-cool-gray: var(--color-cool-gray-99);
505
- --color-bg-alternative-cool-gray: var(--color-cool-gray-95);
506
- --color-bg-standard-neutral: var(--color-neutral-99);
507
- --color-bg-alternative-neutral: var(--color-neutral-95);
508
- }
509
- }
510
- @layer theme.tokens.color {
511
- :root,
512
- .theme-light {
513
- --color-bg-surface-static-white: var(--color-common-100);
514
- --color-bg-surface-static-cool-gray: var(--color-cool-gray-99);
515
- --color-bg-surface-static-blue: var(--color-blue-95);
516
- --color-bg-surface-neutral: var(--color-neutral-95);
517
- --color-bg-surface-standard: var(--color-cool-gray-95);
518
- --color-bg-surface-strong: var(--color-neutral-80);
519
- --color-bg-surface-heavy: var(--color-cool-gray-20);
520
- }
521
- }
522
- @layer theme.tokens.color {
523
- :root,
524
- .theme-light {
525
- --color-interaction-static: var(--color-common-100);
526
- --color-interaction-disabled: var(--color-cool-gray-95);
527
- }
528
- }
529
- @layer theme.tokens.color {
530
- :root,
531
- .theme-light {
532
- --color-danger: var(--color-red-40);
533
- --color-error: var(--color-red-45);
534
- --color-warning: var(--color-yellow-50);
535
- --color-success: var(--color-green-40);
536
- --color-information: var(--color-blue-60);
537
- --color-new: var(--color-red-50);
538
- }
539
- }
540
- @layer theme.tokens.spacing {
541
- :root {
542
- --spacing-padding-1: 2px;
543
- --spacing-padding-2: 4px;
544
- --spacing-padding-3: 6px;
545
- --spacing-padding-4: 8px;
546
- --spacing-padding-5: 12px;
547
- --spacing-padding-6: 16px;
548
- --spacing-padding-7: 20px;
549
- --spacing-padding-8: 24px;
550
- --spacing-padding-9: 28px;
551
- --spacing-padding-10: 32px;
552
- --spacing-padding-11: 40px;
553
- }
554
- }
555
- @layer theme.tokens.spacing {
556
- :root {
557
- --spacing-gap-1: 2px;
558
- --spacing-gap-2: 4px;
559
- --spacing-gap-3: 6px;
560
- --spacing-gap-4: 8px;
561
- --spacing-gap-5: 12px;
562
- --spacing-gap-6: 16px;
563
- --spacing-gap-7: 20px;
564
- --spacing-gap-8: 24px;
565
- --spacing-gap-9: 28px;
566
- --spacing-gap-10: 32px;
567
- --spacing-gap-11: 36px;
568
- --spacing-gap-12: 40px;
569
- --spacing-gap-13: 48px;
570
- --spacing-gap-14: 64px;
571
- --spacing-gap-15: 80px;
572
- }
573
- }
574
- @layer theme.tokens.layout {
575
- :root {
576
- --theme-breakpoint-xsmall-start: 0px;
577
- --theme-breakpoint-small-start: 768px;
578
- --theme-breakpoint-medium-start: 992px;
579
- --theme-breakpoint-large-start: 1200px;
580
- }
581
- }
582
- @layer theme.tokens.layout {
583
- :root {
584
- --theme-size-xxsmall: 4px;
585
- --theme-size-xsmall-1: 8px;
586
- --theme-size-xsmall-2: 12px;
587
- --theme-size-xsmall-3: 16px;
588
- --theme-size-small-1: 20px;
589
- --theme-size-small-2: 24px;
590
- --theme-size-small-3: 32px;
591
- --theme-size-medium-1: 40px;
592
- --theme-size-medium-2: 48px;
593
- --theme-size-medium-3: 56px;
594
- --theme-size-medium-4: 64px;
595
- --theme-size-large-1: 72px;
596
- --theme-size-large-2: 80px;
597
- --theme-size-xlarge-1: 96px;
598
- --theme-size-xlarge-2: 120px;
599
- }
600
- }
601
- @layer theme.tokens.layout {
602
- :root {
603
- --theme-radius-4x4: 1px;
604
- --theme-radius-8x8: 2px;
605
- --theme-radius-12x12: 2px;
606
- --theme-radius-16x16: 2px;
607
- --theme-radius-20x20: 4px;
608
- --theme-radius-24x24: 4px;
609
- --theme-radius-32x32: 4px;
610
- --theme-radius-40x40: 6px;
611
- --theme-radius-48x48: 6px;
612
- --theme-radius-56x56: 8px;
613
- --theme-radius-64x64: 10px;
614
- --theme-radius-72x72: 12px;
615
- --theme-radius-80x80: 16px;
616
- --theme-radius-96x96: 16px;
617
- --theme-radius-120x120: 16px;
618
- --theme-radius-xxsmall: 1px;
619
- --theme-radius-xsmall: 2px;
620
- --theme-radius-small: 4px;
621
- --theme-radius-medium-1: 6px;
622
- --theme-radius-medium-2: 6px;
623
- --theme-radius-medium-3: 8px;
624
- --theme-radius-medium-4: 10px;
625
- --theme-radius-large-1: 12px;
626
- --theme-radius-large-2: 16px;
627
- --theme-radius-xlarge: 16px;
628
- }
629
- }
630
- @layer theme.tokens.typography {
631
- @font-face {
632
- font-family: "Pretendard JP Variable";
633
- src: url("./fonts/pretendard-jp/PretendardJPVariable.woff2") format("woff2");
634
- font-weight: 100 900;
635
- font-style: normal;
636
- font-display: swap;
637
- }
638
- @font-face {
639
- font-family: "InterVariable";
640
- src: url("./fonts/inter/InterVariable.woff2") format("woff2");
641
- font-weight: 100 900;
642
- font-style: normal;
643
- font-display: swap;
644
- }
645
- }
646
- @layer theme.tokens.typography {
647
- :root {
648
- --font-family-pretendard:
649
- "Pretendard JP Variable", "Pretendard JP", "Pretendard Variable",
650
- "Pretendard", "InterVariable", "Inter", "Noto Sans KR", "-apple-system",
651
- "BlinkMacSystemFont", "Apple SD Gothic Neo", "Segoe UI", "Roboto",
652
- "Helvetica Neue", "Helvetica", "Apple Color Emoji", "Segoe UI Emoji",
653
- "Segoe UI Symbol", "Malgun Gothic", "맑은 고딕", "돋움", "dotum",
654
- "Oxygen", "Oxygen-Sans", "Ubuntu", "Cantarell", "sans-serif";
655
- --font-family-inter:
656
- "InterVariable", "Inter", "Pretendard JP Variable", "Pretendard JP",
657
- "Pretendard Variable", "Pretendard", "-apple-system",
658
- "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica",
659
- "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Malgun Gothic",
660
- "맑은 고딕", "돋움", "dotum", "Oxygen", "Oxygen-Sans", "Ubuntu",
661
- "Cantarell", "sans-serif";
662
- --font-family-system:
663
- "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto",
664
- "Helvetica Neue", "Helvetica", "Apple Color Emoji", "Segoe UI Emoji",
665
- "Segoe UI Symbol", "Malgun Gothic", "맑은 고딕", "돋움", "dotum",
666
- "Oxygen", "Oxygen-Sans", "Ubuntu", "Cantarell", "sans-serif";
667
- --font-family-sans: var(--font-family-pretendard);
668
- }
669
- }
670
- @layer theme.tokens.typography {
671
- :root {
672
- --font-display-large-size: 60px;
673
- --font-display-large-line-height: 1.4em;
674
- --font-display-large-letter-spacing: -0.2px;
675
- --font-display-large-weight: 700;
676
- --font-display-medium-size: 44px;
677
- --font-display-medium-line-height: 1.4em;
678
- --font-display-medium-letter-spacing: -0.2px;
679
- --font-display-medium-weight: 700;
680
- --font-display-small-size: 36px;
681
- --font-display-small-line-height: 1.4em;
682
- --font-display-small-letter-spacing: -0.2px;
683
- --font-display-small-weight: 600;
684
- }
685
- }
686
- @layer theme.tokens.typography {
687
- :root {
688
- --font-heading-xlarge-size: 40px;
689
- --font-heading-xlarge-line-height: 1.4em;
690
- --font-heading-xlarge-letter-spacing: -0.2px;
691
- --font-heading-xlarge-weight: 600;
692
- --font-heading-large-size: 32px;
693
- --font-heading-large-line-height: 1.4em;
694
- --font-heading-large-letter-spacing: -0.2px;
695
- --font-heading-large-weight: 600;
696
- --font-heading-medium-size: 24px;
697
- --font-heading-medium-line-height: 1.4em;
698
- --font-heading-medium-letter-spacing: 0px;
699
- --font-heading-medium-weight: 600;
700
- --font-heading-small-size: 19px;
701
- --font-heading-small-line-height: 1.4em;
702
- --font-heading-small-letter-spacing: 0px;
703
- --font-heading-small-weight: 600;
704
- --font-heading-xsmall-size: 17px;
705
- --font-heading-xsmall-line-height: 1.5em;
706
- --font-heading-xsmall-letter-spacing: 0px;
707
- --font-heading-xsmall-weight: 600;
708
- --font-heading-xxsmall-size: 15px;
709
- --font-heading-xxsmall-line-height: 1.5em;
710
- --font-heading-xxsmall-letter-spacing: 0px;
711
- --font-heading-xxsmall-weight: 600;
712
- }
713
- }
714
- @layer theme.tokens.typography {
715
- :root {
716
- --font-body-large-size: 19px;
717
- --font-body-large-line-height: 1.5em;
718
- --font-body-large-letter-spacing: 0px;
719
- --font-body-large-weight: 600;
720
- --font-body-medium-size: 17px;
721
- --font-body-medium-line-height: 1.5em;
722
- --font-body-medium-letter-spacing: 0px;
723
- --font-body-medium-weight: 500;
724
- --font-body-small-size: 16px;
725
- --font-body-small-line-height: 1.5em;
726
- --font-body-small-letter-spacing: 0px;
727
- --font-body-small-weight: 400;
728
- --font-body-xsmall-size: 15px;
729
- --font-body-xsmall-line-height: 1.5em;
730
- --font-body-xsmall-letter-spacing: 0px;
731
- --font-body-xsmall-weight: 400;
732
- --font-body-xxsmall-size: 13px;
733
- --font-body-xxsmall-line-height: 1.5em;
734
- --font-body-xxsmall-letter-spacing: 0px;
735
- --font-body-xxsmall-weight: 400;
736
- }
737
- }
738
- @layer theme.tokens.typography {
739
- :root {
740
- --font-label-large-size: 16px;
741
- --font-label-large-line-height: 1.5em;
742
- --font-label-large-letter-spacing: 0px;
743
- --font-label-large-weight: 400;
744
- --font-label-medium-size: 14px;
745
- --font-label-medium-line-height: 1.5em;
746
- --font-label-medium-letter-spacing: 0px;
747
- --font-label-medium-weight: 400;
748
- --font-label-small-size: 13px;
749
- --font-label-small-line-height: 1.5em;
750
- --font-label-small-letter-spacing: 0px;
751
- --font-label-small-weight: 500;
752
- }
753
- }
754
- @layer theme.tokens.typography {
755
- :root {
756
- --font-caption-large-size: 12px;
757
- --font-caption-large-line-height: 1.5em;
758
- --font-caption-large-letter-spacing: 0px;
759
- --font-caption-large-weight: 600;
760
- --font-caption-medium-size: 11px;
761
- --font-caption-medium-line-height: 1.5em;
762
- --font-caption-medium-letter-spacing: 0px;
763
- --font-caption-medium-weight: 500;
764
- }
765
- }
766
- /**
767
- * Radix Theme가 사용하는 CSS 변수에 foundation 토큰을 연결하기 위한 placeholder.
768
- * - 추후 토큰 매핑이 확정되면, 실제 색상/타이포/간격 값을 아래에 정의한다.
769
- */
770
- /* ThemeProvider 기본 className(theme-root)와 Radix Theme 루트(.radix-themes)에 scope 지정 */
771
- :where(.radix-themes, .theme-root, :root) {
772
- /* Foundation 기본 폰트로 통일 */
773
- --default-font-family: var(--font-body-medium-family, "Pretendard");
774
- /* 서피스/라벨/피드백 계층을 foundation 시멘틱 토큰으로 변환 */
775
- --color-background: var(--color-bg-surface-static-white);
776
- --color-panel-solid: var(--color-bg-surface-static-white);
777
- --color-panel-translucent: var(--color-bg-surface-neutral);
778
- --color-surface: var(--color-bg-surface-standard);
779
- --color-overlay: var(--color-border-standard-heavy);
780
- --color-interaction-static: var(--color-interaction-static);
781
- --color-interaction-disabled: var(--color-interaction-disabled);
782
- --color-border: var(--color-border-standard-cool-gray);
783
- --color-border-strong: var(--color-border-standard-strong);
784
- --color-border-heavy: var(--color-border-standard-heavy);
785
- /* Primary(blue) 팔레트를 foundation blue 단계로 재정의 */
786
- --blue-1: var(--color-blue-99);
787
- --blue-2: var(--color-blue-95);
788
- --blue-3: var(--color-blue-90);
789
- --blue-4: var(--color-blue-80);
790
- --blue-5: var(--color-blue-70);
791
- --blue-6: var(--color-blue-60);
792
- --blue-7: var(--color-blue-55);
793
- --blue-8: var(--color-blue-50);
794
- --blue-9: var(--color-blue-45);
795
- --blue-10: var(--color-blue-40);
796
- --blue-11: var(--color-blue-30);
797
- --blue-12: var(--color-blue-20);
798
- --blue-contrast: var(--color-common-100);
799
- --blue-surface: var(--color-bg-surface-static-blue);
800
- --blue-indicator: var(--color-primary-default);
801
- --blue-track: var(--color-secondary-strong);
802
- /* Secondary(sky) 팔레트 → foundation secondary 토큰 */
803
- --sky-1: var(--color-blue-99);
804
- --sky-2: var(--color-blue-95);
805
- --sky-3: var(--color-blue-90);
806
- --sky-4: var(--color-blue-80);
807
- --sky-5: var(--color-blue-70);
808
- --sky-6: var(--color-blue-60);
809
- --sky-7: var(--color-blue-55);
810
- --sky-8: var(--color-blue-50);
811
- --sky-9: var(--color-secondary-strong);
812
- --sky-10: var(--color-secondary-heavy);
813
- --sky-11: var(--color-secondary-default);
814
- --sky-12: var(--color-blue-45);
815
- --sky-contrast: var(--color-primary-heavy);
816
- --sky-surface: var(--color-bg-surface-static-blue);
817
- --sky-indicator: var(--color-secondary-strong);
818
- --sky-track: var(--color-secondary-heavy);
819
- /* Tertiary(gray) 팔레트 → cool gray 단계 */
820
- --gray-1: var(--color-cool-gray-99);
821
- --gray-2: var(--color-cool-gray-95);
822
- --gray-3: var(--color-cool-gray-90);
823
- --gray-4: var(--color-cool-gray-85);
824
- --gray-5: var(--color-cool-gray-80);
825
- --gray-6: var(--color-cool-gray-75);
826
- --gray-7: var(--color-cool-gray-70);
827
- --gray-8: var(--color-cool-gray-65);
828
- --gray-9: var(--color-cool-gray-60);
829
- --gray-10: var(--color-cool-gray-55);
830
- --gray-11: var(--color-cool-gray-45);
831
- --gray-12: var(--color-cool-gray-20);
832
- --gray-contrast: var(--color-label-strong);
833
- --gray-surface: var(--color-bg-surface-standard);
834
- --gray-indicator: var(--color-label-neutral);
835
- --gray-track: var(--color-label-assistive);
836
- /* 공간 단위(spacing)는 foundation gap/padding 토큰으로 재정의 */
837
- --space-1: var(--spacing-gap-1);
838
- --space-2: var(--spacing-gap-2);
839
- --space-3: var(--spacing-gap-3);
840
- --space-4: var(--spacing-gap-4);
841
- --space-5: var(--spacing-gap-8);
842
- --space-6: var(--spacing-gap-10);
843
- --space-7: var(--spacing-gap-11);
844
- --space-8: var(--spacing-gap-12);
845
- --space-9: var(--spacing-gap-14);
846
- /* 글꼴 스케일을 foundation 타이포 토큰으로 매핑 */
847
- --font-size-1: var(--font-caption-large-size);
848
- --font-size-2: var(--font-label-medium-size);
849
- --font-size-3: var(--font-label-large-size);
850
- --font-size-4: var(--font-heading-xsmall-size);
851
- --font-size-5: var(--font-heading-small-size);
852
- --font-size-6: var(--font-heading-medium-size);
853
- --font-size-7: var(--font-heading-large-size);
854
- --font-size-8: var(--font-heading-xlarge-size);
855
- --font-size-9: var(--font-display-large-size);
856
- --line-height-1: var(--font-caption-large-line-height);
857
- --line-height-2: var(--font-label-medium-line-height);
858
- --line-height-3: var(--font-label-large-line-height);
859
- --line-height-4: var(--font-heading-xsmall-line-height);
860
- --line-height-5: var(--font-heading-small-line-height);
861
- --line-height-6: var(--font-heading-medium-line-height);
862
- --line-height-7: var(--font-heading-large-line-height);
863
- --line-height-8: var(--font-heading-xlarge-line-height);
864
- --line-height-9: var(--font-display-large-line-height);
865
- --letter-spacing-1: var(--font-caption-large-letter-spacing);
866
- --letter-spacing-2: var(--font-label-medium-letter-spacing);
867
- --letter-spacing-3: var(--font-label-large-letter-spacing);
868
- --letter-spacing-4: var(--font-heading-xsmall-letter-spacing);
869
- --letter-spacing-5: var(--font-heading-small-letter-spacing);
870
- --letter-spacing-6: var(--font-heading-medium-letter-spacing);
871
- --letter-spacing-7: var(--font-heading-large-letter-spacing);
872
- --letter-spacing-8: var(--font-heading-xlarge-letter-spacing);
873
- --letter-spacing-9: var(--font-display-large-letter-spacing);
874
- --font-weight-light: var(--font-label-small-weight);
875
- --font-weight-regular: var(--font-body-small-weight);
876
- --font-weight-medium: var(--font-body-medium-weight);
877
- --font-weight-bold: var(--font-display-large-weight);
878
- --default-font-family: var(--font-body-medium-family, "Pretendard");
879
- --default-font-size: var(--font-body-medium-size);
880
- --default-font-style: normal;
881
- --default-font-weight: var(--font-body-medium-weight);
882
- --default-line-height: var(--font-body-medium-line-height);
883
- --default-letter-spacing: var(--font-body-medium-letter-spacing);
884
- --default-leading-trim-start: 0.42em;
885
- --default-leading-trim-end: 0.36em;
886
- --heading-font-family: var(--font-body-medium-family, "Pretendard");
887
- --heading-font-size-adjust: 1;
888
- --heading-font-style: normal;
889
- --heading-leading-trim-start: var(--default-leading-trim-start);
890
- --heading-leading-trim-end: var(--default-leading-trim-end);
891
- --heading-letter-spacing: var(--font-heading-small-letter-spacing);
892
- --heading-line-height-1: var(--font-heading-xxsmall-line-height);
893
- --heading-line-height-2: var(--font-heading-xsmall-line-height);
894
- --heading-line-height-3: var(--font-heading-small-line-height);
895
- --heading-line-height-4: var(--font-heading-medium-line-height);
896
- --heading-line-height-5: var(--font-heading-large-line-height);
897
- --heading-line-height-6: var(--font-heading-xlarge-line-height);
898
- --heading-line-height-7: var(--font-display-small-line-height, 1.4em);
899
- --heading-line-height-8: var(--font-display-medium-line-height);
900
- --heading-line-height-9: var(--font-display-large-line-height);
901
- --code-font-family:
902
- "Menlo", "Consolas", "Bitstream Vera Sans Mono", monospace;
903
- --code-font-style: normal;
904
- --code-letter-spacing: -0.007em;
905
- --strong-font-family: var(--font-body-medium-family, "Pretendard");
906
- --strong-font-weight: var(--font-display-medium-weight, 700);
907
- --em-font-family: "Times New Roman", "Times", serif;
908
- --quote-font-family: "Times New Roman", "Times", serif;
909
- --tab-active-letter-spacing: var(--font-label-medium-letter-spacing);
910
- --tab-inactive-letter-spacing: var(--font-label-medium-letter-spacing);
911
- --tab-active-word-spacing: 0em;
912
- --tab-inactive-word-spacing: 0em;
913
- /* 입력/텍스트 요소에서 커서 컬러는 본문 텍스트와 동일하게 유지한다. */
914
- }
915
- :where(.radix-themes, .theme-root, :root) input,
916
- :where(.radix-themes, .theme-root, :root) textarea {
917
- caret-color: var(--color-label-strong);
918
- }
919
- :where(.radix-themes, .theme-root, :root) {
920
- /* 커서/컨테이너 기본값 */
921
- --cursor-button: default;
922
- --cursor-checkbox: default;
923
- --cursor-disabled: not-allowed;
924
- --cursor-link: pointer;
925
- --cursor-menu-item: default;
926
- --cursor-radio: default;
927
- --cursor-slider-thumb: default;
928
- --cursor-slider-thumb-active: default;
929
- --cursor-switch: default;
930
- --container-1: 448px;
931
- --container-2: 688px;
932
- --container-3: 880px;
933
- --container-4: 1136px;
934
- --scrollarea-scrollbar-horizontal-margin-top: var(--space-1);
935
- --scrollarea-scrollbar-horizontal-margin-bottom: var(--space-1);
936
- --scrollarea-scrollbar-horizontal-margin-left: var(--space-1);
937
- --scrollarea-scrollbar-horizontal-margin-right: var(--space-1);
938
- --scrollarea-scrollbar-vertical-margin-top: var(--space-1);
939
- --scrollarea-scrollbar-vertical-margin-bottom: var(--space-1);
940
- --scrollarea-scrollbar-vertical-margin-left: var(--space-1);
941
- --scrollarea-scrollbar-vertical-margin-right: var(--space-1);
942
- --segmented-control-transition-duration: 100ms;
943
- --spinner-animation-duration: 800ms;
944
- --spinner-opacity: 0.65;
945
- overflow-wrap: break-word;
946
- font-family: var(--default-font-family);
947
- font-size: var(--default-font-size);
948
- font-weight: var(--default-font-weight);
949
- font-style: var(--default-font-style);
950
- line-height: var(--default-line-height);
951
- letter-spacing: var(--default-letter-spacing);
952
- -webkit-text-size-adjust: none;
953
- text-size-adjust: none;
954
- -webkit-font-smoothing: antialiased;
955
- -moz-osx-font-smoothing: grayscale;
956
- color: var(--gray-12);
957
- }
958
-
959
- /* Radix Themes reset(`.rt-reset`)이 foundation reset보다 우선하지 않도록 기본 박스 모델 재정의 */
960
- :where(.radix-themes, .theme-root) :is(.rt-reset, .rt-reset::before, .rt-reset::after) {
961
- box-sizing: border-box;
962
- margin: 0;
963
- padding: 0;
964
- border: 0;
965
- }
966
-
967
- /* 모든 primitives component SCSS를 한 번에 노출해 서비스 import 부담을 줄인다. */
2
+ /* templates styles는 foundation/primitives 순으로 import된 이후를 가정한다. */
3
+ /* 모든 primitives component SCSS를 한 번에 노출해 서비스 import 부담을 줄인다.
4
+ ※ foundation CSS(`@uniai-fe/uds-foundation/css`)는 소비자가 별도로 한 번만 로드해야 한다. */
968
5
  /* TODO(alternate): 스타일을 SOT 토큰 값으로 정의한다. */
969
6
  /* Badge 토큰을 foundation 변수에 맞춰 한 번 더 래핑해 override 여지를 둔다. */
970
- :where(.radix-themes, .theme-root, :root) {
7
+ .uds-theme-root {
971
8
  --theme-badge-height-xsmall: var(--theme-size-small-1, 20px);
972
9
  --theme-badge-height-small: var(--theme-size-small-2, 24px);
973
10
  --theme-badge-padding-inline-xsmall: var(--spacing-padding-3, 6px);
@@ -1650,7 +687,7 @@
1650
687
  }
1651
688
 
1652
689
  /* TODO(calendar): 스타일을 SOT 토큰 값으로 정의한다. */
1653
- :where(.radix-themes, .theme-root, :root) {
690
+ .uds-theme-root {
1654
691
  --theme-checkbox-frame-size-medium: 20px;
1655
692
  --theme-checkbox-frame-size-large: 24px;
1656
693
  --theme-checkbox-indicator-size-medium: 16px;
@@ -1663,13 +700,15 @@
1663
700
  --theme-checkbox-surface: var(--color-common-100);
1664
701
  --theme-checkbox-surface-selected: var(--color-primary-default);
1665
702
  --theme-checkbox-surface-disabled: var(--color-neutral-95);
703
+ --theme-checkbox-surface-selected-disabled: rgba(26, 106, 255, 0.28);
1666
704
  --theme-checkbox-label-color: var(--color-label-strong);
1667
705
  --theme-checkbox-label-disabled: var(--color-label-disabled);
1668
706
  --theme-checkbox-helper-color: var(--color-label-neutral);
1669
707
  --theme-checkbox-helper-disabled: var(--color-label-disabled);
1670
- --theme-checkbox-icon-color: var(--color-common-100);
708
+ --theme-checkbox-icon-default: transparent;
709
+ --theme-checkbox-icon-selected: var(--color-common-100);
710
+ --theme-checkbox-icon-disabled-selected: var(--color-common-100);
1671
711
  --theme-checkbox-focus-ring: rgba(2, 84, 255, 0.32);
1672
- --theme-checkbox-disabled-selected-opacity: 0.28;
1673
712
  }
1674
713
 
1675
714
  .checkbox {
@@ -1695,7 +734,6 @@
1695
734
  border-radius: var(--theme-checkbox-control-radius-large);
1696
735
  }
1697
736
  .checkbox[data-disabled=true] {
1698
- opacity: 0.6;
1699
737
  cursor: not-allowed;
1700
738
  }
1701
739
 
@@ -1703,49 +741,64 @@
1703
741
  box-shadow: 0 0 0 2px var(--theme-checkbox-focus-ring);
1704
742
  }
1705
743
 
1706
- .checkbox-indicator {
744
+ .checkbox-surface {
1707
745
  inline-size: var(--theme-checkbox-indicator-size-medium);
1708
746
  block-size: var(--theme-checkbox-indicator-size-medium);
1709
747
  display: inline-flex;
1710
748
  align-items: center;
1711
749
  justify-content: center;
1712
- color: var(--theme-checkbox-icon-color);
1713
750
  border: var(--theme-checkbox-border-width) solid var(--theme-checkbox-border-color);
1714
751
  border-radius: var(--theme-checkbox-control-radius-medium);
1715
752
  background-color: var(--theme-checkbox-surface);
1716
- transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
1717
- }
1718
- .checkbox-indicator svg {
1719
- display: block;
1720
- inline-size: auto;
1721
- block-size: auto;
1722
- max-inline-size: 100%;
1723
- max-block-size: 100%;
753
+ transition: background-color 0.15s ease, border-color 0.15s ease;
1724
754
  }
1725
755
 
1726
- .checkbox[data-size=large] .checkbox-indicator {
756
+ .checkbox[data-size=large] .checkbox-surface {
1727
757
  inline-size: var(--theme-checkbox-indicator-size-large);
1728
758
  block-size: var(--theme-checkbox-indicator-size-large);
1729
759
  border-radius: var(--theme-checkbox-control-radius-large);
1730
760
  }
1731
761
 
1732
- .checkbox[data-state=checked] .checkbox-indicator,
1733
- .checkbox[data-state=indeterminate] .checkbox-indicator {
762
+ .checkbox[data-state=checked] .checkbox-surface,
763
+ .checkbox[data-state=indeterminate] .checkbox-surface {
1734
764
  background-color: var(--theme-checkbox-surface-selected);
1735
765
  border-color: var(--theme-checkbox-border-selected);
1736
766
  }
1737
767
 
1738
- .checkbox[data-disabled=true] .checkbox-indicator {
768
+ .checkbox[data-disabled=true] .checkbox-surface {
1739
769
  background-color: var(--theme-checkbox-surface-disabled);
1740
770
  border-color: var(--theme-checkbox-border-color);
1741
- opacity: 1;
771
+ }
772
+
773
+ .checkbox[data-disabled=true][data-state=checked] .checkbox-surface,
774
+ .checkbox[data-disabled=true][data-state=indeterminate] .checkbox-surface {
775
+ background-color: var(--theme-checkbox-surface-selected-disabled);
776
+ border-color: var(--theme-checkbox-border-color);
777
+ }
778
+
779
+ .checkbox-indicator {
780
+ display: inline-flex;
781
+ align-items: center;
782
+ justify-content: center;
783
+ color: var(--theme-checkbox-icon-default);
784
+ transition: color 0.15s ease;
785
+ }
786
+ .checkbox-indicator svg {
787
+ display: block;
788
+ inline-size: auto;
789
+ block-size: auto;
790
+ max-inline-size: 100%;
791
+ max-block-size: 100%;
792
+ }
793
+
794
+ .checkbox[data-state=checked] .checkbox-indicator,
795
+ .checkbox[data-state=indeterminate] .checkbox-indicator {
796
+ color: var(--theme-checkbox-icon-selected);
1742
797
  }
1743
798
 
1744
799
  .checkbox[data-disabled=true][data-state=checked] .checkbox-indicator,
1745
800
  .checkbox[data-disabled=true][data-state=indeterminate] .checkbox-indicator {
1746
- background-color: var(--theme-checkbox-surface-selected);
1747
- border-color: var(--theme-checkbox-border-selected);
1748
- opacity: var(--theme-checkbox-disabled-selected-opacity);
801
+ color: var(--theme-checkbox-icon-disabled-selected);
1749
802
  }
1750
803
 
1751
804
  .checkbox-field {
@@ -1798,7 +851,7 @@
1798
851
  }
1799
852
 
1800
853
  /* Chip 기본 토큰 래핑 */
1801
- :where(.radix-themes, .theme-root, :root) {
854
+ .uds-theme-root {
1802
855
  --theme-chip-height: var(--theme-size-small-3, 32px);
1803
856
  --theme-chip-padding-inline: var(--spacing-padding-5, 12px);
1804
857
  --theme-chip-radius: var(--theme-radius-medium-3, 8px);
@@ -1932,7 +985,7 @@ figure.chip {
1932
985
  height: 100%;
1933
986
  }
1934
987
 
1935
- :where(.radix-themes, .theme-root, :root) {
988
+ .uds-theme-root {
1936
989
  --drawer-overlay-bg: rgba(0, 0, 0, 0.44);
1937
990
  --drawer-surface-bg: var(--color-bg-surface-static-white);
1938
991
  --drawer-radius-large: var(--theme-radius-large-2);
@@ -2153,7 +1206,7 @@ figure.chip {
2153
1206
  }
2154
1207
 
2155
1208
  /* TODO(dropdown): 스타일을 SOT 토큰 값으로 정의한다. */
2156
- :where(.radix-themes, .theme-root, :root) {
1209
+ .uds-theme-root {
2157
1210
  --theme-input-height-small: var(--theme-size-medium-1);
2158
1211
  --theme-input-height-medium: var(--theme-size-medium-2);
2159
1212
  --theme-input-height-large: var(--theme-size-medium-3);
@@ -2165,6 +1218,8 @@ figure.chip {
2165
1218
  --theme-input-radius-tertiary: var(--theme-radius-large-2);
2166
1219
  --theme-input-label-color: var(--color-label-standard);
2167
1220
  --theme-input-helper-color: var(--color-label-neutral);
1221
+ --theme-input-helper-success-color: var(--color-success);
1222
+ --theme-input-helper-error-color: var(--color-error);
2168
1223
  --theme-input-helper-disabled-color: var(--color-label-disabled);
2169
1224
  --theme-input-label-accent-color: var(--color-primary-default);
2170
1225
  --theme-input-label-error-color: var(--color-error);
@@ -2248,24 +1303,53 @@ figure.chip {
2248
1303
  padding-block: var(--spacing-padding-4);
2249
1304
  background-color: transparent;
2250
1305
  }
1306
+ .input-field[data-priority=secondary][data-state=active], .input-field[data-priority=secondary][data-state=focused] {
1307
+ border-bottom-color: var(--theme-input-border-active);
1308
+ border-bottom-width: var(--theme-input-border-width-emphasis);
1309
+ }
1310
+ .input-field[data-priority=secondary][data-state=success] {
1311
+ border-bottom-color: var(--theme-input-border-success);
1312
+ border-bottom-width: var(--theme-input-border-width-emphasis);
1313
+ }
1314
+ .input-field[data-priority=secondary][data-state=error] {
1315
+ border-bottom-color: var(--theme-input-border-error);
1316
+ border-bottom-width: var(--theme-input-border-width-emphasis);
1317
+ }
1318
+ .input-field[data-priority=secondary][data-state=disabled] {
1319
+ border-bottom-color: var(--theme-input-border-underline-disabled);
1320
+ border-bottom-width: var(--theme-input-border-width-default);
1321
+ }
2251
1322
  .input-field[data-priority=tertiary] {
2252
1323
  border-radius: var(--theme-input-radius-tertiary);
2253
1324
  background-color: var(--theme-input-surface);
2254
1325
  min-height: var(--theme-input-height-tertiary);
2255
- flex-wrap: wrap;
2256
1326
  row-gap: var(--spacing-gap-1);
2257
1327
  column-gap: var(--theme-input-gap);
1328
+ flex-wrap: wrap;
1329
+ align-items: center;
1330
+ }
1331
+ .input-field[data-priority=tertiary] .input-field__control {
1332
+ display: grid;
1333
+ grid-template-columns: auto minmax(0, 1fr);
1334
+ column-gap: var(--theme-input-gap);
1335
+ row-gap: var(--spacing-gap-1);
1336
+ align-items: center;
1337
+ flex: 1 1 auto;
1338
+ min-width: 0;
2258
1339
  }
2259
1340
  .input-field[data-priority=tertiary] .input-inline-label {
2260
- flex-basis: 100%;
1341
+ grid-column: 1/-1;
1342
+ margin: 0;
1343
+ align-self: flex-start;
2261
1344
  }
2262
1345
  .input-field[data-priority=tertiary] .input-element {
2263
1346
  min-height: var(--theme-size-medium-2);
2264
1347
  width: auto;
2265
1348
  flex: 1 1 auto;
2266
1349
  }
2267
- .input-field[data-priority=tertiary] .input-element + .input-affix {
2268
- margin-left: auto;
1350
+ .input-field[data-priority=tertiary] .input-field__utilities {
1351
+ align-self: center;
1352
+ margin-left: 0;
2269
1353
  }
2270
1354
  .input-field:not([data-priority=secondary])[data-state=active], .input-field:not([data-priority=secondary])[data-state=focused] {
2271
1355
  border-color: var(--theme-input-border-active);
@@ -2290,6 +1374,7 @@ figure.chip {
2290
1374
  border: none;
2291
1375
  background: transparent;
2292
1376
  color: var(--theme-input-text-color);
1377
+ caret-color: var(--theme-input-text-color);
2293
1378
  font-size: var(--font-body-medium-size);
2294
1379
  line-height: var(--font-body-medium-line-height);
2295
1380
  font-weight: var(--font-body-medium-weight);
@@ -2311,6 +1396,25 @@ figure.chip {
2311
1396
  box-shadow: none;
2312
1397
  }
2313
1398
 
1399
+ .input-field__control {
1400
+ display: flex;
1401
+ align-items: center;
1402
+ gap: var(--theme-input-gap);
1403
+ flex: 1 1 auto;
1404
+ min-width: 0;
1405
+ }
1406
+
1407
+ .input-field__utilities {
1408
+ display: flex;
1409
+ align-items: center;
1410
+ gap: var(--spacing-gap-2, 8px);
1411
+ flex-shrink: 0;
1412
+ margin-left: var(--spacing-gap-3, 12px);
1413
+ }
1414
+ .input-field__utilities .input-affix {
1415
+ margin-left: 0;
1416
+ }
1417
+
2314
1418
  .input-inline-label {
2315
1419
  order: -2;
2316
1420
  flex-basis: 100%;
@@ -2340,7 +1444,7 @@ figure.chip {
2340
1444
  }
2341
1445
 
2342
1446
  .input-affix {
2343
- display: inline-flex;
1447
+ display: flex;
2344
1448
  align-items: center;
2345
1449
  justify-content: center;
2346
1450
  min-width: 20px;
@@ -2414,8 +1518,7 @@ figure.chip {
2414
1518
  background-color: transparent;
2415
1519
  }
2416
1520
 
2417
- .input-password-toggle,
2418
- .input-action-button {
1521
+ .input-password-toggle {
2419
1522
  border: none;
2420
1523
  background: transparent;
2421
1524
  color: var(--theme-input-label-accent-color);
@@ -2425,8 +1528,7 @@ figure.chip {
2425
1528
  padding: 0;
2426
1529
  cursor: pointer;
2427
1530
  }
2428
- .input-password-toggle:disabled,
2429
- .input-action-button:disabled {
1531
+ .input-password-toggle:disabled {
2430
1532
  color: var(--theme-input-helper-disabled-color);
2431
1533
  cursor: not-allowed;
2432
1534
  }
@@ -2473,20 +1575,51 @@ figure.chip {
2473
1575
  color: var(--theme-input-helper-color);
2474
1576
  }
2475
1577
 
2476
- .email-verification {
1578
+ .email-verification,
1579
+ .phone-verification {
2477
1580
  display: flex;
2478
1581
  flex-direction: column;
2479
1582
  gap: var(--spacing-gap-4);
2480
1583
  }
2481
1584
 
2482
- .email-verification__countdown {
2483
- font-size: var(--font-caption-medium-size);
2484
- line-height: var(--font-caption-medium-line-height);
2485
- color: var(--theme-input-helper-color);
1585
+ .auth-code-input__actions,
1586
+ .email-verification__code-actions,
1587
+ .phone-verification__code-actions {
1588
+ display: flex;
1589
+ align-items: center;
1590
+ justify-content: flex-end;
1591
+ gap: var(--spacing-gap-3);
1592
+ min-width: 0;
1593
+ }
1594
+
1595
+ .auth-code-input__countdown,
1596
+ .email-verification__countdown,
1597
+ .phone-verification__countdown {
1598
+ display: flex;
1599
+ align-items: center;
1600
+ font-weight: 500;
1601
+ font-style: normal;
1602
+ font-size: 13px;
1603
+ line-height: 1em;
1604
+ letter-spacing: -0.0025em;
1605
+ color: var(--color-primary-default);
1606
+ flex-shrink: 0;
1607
+ }
1608
+
1609
+ .button.input-utility-button {
1610
+ min-height: 32px;
1611
+ padding: var(--spacing-padding-2, 4px) var(--spacing-padding-6, 24px);
1612
+ border-radius: var(--shape-rounded-1, 8px);
1613
+ }
1614
+ .button.input-utility-button .button-label {
1615
+ font-size: var(--font-body-xxsmall-size);
1616
+ line-height: var(--font-body-xxsmall-line-height);
1617
+ letter-spacing: var(--font-body-xxsmall-letter-spacing);
1618
+ font-weight: var(--font-body-xxsmall-weight);
2486
1619
  }
2487
1620
 
2488
1621
  /* TODO(label): 스타일을 SOT 토큰 값으로 정의한다. */
2489
- :where(.radix-themes, .theme-root, :root) {
1622
+ .uds-theme-root {
2490
1623
  --theme-navigation-height: 86px;
2491
1624
  --theme-navigation-padding-inline: 32px;
2492
1625
  --theme-navigation-padding-block-start: 8px;
@@ -2626,6 +1759,10 @@ figure.chip {
2626
1759
  --pagination-dot-size: 8px;
2627
1760
  --pagination-dot-bg: var(--color-cool-gray-85, #d2d3d7);
2628
1761
  --pagination-dot-active-bg: var(--color-primary-default, #0061ff);
1762
+ --pagination-dot-active-bg-secondary: var(
1763
+ --color-bg-surface-heavy,
1764
+ #313235
1765
+ );
2629
1766
  --pagination-carousel-height: 8px;
2630
1767
  --pagination-carousel-dot-width: 8px;
2631
1768
  --pagination-carousel-active-width: 20px;
@@ -2701,6 +1838,13 @@ figure.chip {
2701
1838
  align-items: center;
2702
1839
  }
2703
1840
 
1841
+ .pagination--variant-carousel[data-priority=secondary] {
1842
+ --pagination-dot-active-bg: var(
1843
+ --pagination-dot-active-bg-secondary,
1844
+ var(--color-secondary-strong, #ccdeff)
1845
+ );
1846
+ }
1847
+
2704
1848
  .pagination--variant-carousel .pagination-button {
2705
1849
  width: auto;
2706
1850
  height: var(--pagination-carousel-height);
@@ -2757,7 +1901,7 @@ figure.chip {
2757
1901
  color: var(--pagination-count-total);
2758
1902
  }
2759
1903
 
2760
- :where(.radix-themes, .theme-root) {
1904
+ .uds-theme-root {
2761
1905
  --theme-radio-frame-size-medium: 20px;
2762
1906
  --theme-radio-frame-size-large: 24px;
2763
1907
  --theme-radio-indicator-size-medium: 16px;
@@ -3006,94 +2150,95 @@ figure.chip {
3006
2150
  --segmented-label-color: var(--color-label-neutral, #797e86);
3007
2151
  --segmented-label-active-color: var(--color-label-strong, #181a1b);
3008
2152
  --segmented-disabled-opacity: 0.4;
2153
+ --segmented-gap: 2px;
3009
2154
  --segmented-item-padding-x: 22px;
3010
2155
  --segmented-item-padding-y: 4px;
3011
2156
  --segmented-item-font-size: var(--font-heading-xxsmall-size, 15px);
3012
2157
  --segmented-item-font-weight: var(--font-heading-xxsmall-weight, 500);
3013
2158
  --segmented-item-line-height: var(--font-heading-xxsmall-line-height, 1.5);
3014
- display: grid;
3015
- grid-auto-flow: column;
3016
- grid-auto-columns: 1fr;
3017
- align-items: stretch;
2159
+ position: relative;
2160
+ display: block;
2161
+ box-sizing: border-box;
3018
2162
  padding: var(--segmented-padding);
3019
2163
  border-radius: var(--segmented-radius);
3020
2164
  background: var(--segmented-bg);
3021
2165
  width: fit-content;
3022
- height: var(--segmented-height);
3023
- font-size: 0;
2166
+ min-height: var(--segmented-height);
3024
2167
  isolation: isolate;
2168
+ overflow: hidden;
3025
2169
  }
3026
2170
 
3027
- .segmented-control:where(.rt-SegmentedControlRoot) {
3028
- /* Radix Theme 기본 inline-grid를 덮어 동일한 sizing 시스템에서만 layout이 될 수 있도록 한다. */
3029
- display: grid;
3030
- }
3031
-
3032
- .segmented-control:where([data-keep-selected=true]) {
3033
- --segmented-disabled-opacity: 0.3;
3034
- }
3035
-
3036
- .segmented-control :where(.rt-SegmentedControlIndicator) {
3037
- border-radius: calc(var(--segmented-radius) - var(--segmented-padding));
3038
- background: transparent;
3039
- box-shadow: none;
3040
- overflow: hidden;
2171
+ .segmented-control:where([data-keep-selected=true]) {
2172
+ --segmented-disabled-opacity: 0.3;
3041
2173
  }
3042
2174
 
3043
- .segmented-control :where(.rt-SegmentedControlIndicator)::before {
3044
- content: "";
2175
+ .segmented-control-indicator {
3045
2176
  position: absolute;
3046
- inset: var(--segmented-padding);
2177
+ top: var(--segmented-padding);
2178
+ bottom: var(--segmented-padding);
2179
+ left: 0;
2180
+ width: 0px;
2181
+ height: calc(100% - var(--segmented-padding) * 2);
2182
+ margin: 0;
3047
2183
  border-radius: calc(var(--segmented-radius) - var(--segmented-padding));
3048
2184
  background: var(--segmented-indicator-bg);
3049
2185
  box-shadow: var(--segmented-indicator-shadow);
2186
+ transition: transform 0.2s ease, width 0.2s ease, opacity 0.2s ease;
2187
+ pointer-events: none;
2188
+ z-index: 0;
3050
2189
  }
3051
2190
 
3052
- .segmented-control :where(.rt-SegmentedControlItemSeparator) {
3053
- display: none;
2191
+ .segmented-control-indicator[data-visible=false] {
2192
+ opacity: 0;
3054
2193
  }
3055
2194
 
3056
- .segmented-control :where(.rt-SegmentedControlItem) {
3057
- background: transparent;
3058
- padding: 0;
3059
- border: none;
3060
- min-width: 0;
2195
+ .segmented-control-list {
3061
2196
  display: flex;
2197
+ column-gap: var(--segmented-gap);
2198
+ row-gap: 0;
2199
+ margin: 0;
2200
+ padding: 0;
2201
+ list-style: none;
2202
+ position: relative;
2203
+ z-index: 1;
3062
2204
  }
3063
2205
 
3064
- .segmented-control :where(.rt-SegmentedControlItemLabel) {
3065
- gap: 0;
3066
- height: fit-content;
2206
+ .segmented-control-item {
2207
+ list-style: none;
2208
+ margin: 0;
3067
2209
  padding: 0;
3068
- font-size: 0;
3069
2210
  }
3070
2211
 
3071
- .segmented-control-item {
2212
+ .segmented-control-button {
2213
+ position: relative;
2214
+ z-index: 1;
2215
+ display: flex;
2216
+ align-items: center;
2217
+ justify-content: center;
3072
2218
  width: 100%;
3073
- height: 100%;
3074
2219
  border: none;
3075
2220
  background: transparent;
3076
2221
  cursor: pointer;
3077
- }
3078
- .segmented-control-item .rt-SegmentedControlItemLabel {
3079
- display: flex;
3080
- align-items: center;
3081
- justify-content: center;
3082
- padding: var(--segmented-item-padding-y) var(--segmented-item-padding-x);
2222
+ min-width: 0;
3083
2223
  border-radius: calc(var(--segmented-radius) - var(--segmented-padding));
2224
+ padding: var(--segmented-item-padding-y) var(--segmented-item-padding-x);
2225
+ transition: color 0.2s ease;
3084
2226
  }
3085
2227
 
3086
- .segmented-control-item:where([data-disabled=true]) {
2228
+ .segmented-control-button:where([data-disabled=true]) {
3087
2229
  cursor: not-allowed;
3088
2230
  opacity: var(--segmented-disabled-opacity);
3089
2231
  }
3090
2232
 
3091
- .segmented-control-item:where(:focus-visible) {
2233
+ .segmented-control-button:where(:focus-visible) {
3092
2234
  outline: 2px solid var(--color-focus-ring, var(--color-primary-default));
3093
2235
  outline-offset: 2px;
3094
2236
  }
3095
2237
 
3096
- .segmented-control-item-label {
2238
+ .segmented-control-button-label {
2239
+ display: flex;
2240
+ align-items: center;
2241
+ justify-content: center;
3097
2242
  font-size: var(--segmented-item-font-size);
3098
2243
  font-weight: var(--segmented-item-font-weight);
3099
2244
  line-height: var(--segmented-item-line-height);
@@ -3102,7 +2247,7 @@ figure.chip {
3102
2247
  transition: color 0.2s ease;
3103
2248
  }
3104
2249
 
3105
- .segmented-control-item:where([data-state=on]) .segmented-control-item-label {
2250
+ .segmented-control-button:where([data-state=on]) .segmented-control-button-label {
3106
2251
  color: var(--segmented-label-active-color);
3107
2252
  }
3108
2253
 
@@ -3359,29 +2504,724 @@ figure.chip {
3359
2504
  .page-frame-footer {
3360
2505
  padding-bottom: var(--page-frame-footer-safe-area);
3361
2506
  }
3362
-
3363
- .page-frame-mobile {
3364
- width: 100%;
3365
- height: 100%;
3366
- min-height: var(--page-frame-height, var(--frame-device-height, 812px));
3367
- max-height: 100dvh;
3368
- background-color: var(--color-common-100, #ffffff);
2507
+
2508
+ .page-frame-mobile {
2509
+ width: 100%;
2510
+ height: 100%;
2511
+ min-height: var(--page-frame-height, var(--frame-device-height, 812px));
2512
+ max-height: 100dvh;
2513
+ background-color: var(--color-common-100, #ffffff);
2514
+ }
2515
+
2516
+ .page-frame-mobile-header,
2517
+ .page-frame-mobile-body,
2518
+ .page-frame-mobile-footer {
2519
+ width: 100%;
2520
+ }
2521
+
2522
+ .page-frame-mobile-body {
2523
+ background-color: inherit;
2524
+ }
2525
+
2526
+ .page-frame-navigation {
2527
+ width: 100%;
2528
+ }
2529
+
2530
+ @layer foundation.reset {
2531
+ :root {
2532
+ -webkit-tap-highlight-color: transparent;
2533
+ text-size-adjust: none;
2534
+ overflow-wrap: break-word;
2535
+ word-break: break-word;
2536
+ }
2537
+ *,
2538
+ *::before,
2539
+ *::after {
2540
+ margin: 0;
2541
+ padding: 0;
2542
+ border: 0;
2543
+ box-sizing: border-box;
2544
+ }
2545
+ * {
2546
+ letter-spacing: -0.05em;
2547
+ flex-shrink: 0;
2548
+ overscroll-behavior-y: none;
2549
+ font-family: var(--font-family-sans, "Pretendard JP Variable", "Pretendard JP", "Pretendard Variable", "Pretendard", "Inter", sans-serif);
2550
+ }
2551
+ *:focus,
2552
+ *:focus-within,
2553
+ *:focus-visible {
2554
+ outline: none;
2555
+ }
2556
+ html {
2557
+ width: 100%;
2558
+ font-size: 10px;
2559
+ font-family: var(--font-family-sans);
2560
+ background-color: #fff;
2561
+ touch-action: manipulation;
2562
+ }
2563
+ body {
2564
+ width: 100%;
2565
+ position: relative;
2566
+ background: none;
2567
+ }
2568
+ h1,
2569
+ h2,
2570
+ h3,
2571
+ h4,
2572
+ h5,
2573
+ h6 {
2574
+ margin: 0;
2575
+ padding: 0;
2576
+ font-weight: 500;
2577
+ line-height: 1em;
2578
+ }
2579
+ strong,
2580
+ b {
2581
+ font-weight: 700;
2582
+ line-height: 1em;
2583
+ }
2584
+ p,
2585
+ span,
2586
+ i,
2587
+ sup,
2588
+ sub,
2589
+ del,
2590
+ ins,
2591
+ s {
2592
+ margin: 0;
2593
+ padding: 0;
2594
+ line-height: 1em;
2595
+ word-break: keep-all;
2596
+ }
2597
+ i,
2598
+ address,
2599
+ cite,
2600
+ em,
2601
+ q {
2602
+ font-weight: 400;
2603
+ font-style: normal;
2604
+ }
2605
+ blockquote,
2606
+ abbr,
2607
+ dfn {
2608
+ font-weight: 400;
2609
+ }
2610
+ pre,
2611
+ code,
2612
+ samp,
2613
+ kbd,
2614
+ var {
2615
+ font-family: "Consolas", "Monaco", "Menlo", "DejaVu Sans Mono", SFMono-Regular, "Liberation Mono", "Courier New", monospace;
2616
+ }
2617
+ blockquote,
2618
+ q {
2619
+ quotes: none;
2620
+ }
2621
+ blockquote::before,
2622
+ blockquote::after,
2623
+ q::before,
2624
+ q::after {
2625
+ content: "";
2626
+ }
2627
+ img,
2628
+ svg {
2629
+ max-width: 100%;
2630
+ object-fit: contain;
2631
+ perspective: 1;
2632
+ }
2633
+ li,
2634
+ dt,
2635
+ dd {
2636
+ list-style: none;
2637
+ }
2638
+ table {
2639
+ width: 100%;
2640
+ border-collapse: collapse;
2641
+ border-spacing: 0;
2642
+ table-layout: fixed;
2643
+ }
2644
+ label {
2645
+ display: block;
2646
+ }
2647
+ legend,
2648
+ caption {
2649
+ display: none;
2650
+ }
2651
+ article,
2652
+ aside,
2653
+ footer,
2654
+ header,
2655
+ main,
2656
+ nav,
2657
+ section,
2658
+ time,
2659
+ audio,
2660
+ canvas,
2661
+ figure,
2662
+ figcaption,
2663
+ video,
2664
+ meter,
2665
+ progress,
2666
+ details,
2667
+ summary {
2668
+ display: block;
2669
+ }
2670
+ figure {
2671
+ position: relative;
2672
+ width: fit-content;
2673
+ height: fit-content;
2674
+ font-size: 0;
2675
+ }
2676
+ a {
2677
+ display: block;
2678
+ color: #333;
2679
+ text-decoration: none;
2680
+ cursor: pointer;
2681
+ }
2682
+ input,
2683
+ select,
2684
+ button,
2685
+ textarea {
2686
+ display: block;
2687
+ max-width: 100%;
2688
+ background: transparent;
2689
+ border-radius: 0;
2690
+ box-shadow: none;
2691
+ outline: none;
2692
+ caret-color: transparent;
2693
+ appearance: none;
2694
+ }
2695
+ button {
2696
+ cursor: pointer;
2697
+ font-family: inherit;
2698
+ user-select: none;
2699
+ }
2700
+ textarea {
2701
+ resize: none;
2702
+ }
2703
+ select {
2704
+ user-select: none;
2705
+ }
2706
+ select::-ms-expand {
2707
+ opacity: 0;
2708
+ }
2709
+ input::placeholder,
2710
+ textarea::placeholder {
2711
+ opacity: 1;
2712
+ color: #959595;
2713
+ }
2714
+ input:focus::placeholder,
2715
+ textarea:focus::placeholder {
2716
+ color: transparent;
2717
+ }
2718
+ [type=button],
2719
+ [type=reset],
2720
+ [type=submit] {
2721
+ appearance: button;
2722
+ }
2723
+ [type=search] {
2724
+ appearance: textfield;
2725
+ outline-offset: -2px;
2726
+ }
2727
+ :-webkit-inner-spin-button,
2728
+ ::-webkit-outer-spin-button {
2729
+ height: auto;
2730
+ }
2731
+ ::-webkit-search-decoration,
2732
+ ::-webkit-search-cancel-button {
2733
+ appearance: none;
2734
+ }
2735
+ ::-webkit-file-upload-button {
2736
+ appearance: button;
2737
+ }
2738
+ input[type=date],
2739
+ input[type=number] {
2740
+ appearance: none;
2741
+ }
2742
+ input[type=date]::-webkit-inner-spin-button,
2743
+ input[type=number]::-webkit-inner-spin-button {
2744
+ display: none;
2745
+ }
2746
+ input[type=date]::-webkit-calendar-picker-indicator,
2747
+ input[type=number]::-webkit-calendar-picker-indicator {
2748
+ opacity: 0;
2749
+ }
2750
+ input[type=date]::-webkit-clear-button,
2751
+ input[type=number]::-webkit-clear-button {
2752
+ display: none;
2753
+ }
2754
+ input[type=date]::-ms-clear,
2755
+ input[type=number]::-ms-clear {
2756
+ display: none;
2757
+ }
2758
+ input[type=range]::-webkit-slider-thumb {
2759
+ appearance: none;
2760
+ }
2761
+ input[type=checkbox] {
2762
+ appearance: checkbox;
2763
+ }
2764
+ button:disabled {
2765
+ cursor: default;
2766
+ }
2767
+ progress {
2768
+ appearance: none;
2769
+ border: 1px solid #e1e1e1;
2770
+ }
2771
+ progress::-webkit-progress-bar {
2772
+ background-color: #fff;
2773
+ }
2774
+ progress::-webkit-progress-value {
2775
+ background-color: grey;
2776
+ }
2777
+ @media (orientation: landscape) {
2778
+ html.mobile-device {
2779
+ font-size: 1vw;
2780
+ }
2781
+ }
2782
+ @media (orientation: portrait) {
2783
+ html.mobile-device {
2784
+ font-size: 1vw;
2785
+ }
2786
+ }
2787
+ html,
2788
+ body {
2789
+ width: 100%;
2790
+ height: 100%;
2791
+ position: fixed;
2792
+ top: 0;
2793
+ left: 0;
2794
+ overflow: auto;
2795
+ z-index: 0;
2796
+ }
2797
+ }
2798
+ @layer foundation.color {
2799
+ :root {
2800
+ --color-common-100: #fff;
2801
+ --color-common-0: #000;
2802
+ --color-neutral-10: #1a1a1a;
2803
+ --color-neutral-20: #333333;
2804
+ --color-neutral-30: #4d4d4d;
2805
+ --color-neutral-40: #666666;
2806
+ --color-neutral-45: #737373;
2807
+ --color-neutral-50: #808080;
2808
+ --color-neutral-55: #8c8c8c;
2809
+ --color-neutral-60: #999999;
2810
+ --color-neutral-70: #b3b3b3;
2811
+ --color-neutral-80: #cccccc;
2812
+ --color-neutral-90: #e6e6e6;
2813
+ --color-neutral-95: #f2f2f2;
2814
+ --color-neutral-99: #fcfcfc;
2815
+ --color-cool-gray-10: #18191b;
2816
+ --color-cool-gray-20: #313235;
2817
+ --color-cool-gray-25: #3d3f43;
2818
+ --color-cool-gray-30: #494b50;
2819
+ --color-cool-gray-35: #55585e;
2820
+ --color-cool-gray-40: #61656b;
2821
+ --color-cool-gray-45: #6d7178;
2822
+ --color-cool-gray-50: #797e86;
2823
+ --color-cool-gray-55: #878b92;
2824
+ --color-cool-gray-60: #94989e;
2825
+ --color-cool-gray-65: #a1a5aa;
2826
+ --color-cool-gray-70: #afb1b6;
2827
+ --color-cool-gray-75: #bcbec2;
2828
+ --color-cool-gray-80: #cacbce;
2829
+ --color-cool-gray-85: #d7d8db;
2830
+ --color-cool-gray-90: #e4e5e7;
2831
+ --color-cool-gray-95: #f2f2f3;
2832
+ --color-cool-gray-99: #fcfcfd;
2833
+ --color-blue-10: #001233;
2834
+ --color-blue-20: #002466;
2835
+ --color-blue-30: #003699;
2836
+ --color-blue-40: #0047cc;
2837
+ --color-blue-45: #0050e5;
2838
+ --color-blue-50: #0059ff;
2839
+ --color-blue-55: #1a6aff;
2840
+ --color-blue-60: #337aff;
2841
+ --color-blue-70: #669cff;
2842
+ --color-blue-80: #99bdff;
2843
+ --color-blue-90: #ccdeff;
2844
+ --color-blue-95: #e5eeff;
2845
+ --color-blue-99: #fafcff;
2846
+ --color-purple-10: #120033;
2847
+ --color-purple-20: #240066;
2848
+ --color-purple-30: #360099;
2849
+ --color-purple-40: #4800cc;
2850
+ --color-purple-45: #5200e5;
2851
+ --color-purple-50: #5b00ff;
2852
+ --color-purple-55: #6c1bff;
2853
+ --color-purple-60: #7b33ff;
2854
+ --color-purple-70: #9c66ff;
2855
+ --color-purple-80: #bd99ff;
2856
+ --color-purple-90: #deccff;
2857
+ --color-purple-95: #efe5ff;
2858
+ --color-purple-99: #fcfaff;
2859
+ --color-magenta-10: #32012e;
2860
+ --color-magenta-20: #64025b;
2861
+ --color-magenta-30: #950489;
2862
+ --color-magenta-40: #c705b6;
2863
+ --color-magenta-45: #e005cd;
2864
+ --color-magenta-50: #f906e4;
2865
+ --color-magenta-55: #fa1fe7;
2866
+ --color-magenta-60: #fa38e9;
2867
+ --color-magenta-70: #fb6aef;
2868
+ --color-magenta-80: #fd9bf4;
2869
+ --color-magenta-90: #fecdfa;
2870
+ --color-magenta-95: #fee6fc;
2871
+ --color-magenta-99: #fffafe;
2872
+ --color-pink-10: #320116;
2873
+ --color-pink-20: #63032b;
2874
+ --color-pink-30: #950441;
2875
+ --color-pink-40: #c70556;
2876
+ --color-pink-45: #e00661;
2877
+ --color-pink-50: #f8076c;
2878
+ --color-pink-55: #f91f7a;
2879
+ --color-pink-60: #fa3889;
2880
+ --color-pink-70: #fb6aa7;
2881
+ --color-pink-80: #fc9cc4;
2882
+ --color-pink-90: #fecde2;
2883
+ --color-pink-95: #fee6f0;
2884
+ --color-pink-99: #fffafc;
2885
+ --color-red-10: #310602;
2886
+ --color-red-20: #610d05;
2887
+ --color-red-30: #921307;
2888
+ --color-red-40: #c21a0a;
2889
+ --color-red-45: #da1d0b;
2890
+ --color-red-50: #f2200d;
2891
+ --color-red-55: #f43625;
2892
+ --color-red-60: #f54d3d;
2893
+ --color-red-70: #f7796e;
2894
+ --color-red-80: #faa69e;
2895
+ --color-red-90: #fcd2cf;
2896
+ --color-red-95: #fde8e7;
2897
+ --color-red-99: #fffafa;
2898
+ --color-orange-10: #331100;
2899
+ --color-orange-20: #662200;
2900
+ --color-orange-30: #993300;
2901
+ --color-orange-40: #cc4400;
2902
+ --color-orange-45: #e54d00;
2903
+ --color-orange-50: #ff5500;
2904
+ --color-orange-55: #ff661a;
2905
+ --color-orange-60: #ff7733;
2906
+ --color-orange-70: #ff9966;
2907
+ --color-orange-80: #ffbb99;
2908
+ --color-orange-90: #ffddcc;
2909
+ --color-orange-95: #ffeee5;
2910
+ --color-orange-99: #fffcfa;
2911
+ --color-yellow-10: #302903;
2912
+ --color-yellow-20: #615205;
2913
+ --color-yellow-30: #917a08;
2914
+ --color-yellow-40: #c2a30a;
2915
+ --color-yellow-45: #dab80b;
2916
+ --color-yellow-50: #f2cc0d;
2917
+ --color-yellow-55: #f4d125;
2918
+ --color-yellow-60: #f5d63d;
2919
+ --color-yellow-70: #f7e06e;
2920
+ --color-yellow-80: #faeb9e;
2921
+ --color-yellow-90: #fcf5cf;
2922
+ --color-yellow-95: #fefae7;
2923
+ --color-yellow-99: #fffefa;
2924
+ --color-lime-10: #2b3300;
2925
+ --color-lime-20: #556600;
2926
+ --color-lime-30: #809900;
2927
+ --color-lime-40: #aacc00;
2928
+ --color-lime-45: #bfe500;
2929
+ --color-lime-50: #d5ff00;
2930
+ --color-lime-55: #d9ff1a;
2931
+ --color-lime-60: #ddff33;
2932
+ --color-lime-70: #e6ff66;
2933
+ --color-lime-80: #eeff99;
2934
+ --color-lime-90: #f7ffcc;
2935
+ --color-lime-95: #fbffe5;
2936
+ --color-lime-99: #fefffa;
2937
+ --color-green-10: #062d13;
2938
+ --color-green-20: #0d5926;
2939
+ --color-green-30: #138639;
2940
+ --color-green-40: #1ab24d;
2941
+ --color-green-45: #1dc956;
2942
+ --color-green-50: #20df60;
2943
+ --color-green-55: #36e270;
2944
+ --color-green-60: #4de580;
2945
+ --color-green-70: #79ec9f;
2946
+ --color-green-80: #a6f2bf;
2947
+ --color-green-90: #d2f9df;
2948
+ --color-green-95: #e9fcef;
2949
+ --color-green-99: #fbfefc;
2950
+ --color-bright-green-10: #213003;
2951
+ --color-bright-green-20: #426105;
2952
+ --color-bright-green-30: #639108;
2953
+ --color-bright-green-40: #84c10b;
2954
+ --color-bright-green-45: #95da0c;
2955
+ --color-bright-green-50: #a5f20d;
2956
+ --color-bright-green-55: #aef325;
2957
+ --color-bright-green-60: #b7f43e;
2958
+ --color-bright-green-70: #c9f76e;
2959
+ --color-bright-green-80: #dbfa9e;
2960
+ --color-bright-green-90: #edfccf;
2961
+ --color-bright-green-95: #f6fee7;
2962
+ --color-bright-green-99: #fdfffa;
2963
+ --color-teal-10: #062d20;
2964
+ --color-teal-20: #0d5940;
2965
+ --color-teal-30: #13865f;
2966
+ --color-teal-40: #1ab27f;
2967
+ --color-teal-45: #1dc98f;
2968
+ --color-teal-50: #20df9f;
2969
+ --color-teal-55: #36e2a9;
2970
+ --color-teal-60: #4de5b2;
2971
+ --color-teal-70: #79ecc5;
2972
+ --color-teal-80: #a6f2d9;
2973
+ --color-teal-90: #d2f9ec;
2974
+ --color-teal-95: #e9fcf5;
2975
+ --color-teal-99: #fbfefd;
2976
+ --color-cyan-10: #002f33;
2977
+ --color-cyan-20: #005e66;
2978
+ --color-cyan-30: #008c99;
2979
+ --color-cyan-40: #00bbcc;
2980
+ --color-cyan-45: #00d2e5;
2981
+ --color-cyan-50: #00eaff;
2982
+ --color-cyan-55: #1aecff;
2983
+ --color-cyan-60: #33eeff;
2984
+ --color-cyan-70: #66f2ff;
2985
+ --color-cyan-80: #99f7ff;
2986
+ --color-cyan-90: #ccfbff;
2987
+ --color-cyan-95: #e5fdff;
2988
+ --color-cyan-99: #faffff;
2989
+ --color-primary-default: var(--color-blue-55);
2990
+ --color-primary-strong: var(--color-blue-45);
2991
+ --color-primary-heavy: var(--color-blue-30);
2992
+ --color-secondary-default: var(--color-blue-95);
2993
+ --color-secondary-strong: var(--color-blue-90);
2994
+ --color-secondary-heavy: var(--color-blue-80);
2995
+ --color-tertiary-default: var(--color-cool-gray-95);
2996
+ --color-tertiary-strong: var(--color-cool-gray-90);
2997
+ --color-tertiary-heavy: var(--color-cool-gray-80);
2998
+ --color-label-strong: var(--color-cool-gray-10);
2999
+ --color-label-standard: var(--color-cool-gray-20);
3000
+ --color-label-neutral: var(--color-cool-gray-50);
3001
+ --color-label-alternative: var(--color-cool-gray-70);
3002
+ --color-label-assistive: var(--color-cool-gray-80);
3003
+ --color-label-disabled: var(--color-cool-gray-80);
3004
+ --color-border-standard-cool-gray: var(--color-cool-gray-90);
3005
+ --color-border-standard-blue: var(--color-blue-90);
3006
+ --color-border-standard-strong: var(--color-cool-gray-75);
3007
+ --color-border-standard-heavy: var(--color-cool-gray-20);
3008
+ --color-border-standard-alternative: var(--color-cool-gray-80);
3009
+ --color-border-standard-assistive: var(--color-cool-gray-90);
3010
+ --color-bg-standard-cool-gray: var(--color-cool-gray-99);
3011
+ --color-bg-alternative-cool-gray: var(--color-cool-gray-95);
3012
+ --color-bg-standard-neutral: var(--color-neutral-99);
3013
+ --color-bg-alternative-neutral: var(--color-neutral-95);
3014
+ --color-bg-surface-static-white: var(--color-common-100);
3015
+ --color-bg-surface-static-cool-gray: var(--color-cool-gray-99);
3016
+ --color-bg-surface-static-blue: var(--color-blue-95);
3017
+ --color-bg-surface-neutral: var(--color-neutral-95);
3018
+ --color-bg-surface-standard: var(--color-cool-gray-95);
3019
+ --color-bg-surface-strong: var(--color-neutral-80);
3020
+ --color-bg-surface-heavy: var(--color-cool-gray-20);
3021
+ --color-interaction-static: var(--color-common-100);
3022
+ --color-interaction-disabled: var(--color-cool-gray-95);
3023
+ --color-danger: var(--color-red-40);
3024
+ --color-error: var(--color-red-45);
3025
+ --color-warning: var(--color-yellow-50);
3026
+ --color-success: var(--color-green-40);
3027
+ --color-information: var(--color-blue-60);
3028
+ --color-new: var(--color-red-50);
3029
+ }
3369
3030
  }
3370
-
3371
- .page-frame-mobile-header,
3372
- .page-frame-mobile-body,
3373
- .page-frame-mobile-footer {
3374
- width: 100%;
3031
+ @layer foundation.spacing {
3032
+ :root {
3033
+ --spacing-padding-1: 2px;
3034
+ --spacing-padding-2: 4px;
3035
+ --spacing-padding-3: 6px;
3036
+ --spacing-padding-4: 8px;
3037
+ --spacing-padding-5: 12px;
3038
+ --spacing-padding-6: 16px;
3039
+ --spacing-padding-7: 20px;
3040
+ --spacing-padding-8: 24px;
3041
+ --spacing-padding-9: 28px;
3042
+ --spacing-padding-10: 32px;
3043
+ --spacing-padding-11: 40px;
3044
+ --spacing-gap-1: 2px;
3045
+ --spacing-gap-2: 4px;
3046
+ --spacing-gap-3: 6px;
3047
+ --spacing-gap-4: 8px;
3048
+ --spacing-gap-5: 12px;
3049
+ --spacing-gap-6: 16px;
3050
+ --spacing-gap-7: 20px;
3051
+ --spacing-gap-8: 24px;
3052
+ --spacing-gap-9: 28px;
3053
+ --spacing-gap-10: 32px;
3054
+ --spacing-gap-11: 36px;
3055
+ --spacing-gap-12: 40px;
3056
+ --spacing-gap-13: 48px;
3057
+ --spacing-gap-14: 64px;
3058
+ --spacing-gap-15: 80px;
3059
+ }
3375
3060
  }
3376
-
3377
- .page-frame-mobile-body {
3378
- background-color: inherit;
3061
+ @layer foundation.layout {
3062
+ :root {
3063
+ --theme-breakpoint-xsmall-start: 0px;
3064
+ --theme-breakpoint-small-start: 768px;
3065
+ --theme-breakpoint-medium-start: 992px;
3066
+ --theme-breakpoint-large-start: 1200px;
3067
+ --theme-size-xxsmall: 4px;
3068
+ --theme-size-xsmall-1: 8px;
3069
+ --theme-size-xsmall-2: 12px;
3070
+ --theme-size-xsmall-3: 16px;
3071
+ --theme-size-small-1: 20px;
3072
+ --theme-size-small-2: 24px;
3073
+ --theme-size-small-3: 32px;
3074
+ --theme-size-medium-1: 40px;
3075
+ --theme-size-medium-2: 48px;
3076
+ --theme-size-medium-3: 56px;
3077
+ --theme-size-medium-4: 64px;
3078
+ --theme-size-large-1: 72px;
3079
+ --theme-size-large-2: 80px;
3080
+ --theme-size-xlarge-1: 96px;
3081
+ --theme-size-xlarge-2: 120px;
3082
+ --theme-radius-4x4: 1px;
3083
+ --theme-radius-8x8: 2px;
3084
+ --theme-radius-12x12: 2px;
3085
+ --theme-radius-16x16: 2px;
3086
+ --theme-radius-20x20: 4px;
3087
+ --theme-radius-24x24: 4px;
3088
+ --theme-radius-32x32: 4px;
3089
+ --theme-radius-40x40: 6px;
3090
+ --theme-radius-48x48: 6px;
3091
+ --theme-radius-56x56: 8px;
3092
+ --theme-radius-64x64: 10px;
3093
+ --theme-radius-72x72: 12px;
3094
+ --theme-radius-80x80: 16px;
3095
+ --theme-radius-96x96: 16px;
3096
+ --theme-radius-120x120: 16px;
3097
+ --theme-radius-xxsmall: 1px;
3098
+ --theme-radius-xsmall: 2px;
3099
+ --theme-radius-small: 4px;
3100
+ --theme-radius-medium-1: 6px;
3101
+ --theme-radius-medium-2: 6px;
3102
+ --theme-radius-medium-3: 8px;
3103
+ --theme-radius-medium-4: 10px;
3104
+ --theme-radius-large-1: 12px;
3105
+ --theme-radius-large-2: 16px;
3106
+ --theme-radius-xlarge: 16px;
3107
+ }
3379
3108
  }
3380
-
3381
- .page-frame-navigation {
3382
- width: 100%;
3109
+ @layer foundation.typography {
3110
+ @font-face {
3111
+ font-family: "Pretendard JP Variable";
3112
+ src: url("./fonts/pretendard-jp/PretendardJPVariable.woff2") format("woff2");
3113
+ font-weight: 100 900;
3114
+ font-style: normal;
3115
+ font-display: swap;
3116
+ }
3117
+ @font-face {
3118
+ font-family: "InterVariable";
3119
+ src: url("./fonts/inter/InterVariable.woff2") format("woff2");
3120
+ font-weight: 100 900;
3121
+ font-style: normal;
3122
+ font-display: swap;
3123
+ }
3124
+ :root :root {
3125
+ --font-family-pretendard:
3126
+ "Pretendard JP Variable", "Pretendard JP", "Pretendard Variable",
3127
+ "Pretendard", "InterVariable", "Inter", "Noto Sans KR", "-apple-system",
3128
+ "BlinkMacSystemFont", "Apple SD Gothic Neo", "Segoe UI", "Roboto",
3129
+ "Helvetica Neue", "Helvetica", "Apple Color Emoji", "Segoe UI Emoji",
3130
+ "Segoe UI Symbol", "Malgun Gothic", "맑은 고딕", "돋움", "dotum",
3131
+ "Oxygen", "Oxygen-Sans", "Ubuntu", "Cantarell", "sans-serif";
3132
+ --font-family-inter:
3133
+ "InterVariable", "Inter", "Pretendard JP Variable", "Pretendard JP",
3134
+ "Pretendard Variable", "Pretendard", "-apple-system",
3135
+ "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Helvetica",
3136
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Malgun Gothic",
3137
+ "맑은 고딕", "돋움", "dotum", "Oxygen", "Oxygen-Sans", "Ubuntu",
3138
+ "Cantarell", "sans-serif";
3139
+ --font-family-system:
3140
+ "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto",
3141
+ "Helvetica Neue", "Helvetica", "Apple Color Emoji", "Segoe UI Emoji",
3142
+ "Segoe UI Symbol", "Malgun Gothic", "맑은 고딕", "돋움", "dotum",
3143
+ "Oxygen", "Oxygen-Sans", "Ubuntu", "Cantarell", "sans-serif";
3144
+ --font-family-sans: var(--font-family-pretendard);
3145
+ }
3146
+ :root {
3147
+ --font-display-large-size: 60px;
3148
+ --font-display-large-line-height: 1.4em;
3149
+ --font-display-large-letter-spacing: -0.2px;
3150
+ --font-display-large-weight: 700;
3151
+ --font-display-medium-size: 44px;
3152
+ --font-display-medium-line-height: 1.4em;
3153
+ --font-display-medium-letter-spacing: -0.2px;
3154
+ --font-display-medium-weight: 700;
3155
+ --font-display-small-size: 36px;
3156
+ --font-display-small-line-height: 1.4em;
3157
+ --font-display-small-letter-spacing: -0.2px;
3158
+ --font-display-small-weight: 600;
3159
+ --font-heading-xlarge-size: 40px;
3160
+ --font-heading-xlarge-line-height: 1.4em;
3161
+ --font-heading-xlarge-letter-spacing: -0.2px;
3162
+ --font-heading-xlarge-weight: 600;
3163
+ --font-heading-large-size: 32px;
3164
+ --font-heading-large-line-height: 1.4em;
3165
+ --font-heading-large-letter-spacing: -0.2px;
3166
+ --font-heading-large-weight: 600;
3167
+ --font-heading-medium-size: 24px;
3168
+ --font-heading-medium-line-height: 1.4em;
3169
+ --font-heading-medium-letter-spacing: 0px;
3170
+ --font-heading-medium-weight: 600;
3171
+ --font-heading-small-size: 19px;
3172
+ --font-heading-small-line-height: 1.4em;
3173
+ --font-heading-small-letter-spacing: 0px;
3174
+ --font-heading-small-weight: 600;
3175
+ --font-heading-xsmall-size: 17px;
3176
+ --font-heading-xsmall-line-height: 1.5em;
3177
+ --font-heading-xsmall-letter-spacing: 0px;
3178
+ --font-heading-xsmall-weight: 600;
3179
+ --font-heading-xxsmall-size: 15px;
3180
+ --font-heading-xxsmall-line-height: 1.5em;
3181
+ --font-heading-xxsmall-letter-spacing: 0px;
3182
+ --font-heading-xxsmall-weight: 600;
3183
+ --font-body-large-size: 19px;
3184
+ --font-body-large-line-height: 1.5em;
3185
+ --font-body-large-letter-spacing: 0px;
3186
+ --font-body-large-weight: 600;
3187
+ --font-body-medium-size: 17px;
3188
+ --font-body-medium-line-height: 1.5em;
3189
+ --font-body-medium-letter-spacing: 0px;
3190
+ --font-body-medium-weight: 500;
3191
+ --font-body-small-size: 16px;
3192
+ --font-body-small-line-height: 1.5em;
3193
+ --font-body-small-letter-spacing: 0px;
3194
+ --font-body-small-weight: 400;
3195
+ --font-body-xsmall-size: 15px;
3196
+ --font-body-xsmall-line-height: 1.5em;
3197
+ --font-body-xsmall-letter-spacing: 0px;
3198
+ --font-body-xsmall-weight: 400;
3199
+ --font-body-xxsmall-size: 13px;
3200
+ --font-body-xxsmall-line-height: 1.5em;
3201
+ --font-body-xxsmall-letter-spacing: 0px;
3202
+ --font-body-xxsmall-weight: 400;
3203
+ --font-label-large-size: 16px;
3204
+ --font-label-large-line-height: 1.5em;
3205
+ --font-label-large-letter-spacing: 0px;
3206
+ --font-label-large-weight: 400;
3207
+ --font-label-medium-size: 14px;
3208
+ --font-label-medium-line-height: 1.5em;
3209
+ --font-label-medium-letter-spacing: 0px;
3210
+ --font-label-medium-weight: 400;
3211
+ --font-label-small-size: 13px;
3212
+ --font-label-small-line-height: 1.5em;
3213
+ --font-label-small-letter-spacing: 0px;
3214
+ --font-label-small-weight: 500;
3215
+ --font-caption-large-size: 12px;
3216
+ --font-caption-large-line-height: 1.5em;
3217
+ --font-caption-large-letter-spacing: 0px;
3218
+ --font-caption-large-weight: 600;
3219
+ --font-caption-medium-size: 11px;
3220
+ --font-caption-medium-line-height: 1.5em;
3221
+ --font-caption-medium-letter-spacing: 0px;
3222
+ --font-caption-medium-weight: 500;
3223
+ }
3383
3224
  }
3384
-
3385
3225
  :where(.radix-themes, .theme-root, :root) {
3386
3226
  --uds-modal-overlay-bg: var(--dialog-overlay-bg, rgba(5, 6, 12, 0.55));
3387
3227
  --uds-modal-surface-bg: var(--color-bg-surface-static-white);