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

파일 보기

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

파일 보기

@ -5,7 +5,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: 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 { .auth-card {

파일 보기

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

파일 보기

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

파일 보기

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

파일 보기

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

파일 보기

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

파일 보기

@ -14,6 +14,10 @@
--wing-warning: #f59e0b; --wing-warning: #f59e0b;
--wing-success: #22c55e; --wing-success: #22c55e;
--wing-glass: rgba(15, 23, 42, 0.92); --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) */ /* Legacy aliases (backward compatibility) */
--bg: var(--wing-bg); --bg: var(--wing-bg);
@ -29,17 +33,21 @@
/* Light theme */ /* Light theme */
[data-theme='light'] { [data-theme='light'] {
--wing-bg: #f8fafc; --wing-bg: #e2e8f0;
--wing-surface: #ffffff; --wing-surface: #ffffff;
--wing-card: #f1f5f9; --wing-card: #f1f5f9;
--wing-border: #cbd5e1; --wing-border: #94a3b8;
--wing-text: #1e293b; --wing-text: #0f172a;
--wing-muted: #94a3b8; --wing-muted: #64748b;
--wing-accent: #2563eb; --wing-accent: #2563eb;
--wing-danger: #dc2626; --wing-danger: #dc2626;
--wing-warning: #d97706; --wing-warning: #d97706;
--wing-success: #16a34a; --wing-success: #16a34a;
--wing-glass: rgba(255, 255, 255, 0.92); --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); --bg: var(--wing-bg);
--panel: var(--wing-surface); --panel: var(--wing-surface);
@ -68,8 +76,4 @@
--color-wing-glass: var(--wing-glass); --color-wing-glass: var(--wing-glass);
--font-sans: 'Noto Sans KR', sans-serif; --font-sans: 'Noto Sans KR', sans-serif;
--text-2xs: 8px;
--text-xs: 9px;
--text-sm: 10px;
} }