// 테마(라이트/다크/시스템) 적용 — 속성으로 제어. // light/dark : 명시 적용, system : 속성 제거 → OS prefers-color-scheme 따름 const KEY = 'theme' export function getStoredTheme() { try { return localStorage.getItem(KEY) || 'system' } catch { return 'system' } } export function applyTheme(theme) { const el = document.documentElement if (theme === 'light' || theme === 'dark') { el.setAttribute('data-theme', theme) } else { el.removeAttribute('data-theme') // system } } export function setTheme(theme) { try { localStorage.setItem(KEY, theme) } catch { /* 저장 실패 무시 */ } applyTheme(theme) } // 앱 시작 시 저장값 즉시 적용 (마운트 전 호출 → 깜빡임 방지) export function initTheme() { applyTheme(getStoredTheme()) }