fix: 폰트 크기 복원 + 라이트 모드 대비 + CSS 변수 전환

- @theme에서 --text-xs/sm 오버라이드 제거 (Tailwind 기본값 복원)
- 라이트 모드: bg #e2e8f0, border #94a3b8로 영역 대비 강화
- 새 토큰: --wing-glass-dense, --wing-overlay, --wing-card-alpha, --wing-subtle
- 8개 CSS 파일의 하드코딩된 rgba 값을 CSS 변수로 전환
- MapLibre 컨트롤 아이콘 라이트 모드 대응

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
htlee 2026-02-17 06:41:27 +09:00
부모 a132c7eaf8
커밋 40229a75c0
9개의 변경된 파일48개의 추가작업 그리고 38개의 파일을 삭제

파일 보기

@ -5,13 +5,13 @@
padding: 6px 8px;
border-radius: 6px;
border: 1px solid var(--border);
background: rgba(30, 41, 59, 0.75);
background: var(--wing-card-alpha);
color: var(--text);
outline: none;
}
.ais-q::placeholder {
color: rgba(100, 116, 139, 0.9);
color: var(--wing-muted);
}
.ais-mode {
@ -55,8 +55,8 @@
}
.ais-row:hover {
background: rgba(30, 41, 59, 0.6);
border-color: rgba(30, 58, 95, 0.8);
background: var(--wing-card-alpha);
border-color: var(--wing-border);
}
.ais-row.sel {
@ -118,8 +118,8 @@
.ais-badge.pn {
color: var(--muted);
background: rgba(30, 41, 59, 0.55);
border-color: rgba(30, 58, 95, 0.9);
background: var(--wing-card-alpha);
border-color: var(--wing-border);
font-weight: 700;
}
@ -155,5 +155,5 @@
.ais-ts {
font-size: 9px;
color: rgba(100, 116, 139, 0.9);
color: var(--wing-muted);
}

파일 보기

@ -36,7 +36,7 @@
padding: 2px 8px;
border-radius: 6px;
border: 1px solid var(--border);
background: rgba(30, 41, 59, 0.55);
background: var(--wing-card-alpha);
color: var(--text);
font-size: 8px;
font-weight: 700;
@ -58,7 +58,7 @@
padding: 6px;
border-radius: 10px;
border: 1px solid var(--border);
background: rgba(15, 23, 42, 0.98);
background: var(--wing-glass-dense);
box-shadow: 0 16px 50px rgba(0, 0, 0, 0.55);
}
@ -90,6 +90,6 @@
.alarm-filter__sep {
height: 1px;
background: rgba(30, 58, 95, 0.85);
background: var(--wing-border);
margin: 4px 0;
}

파일 보기

@ -5,7 +5,7 @@
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #020617 0%, #0f172a 50%, #020617 100%);
background: linear-gradient(135deg, var(--wing-bg) 0%, var(--wing-surface) 50%, var(--wing-bg) 100%);
}
.auth-card {

파일 보기

@ -5,7 +5,7 @@
bottom: 44px;
right: 12px;
z-index: 800;
background: rgba(15, 23, 42, 0.92);
background: var(--wing-glass);
backdrop-filter: blur(8px);
border: 1px solid var(--border);
border-radius: 8px;
@ -41,7 +41,7 @@
top: 12px;
right: 12px;
z-index: 800;
background: rgba(15, 23, 42, 0.95);
background: var(--wing-glass-dense);
backdrop-filter: blur(8px);
border: 1px solid var(--border);
border-radius: 8px;
@ -54,7 +54,7 @@
justify-content: space-between;
font-size: 10px;
padding: 2px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.03);
border-bottom: 1px solid var(--wing-subtle);
}
.map-info .il {
@ -72,13 +72,13 @@
display: flex;
align-items: center;
justify-content: center;
background: rgba(2, 6, 23, 0.42);
background: var(--wing-overlay);
pointer-events: auto;
}
.map-loader-overlay__panel {
width: min(72vw, 320px);
background: rgba(15, 23, 42, 0.94);
background: var(--wing-glass-dense);
border: 1px solid var(--border);
border-radius: 12px;
padding: 14px 16px;
@ -185,7 +185,7 @@
.maplibregl-ctrl-group {
border: 1px solid var(--border) !important;
background: rgba(15, 23, 42, 0.92) !important;
background: var(--wing-glass) !important;
backdrop-filter: blur(8px);
}
@ -197,14 +197,20 @@
border-top: 1px solid var(--border) !important;
}
.maplibregl-ctrl-group button span {
:root .maplibregl-ctrl-group button span,
[data-theme='dark'] .maplibregl-ctrl-group button span {
filter: invert(1);
opacity: 0.9;
}
[data-theme='light'] .maplibregl-ctrl-group button span {
filter: none;
opacity: 0.7;
}
.maplibregl-ctrl-attrib {
font-size: 10px !important;
background: rgba(15, 23, 42, 0.75) !important;
background: var(--wing-glass) !important;
color: var(--text) !important;
border: 1px solid var(--border) !important;
border-radius: 8px;

파일 보기

@ -9,7 +9,7 @@
height: 29px;
border-radius: 4px;
border: 1px solid var(--border);
background: rgba(15, 23, 42, 0.92);
background: var(--wing-glass);
backdrop-filter: blur(8px);
color: var(--muted);
cursor: pointer;
@ -37,7 +37,7 @@
top: 10px;
left: 48px;
z-index: 850;
background: rgba(15, 23, 42, 0.95);
background: var(--wing-glass-dense);
backdrop-filter: blur(8px);
border: 1px solid var(--border);
border-radius: 8px;
@ -148,7 +148,7 @@
bottom: 44px;
left: 10px;
z-index: 800;
background: rgba(15, 23, 42, 0.92);
background: var(--wing-glass);
backdrop-filter: blur(8px);
border: 1px solid var(--border);
border-radius: 8px;

파일 보기

@ -53,7 +53,7 @@
/* Fleet network */
.fleet-card {
background: rgba(30, 41, 59, 0.8);
background: var(--wing-card-alpha);
border: 1px solid var(--border);
border-radius: 6px;
padding: 8px;

파일 보기

@ -9,7 +9,7 @@
height: 29px;
border-radius: 4px;
border: 1px solid var(--border);
background: rgba(15, 23, 42, 0.92);
background: var(--wing-glass);
backdrop-filter: blur(8px);
color: var(--muted);
cursor: pointer;
@ -73,7 +73,7 @@
}
.wo-panel {
background: rgba(15, 23, 42, 0.95);
background: var(--wing-glass-dense);
backdrop-filter: blur(8px);
border: 1px solid var(--border);
border-radius: 8px;
@ -123,7 +123,7 @@
padding: 6px 4px;
border-radius: 6px;
border: 1px solid var(--border);
background: rgba(255, 255, 255, 0.03);
background: var(--wing-subtle);
color: var(--muted);
cursor: pointer;
transition: all 0.15s;
@ -329,7 +329,7 @@
/* ── Weather Legend ── */
.wo-legend {
background: rgba(15, 23, 42, 0.85);
background: var(--wing-glass);
backdrop-filter: blur(8px);
border: 1px solid var(--border);
border-radius: 6px;

파일 보기

@ -9,7 +9,7 @@
height: 29px;
border-radius: 4px;
border: 1px solid var(--border);
background: rgba(15, 23, 42, 0.92);
background: var(--wing-glass);
backdrop-filter: blur(8px);
color: var(--muted);
cursor: pointer;
@ -37,7 +37,7 @@
top: 130px;
left: 48px;
z-index: 850;
background: rgba(15, 23, 42, 0.95);
background: var(--wing-glass-dense);
backdrop-filter: blur(8px);
border: 1px solid var(--border);
border-radius: 8px;
@ -87,7 +87,7 @@
padding: 6px 8px;
margin-bottom: 6px;
border-radius: 0 4px 4px 0;
background: rgba(255, 255, 255, 0.03);
background: var(--wing-subtle);
transition: background 0.15s;
}

파일 보기

@ -14,6 +14,10 @@
--wing-warning: #f59e0b;
--wing-success: #22c55e;
--wing-glass: rgba(15, 23, 42, 0.92);
--wing-glass-dense: rgba(15, 23, 42, 0.95);
--wing-overlay: rgba(2, 6, 23, 0.42);
--wing-card-alpha: rgba(30, 41, 59, 0.55);
--wing-subtle: rgba(255, 255, 255, 0.03);
/* Legacy aliases (backward compatibility) */
--bg: var(--wing-bg);
@ -29,17 +33,21 @@
/* Light theme */
[data-theme='light'] {
--wing-bg: #f8fafc;
--wing-bg: #e2e8f0;
--wing-surface: #ffffff;
--wing-card: #f1f5f9;
--wing-border: #cbd5e1;
--wing-text: #1e293b;
--wing-muted: #94a3b8;
--wing-border: #94a3b8;
--wing-text: #0f172a;
--wing-muted: #64748b;
--wing-accent: #2563eb;
--wing-danger: #dc2626;
--wing-warning: #d97706;
--wing-success: #16a34a;
--wing-glass: rgba(255, 255, 255, 0.92);
--wing-glass-dense: rgba(255, 255, 255, 0.95);
--wing-overlay: rgba(0, 0, 0, 0.25);
--wing-card-alpha: rgba(226, 232, 240, 0.6);
--wing-subtle: rgba(0, 0, 0, 0.03);
--bg: var(--wing-bg);
--panel: var(--wing-surface);
@ -68,8 +76,4 @@
--color-wing-glass: var(--wing-glass);
--font-sans: 'Noto Sans KR', sans-serif;
--text-2xs: 8px;
--text-xs: 9px;
--text-sm: 10px;
}