/* ===== Base ===== */
/*:root {
    --primary: #1565c0;
    --primary-light: #42a5f5;
    --primary-dark: #0d47a1;
    --secondary: #e65100;
    --secondary-light: #ff9800;
    --secondary-dark: #bf360c;
    --font: 'Nunito', system-ui, sans-serif;
    --border-color: #e0e0e0;
    --card-bg: #fdfdfd;
    --body-bg: #fff;
    --text: #333;
}
*/
* {
    box-sizing: border-box;
}

html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

body {
    font-family: var(--font);
    background-color: var(--body-bg);
    color: var(--text);
    margin-bottom: 60px; /* footer spacing */
    padding-bottom: 70px; /* score board spacing */
}

@media (min-width: 768px) {
    html { font-size: 16px; }
}

/* Focus styles */
:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}
button:focus-visible,
input:focus-visible,
math-field:focus-visible,
select:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Keyboard default hidden */
.ML__keyboard {
    display: none;
    position: fixed !important;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 100%;
    box-sizing: border-box;
    z-index: 9999;
}

@media (max-width: 768px) {
    .ML__keyboard { display: block; }
}

/* KaTeX display fix */
#demo-formula-content .katex-display {
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}