style: apply Vercel-inspired responsive UI & fluid scaling
This commit is contained in:
@@ -31,13 +31,18 @@
|
||||
--success: #0070f3;
|
||||
--header-height: 64px;
|
||||
|
||||
/* --- Global Typography Scale (Strict 16px Base) --- */
|
||||
--fs-xs: 12px;
|
||||
--fs-sm: 14px;
|
||||
--fs-base: 16px;
|
||||
--fs-md: 20px;
|
||||
--fs-lg: 32px;
|
||||
--fs-xl: 48px;
|
||||
/* --- Global Typography Scale (Enhanced Fluid Base) --- */
|
||||
--fs-xs: clamp(10px, 1.2vmin + 0.2vw, 15px);
|
||||
--fs-sm: clamp(12px, 1.4vmin + 0.3vw, 18px);
|
||||
--fs-base: clamp(14px, 1.6vmin + 0.4vw, 22px);
|
||||
--fs-md: clamp(18px, 2.5vmin + 0.5vw, 30px);
|
||||
--fs-lg: clamp(24px, 4vmin + 0.6vw, 48px);
|
||||
--fs-xl: clamp(32px, 6vmin + 0.8vw, 72px);
|
||||
|
||||
/* --- Fluid Layout Units (Aggressive) --- */
|
||||
--header-height: clamp(50px, 8vmin, 90px);
|
||||
--spacing-base: clamp(0.75rem, 3vmin, 3rem);
|
||||
--radius-base: clamp(6px, 1.5vmin, 16px);
|
||||
}
|
||||
|
||||
* {
|
||||
@@ -102,8 +107,8 @@ input, textarea {
|
||||
}
|
||||
|
||||
.brand { display: flex; align-items: center; gap: 0.75rem; }
|
||||
.main-logo { height: 26px; width: auto; }
|
||||
.brand h1 { font-size: 1.1rem; font-weight: 600; color: var(--text-main); }
|
||||
.main-logo { height: clamp(28px, 4vmin, 40px); width: auto; }
|
||||
.brand h1 { font-size: clamp(0.85rem, 1.4vmin, 1.05rem); font-weight: 600; color: var(--text-main); }
|
||||
|
||||
.integrated-nav { flex: 1; display: flex; align-items: center; margin-left: 2rem; gap: 0.5rem; }
|
||||
.gnb-trigger {
|
||||
@@ -142,7 +147,7 @@ input, textarea {
|
||||
padding: 0.2rem;
|
||||
border: 1px solid var(--hairline);
|
||||
gap: 0.1rem;
|
||||
border-radius: 8px;
|
||||
border-radius: var(--radius-base);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
@@ -154,7 +159,7 @@ input, textarea {
|
||||
color: var(--text-muted);
|
||||
cursor: pointer;
|
||||
transition: all 0.1s;
|
||||
border-radius: 6px;
|
||||
border-radius: calc(var(--radius-base) - 2px);
|
||||
}
|
||||
|
||||
.toggle-btn:hover { color: var(--text-main); }
|
||||
@@ -245,7 +250,7 @@ input:checked + .role-slider:before {
|
||||
font-weight: 500;
|
||||
border-radius: 9999px;
|
||||
cursor: pointer;
|
||||
height: 36px;
|
||||
height: clamp(32px, 4.5vmin, 44px);
|
||||
transition: all 0.2s;
|
||||
border: 1px solid transparent;
|
||||
white-space: nowrap;
|
||||
@@ -257,12 +262,12 @@ input:checked + .role-slider:before {
|
||||
.btn-outline { background-color: var(--canvas); color: var(--text-main); border: 1px solid var(--hairline); }
|
||||
.btn-outline:hover { border-color: var(--hairline-strong); background: var(--canvas-soft); }
|
||||
|
||||
.btn-sm { height: 30px; padding: 0 1rem; font-size: var(--fs-xs); }
|
||||
.btn-sm { height: clamp(28px, 3.5vmin, 36px); padding: 0 1rem; font-size: var(--fs-xs); }
|
||||
.btn-danger { color: var(--danger) !important; border-color: var(--danger) !important; }
|
||||
|
||||
/* --- Form Elements --- */
|
||||
.form-select-sm {
|
||||
height: 32px;
|
||||
height: clamp(28px, 3.5vmin, 36px);
|
||||
padding: 0 0.5rem;
|
||||
border: 1px solid var(--hairline);
|
||||
border-radius: 6px;
|
||||
@@ -419,3 +424,40 @@ input:checked + .role-slider:before {
|
||||
.clickable { cursor: pointer; transition: opacity 0.2s; }
|
||||
.clickable:hover { opacity: 0.8; }
|
||||
|
||||
/* Flexbox & Grid Utilities */
|
||||
.flex { display: flex; }
|
||||
.flex-col { display: flex; flex-direction: column; }
|
||||
.flex-row { display: flex; flex-direction: row; }
|
||||
.items-center { align-items: center; }
|
||||
.justify-between { justify-content: space-between; }
|
||||
.justify-center { justify-content: center; }
|
||||
.gap-1 { gap: 0.25rem; }
|
||||
.gap-2 { gap: 0.5rem; }
|
||||
.gap-4 { gap: 1rem; }
|
||||
.w-full { width: 100%; }
|
||||
.h-full { height: 100%; }
|
||||
|
||||
/* Text Utilities */
|
||||
.text-center { text-align: center !important; }
|
||||
.text-right { text-align: right !important; }
|
||||
.text-left { text-align: left !important; }
|
||||
.font-bold { font-weight: 700; }
|
||||
.font-semibold { font-weight: 600; }
|
||||
|
||||
/* --- Footer --- */
|
||||
.main-footer {
|
||||
border-top: 1px solid var(--border-color);
|
||||
background-color: var(--canvas);
|
||||
color: var(--mute);
|
||||
padding: 1rem 2rem;
|
||||
text-align: right;
|
||||
font-size: var(--fs-xs);
|
||||
flex-shrink: 0;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.main-footer p {
|
||||
margin: 0;
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user