75228cbb64
1) 사이드바 상단에 돼지 로고 + '돈돼지 가계부'('메뉴' 텍스트 대체, 데스크톱/모바일 공통)
2) 헤더에서 돼지 로고 제거 → 현재 화면 타이틀 표시(라우트별)
3) 설정에 화면 테마(시스템/라이트/다크) 선택 추가
- base.css: data-theme 기반 수동 다크 + 시스템 설정 폴백
- theme.js 유틸 + ui 스토어 theme 상태, main.js 시작 시 적용(깜빡임 방지)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
101 lines
2.6 KiB
CSS
101 lines
2.6 KiB
CSS
/* color palette from <https://github.com/vuejs/theme> */
|
|
:root {
|
|
--vt-c-white: #ffffff;
|
|
--vt-c-white-soft: #f8f8f8;
|
|
--vt-c-white-mute: #f2f2f2;
|
|
|
|
--vt-c-black: #181818;
|
|
--vt-c-black-soft: #222222;
|
|
--vt-c-black-mute: #282828;
|
|
|
|
--vt-c-indigo: #2c3e50;
|
|
|
|
--vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
|
|
--vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
|
|
--vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
|
|
--vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
|
|
|
|
--vt-c-text-light-1: var(--vt-c-indigo);
|
|
--vt-c-text-light-2: rgba(60, 60, 60, 0.66);
|
|
--vt-c-text-dark-1: var(--vt-c-white);
|
|
--vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
|
|
}
|
|
|
|
/* semantic color variables for this project */
|
|
:root {
|
|
--color-background: var(--vt-c-white);
|
|
--color-background-soft: var(--vt-c-white-soft);
|
|
--color-background-mute: var(--vt-c-white-mute);
|
|
|
|
--color-border: var(--vt-c-divider-light-2);
|
|
--color-border-hover: var(--vt-c-divider-light-1);
|
|
|
|
--color-heading: var(--vt-c-text-light-1);
|
|
--color-text: var(--vt-c-text-light-1);
|
|
|
|
--section-gap: 160px;
|
|
}
|
|
|
|
/* 다크 변수 묶음 — 명시적 다크(data-theme=dark)와 시스템 다크에서 공통 사용 */
|
|
:root[data-theme='dark'] {
|
|
--color-background: var(--vt-c-black);
|
|
--color-background-soft: var(--vt-c-black-soft);
|
|
--color-background-mute: var(--vt-c-black-mute);
|
|
|
|
--color-border: var(--vt-c-divider-dark-2);
|
|
--color-border-hover: var(--vt-c-divider-dark-1);
|
|
|
|
--color-heading: var(--vt-c-text-dark-1);
|
|
--color-text: var(--vt-c-text-dark-1);
|
|
}
|
|
|
|
/* 시스템 설정 따름(테마 미지정 = 시스템). 명시적 라이트/다크가 있으면 그게 우선 */
|
|
@media (prefers-color-scheme: dark) {
|
|
:root:not([data-theme]) {
|
|
--color-background: var(--vt-c-black);
|
|
--color-background-soft: var(--vt-c-black-soft);
|
|
--color-background-mute: var(--vt-c-black-mute);
|
|
|
|
--color-border: var(--vt-c-divider-dark-2);
|
|
--color-border-hover: var(--vt-c-divider-dark-1);
|
|
|
|
--color-heading: var(--vt-c-text-dark-1);
|
|
--color-text: var(--vt-c-text-dark-1);
|
|
}
|
|
}
|
|
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
font-weight: normal;
|
|
}
|
|
|
|
body {
|
|
min-height: 100vh;
|
|
color: var(--color-text);
|
|
background: var(--color-background);
|
|
transition:
|
|
color 0.5s,
|
|
background-color 0.5s;
|
|
line-height: 1.6;
|
|
font-family:
|
|
Inter,
|
|
-apple-system,
|
|
BlinkMacSystemFont,
|
|
'Segoe UI',
|
|
Roboto,
|
|
Oxygen,
|
|
Ubuntu,
|
|
Cantarell,
|
|
'Fira Sans',
|
|
'Droid Sans',
|
|
'Helvetica Neue',
|
|
sans-serif;
|
|
font-size: 15px;
|
|
text-rendering: optimizeLegibility;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|