/* ── Poppins Font (InkyPi style) ── */ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); @import "tailwindcss"; /* ── Dark mode: data-theme attribute ── */ @custom-variant dark (&:is([data-theme="dark"] *)); /* ── InkyPi Theme ── */ @theme { --font-sans: 'Poppins', system-ui, -apple-system, sans-serif; /* Paper (backgrounds) */ --color-paper-white: #FFFFFF; --color-paper-cream: #f4f4f9; --color-paper-gray: #eaeaef; /* Ink (text) — softer than E-Ink */ --color-ink-black: #333333; --color-ink-dark: #444444; --color-ink-medium: #777777; --color-ink-light: #aaaaaa; /* Borders */ --color-border-default: #e0e0e0; --color-border-strong: #cccccc; /* Accent — InkyPi teal */ --color-accent-teal: #1abc9c; --color-accent-teal-light: #d5f5ee; /* Naver Pay (unchanged) */ --color-accent-naver: #00C73C; --color-accent-naver-light: #E6F9ED; /* Status */ --color-status-success: #27ae60; --color-status-warning: #f39c12; --color-status-error: #c4515b; --color-status-info: #3498db; /* Shadows */ --shadow-sm: 0 1px 3px rgba(0,0,0,0.06); --shadow-md: 0 4px 12px rgba(0,0,0,0.08); --shadow-lg: 0 8px 20px rgba(0,0,0,0.10); /* Border radius */ --radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px; --radius-xl: 20px; --radius-full: 9999px; } /* ── Dark mode overrides ── */ [data-theme="dark"] { --color-paper-white: #2d2d2d; --color-paper-cream: #1a1a1a; --color-paper-gray: #242424; --color-ink-black: #e0e0e0; --color-ink-dark: #cccccc; --color-ink-medium: #999999; --color-ink-light: #666666; --color-border-default: #444444; --color-border-strong: #555555; --color-accent-teal-light: #1a3d35; --color-accent-naver-light: #1a2e1a; --shadow-sm: 0 1px 3px rgba(0,0,0,0.2); --shadow-md: 0 4px 12px rgba(0,0,0,0.3); --shadow-lg: 0 8px 20px rgba(0,0,0,0.4); } /* ── Global Styles ── */ body { margin: 0; background-color: var(--color-paper-cream); color: var(--color-ink-black); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transition: background-color 0.3s, color 0.3s; } * { box-sizing: border-box; } /* ── InkyPi Global Base: Rounded Corners + Shadows ── */ /* @layer base ensures Tailwind utility classes (rounded-full, etc.) can override */ @layer base { /* Buttons — rounded with transitions */ button, [type="button"], [type="submit"], [type="reset"], a[class*="bg-"] { border-radius: var(--radius-sm); transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; } button:hover:not(:disabled), [type="submit"]:hover:not(:disabled) { transform: translateY(-1px); box-shadow: var(--shadow-sm); } /* Inputs — rounded */ input:not([type="checkbox"]):not([type="radio"]), select, textarea { border-radius: var(--radius-sm); transition: border-color 0.2s ease, box-shadow 0.2s ease; } input:focus:not([type="checkbox"]):not([type="radio"]), select:focus, textarea:focus { border-color: var(--color-accent-teal); box-shadow: 0 0 0 3px rgba(26, 188, 156, 0.15); outline: none; } } /* Scrollbar (subtle) */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--color-border-default); border-radius: var(--radius-full); } ::-webkit-scrollbar-thumb:hover { background: var(--color-border-strong); }