/* Theme tokens and base reset */
*, *::before, *::after {
    -webkit-border-radius: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box;
}

@font-face {
    font-family: 'GrindyBrush';
    src: local('Grindy Brush'),
        url('../file/Grindy Brush.otf') format('opentype');
    font-display: swap;
}

:root {
    --bg: #ecf0f1;
    --bg-surface: #ffffff;
    --bg-accent: #dfe6e9;
    --bg-input: #ffffff;
    --bg-code: #f4f6f7;
    --border: #bdc3c7;
    --text: #2c3e50;
    --text-muted: #7f8c8d;
    --nav-bg: #2c3e50;
    --nav-text: #ecf0f1;
    --nav-hover: #34495e;
    --primary: #1abc9c;
    --primary-dk: #16a085;
    --danger: #e74c3c;
    --danger-dk: #c0392b;
    --ok-bg: #eafaf1;
    --ok-text: #1e8449;
    --ok-border: #27ae60;
    --err-bg: #fdedec;
    --err-text: #922b21;
    --err-border: #e74c3c;
    --sep: #bdc3c7;
    --active-bg: #1abc9c;
    --active-text: #ffffff;
    --hover-bg: #eafaf1;
}

[data-theme="dark"] {
    --bg: #34495e;
    --bg-surface: #2c3e50;
    --bg-accent: #1a252f;
    --bg-input: #1a252f;
    --bg-code: #1a252f;
    --border: #1a252f;
    --text: #ecf0f1;
    --text-muted: #bdc3c7;
    --nav-bg: #1a252f;
    --nav-text: #ecf0f1;
    --nav-hover: #0d1117;
    --primary: #1abc9c;
    --primary-dk: #16a085;
    --danger: #e74c3c;
    --danger-dk: #c0392b;
    --ok-bg: #1d4130;
    --ok-text: #58d68d;
    --ok-border: #27ae60;
    --err-bg: #4a1515;
    --err-text: #f1948a;
    --err-border: #e74c3c;
    --sep: #243342;
    --active-bg: #1abc9c;
    --active-text: #ffffff;
    --hover-bg: #1d4130;
}

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    background: var(--bg) !important;
    color: var(--text) !important;
    font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

.animate__animated {
    animation-duration: 0.2s !important;
    animation-fill-mode: both;
}
