:root { font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; line-height: 1.5; font-weight: 400; color-scheme: light dark; color: rgba(255, 255, 255, 0.87); background-color: #242424; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; /* --- Glassmorphism Design System (from Nonograms) --- */ --bg-gradient: radial-gradient(circle at center, #444 0%, #000000 100%); --glass-bg: rgba(255, 255, 255, 0.1); --glass-border: rgba(255, 255, 255, 0.2); --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); --text-color: #ffffff; --text-strong: #ffffff; --text-secondary: rgba(255, 255, 255, 0.85); --text-muted: rgba(255, 255, 255, 0.7); --accent-cyan: #00f2fe; --accent-purple: #4facfe; --primary-accent: #00f2fe; --title-glow: rgba(0, 255, 255, 0.2); --toggle-bg: rgba(255, 255, 255, 0.08); --toggle-border: rgba(255, 255, 255, 0.2); --toggle-shadow: 0 0 15px rgba(0, 0, 0, 0.2); --toggle-btn-border: rgba(255, 255, 255, 0.2); --toggle-hover-border: #ffffff; --toggle-active-shadow: 0 0 10px rgba(0, 242, 255, 0.3); --panel-bg: rgba(255, 255, 255, 0.1); --panel-border: rgba(255, 255, 255, 0.1); --panel-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); --button-bg: rgba(255, 255, 255, 0.1); --button-border: rgba(255, 255, 255, 0.2); --button-text: #ffffff; --button-hover-bg: rgba(255, 255, 255, 0.25); --button-hover-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); --button-active-shadow: 0 0 20px rgba(79, 172, 254, 0.4); --cube-edge-color: #333333; --title-gradient: linear-gradient(45deg, #00f2fe, #4facfe); } :root[data-theme="light"] { --bg-gradient: radial-gradient(circle at center, #ffffff 0%, #cccccc 100%); --glass-bg: rgba(255, 255, 255, 0.75); --glass-border: rgba(15, 23, 42, 0.12); --glass-shadow: 0 8px 32px 0 rgba(15, 23, 42, 0.12); --text-color: #0f172a; --text-strong: #0f172a; --text-secondary: rgba(15, 23, 42, 0.7); --text-muted: rgba(15, 23, 42, 0.6); --accent-cyan: #0ea5e9; --accent-purple: #6366f1; --primary-accent: #0ea5e9; --title-glow: rgba(14, 165, 233, 0.35); --toggle-bg: rgba(255, 255, 255, 0.85); --toggle-border: rgba(15, 23, 42, 0.12); --toggle-shadow: 0 8px 20px rgba(15, 23, 42, 0.12); --toggle-btn-border: rgba(15, 23, 42, 0.18); --toggle-hover-border: rgba(15, 23, 42, 0.5); --toggle-active-shadow: 0 0 12px rgba(14, 165, 233, 0.25); --panel-bg: rgba(255, 255, 255, 0.7); --panel-border: rgba(15, 23, 42, 0.12); --panel-shadow: 0 12px 24px rgba(15, 23, 42, 0.12); --button-bg: rgba(255, 255, 255, 0.85); --button-border: rgba(15, 23, 42, 0.16); --button-text: #0f172a; --button-hover-bg: rgba(255, 255, 255, 1); --button-hover-shadow: 0 6px 18px rgba(15, 23, 42, 0.18); --button-active-shadow: 0 0 18px rgba(14, 165, 233, 0.25); --cube-edge-color: #000000; --title-gradient: linear-gradient(45deg, #0ea5e9, #6366f1); } a { font-weight: 500; color: #646cff; text-decoration: inherit; } a:hover { color: #535bf2; } body { margin: 0; display: flex; min-width: 320px; height: 100vh; flex-direction: column; background: var(--bg-gradient); background-attachment: fixed; color: var(--text-color); overflow: hidden; } h1 { font-size: 3.2em; line-height: 1.1; } button { border-radius: 8px; border: 1px solid transparent; padding: 0.6em 1.2em; font-size: 1em; font-weight: 500; font-family: inherit; background-color: #1a1a1a; cursor: pointer; transition: border-color 0.25s; } button:hover { border-color: #646cff; } button:focus, button:focus-visible { outline: 4px auto -webkit-focus-ring-color; } .card { padding: 2em; } #app { width: 100%; height: 100vh; display: flex; flex-direction: column; align-items: center; } /* Glassmorphism utility class */ .glass-panel { background: var(--glass-bg); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: 16px; border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); } /* Button Styles */ button.btn-neon { background: var(--button-bg); border: 1px solid var(--button-border); color: var(--button-text); padding: 10px 20px; font-size: 0.95rem; border-radius: 30px; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(4px); font-weight: 500; letter-spacing: 0.5px; text-transform: uppercase; display: inline-flex; align-items: center; justify-content: center; gap: 8px; outline: none; } button.btn-neon:hover { background: var(--button-hover-bg); transform: translateY(-2px); box-shadow: var(--button-hover-shadow); border-color: var(--toggle-hover-border); } button.btn-neon.active { background: linear-gradient(90deg, var(--accent-cyan), var(--accent-purple)); border-color: transparent; box-shadow: var(--button-active-shadow); font-weight: 700; color: #fff; } button.btn-neon.icon-only { padding: 10px; border-radius: 50%; width: 40px; height: 40px; } @media (prefers-color-scheme: light) { :root { color: #213547; background-color: #ffffff; } a:hover { color: #747bff; } button { background-color: #f9f9f9; } }