:root { --bg-color: #f3f4f6; --card-bg-color: white; --text-color: #1f2937; --header-bg-color: #2563eb; --header-text-color: white; --sub-header-bg-color: #dbeafe; --formula-bg-color: #dbeafe; --formula-border-color: #3b82f6; --border-color: #e5e7eb; --accent-color: #3b82f6; } html.dark { --bg-color: #1f2937; --card-bg-color: #374151; --text-color: #d1d5db; --header-bg-color: #60a5fa; --header-text-color: #1f2937; --sub-header-bg-color: #4b5563; --formula-bg-color: #4b5563; --formula-border-color: #60a5fa; --border-color: #4b5563; --accent-color: #93c5fd; } body { font-family: 'Inter', sans-serif; background-color: var(--bg-color); color: var(--text-color); transition: background-color 0.3s, color 0.3s; } .card { background-color: var(--card-bg-color); border-radius: 0.75rem; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); margin-bottom: 1.5rem; overflow: hidden; transition: background-color 0.3s; } .card-header { padding: 1rem 1.5rem; background-color: var(--header-bg-color); color: var(--header-text-color); font-size: 1.5rem; font-weight: 600; transition: background-color 0.3s, color 0.3s; } .card-content { padding: 1.5rem; } details > summary { padding: 1rem; background-color: var(--sub-header-bg-color); cursor: pointer; font-weight: 500; border-radius: 0.5rem; margin-bottom: 0.5rem; list-style: none; position: relative; transition: background-color 0.3s; } details > summary::-webkit-details-marker { display: none; } details > summary::before { content: '+'; position: absolute; right: 1rem; font-size: 1.5rem; font-weight: 600; transition: transform 0.2s; } details[open] > summary::before { transform: rotate(45deg); } .theory-content { padding: 1rem; border: 1px solid var(--border-color); border-radius: 0.5rem; transition: border-color 0.3s; } .formula-box { background-color: var(--formula-bg-color); border-left: 4px solid var(--formula-border-color); padding: 1rem; margin: 1rem 0; border-radius: 0.25rem; transition: background-color 0.3s, border-color 0.3s; }